overleaf/services/web/public/coffee/main/subscription-dashboard.coffee

71 lines
1.8 KiB
CoffeeScript
Raw Normal View History

define [
"base"
], (App)->
2014-09-05 10:47:08 -04:00
SUBSCRIPTION_URL = "/user/subscription/update"
setupReturly = _.once ->
recurly?.configure window.recurlyApiKey
2015-02-06 10:54:16 -05:00
App.controller "CurrenyDropdownController", ($scope, MultiCurrencyPricing, $q)->
2014-09-05 10:47:08 -04:00
$scope.plans = MultiCurrencyPricing.plans
$scope.currencyCode = MultiCurrencyPricing.currencyCode
$scope.changeCurrency = (newCurrency)->
2014-09-05 10:47:08 -04:00
MultiCurrencyPricing.currencyCode = newCurrency
App.controller "ChangePlanFormController", ($scope, $modal, MultiCurrencyPricing)->
setupReturly()
2015-02-06 10:54:16 -05:00
taxRate = window.taxRate
$scope.changePlan = ->
$modal.open(
templateUrl: "confirmChangePlanModalTemplate"
controller: "ConfirmChangePlanController"
scope: $scope
)
2014-09-05 10:47:08 -04:00
$scope.$watch "pricing.currencyCode", ->
$scope.currencyCode = MultiCurrencyPricing.currencyCode
$scope.pricing = MultiCurrencyPricing
$scope.plans = MultiCurrencyPricing.plans
2015-02-06 10:54:16 -05:00
$scope.currencySymbol = MultiCurrencyPricing.plans[MultiCurrencyPricing.currencyCode].symbol
2014-09-05 10:47:08 -04:00
$scope.currencyCode = MultiCurrencyPricing.currencyCode
2015-02-06 10:54:16 -05:00
$scope.prices = {}
$scope.refreshPrice = (planCode)->
if $scope.prices[planCode]?
return
pricing = recurly.Pricing()
pricing.plan(planCode, { quantity: 1 }).done (price)->
totalPriceExTax = parseFloat(price.next.total)
$scope.$evalAsync () ->
$scope.prices[planCode] = $scope.currencySymbol + (totalPriceExTax + (totalPriceExTax * taxRate))
2015-02-06 10:54:16 -05:00
price = ""
App.controller "ConfirmChangePlanController", ($scope, $modalInstance, $http)->
$scope.confirmChangePlan = ->
body =
plan_code: $scope.plan.planCode
_csrf : window.csrfToken
$scope.inflight = true
2014-09-05 10:47:08 -04:00
$http.post(SUBSCRIPTION_URL, body)
.success ->
location.reload()
.error ->
console.log "something went wrong changing plan"
$scope.cancel = () ->
$modalInstance.dismiss('cancel')