{% extends "_layouts/cp" %} {% set selectedSubnavItem = "subscriptions" %} {% set bodyClass = (bodyClass is defined ? bodyClass~' ' : '') ~ "commercesubscriptions commercesubscriptionsedit" %} {% set title = subscription %} {% set crumbs = [ { label: "Subscriptions"|t('commerce'), url: url('commerce/subscriptions') } ] %} {% import "_includes/forms" as forms %} {% block header %} {{ block('pageTitle') }}
{% block actionButton %}
{% endblock %} {% endblock %} {% block content %}

{{ 'Manage subscription'|t('commerce') }}

{% if subscription.gateway.supportsPlanSwitch and not subscription.isCanceled and not subscription.isExpired %} {% set plans = subscription.alternativePlans %} {% set planOptions = [{label: 'Pick a plan'|t('commerce'), value: ''}] %} {% for plan in plans %} {% set planOptions = planOptions|merge([{label: plan.name, value:plan.id}]) %} {% endfor %} {{ forms.selectField({ label: 'Switch plan'|t('commerce'), options: planOptions, id: 'switchPlans' }) }} {% for plan in plans %} {% endfor %} {% else %}
{{ 'Cannot switch plans for this subscription.'|t('commerce') }}
{% endif %} {% if subscription.canReactivate() %}
{{ redirectInput(continueEditingUrl) }} {{ csrfInput() }}
{% endif %}
{% if not subscription.isCanceled and not subscription.isExpired %}

{{ 'Cancel subscription'|t('commerce') }}

{{ redirectInput(continueEditingUrl) }} {{ csrfInput() }} {{ subscription.plan.getGateway().getCancelSubscriptionFormHtml(subscription)|raw }}
{% endif %}

Payment history

{% set payments = subscription.getAllPayments() %} {% for payment in payments %} {% set info = [ { label: "Reference", type: 'code', value: payment.paymentReference }, { label: "Gateway response", type: 'response', value: payment.response|raw }, ] %} {% endfor %}
{{ 'Invoice date'|t('commerce') }} {{ 'Invoice amount'|t('commerce') }} {{ 'Status'|t('commerce') }} {{ 'Info'|t('commerce') }}s
{{ payment.paymentDate|datetime }} {{ payment.paymentCurrency }} {{ payment.paymentAmount }} {{ payment.paid ? 'Paid'|t('commerce') : 'Unpaid'|t('commerce') }}
{% if not subscription.isCanceled and not subscription.isExpired %}
{{ redirectInput(continueEditingUrl) }} {{ csrfInput() }}
{% endif %}
{% hook 'cp.commerce.subscriptions.edit.content' %}
{{ redirectInput('commerce/subscriptions') }} {{ csrfInput() }} {% if fieldLayout is not null and fieldLayout.getTabs()|length %} {% for tab in fieldLayout.getTabs() %} {% endfor %} {% endif %}
{% endblock %} {% block details %}
{{ 'User'|t('commerce') }}

{{subscription.subscriber.fullName ? subscription.subscriber.fullName : subscription.subscriber.friendlyName}}

{{ 'Plan'|t('commerce') }}

{{ subscription.getPlan().name }}

{{ 'Reference'|t('commerce') }}

{{ subscription.reference }}

{{ 'Created'|t('commerce') }}

{{ subscription.dateCreated|datetime }}

{{ 'Trial days credited'|t('commerce') }}

{{ subscription.trialDays }}

{% if subscription.trialDays %}
{{ 'Trial expiration'|t('commerce') }}

{{ subscription.trialExpires|datetime }}

{% endif %}
{{ 'Next payment'|t('commerce') }}

{{ subscription.nextPaymentDate|datetime }}

{{ 'Expiry'|t('commerce') }}

{{ subscription.nextPaymentDate|datetime }}

{{ 'Expiry'|t('commerce') }}

{{ subscription.dateExpired ? subscription.dateExpired|datetime : '' }}

{{ 'Cancellation'|t('commerce') }}

{{ subscription.dateCanceled ? subscription.dateCanceled|datetime : '' }}

{{ 'Billing issues'|t('commerce') }}

{{ subscription.getBillingIssueDescription() }}

{% hook 'cp.commerce.subscriptions.edit.meta' %} {% endblock %} {% js %} $(document).ready(function () { $('#switchPlans').on('change', function (ev) { $('.switchPlansForm').addClass('hidden'); $('#switch-'+ev.currentTarget.value).removeClass('hidden'); }); $.each($('.tableRowInfo'), function () { new Craft.Commerce.TableRowAdditionalInfoIcon(this); }); $('#saveCustomFieldsSubmit').click(function(){ $('form#customFields').submit(); }); }); {% endjs %} {% do view.registerAssetBundle("craft\\web\\assets\\prismjs\\PrismJsAsset") %}