diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 673315409..1d7c7439d 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -45,14 +45,14 @@ class CocoModel extends Backbone.Model @loading = false @jqxhr = null if jqxhr.status is 402 - Backbone.Mediator.publish 'level:subscription-required' + Backbone.Mediator.publish 'level:subscription-required', {} onLoaded: -> @loaded = true @loading = false @jqxhr = null @loadFromBackup() - + getCreationDate: -> new Date(parseInt(@id.slice(0,8), 16)*1000) getNormalizedURL: -> "#{@urlRoot}/#{@id}" @@ -351,7 +351,7 @@ class CocoModel extends Backbone.Model CocoCollection = require 'collections/CocoCollection' Achievement = require 'models/Achievement' - + class NewAchievementCollection extends CocoCollection model: Achievement initialize: (me = require('core/auth').me) -> diff --git a/app/views/play/WorldMapView.coffee b/app/views/play/WorldMapView.coffee index a5fc521f0..21eec7f5f 100644 --- a/app/views/play/WorldMapView.coffee +++ b/app/views/play/WorldMapView.coffee @@ -208,11 +208,9 @@ module.exports = class WorldMapView extends RootView @endHighlight() else if level.requiresSubscription and @requiresSubscription and not @levelStatusMap[level.id] and not level.adventurer - modal = if me.get('anonymous') then AuthModal else SubscribeModal - @openModalView new modal() - if modal is SubscribeModal - window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'map level clicked' - window.tracker?.trackPageView "subscription/show-modal", ['Google Analytics'] + @openModalView new SubscribeModal() + window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'map level clicked' + window.tracker?.trackPageView "subscription/show-modal", ['Google Analytics'] else if $(e.target).attr('disabled') Backbone.Mediator.publish 'router:navigate', route: '/contribute/adventurer' return diff --git a/app/views/play/level/LevelLoadingView.coffee b/app/views/play/level/LevelLoadingView.coffee index 99d8150ca..8b1fbd49c 100644 --- a/app/views/play/level/LevelLoadingView.coffee +++ b/app/views/play/level/LevelLoadingView.coffee @@ -2,7 +2,6 @@ CocoView = require 'views/core/CocoView' template = require 'templates/play/level/level_loading' utils = require 'core/utils' SubscribeModal = require 'views/play/modal/SubscribeModal' -AuthModal = require 'views/core/AuthModal' module.exports = class LevelLoadingView extends CocoView id: 'level-loading-view' @@ -110,11 +109,9 @@ module.exports = class LevelLoadingView extends CocoView @$el.find('.subscription-required').show() onClickStartSubscription: (e) -> - modal = if me.get('anonymous') then AuthModal else SubscribeModal - @openModalView new modal() - if modal is SubscribeModal - window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'level loading' - window.tracker?.trackPageView "subscription/show-modal", ['Google Analytics'] + @openModalView new SubscribeModal() + window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'level loading' + window.tracker?.trackPageView "subscription/show-modal", ['Google Analytics'] onSubscribed: -> document.location.reload() diff --git a/app/views/play/modal/SubscribeModal.coffee b/app/views/play/modal/SubscribeModal.coffee index 9474634ff..8b5381f42 100644 --- a/app/views/play/modal/SubscribeModal.coffee +++ b/app/views/play/modal/SubscribeModal.coffee @@ -2,6 +2,7 @@ ModalView = require 'views/core/ModalView' template = require 'templates/play/modal/subscribe-modal' stripeHandler = require 'core/services/stripe' utils = require 'core/utils' +AuthModal = require 'views/core/AuthModal' module.exports = class SubscribeModal extends ModalView id: 'subscribe-modal' @@ -49,6 +50,7 @@ module.exports = class SubscribeModal extends ModalView onClickPurchaseButton: (e) -> @playSound 'menu-button-click' + return @openModalView new AuthModal() if me.get('anonymous') application.tracker?.trackEvent 'Started subscription purchase', {} application.tracker?.trackPageView "subscription/start-purchase", ['Google Analytics'] stripeHandler.open({