Просмотр исходного кода

Redirect to working update billing details end point that shows a nice message

James Allen 10 лет назад
Родитель
Сommit
bcc8bfbe6c

+ 5 - 2
services/web/app/coffee/Features/Subscription/SubscriptionController.coffee

@@ -97,7 +97,7 @@ module.exports = SubscriptionController =
 							groupSubscriptions: groupSubscriptions
 							groupSubscriptions: groupSubscriptions
 							subscriptionTabActive: true
 							subscriptionTabActive: true
 							user:user
 							user:user
-
+							saved_billing_details: req.query.saved_billing_details?
 
 
 	userCustomSubscriptionPage: (req, res, next)->
 	userCustomSubscriptionPage: (req, res, next)->
 		AuthenticationController.getLoggedInUser req, (error, user) ->
 		AuthenticationController.getLoggedInUser req, (error, user) ->
@@ -131,9 +131,12 @@ module.exports = SubscriptionController =
 								currency: "USD"
 								currency: "USD"
 								subdomain: Settings.apis.recurly.subdomain
 								subdomain: Settings.apis.recurly.subdomain
 							signature  : signature
 							signature  : signature
-							successURL : "#{Settings.siteUrl}/user/subscription/update"
+							successURL : "#{Settings.siteUrl}/user/subscription/billing-details/update"
 							user       :
 							user       :
 								id : user._id
 								id : user._id
+	
+	updateBillingDetails: (req, res, next) ->
+		res.redirect "/user/subscription?saved_billing_details=true"
 
 
 	createSubscription: (req, res, next)->
 	createSubscription: (req, res, next)->
 		AuthenticationController.getLoggedInUser req, (error, user) ->
 		AuthenticationController.getLoggedInUser req, (error, user) ->

+ 1 - 0
services/web/app/coffee/Features/Subscription/SubscriptionRouter.coffee

@@ -16,6 +16,7 @@ module.exports =
 		
 		
 		webRouter.get  '/user/subscription/new',        AuthenticationController.requireLogin(), SubscriptionController.paymentPage 
 		webRouter.get  '/user/subscription/new',        AuthenticationController.requireLogin(), SubscriptionController.paymentPage 
 		webRouter.get  '/user/subscription/billing-details/edit', AuthenticationController.requireLogin(), SubscriptionController.editBillingDetailsPage
 		webRouter.get  '/user/subscription/billing-details/edit', AuthenticationController.requireLogin(), SubscriptionController.editBillingDetailsPage
+		webRouter.post '/user/subscription/billing-details/update', AuthenticationController.requireLogin(), SubscriptionController.updateBillingDetails
 
 
 		webRouter.get  '/user/subscription/thank-you', AuthenticationController.requireLogin(), SubscriptionController.successful_subscription
 		webRouter.get  '/user/subscription/thank-you', AuthenticationController.requireLogin(), SubscriptionController.successful_subscription
 
 

+ 5 - 0
services/web/app/views/subscriptions/dashboard.jade

@@ -40,6 +40,11 @@ block content
 		.container(ng-controller="UserSubscriptionController")
 		.container(ng-controller="UserSubscriptionController")
 			.row
 			.row
 				.col-md-8.col-md-offset-2
 				.col-md-8.col-md-offset-2
+					if saved_billing_details
+						.alert.alert-success
+							i.fa.fa-check
+							|  
+							| #{translate("your_billing_details_were_saved")}
 					.card(ng-if="view == 'overview'")
 					.card(ng-if="view == 'overview'")
 						.page-header
 						.page-header
 							h1 #{translate("your_subscription")}
 							h1 #{translate("your_subscription")}

+ 1 - 1
services/web/test/UnitTests/coffee/Subscription/SubscriptionControllerTests.coffee

@@ -109,7 +109,7 @@ describe "SubscriptionController sanboxed", ->
 
 
 			it "should set the correct variables for the template", ->
 			it "should set the correct variables for the template", ->
 				should.exist @res.renderedVariables.signature
 				should.exist @res.renderedVariables.signature
-				@res.renderedVariables.successURL.should.equal "#{@settings.siteUrl}/user/subscription/update"
+				@res.renderedVariables.successURL.should.equal "#{@settings.siteUrl}/user/subscription/billing-details/update"
 				@res.renderedVariables.user.id.should.equal @user._id
 				@res.renderedVariables.user.id.should.equal @user._id
 
 
 		describe "with a user without subscription", ->
 		describe "with a user without subscription", ->