summaryrefslogtreecommitdiffstats
path: root/client/components/cards/cardDetails.js
diff options
context:
space:
mode:
authorNicu Tofan <nicu.tofan@gmail.com>2018-06-18 23:25:56 +0300
committerNicu Tofan <nicu.tofan@gmail.com>2018-06-26 14:32:47 +0300
commitd59583915cca24d53a11251c54ca7caf6b5edb4e (patch)
treea425bb136877a3f93c8a9871008be2606eb5427c /client/components/cards/cardDetails.js
parentb627ced605f0ab98eb2977420da954f31df4f592 (diff)
downloadwekan-d59583915cca24d53a11251c54ca7caf6b5edb4e.tar.gz
wekan-d59583915cca24d53a11251c54ca7caf6b5edb4e.tar.bz2
wekan-d59583915cca24d53a11251c54ca7caf6b5edb4e.zip
Initial implementation for subtasks
Diffstat (limited to 'client/components/cards/cardDetails.js')
-rw-r--r--client/components/cards/cardDetails.js56
1 files changed, 34 insertions, 22 deletions
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js
index 72ed678b..22dacb70 100644
--- a/client/components/cards/cardDetails.js
+++ b/client/components/cards/cardDetails.js
@@ -364,6 +364,20 @@ BlazeComponent.extendComponent({
},
}).register('boardsAndLists');
+function cloneCheckList(_id, checklist) {
+ 'use strict';
+ const checklistId = checklist._id;
+ checklist.cardId = _id;
+ checklist._id = null;
+ const newChecklistId = Checklists.insert(checklist);
+ ChecklistItems.find({checklistId}).forEach(function(item) {
+ item._id = null;
+ item.checklistId = newChecklistId;
+ item.cardId = _id;
+ ChecklistItems.insert(item);
+ });
+}
+
Template.copyCardPopup.events({
'click .js-done'() {
const card = Cards.findOne(Session.get('currentCard'));
@@ -393,18 +407,17 @@ Template.copyCardPopup.events({
// copy checklists
let cursor = Checklists.find({cardId: oldId});
cursor.forEach(function() {
+ cloneCheckList(_id, arguments[0]);
+ });
+
+ // copy subtasks
+ cursor = Subtasks.find({cardId: oldId});
+ cursor.forEach(function() {
'use strict';
- const checklist = arguments[0];
- const checklistId = checklist._id;
- checklist.cardId = _id;
- checklist._id = null;
- const newChecklistId = Checklists.insert(checklist);
- ChecklistItems.find({checklistId}).forEach(function(item) {
- item._id = null;
- item.checklistId = newChecklistId;
- item.cardId = _id;
- ChecklistItems.insert(item);
- });
+ const subtask = arguments[0];
+ subtask.cardId = _id;
+ subtask._id = null;
+ /* const newSubtaskId = */ Subtasks.insert(subtask);
});
// copy card comments
@@ -454,18 +467,17 @@ Template.copyChecklistToManyCardsPopup.events({
// copy checklists
let cursor = Checklists.find({cardId: oldId});
cursor.forEach(function() {
+ cloneCheckList(_id, arguments[0]);
+ });
+
+ // copy subtasks
+ cursor = Subtasks.find({cardId: oldId});
+ cursor.forEach(function() {
'use strict';
- const checklist = arguments[0];
- const checklistId = checklist._id;
- checklist.cardId = _id;
- checklist._id = null;
- const newChecklistId = Checklists.insert(checklist);
- ChecklistItems.find({checklistId}).forEach(function(item) {
- item._id = null;
- item.checklistId = newChecklistId;
- item.cardId = _id;
- ChecklistItems.insert(item);
- });
+ const subtask = arguments[0];
+ subtask.cardId = _id;
+ subtask._id = null;
+ /* const newSubtaskId = */ Subtasks.insert(subtask);
});
// copy card comments