Initial implementation for subtasks

This commit is contained in:
Nicu Tofan 2018-06-18 23:25:56 +03:00
parent b627ced605
commit d59583915c
No known key found for this signature in database
GPG key ID: 7EE66E95E64FD0B7
13 changed files with 478 additions and 34 deletions

View file

@ -44,6 +44,9 @@ Activities.helpers({
checklistItem() {
return ChecklistItems.findOne(this.checklistItemId);
},
subtasks() {
return Subtasks.findOne(this.subtaskId);
},
customField() {
return CustomFields.findOne(this.customFieldId);
},

View file

@ -215,6 +215,27 @@ Cards.helpers({
return this.checklistItemCount() !== 0;
},
subtasks() {
return Subtasks.find({cardId: this._id}, {sort: { sort: 1 } });
},
subtasksCount() {
return Subtasks.find({cardId: this._id}).count();
},
subtasksFinishedCount() {
return Subtasks.find({cardId: this._id, isFinished: true}).count();
},
subtasksFinished() {
const finishCount = this.subtasksFinishedCount();
return finishCount > 0 && this.subtasksCount() === finishCount;
},
hasSubtasks() {
return this.subtasksCount() !== 0;
},
customFieldIndex(customFieldId) {
return _.pluck(this.customFields, '_id').indexOf(customFieldId);
},
@ -513,6 +534,9 @@ function cardRemover(userId, doc) {
Checklists.remove({
cardId: doc._id,
});
Subtasks.remove({
cardId: doc._id,
});
CardComments.remove({
cardId: doc._id,
});

View file

@ -58,9 +58,11 @@ class Exporter {
result.activities = Activities.find(byBoard, noBoardId).fetch();
result.checklists = [];
result.checklistItems = [];
result.subtaskItems = [];
result.cards.forEach((card) => {
result.checklists.push(...Checklists.find({ cardId: card._id }).fetch());
result.checklistItems.push(...ChecklistItems.find({ cardId: card._id }).fetch());
result.subtaskItems.push(...Subtasks.find({ cardId: card._id }).fetch());
});
// [Old] for attachments we only export IDs and absolute url to original doc

View file

@ -41,13 +41,7 @@ Subtasks.attachSchema(new SimpleSchema({
}));
Subtasks.helpers({
isFinished() {
return 0 !== this.itemCount() && this.itemCount() === this.finishedCount();
},
itemIndex(itemId) {
const items = self.findOne({_id : this._id}).items;
return _.pluck(items, '_id').indexOf(itemId);
},
// ...
});
Subtasks.allow({