overleaf/services/web/app/views/subscriptions/dashboard.pug
Thomas 895f52d41a Let users upgrade to group plans via subscription dashboard (#5100)
* Let users upgrade to group plans via subscription dashboard

Users on an individual plan don't have a way to upgrade to a group
subscription without contacting support. As a temporary measure, we're
adding a way to do this by re-using the existing group plan modal from
the plans pages, to allow users to configure and upgrade to a group plan
directly.

This is currently only available for USD, EUR, and GBP - since although
we now support other currencies in Recurly, the group plans modal does
not yet support them. The user however can not change currency here,
their group subscription will be in the same currency as their current
individual subscription.

The group plan modal has been duplicated rather than extended, to keep
this code seperate as it is potentially only a stopgap measure - and we
don't want to be untangling the additional logic from the existing
modal/template later down the line.

GitOrigin-RevId: 10664bd19af2c3870dfe7e19fd0f9c5b7c877cc6
2021-09-15 08:04:00 +00:00

64 lines
2.6 KiB
Text

extends ../layout
include ./dashboard/_team_name_mixin
block head-scripts
script(type="text/javascript", nonce=scriptNonce, src="https://js.recurly.com/v4/recurly.js")
block append meta
meta(name="ol-managedInstitutions", data-type="json", content=managedInstitutions)
meta(name="ol-planCodesChangingAtTermEnd", data-type="json", content=plans.planCodesChangingAtTermEnd)
if (personalSubscription && personalSubscription.recurly)
meta(name="ol-recurlyApiKey" content=settings.apis.recurly.publicKey)
meta(name="ol-subscription" data-type="json" content=personalSubscription)
meta(name="ol-recomendedCurrency" content=personalSubscription.recurly.currency)
meta(name="ol-groupPlans" data-type="json" content=groupPlans)
block content
main.content.content-alt#main-content(ng-cloak)
.container
.row
.col-md-8.col-md-offset-2
if (fromPlansPage)
.alert.alert-warning
p You already have a subscription
.card
.page-header
h1 #{translate("your_subscription")}
-var hasDisplayedSubscription = false
if (personalSubscription)
-hasDisplayedSubscription = true
include ./dashboard/_personal_subscription
if (managedGroupSubscriptions && managedGroupSubscriptions.length > 0)
include ./dashboard/_managed_groups
if (managedInstitutions && managedInstitutions.length > 0)
include ./dashboard/_managed_institutions
if (managedPublishers && managedPublishers.length > 0)
include ./dashboard/_managed_publishers
if (memberGroupSubscriptions && memberGroupSubscriptions.length > 0)
-hasDisplayedSubscription = true
include ./dashboard/_group_memberships
include ./dashboard/_institution_memberships
if (v1SubscriptionStatus)
include ./dashboard/_v1_subscription_status
if (!hasDisplayedSubscription)
if (hasSubscription)
-hasDisplayedSubscription = true
p(ng-non-bindable) You're on an #{settings.appName} Paid plan. Contact
a(href="mailto:support@overleaf.com") support@overleaf.com
| to find out more.
else
p(ng-non-bindable) You are on the #{settings.appName} Free plan. Upgrade to access these Premium Features:
ul
li #{translate('invite_more_collabs')}
for feature in ['realtime_track_changes', 'full_doc_history', 'reference_search', 'reference_sync', 'dropbox_integration_lowercase', 'github_integration_lowercase', 'priority_support']
li #{translate(feature)}
a(ng-controller="UpgradeSubscriptionController" href="/user/subscription/plans" ng-click="upgradeSubscription()").btn.btn-primary Upgrade now