dashboard.jade 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. extends ../layout
  2. mixin printPlan(plan)
  3. -if (!plan.hideFromUsers)
  4. tr
  5. td
  6. strong #{plan.name}
  7. td
  8. -if (plan.annual)
  9. | $#{plan.price / 100} / #{translate("year")}
  10. -else
  11. | $#{plan.price / 100} / #{translate("month")}
  12. td
  13. -if (subscription.state == "free-trial")
  14. a(href="/user/subscription/new?planCode=#{plan.planCode}").btn.btn-success #{translate("subscribe_to_this_plan")}
  15. -else if (plan.planCode == subscription.planCode)
  16. button.btn.disabled #{translate("your_plan")}
  17. -else
  18. form(action="/user/subscription/update",method="post")
  19. input(type="hidden", name="_csrf", value=csrfToken)
  20. input(type="hidden",name="plan_code",value="#{plan.planCode}")
  21. input(type="submit",value="Change to this plan").btn.btn-success
  22. mixin printPlans(plans)
  23. -each plan in plans
  24. mixin printPlan(plan)
  25. block content
  26. .content.content-alt
  27. .container
  28. .row
  29. .col-md-8.col-md-offset-2
  30. .card
  31. .page-header
  32. h1 #{translate("your_subscription")}
  33. -if (subscription)
  34. case subscription.state
  35. when "free-trial"
  36. p !{translate("on_free_trial_expiring_at", {expiresAt:"<strong>" + subscription.expiresAt + "</strong>"})}
  37. p !{translate("choose_a_plan_below")}
  38. when "active"
  39. p !{translate("currently_subscribed_to_plan", {planName:"<strong>" + subscription.name + "</strong>"})}
  40. a(href, ng-click="changePlan = true") !{translate("change_plan")}.
  41. p !{translate("next_payment_of_x_collectected_on_y", {paymentAmmount:"<strong>" + subscription.price + "</strong>", collectionDate:"<strong>" + subscription.nextPaymentDueAt + "</strong>"})}
  42. p.pull-right
  43. p: form(action="/user/subscription/cancel",method="post")
  44. input(type="hidden", name="_csrf", value=csrfToken)
  45. a(href="/user/subscription/billing-details/edit").btn.btn-info #{translate("update_your_billing_details")}
  46. | &nbsp;
  47. input(type="submit", value="Cancel your subscription").btn.btn-primary#cancelSubscription
  48. when "canceled"
  49. p !{translate("currently_subscribed_to_plan", {planName:"<strong>" + subscription.name + "</strong>"})}
  50. p !{translate("subscription_canceled_and_terminate_on_x", {terminateDate:"<strong>" + subscription.nextPaymentDueAt + "</strong>"})}
  51. p: form(action="/user/subscription/reactivate",method="post")
  52. input(type="hidden", name="_csrf", value=csrfToken)
  53. input(type="submit",value="Reactivate your subscription").btn.btn-success
  54. when "expired"
  55. p !{translate("your_subscription_has_expired")}
  56. a(href="/user/subscription/plans") !{translate("create_new_subscription")}
  57. default
  58. p !{translate("problem_with_subscription_contact_us")}
  59. -if(subscription.groupPlan)
  60. a(href="/subscription/group").btn.btn-success !{translate("manage_group")}
  61. div(ng-show="changePlan", ng-cloak)
  62. hr
  63. h2 !{translate("change_plan")}
  64. p: table.table
  65. tr
  66. th !{translate("name")}
  67. th !{translate("price")}
  68. th
  69. mixin printPlans(plans.studentAccounts)
  70. mixin printPlans(plans.individualMonthlyPlans)
  71. mixin printPlans(plans.individualAnnualPlans)
  72. -if (subscription && groups.length > 0)
  73. hr
  74. each groupSubscription in groups
  75. p !{translate("member_of_group_subscription", {admin_email: "<strong>" + groupSubscription.admin_id.email + "</strong>"})}
  76. script(type="text/javascript").
  77. $('#cancelSubscription').on("click", function() {
  78. ga('send', 'event', 'subscription-funnel', 'cancelation')
  79. })