Revert "move task-corruption cleanup to the browser"

This commit is contained in:
Tyler Renelle 2013-04-18 19:14:05 -04:00
parent 878bf3f72a
commit 08f7367e17

View file

@ -27,7 +27,6 @@ _ = require('underscore')
cleanupCorruptTasks = (model) ->
user = model.at('_user')
tasks = user.get('tasks')
wasCorrupt = false
## Remove corrupted tasks
_.each tasks, (task, key) ->
@ -35,13 +34,15 @@ cleanupCorruptTasks = (model) ->
user.del("tasks.#{key}")
delete tasks[key]
batch = null
## Task List Cleanup
_.each ['habit','daily','todo','reward'], (type) ->
# 1. remove duplicates
# 2. restore missing zombie tasks back into list
idList = user.get("#{type}Ids")
taskIds = _.pluck( _.where(tasks, {type:type}), 'id' )
taskIds = _.pluck( _.where(tasks, {type:type}), 'id')
union = _.union idList, taskIds
# 2. remove empty (grey) tasks
@ -49,11 +50,13 @@ cleanupCorruptTasks = (model) ->
# There were indeed issues found, set the new list
if !_.isEqual(idList, preened)
user.set("#{type}Ids", preened)
wasCorrupt = true
"#{type}s were corrupt."
unless batch?
batch = new require('./character').BatchUpdate(model)
batch.startTransaction()
batch.set("#{type}Ids", preened)
console.error user.get('id') + "'s #{type}s were corrupt."
require('./browser').resetDom(model) if wasCorrupt
batch.commit() if batch?
get '/', (page, model, params, next) ->
return page.redirect '/' if page.params?.query?.play?
@ -63,6 +66,8 @@ get '/', (page, model, params, next) ->
require('./party').partySubscribe page, model, params, next, ->
model.setNull '_user.apiToken', derby.uuid()
cleanupCorruptTasks(model) # https://github.com/lefnire/habitrpg/issues/634
require('./items').server(model)
#refLists
@ -75,7 +80,6 @@ get '/', (page, model, params, next) ->
ready (model) ->
user = model.at('_user')
cleanupCorruptTasks(model) # https://github.com/lefnire/habitrpg/issues/634
#set cron immediately
lastCron = user.get('lastCron')