mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-14 07:00:01 -04:00
Tweaked achievement notification handling, also disabling an endless loop of achievement fetching.
This commit is contained in:
parent
121f07d020
commit
c8298679a4
8 changed files with 10 additions and 8 deletions
|
@ -5,6 +5,7 @@ ModuleLoader = require 'core/ModuleLoader'
|
|||
locale = require 'locale/locale'
|
||||
{me} = require 'core/auth'
|
||||
Tracker = require 'core/Tracker'
|
||||
CocoModel = require 'models/CocoModel'
|
||||
|
||||
marked.setOptions {gfm: true, sanitize: true, smartLists: true, breaks: false}
|
||||
|
||||
|
@ -55,6 +56,7 @@ Application = initialize: ->
|
|||
@moduleLoader.loadLanguage(me.get('preferredLanguage', true))
|
||||
$(document).bind 'keydown', preventBackspace
|
||||
preload(COMMON_FILES)
|
||||
CocoModel.pollAchievements()
|
||||
$.i18n.init {
|
||||
lng: me.get('preferredLanguage', true)
|
||||
fallbackLng: 'en'
|
||||
|
|
|
@ -5,3 +5,7 @@ module.exports = class EarnedAchievement extends CocoModel
|
|||
@className: 'EarnedAchievement'
|
||||
@schema: require 'schemas/models/earned_achievement'
|
||||
urlRoot: '/db/earned_achievement'
|
||||
|
||||
save: ->
|
||||
@unset('earnedRewards') if @get('earnedRewards') is null
|
||||
super(arguments...)
|
||||
|
|
|
@ -11,10 +11,6 @@ module.exports = class User extends CocoModel
|
|||
urlRoot: '/db/user'
|
||||
notyErrors: false
|
||||
|
||||
onLoaded: ->
|
||||
CocoModel.pollAchievements() # Check for achievements on login
|
||||
super arguments...
|
||||
|
||||
isAdmin: -> 'admin' in @get('permissions', true)
|
||||
isAnonymous: -> @get('anonymous', true)
|
||||
displayName: -> @get('name', true)
|
||||
|
|
|
@ -26,7 +26,7 @@ module.exports =
|
|||
collection: type: 'string'
|
||||
triggeredBy: c.objectId()
|
||||
achievementName: type: 'string'
|
||||
created: type: 'date'
|
||||
created: type: ['date', 'string', 'number']
|
||||
changed: type: ['date', 'string', 'number'] # TODO: migrate timestamps and Date objects all to ISO strings
|
||||
achievedAmount: type: 'number'
|
||||
earnedPoints: type: 'number'
|
||||
|
|
|
@ -36,14 +36,14 @@ module.exports = class RootView extends CocoView
|
|||
'modal:open-modal-view': 'onOpenModalView'
|
||||
|
||||
showNewAchievement: (achievement, earnedAchievement) ->
|
||||
earnedAchievement.set('notified', true)
|
||||
earnedAchievement.patch()
|
||||
return if achievement.get('collection') is 'level.sessions'
|
||||
return if @isIE() # Some bugs in IE right now, TODO fix soon!
|
||||
new AchievementPopup achievement: achievement, earnedAchievement: earnedAchievement
|
||||
|
||||
handleNewAchievements: (e) ->
|
||||
_.each e.earnedAchievements.models, (earnedAchievement) =>
|
||||
earnedAchievement.set('notified', true)
|
||||
earnedAchievement.patch()
|
||||
achievement = new Achievement(_id: earnedAchievement.get('achievement'))
|
||||
achievement.fetch
|
||||
success: (achievement) => @showNewAchievement?(achievement, earnedAchievement)
|
||||
|
|
|
@ -13,7 +13,7 @@ HIGHEST_SCORE = 1000000
|
|||
|
||||
module.exports = class LadderTabView extends CocoView
|
||||
id: 'ladder-tab-view'
|
||||
template: require 'templates/play/ladder/ladder_tab'
|
||||
template: require 'templates/play/ladder/ladder-tab-view'
|
||||
|
||||
events:
|
||||
'click .connect-facebook': 'onConnectFacebook'
|
||||
|
|
Loading…
Reference in a new issue