mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
many bug fixes regarding schema updates
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// Generated by CoffeeScript 1.3.3
|
||||
var Scoring, content, derby, get, getHabits, ready, schemaUpdates, userSchema, view, _ref;
|
||||
var Scoring, content, derby, get, getHabits, ready, view, _ref;
|
||||
|
||||
derby = require('derby');
|
||||
|
||||
@@ -13,52 +13,6 @@ content = require('./content');
|
||||
|
||||
Scoring = require('./scoring');
|
||||
|
||||
userSchema = {
|
||||
stats: {
|
||||
money: 0,
|
||||
exp: 0,
|
||||
lvl: 1,
|
||||
hp: 50
|
||||
},
|
||||
items: {
|
||||
itemsEnabled: false,
|
||||
armor: 0,
|
||||
weapon: 0
|
||||
},
|
||||
tasks: {},
|
||||
habitIds: [],
|
||||
dailyIds: [],
|
||||
todoIds: [],
|
||||
completedIds: [],
|
||||
rewardIds: []
|
||||
};
|
||||
|
||||
schemaUpdates = function(model) {
|
||||
var completedIds, index, key, todo, todoIds, user, val, _i, _len, _ref1, _results;
|
||||
user = model.at('_user');
|
||||
for (key in userSchema) {
|
||||
val = userSchema[key];
|
||||
user.setNull(key, val);
|
||||
}
|
||||
completedIds = user.get('completedIds');
|
||||
todoIds = user.get('todoIds');
|
||||
if (completedIds.length === 0) {
|
||||
_ref1 = model.get('_todoList');
|
||||
_results = [];
|
||||
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
|
||||
todo = _ref1[_i];
|
||||
if (todo.completed) {
|
||||
index = todoIds.indexOf(todo.id);
|
||||
todoIds.splice(index, 1);
|
||||
_results.push(completedIds.push(todo.id));
|
||||
} else {
|
||||
_results.push(void 0);
|
||||
}
|
||||
}
|
||||
return _results;
|
||||
}
|
||||
};
|
||||
|
||||
view.fn('taskClasses', function(type, completed, value) {
|
||||
var classes;
|
||||
classes = type;
|
||||
@@ -129,7 +83,7 @@ get('/:uidParam?', function(page, model, _arg) {
|
||||
userId = model.get('_userId');
|
||||
user = users.get(userId);
|
||||
if (user == null) {
|
||||
newUser = userSchema;
|
||||
newUser = require('./schema').userSchema;
|
||||
_ref1 = content.defaultTasks;
|
||||
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
|
||||
task = _ref1[_i];
|
||||
@@ -176,13 +130,12 @@ getHabits = function(page, model, userId) {
|
||||
model.refList("_todoList", "_user.tasks", "_user.todoIds");
|
||||
model.refList("_completedList", "_user.tasks", "_user.completedIds");
|
||||
model.refList("_rewardList", "_user.tasks", "_user.rewardIds");
|
||||
schemaUpdates(model);
|
||||
return page.render();
|
||||
});
|
||||
};
|
||||
|
||||
ready(function(model) {
|
||||
var endOfDayTally, poormanscron, setupSortable, step, tour, type, _i, _j, _len, _len1, _ref1, _ref2;
|
||||
var poormanscron, setupSortable, step, tour, type, _i, _j, _len, _len1, _ref1, _ref2;
|
||||
model.set('_purl', window.location.origin + '/' + model.get('_userId'));
|
||||
$('[rel=popover]').popover();
|
||||
model.on('set', '*', function() {
|
||||
@@ -301,6 +254,12 @@ ready(function(model) {
|
||||
model.del('_user.tasks.' + task.get('id'));
|
||||
return task.remove();
|
||||
};
|
||||
exports.clearCompleted = function(e, el) {
|
||||
return _.each(model.get('_completedList'), function(task) {
|
||||
model.del('_user.tasks.' + task.id);
|
||||
return model.set('_user.completedIds', []);
|
||||
});
|
||||
};
|
||||
exports.toggleTaskEdit = function(e, el) {
|
||||
var hideId, toggleId;
|
||||
hideId = $(el).attr('data-hide-id');
|
||||
@@ -412,7 +371,7 @@ ready(function(model) {
|
||||
daysPassed: daysPassed,
|
||||
n: n
|
||||
}, "[debug] Cron (" + today + ", " + n + ")");
|
||||
_results.push(endOfDayTally());
|
||||
_results.push(Scoring.tally(model));
|
||||
}
|
||||
return _results;
|
||||
}
|
||||
@@ -421,9 +380,12 @@ ready(function(model) {
|
||||
setInterval((function() {
|
||||
return poormanscron();
|
||||
}), 3600000);
|
||||
exports.endOfDayTally = endOfDayTally = function(e, el) {
|
||||
exports.endOfDayTally = function(e, el) {
|
||||
return Scoring.tally(model);
|
||||
};
|
||||
exports.updateSchema = function(e, el) {
|
||||
return require('./schema').updateSchema(model);
|
||||
};
|
||||
exports.shortcuts = function(e) {
|
||||
var code, command;
|
||||
if (!(e.metaKey || e.ctrlKey)) {
|
||||
|
||||
Reference in New Issue
Block a user