codecombat/app/views/account/PaymentsView.coffee

44 lines
1.4 KiB
CoffeeScript
Raw Normal View History

RootView = require 'views/core/RootView'
2014-11-25 14:09:29 -05:00
template = require 'templates/account/payments-view'
CocoCollection = require 'collections/CocoCollection'
Payment = require 'models/Payment'
SubscribeModal = require 'views/play/modal/SubscribeModal'
2014-11-25 14:09:29 -05:00
module.exports = class PaymentsView extends RootView
id: "payments-view"
template: template
events:
'click .start-subscription-button': 'onClickStartSubscription'
'click .end-subscription-button': 'onClickEndSubscription'
subscriptions:
'subscribe-modal:subscribed': 'onSubscribed'
2014-11-25 14:09:29 -05:00
constructor: (options) ->
super(options)
@payments = new CocoCollection([], { url: '/db/payment', model: Payment, comparator:'_id' })
2014-11-25 14:09:29 -05:00
@supermodel.loadCollection(@payments, 'payments')
getRenderData: ->
c = super()
c.payments = @payments
c.subscribed = me.get('stripe')?.planID
c.active = me.isPremium()
c
onClickStartSubscription: (e) ->
@openModalView new SubscribeModal()
2014-12-04 17:23:43 -05:00
window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'payments view'
window.tracker?.trackPageView "subscription/show-modal", ['Google Analytics']
onSubscribed: ->
document.location.reload()
onClickEndSubscription: (e) ->
stripe = _.clone(me.get('stripe'))
delete stripe.planID
me.set('stripe', stripe)
me.patch({headers: {'X-Change-Plan': 'true'}})
@listenToOnce me, 'sync', -> document.location.reload()