diff --git a/manage_subscriptions/urls.py b/manage_subscriptions/urls.py index 0085713..63ff4d3 100644 --- a/manage_subscriptions/urls.py +++ b/manage_subscriptions/urls.py @@ -70,6 +70,11 @@ urlpatterns = [ views.PrincipalSubscriptionCreateOrUpdateView.as_view(), name="principal_subscription_edit", ), + path( + "principal_subscription/", + views.PrincipalSubscriptionDetailView.as_view(), + name="principal_subscription_detail", + ), path( "principal_subscription/delete/", views.PrincipalSubscriptionDeleteView.as_view(), @@ -92,7 +97,7 @@ urlpatterns = [ ), path("stripe/", views.SubscriptionPageView.as_view(), name="stripe"), path("active/", views.ActiveSubscriptionView.as_view(), name="active"), - path("active/", views.CancelSubscriptionView.as_view(), name="cancel_subscription"), + path("cancel-subscription/", views.CancelSubscriptionView.as_view(), name="cancel_subscription"), path("success/", views.SuccessView.as_view(), name="success"), path("cancel/", views.CancelView.as_view(), name="cancel"), # path("join-now/", views.IndexView.as_view(), name="index"), diff --git a/manage_subscriptions/views.py b/manage_subscriptions/views.py index d5c6efa..c26a1e4 100644 --- a/manage_subscriptions/views.py +++ b/manage_subscriptions/views.py @@ -186,7 +186,7 @@ class SubscriptionView(LoginRequiredMixin, generic.ListView): return context -class SubscriptionDetailView(generic.DetailView): +class SubscriptionDetailView(LoginRequiredMixin, generic.DetailView): page_name = resource_action.RESOURCE_MANAGE_SUBSCRIPTIONS resource = resource_action.RESOURCE_MANAGE_SUBSCRIPTIONS action = resource_action.ACTION_READ @@ -585,6 +585,20 @@ class PrincipalSubscriptionView(LoginRequiredMixin, generic.ListView): return context +class PrincipalSubscriptionDetailView(LoginRequiredMixin, generic.DetailView): + page_name = resource_action.RESOURCE_PRINCIPAL_SUBSCRIPTIONS + resource = resource_action.RESOURCE_PRINCIPAL_SUBSCRIPTIONS + action = resource_action.ACTION_READ + model = PrincipalSubscription + template_name = "manage_subscriptions/principal_subscription_details.html" + context_object_name = "principal_subscription_obj" + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context["page_name"] = self.page_name + return context + + class PrincipalSubscriptionDeleteView(LoginRequiredMixin, generic.View): page_name = resource_action.RESOURCE_MANAGE_SUBSCRIPTIONS resource = resource_action.RESOURCE_MANAGE_SUBSCRIPTIONS diff --git a/templates/manage_subscriptions/principal_subscription_details.html b/templates/manage_subscriptions/principal_subscription_details.html new file mode 100644 index 0000000..cff8244 --- /dev/null +++ b/templates/manage_subscriptions/principal_subscription_details.html @@ -0,0 +1,99 @@ +{% extends 'layout/base_template.html' %} +{% load static %} + +{% block content %} +
+
+ +
+
+
+ {% if principal_subscription_obj.subscription.image %} + {{ principal_subscription_obj.subscription.title }} + {% endif %} +

{{ principal_subscription_obj.subscription.title }}

+
+
+
+ + +
+
+
+
Subscription Info
+
+
+

Principal: {{ principal_subscription_obj.principal.first_name }} {{ principal_subscription_obj.principal.last_name }}

+

Status: {{ principal_subscription_obj.get_status_display }}

+

Start Date: {{ principal_subscription_obj.start_date }}

+

End Date: {{ principal_subscription_obj.end_date }}

+

Auto Renew: {{ principal_subscription_obj.auto_renew|yesno:"Yes,No" }}

+

Cancelled: {% if principal_subscription_obj.cancelled %}Yes{% else %}No{% endif %}

+ + {% if principal_subscription_obj.coupon_code %} +

Coupon Code: {{ principal_subscription_obj.coupon_code }}

+ {% endif %} +
+
+
+ + +
+
+
+
Cancellation and Payment Info
+
+
+

Order ID: {{ principal_subscription_obj.order_id|default:"Not Provided" }}

+

Grace Period Ends: {{ principal_subscription_obj.grace_period_end_date|default:"Not Provided" }}

+

Stripe Subscription ID: {{ principal_subscription_obj.stripe_subscription_id|default:"Not Provided" }}

+

Comments: {{ principal_subscription_obj.comments|default:"Not Provided" }}

+
+
+
+ + + {% if principal_subscription_obj.auto_renew and not principal_subscription_obj.cancelled %} +
+
+
+
Cancel Subscription
+
+ {% csrf_token %} + + +
+
+
+
+ {% endif %} + +
+
+{% endblock content %} + + diff --git a/templates/manage_subscriptions/principal_subscriptions_list.html b/templates/manage_subscriptions/principal_subscriptions_list.html index 97583ef..7bbc327 100644 --- a/templates/manage_subscriptions/principal_subscriptions_list.html +++ b/templates/manage_subscriptions/principal_subscriptions_list.html @@ -110,19 +110,13 @@ d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"> - +
  • + + + visibility + + +
  • diff --git a/templates/manage_subscriptions/subscription_details.html b/templates/manage_subscriptions/subscription_details.html index 44833a7..0e69252 100644 --- a/templates/manage_subscriptions/subscription_details.html +++ b/templates/manage_subscriptions/subscription_details.html @@ -8,7 +8,7 @@
    - {% if subscription.image %} + {% if principal_subscription_obj.image %} {{ subscription.title }} {% endif %}

    {{ subscription.title }}

    diff --git a/templates/stripe_html/active_subscription.html b/templates/stripe_html/active_subscription.html index 5896ccf..a78f350 100644 --- a/templates/stripe_html/active_subscription.html +++ b/templates/stripe_html/active_subscription.html @@ -116,7 +116,7 @@

    {{ active_subscription.subscription.title }}

    -
    Principal:
    +
    Full Name:

    {{ active_subscription.principal.first_name }} {{ active_subscription.principal.last_name }}

    Status: {{ active_subscription.get_status_display }}

    Start Date: {{ active_subscription.start_date }}