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

Check plan, return error if not valid.

This prevents a crash later when we refer to properties
of the plan object, which can end up being `null` when
the `planCode` is either missing, or not a valid code.
Shane Kilkelly 10 лет назад
Родитель
Сommit
f59d5d836d

+ 3 - 0
services/web/app/coffee/Features/Subscription/SubscriptionViewModelBuilder.coffee

@@ -16,6 +16,9 @@ module.exports =
 				if subscription?
 				if subscription?
 					return callback(error) if error?
 					return callback(error) if error?
 					plan = PlansLocator.findLocalPlanInSettings(subscription.planCode)
 					plan = PlansLocator.findLocalPlanInSettings(subscription.planCode)
+					if !plan?
+						err = new Error('No plan found for planCode "#{subscription.planCode}"')
+						return callback(err)
 					RecurlyWrapper.getSubscription subscription.recurlySubscription_id, (err, recurlySubscription)->
 					RecurlyWrapper.getSubscription subscription.recurlySubscription_id, (err, recurlySubscription)->
 						tax = recurlySubscription?.tax_in_cents || 0
 						tax = recurlySubscription?.tax_in_cents || 0
 						callback null, {
 						callback null, {