diff --git a/services/web/app/coffee/Features/Subscription/SubscriptionController.coffee b/services/web/app/coffee/Features/Subscription/SubscriptionController.coffee index 1185bfe6bb..2f1745e2cb 100644 --- a/services/web/app/coffee/Features/Subscription/SubscriptionController.coffee +++ b/services/web/app/coffee/Features/Subscription/SubscriptionController.coffee @@ -89,6 +89,14 @@ module.exports = SubscriptionController = subscriptionTabActive: true + userCustomSubscriptionPage: (req, res, next)-> + SecurityManager.getCurrentUser req, (error, user) -> + LimitationsManager.userHasSubscriptionOrIsGroupMember user, (err, hasSubOrIsGroupMember, subscription)-> + res.render "subscriptions/custom_account", + title: "your_subscription" + subscription: subscription + + editBillingDetailsPage: (req, res, next) -> SecurityManager.getCurrentUser req, (error, user) -> return next(error) if error? diff --git a/services/web/app/coffee/Features/Subscription/SubscriptionRouter.coffee b/services/web/app/coffee/Features/Subscription/SubscriptionRouter.coffee index 45d4f2b4bf..963ff3dfcf 100644 --- a/services/web/app/coffee/Features/Subscription/SubscriptionRouter.coffee +++ b/services/web/app/coffee/Features/Subscription/SubscriptionRouter.coffee @@ -10,6 +10,9 @@ module.exports = app.get '/user/subscription/plans', SubscriptionController.plansPage app.get '/user/subscription', AuthenticationController.requireLogin(), SubscriptionController.userSubscriptionPage + + app.get '/user/subscription/custom_account', AuthenticationController.requireLogin(), SubscriptionController.userCustomSubscriptionPage + app.get '/user/subscription/new', AuthenticationController.requireLogin(), SubscriptionController.paymentPage app.get '/user/subscription/billing-details/edit', AuthenticationController.requireLogin(), SubscriptionController.editBillingDetailsPage diff --git a/services/web/app/views/subscriptions/custom_account.jade b/services/web/app/views/subscriptions/custom_account.jade new file mode 100644 index 0000000000..53cf86f3af --- /dev/null +++ b/services/web/app/views/subscriptions/custom_account.jade @@ -0,0 +1,15 @@ +extends ../layout + +block content + .content.content-alt + .container + .row + .col-md-8.col-md-offset-2 + .card + .page-header + h1 #{translate("your_subscription")} + div To make changes to your subscription please contact team@sharelatex.com + div   + div + -if(subscription.groupPlan) + a(href="/subscription/group").btn.btn-success !{translate("manage_group")} diff --git a/services/web/test/UnitTests/coffee/Subscription/SubscriptionControllerTests.coffee b/services/web/test/UnitTests/coffee/Subscription/SubscriptionControllerTests.coffee index 898378608d..48c05b2829 100644 --- a/services/web/test/UnitTests/coffee/Subscription/SubscriptionControllerTests.coffee +++ b/services/web/test/UnitTests/coffee/Subscription/SubscriptionControllerTests.coffee @@ -193,6 +193,16 @@ describe "SubscriptionController sanboxed", -> it "should redirect to /user/subscription/custom_account", -> @res.redirectedTo.should.equal("/user/subscription/custom_account") + describe "userCustomSubscriptionPage", -> + beforeEach (done) -> + @res.callback = done + @LimitationsManager.userHasSubscriptionOrIsGroupMember.callsArgWith(1, null, true) + @SubscriptionController.userCustomSubscriptionPage @req, @res + + it "should render the page", (done)-> + @res.rendered.should.equal true + @res.renderedTemplate.should.equal "subscriptions/custom_account" + done() describe "createSubscription", ->