diff options
author | guillaume <guillaume.cassou@orange.fr> | 2019-04-23 18:00:09 +0200 |
---|---|---|
committer | guillaume <guillaume.cassou@orange.fr> | 2019-04-23 18:00:09 +0200 |
commit | 8137f2692fe3e1d9f1c0a9b635ef15cdf36728f7 (patch) | |
tree | a054ec502113381363254b8d386de05bfd1626e4 /models/swimlanes.js | |
parent | 6933424fca56fc84b0060ff97b97303d36ab5fb0 (diff) | |
download | wekan-8137f2692fe3e1d9f1c0a9b635ef15cdf36728f7.tar.gz wekan-8137f2692fe3e1d9f1c0a9b635ef15cdf36728f7.tar.bz2 wekan-8137f2692fe3e1d9f1c0a9b635ef15cdf36728f7.zip |
remove feature
Diffstat (limited to 'models/swimlanes.js')
-rw-r--r-- | models/swimlanes.js | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/models/swimlanes.js b/models/swimlanes.js index 9da4afb5..bd2565af 100644 --- a/models/swimlanes.js +++ b/models/swimlanes.js @@ -180,6 +180,10 @@ Swimlanes.helpers({ const user = Users.findOne(Meteor.userId()); return user.profile.boardTemplatesSwimlaneId === this._id; }, + + remove() { + Swimlanes.remove({ _id: this._id}); + }, }); Swimlanes.mutations({ @@ -234,7 +238,21 @@ if (Meteor.isServer) { }); }); - Swimlanes.before.remove((userId, doc) => { + Swimlanes.before.remove(function(userId, doc) { + const lists = Lists.find({ + boardId: doc.boardId, + swimlaneId: {$in: [doc._id, '']}, + archived: false, + }, { sort: ['sort'] }); + + if (lists.count() < 2) { + lists.forEach((list) => { + list.remove(); + }); + } else { + Cards.remove({swimlaneId: doc._id}); + } + Activities.insert({ userId, type: 'swimlane', |