[#1672] assign tasks.id = tasks._id for challenges, fixes html ids & for lables

This commit is contained in:
Tyler Renelle
2013-11-01 09:48:22 -07:00
parent cc5126f09b
commit 37027ac874
3 changed files with 15 additions and 7 deletions

View File

@@ -39,6 +39,11 @@ ChallengeSchema.methods.toJSON = function(){
var doc = this.toObject();
doc.memberCount = doc.members ? _.size(doc.members) : doc.memberCount; // @see pre('save') comment above
doc._isMember = this._isMember;
_.each(['habits','dailys','todos','rewards'], function(type){
_.each(doc[type],function(task){
task.id = task._id;
})
})
return doc;
}

View File

@@ -36,6 +36,9 @@ var TaskSchema = new Schema({
minimize: 'false'
});
/**
* FIXME why is this function is never called? Instead we're doing a _.each(obj.tasks) in challenges & user
*/
TaskSchema.methods.toJSON = function() {
var doc = this.toObject();
doc.id = doc._id;

View File

@@ -52,8 +52,8 @@ li(ng-repeat='task in obj[list.type+"s"]', class='task {{taskClasses(task, user.
// Daily & Todos
span.task-checker.action-yesno(ng-if='task.type=="daily" || task.type=="todo"')
input.visuallyhidden.focusable(id='box-{{task.id}}', type='checkbox', ng-model='task.completed', ng-change='changeCheck(task)')
label(for='box-{{task.id}}')
input.visuallyhidden.focusable(id='box-{{obj._id}}_{{task.id}}', type='checkbox', ng-model='task.completed', ng-change='changeCheck(task)')
label(for='box-{{obj._id}}_{{task.id}}')
// main content
p.task-text
| {{task.text}}
@@ -102,11 +102,11 @@ li(ng-repeat='task in obj[list.type+"s"]', class='task {{taskClasses(task, user.
fieldset.option-group(ng-if='task.type=="habit" && !task.challenge.id')
legend.option-title Direction/Actions
span.task-checker.action-plusminus.select-toggle
input.visuallyhidden.focusable(id='{{task.id}}-option-plus', type='checkbox', ng-model='task.up')
label(for='{{task.id}}-option-plus')
input.visuallyhidden.focusable(id='{{obj._id}}_{{task.id}}-option-plus', type='checkbox', ng-model='task.up')
label(for='{{obj._id}}_{{task.id}}-option-plus')
span.task-checker.action-plusminus.select-toggle
input.visuallyhidden.focusable(id='{{task.id}}-option-minus', type='checkbox', ng-model='task.down')
label(for='{{task.id}}-option-minus')
input.visuallyhidden.focusable(id='{{obj._id}}_{{task.id}}-option-minus', type='checkbox', ng-model='task.down')
label(for='{{obj._id}}_{{task.id}}-option-minus')
// if Daily, calendar
// FIXME display, but disable for challenge tasks
@@ -148,7 +148,7 @@ li(ng-repeat='task in obj[list.type+"s"]', class='task {{taskClasses(task, user.
a.priority-multiplier-help(href='https://trello.com/card/priority-multiplier/50e5d3684fe3a7266b0036d6/17', target='_blank', popover-title='How difficult is this task?', popover-trigger='mouseenter', popover="This multiplies its point value. Use sparingly, rely instead on our organic value-adjustment algorithms. But some tasks are grossly more valuable (Write Thesis vs Floss Teeth). Click for more info.")
i.icon-question-sign
| Difficulty
.task-controls.tile-group.priority-multiplier(data-id='{{task.id}}')
.task-controls.tile-group.priority-multiplier
button.task-action-btn.tile(type='button', ng-class='{active: task.priority=="!" || !task.priority}', ng-click='task.priority="!"') Easy
button.task-action-btn.tile(type='button', ng-class='{active: task.priority=="!!"}', ng-click='task.priority="!!"') Medium
button.task-action-btn.tile(type='button', ng-class='{active: task.priority=="!!!"}', ng-click='task.priority="!!!"') Hard