summaryrefslogtreecommitdiffstats
path: root/models/swimlanes.js
diff options
context:
space:
mode:
authorguillaume <guillaume.cassou@orange.fr>2019-04-23 18:00:09 +0200
committerguillaume <guillaume.cassou@orange.fr>2019-04-23 18:00:09 +0200
commit8137f2692fe3e1d9f1c0a9b635ef15cdf36728f7 (patch)
treea054ec502113381363254b8d386de05bfd1626e4 /models/swimlanes.js
parent6933424fca56fc84b0060ff97b97303d36ab5fb0 (diff)
downloadwekan-8137f2692fe3e1d9f1c0a9b635ef15cdf36728f7.tar.gz
wekan-8137f2692fe3e1d9f1c0a9b635ef15cdf36728f7.tar.bz2
wekan-8137f2692fe3e1d9f1c0a9b635ef15cdf36728f7.zip
remove feature
Diffstat (limited to 'models/swimlanes.js')
-rw-r--r--models/swimlanes.js20
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',