summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2019-04-23 19:51:53 +0300
committerLauri Ojansivu <x@xet7.org>2019-04-23 19:51:53 +0300
commit202f4235d741c85c8b95a9ae5d36c3b056d3cefa (patch)
treec11f92842be5bfee4caaa9ab7385d4fd2bb30c52
parent9d2227bffbfa7a0e092691fa9e39cad0dc32cfe4 (diff)
parent642002030919ad2db2121d9f5c3754faf9a6b965 (diff)
downloadwekan-202f4235d741c85c8b95a9ae5d36c3b056d3cefa.tar.gz
wekan-202f4235d741c85c8b95a9ae5d36c3b056d3cefa.tar.bz2
wekan-202f4235d741c85c8b95a9ae5d36c3b056d3cefa.zip
Merge branch 'edge' into meteor-1.8
-rw-r--r--CHANGELOG.md9
-rw-r--r--Dockerfile2
-rw-r--r--Stackerfile.yml2
-rw-r--r--client/components/sidebar/sidebarArchives.jade28
-rw-r--r--client/components/sidebar/sidebarArchives.js48
-rw-r--r--client/components/swimlanes/swimlaneHeader.jade4
-rw-r--r--i18n/ar.i18n.json6
-rw-r--r--i18n/bg.i18n.json6
-rw-r--r--i18n/br.i18n.json6
-rw-r--r--i18n/ca.i18n.json6
-rw-r--r--i18n/cs.i18n.json6
-rw-r--r--i18n/da.i18n.json6
-rw-r--r--i18n/de.i18n.json6
-rw-r--r--i18n/el.i18n.json6
-rw-r--r--i18n/en-GB.i18n.json6
-rw-r--r--i18n/en.i18n.json6
-rw-r--r--i18n/eo.i18n.json6
-rw-r--r--i18n/es-AR.i18n.json6
-rw-r--r--i18n/es.i18n.json6
-rw-r--r--i18n/eu.i18n.json6
-rw-r--r--i18n/fa.i18n.json6
-rw-r--r--i18n/fi.i18n.json6
-rw-r--r--i18n/fr.i18n.json6
-rw-r--r--i18n/gl.i18n.json6
-rw-r--r--i18n/he.i18n.json6
-rw-r--r--i18n/hi.i18n.json6
-rw-r--r--i18n/hu.i18n.json6
-rw-r--r--i18n/hy.i18n.json6
-rw-r--r--i18n/id.i18n.json6
-rw-r--r--i18n/ig.i18n.json6
-rw-r--r--i18n/it.i18n.json6
-rw-r--r--i18n/ja.i18n.json6
-rw-r--r--i18n/ka.i18n.json6
-rw-r--r--i18n/km.i18n.json6
-rw-r--r--i18n/ko.i18n.json6
-rw-r--r--i18n/lv.i18n.json6
-rw-r--r--i18n/mk.i18n.json6
-rw-r--r--i18n/mn.i18n.json6
-rw-r--r--i18n/nb.i18n.json6
-rw-r--r--i18n/nl.i18n.json6
-rw-r--r--i18n/oc.i18n.json6
-rw-r--r--i18n/pl.i18n.json6
-rw-r--r--i18n/pt-BR.i18n.json6
-rw-r--r--i18n/pt.i18n.json6
-rw-r--r--i18n/ro.i18n.json6
-rw-r--r--i18n/ru.i18n.json6
-rw-r--r--i18n/sr.i18n.json6
-rw-r--r--i18n/sv.i18n.json6
-rw-r--r--i18n/sw.i18n.json6
-rw-r--r--i18n/ta.i18n.json6
-rw-r--r--i18n/th.i18n.json6
-rw-r--r--i18n/tr.i18n.json6
-rw-r--r--i18n/uk.i18n.json6
-rw-r--r--i18n/vi.i18n.json6
-rw-r--r--i18n/zh-CN.i18n.json6
-rw-r--r--i18n/zh-TW.i18n.json6
-rw-r--r--models/boards.js19
-rw-r--r--models/cards.js4
-rw-r--r--models/checklists.js2
-rw-r--r--models/lists.js10
-rw-r--r--models/swimlanes.js20
-rw-r--r--package.json2
-rw-r--r--sandstorm-pkgdef.capnp4
63 files changed, 388 insertions, 66 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 670907f1..0da3fd22 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,12 @@
+# v2.64 2019-04-23 Wekan release
+
+This release adds the following new features:
+
+- [Board Archive: Restore All/Delete All of Cards/Lists/Swimlanes](https://github.com/wekan/wekan/pull/2376).
+ Thanks to Akuket.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
# v2.63 2019-04-23 Wekan release
This release removes the following Caddy plugins:
diff --git a/Dockerfile b/Dockerfile
index 5fef6c66..18791604 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -108,7 +108,7 @@ RUN \
\
# OS dependencies
apt-get update -y && apt-get install -y --no-install-recommends ${BUILD_DEPS} && \
- pip3 install -U setuptools wheel && \
+ pip3 install -U pip setuptools wheel && \
\
# Meteor installer doesn't work with the default tar binary, so using bsdtar while installing.
# https://github.com/coreos/bugs/issues/1095#issuecomment-350574389
diff --git a/Stackerfile.yml b/Stackerfile.yml
index e56eadd9..27b6655f 100644
--- a/Stackerfile.yml
+++ b/Stackerfile.yml
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
-appVersion: "v2.63.0"
+appVersion: "v2.64.0"
files:
userUploads:
- README.md
diff --git a/client/components/sidebar/sidebarArchives.jade b/client/components/sidebar/sidebarArchives.jade
index ee6cac01..e2f3e395 100644
--- a/client/components/sidebar/sidebarArchives.jade
+++ b/client/components/sidebar/sidebarArchives.jade
@@ -2,6 +2,10 @@ template(name="archivesSidebar")
+basicTabs(tabs=tabs)
+tabContent(slug="cards")
+ p.quiet
+ a.js-restore-all-cards {{_ 'restore-all'}}
+ | -
+ a.js-delete-all-cards {{_ 'delete-all'}}
each archivedCards
.minicard-wrapper.js-minicard
+minicard(this)
@@ -16,23 +20,35 @@ template(name="archivesSidebar")
p.no-items-message {{_ 'no-archived-cards'}}
+tabContent(slug="lists")
+ p.quiet
+ a.js-restore-all-lists {{_ 'restore-all'}}
+ | -
+ a.js-delete-all-lists {{_ 'delete-all'}}
ul.archived-lists
each archivedLists
li.archived-lists-item
- if currentUser.isBoardMember
- button.js-restore-list
- i.fa.fa-undo
= title
+ if currentUser.isBoardMember
+ p.quiet
+ a.js-restore-list {{_ 'restore'}}
+ | -
+ a.js-delete-list {{_ 'delete'}}
else
li.no-items-message {{_ 'no-archived-lists'}}
+tabContent(slug="swimlanes")
+ p.quiet
+ a.js-restore-all-swimlanes {{_ 'restore-all'}}
+ | -
+ a.js-delete-all-swimlanes {{_ 'delete-all'}}
ul.archived-lists
each archivedSwimlanes
li.archived-lists-item
- if currentUser.isBoardMember
- button.js-restore-swimlane
- i.fa.fa-undo
= title
+ if currentUser.isBoardMember
+ p.quiet
+ a.js-restore-swimlane {{_ 'restore'}}
+ | -
+ a.js-delete-swimlane {{_ 'delete'}}
else
li.no-items-message {{_ 'no-archived-swimlanes'}}
diff --git a/client/components/sidebar/sidebarArchives.js b/client/components/sidebar/sidebarArchives.js
index 6102bf11..b50043fd 100644
--- a/client/components/sidebar/sidebarArchives.js
+++ b/client/components/sidebar/sidebarArchives.js
@@ -44,19 +44,67 @@ BlazeComponent.extendComponent({
card.restore();
}
},
+ 'click .js-restore-all-cards'() {
+ this.archivedCards().forEach((card) => {
+ if(card.canBeRestored()){
+ card.restore();
+ }
+ });
+ },
+
'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
const cardId = this._id;
Cards.remove(cardId);
Popup.close();
}),
+ 'click .js-delete-all-cards': Popup.afterConfirm('cardDelete', () => {
+ this.archivedCards().forEach((card) => {
+ Cards.remove(card._id);
+ });
+ Popup.close();
+ }),
+
'click .js-restore-list'() {
const list = this.currentData();
list.restore();
},
+ 'click .js-restore-all-lists'() {
+ this.archivedLists().forEach((list) => {
+ list.restore();
+ });
+ },
+
+ 'click .js-delete-list': Popup.afterConfirm('listDelete', function() {
+ this.remove();
+ Popup.close();
+ }),
+ 'click .js-delete-all-lists': Popup.afterConfirm('listDelete', () => {
+ this.archivedLists().forEach((list) => {
+ list.remove();
+ });
+ Popup.close();
+ }),
+
'click .js-restore-swimlane'() {
const swimlane = this.currentData();
swimlane.restore();
},
+ 'click .js-restore-all-swimlanes'() {
+ this.archivedSwimlanes().forEach((swimlane) => {
+ swimlane.restore();
+ });
+ },
+
+ 'click .js-delete-swimlane': Popup.afterConfirm('swimlaneDelete', function() {
+ this.remove();
+ Popup.close();
+ }),
+ 'click .js-delete-all-swimlanes': Popup.afterConfirm('swimlaneDelete', () => {
+ this.archivedSwimlanes().forEach((swimlane) => {
+ swimlane.remove();
+ });
+ Popup.close();
+ }),
}];
},
}).register('archivesSidebar');
diff --git a/client/components/swimlanes/swimlaneHeader.jade b/client/components/swimlanes/swimlaneHeader.jade
index de9621d5..8c6aa5a3 100644
--- a/client/components/swimlanes/swimlaneHeader.jade
+++ b/client/components/swimlanes/swimlaneHeader.jade
@@ -54,3 +54,7 @@ template(name="setSwimlaneColorPopup")
i.fa.fa-check
button.primary.confirm.js-submit {{_ 'save'}}
button.js-remove-color.negate.wide.right {{_ 'unset-color'}}
+
+template(name="swimlaneDeletePopup")
+ p {{_ "swimlane-delete-pop"}}
+ button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json
index c8550643..1d833811 100644
--- a/i18n/ar.i18n.json
+++ b/i18n/ar.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json
index 34025188..8b383e1f 100644
--- a/i18n/bg.i18n.json
+++ b/i18n/bg.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json
index a6005751..eb5b30f7 100644
--- a/i18n/br.i18n.json
+++ b/i18n/br.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json
index 0a204de2..94470f4a 100644
--- a/i18n/ca.i18n.json
+++ b/i18n/ca.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json
index 82b7b2ba..185e4063 100644
--- a/i18n/cs.i18n.json
+++ b/i18n/cs.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Zobraz způsob ověřování",
"default-authentication-method": "Zobraz způsob ověřování",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/da.i18n.json b/i18n/da.i18n.json
index 95d41623..bb85d3c6 100644
--- a/i18n/da.i18n.json
+++ b/i18n/da.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index f823f5ed..f2d3edc9 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Anzeige Authentifizierungsverfahren",
"default-authentication-method": "Standardauthentifizierungsverfahren",
"duplicate-board": "Board duplizieren",
- "people-number": "Anzahl der Personen:"
+ "people-number": "Anzahl der Personen:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json
index bf642815..a6724e6a 100644
--- a/i18n/el.i18n.json
+++ b/i18n/el.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json
index 1b8f6a77..9c059213 100644
--- a/i18n/en-GB.i18n.json
+++ b/i18n/en-GB.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json
index 22e15934..bb84dc66 100644
--- a/i18n/en.i18n.json
+++ b/i18n/en.i18n.json
@@ -687,5 +687,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is: "
+ "people-number": "The number of people is: ",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
}
diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json
index c93d4a40..56edd282 100644
--- a/i18n/eo.i18n.json
+++ b/i18n/eo.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json
index 4ac17086..572e0ec6 100644
--- a/i18n/es-AR.i18n.json
+++ b/i18n/es-AR.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json
index 086e6701..3cf30e44 100644
--- a/i18n/es.i18n.json
+++ b/i18n/es.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Mostrar el método de autenticación",
"default-authentication-method": "Método de autenticación por defecto",
"duplicate-board": "Duplicar tablero",
- "people-number": "El número de personas es:"
+ "people-number": "El número de personas es:",
+ "swimlaneDeletePopup-title": "¿Eliminar el carril de flujo?",
+ "swimlane-delete-pop": "Todas las acciones serán eliminadas del historial de actividades y no se podrá recuperar el carril de flujo. Esta acción no puede deshacerse.",
+ "restore-all": "Restaurar todas",
+ "delete-all": "Borrar todas"
} \ No newline at end of file
diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json
index f44b5219..29809abc 100644
--- a/i18n/eu.i18n.json
+++ b/i18n/eu.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json
index 610e651d..79e4b80f 100644
--- a/i18n/fa.i18n.json
+++ b/i18n/fa.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "نمایش نوع اعتبارسنجی",
"default-authentication-method": "نوع اعتبارسنجی پیشفرض",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json
index d475a3b3..0cfed49e 100644
--- a/i18n/fi.i18n.json
+++ b/i18n/fi.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Näytä kirjautumistapa",
"default-authentication-method": "Oletus kirjautumistapa",
"duplicate-board": "Tee kaksoiskappale taulusta",
- "people-number": "Ihmisten määrä on:"
+ "people-number": "Ihmisten määrä on:",
+ "swimlaneDeletePopup-title": "Poista Swimlane ?",
+ "swimlane-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä ja swimlanen poistaminen on lopullista. Tätä ei pysty peruuttamaan.",
+ "restore-all": "Palauta kaikki",
+ "delete-all": "Poista kaikki"
} \ No newline at end of file
diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json
index 922ebc27..ec20794c 100644
--- a/i18n/fr.i18n.json
+++ b/i18n/fr.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Afficher la méthode d'authentification",
"default-authentication-method": "Méthode d'authentification par défaut",
"duplicate-board": "Dupliquer le tableau",
- "people-number": "Le nombre d'utilisateurs est de :"
+ "people-number": "Le nombre d'utilisateurs est de :",
+ "swimlaneDeletePopup-title": "Supprimer le couloir ?",
+ "swimlane-delete-pop": "Toutes les actions vont être supprimées du suivi d'activités et vous ne pourrez plus utiliser ce couloir. Cette action est irréversible.",
+ "restore-all": "Tout supprimer",
+ "delete-all": "Tout restaurer"
} \ No newline at end of file
diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json
index ddc9f250..5a48f3b5 100644
--- a/i18n/gl.i18n.json
+++ b/i18n/gl.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json
index cda8016d..00c0d554 100644
--- a/i18n/he.i18n.json
+++ b/i18n/he.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "הצגת שיטת אימות",
"default-authentication-method": "שיטת אימות כבררת מחדל",
"duplicate-board": "שכפול לוח",
- "people-number": "מספר האנשים הוא:"
+ "people-number": "מספר האנשים הוא:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/hi.i18n.json b/i18n/hi.i18n.json
index d31829d8..3e87423d 100644
--- a/i18n/hi.i18n.json
+++ b/i18n/hi.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json
index c84138cb..ac4b0903 100644
--- a/i18n/hu.i18n.json
+++ b/i18n/hu.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Hitelelesítési mód mutatása",
"default-authentication-method": "Alapértelmezett hitelesítési mód",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json
index 28140211..d09c2947 100644
--- a/i18n/hy.i18n.json
+++ b/i18n/hy.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json
index 87c50fe8..bd05571e 100644
--- a/i18n/id.i18n.json
+++ b/i18n/id.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json
index 0699b2e3..75f0257d 100644
--- a/i18n/ig.i18n.json
+++ b/i18n/ig.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json
index 54e6bc1c..1584b857 100644
--- a/i18n/it.i18n.json
+++ b/i18n/it.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Mostra il metodo di autenticazione",
"default-authentication-method": "Metodo di autenticazione predefinito",
"duplicate-board": "Duplica bacheca",
- "people-number": "Il numero di persone è:"
+ "people-number": "Il numero di persone è:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json
index d496788a..c7e5b77a 100644
--- a/i18n/ja.i18n.json
+++ b/i18n/ja.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json
index c98f7500..e9eea77b 100644
--- a/i18n/ka.i18n.json
+++ b/i18n/ka.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json
index e06eb4a9..8aeb30a6 100644
--- a/i18n/km.i18n.json
+++ b/i18n/km.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json
index df8b9cfe..f669afe4 100644
--- a/i18n/ko.i18n.json
+++ b/i18n/ko.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json
index fb20beda..e420b507 100644
--- a/i18n/lv.i18n.json
+++ b/i18n/lv.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/mk.i18n.json b/i18n/mk.i18n.json
index 385acfee..c7cf28b5 100644
--- a/i18n/mk.i18n.json
+++ b/i18n/mk.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json
index 1da0cd1b..e3d4fb1c 100644
--- a/i18n/mn.i18n.json
+++ b/i18n/mn.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json
index ba52baa9..91d018ec 100644
--- a/i18n/nb.i18n.json
+++ b/i18n/nb.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json
index 48998d3b..1767113e 100644
--- a/i18n/nl.i18n.json
+++ b/i18n/nl.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/oc.i18n.json b/i18n/oc.i18n.json
index bd48f715..595231e5 100644
--- a/i18n/oc.i18n.json
+++ b/i18n/oc.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json
index 27fe3861..2064df1b 100644
--- a/i18n/pl.i18n.json
+++ b/i18n/pl.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Wyświetl metodę logowania",
"default-authentication-method": "Domyślna metoda logowania",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json
index bb62e3d1..b5321f29 100644
--- a/i18n/pt-BR.i18n.json
+++ b/i18n/pt-BR.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Mostrar Método de Autenticação",
"default-authentication-method": "Método de Autenticação Padrão",
"duplicate-board": "Duplicar Quadro",
- "people-number": "O número de pessoas é:"
+ "people-number": "O número de pessoas é:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json
index ad51a7d9..531973c1 100644
--- a/i18n/pt.i18n.json
+++ b/i18n/pt.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Mostrar Método de Autenticação",
"default-authentication-method": "Método de Autenticação Padrão",
"duplicate-board": "Duplicar Quadro",
- "people-number": "O número de pessoas é:"
+ "people-number": "O número de pessoas é:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json
index ad6296bf..a8a15de5 100644
--- a/i18n/ro.i18n.json
+++ b/i18n/ro.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index b81af840..0e20f615 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Показывать способ авторизации",
"default-authentication-method": "Способ авторизации по умолчанию",
"duplicate-board": "Клонировать доску",
- "people-number": "Количество человек:"
+ "people-number": "Количество человек:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json
index 9035e33f..602b8e4e 100644
--- a/i18n/sr.i18n.json
+++ b/i18n/sr.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index 89326120..24d2d0c8 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Visa autentiseringsmetod",
"default-authentication-method": "Standard autentiseringsmetod",
"duplicate-board": "Dubbletttavla",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/sw.i18n.json b/i18n/sw.i18n.json
index 9f850deb..f2d41117 100644
--- a/i18n/sw.i18n.json
+++ b/i18n/sw.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json
index b57c19d3..83f22a70 100644
--- a/i18n/ta.i18n.json
+++ b/i18n/ta.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json
index b6fc51a5..8eb1001f 100644
--- a/i18n/th.i18n.json
+++ b/i18n/th.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json
index 05bc48f4..777caa11 100644
--- a/i18n/tr.i18n.json
+++ b/i18n/tr.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json
index 9781c9f5..3eb579ea 100644
--- a/i18n/uk.i18n.json
+++ b/i18n/uk.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json
index e61d5fec..9c8b5cd5 100644
--- a/i18n/vi.i18n.json
+++ b/i18n/vi.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json
index a47fdf6a..d4988b6e 100644
--- a/i18n/zh-CN.i18n.json
+++ b/i18n/zh-CN.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "显示认证方式",
"default-authentication-method": "缺省认证方式",
"duplicate-board": "复制看板",
- "people-number": "人数是:"
+ "people-number": "人数是:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json
index 794d5d66..dc527ec2 100644
--- a/i18n/zh-TW.i18n.json
+++ b/i18n/zh-TW.i18n.json
@@ -684,5 +684,9 @@
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
- "people-number": "The number of people is:"
+ "people-number": "The number of people is:",
+ "swimlaneDeletePopup-title": "Delete Swimlane ?",
+ "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+ "restore-all": "Restore all",
+ "delete-all": "Delete all"
} \ No newline at end of file
diff --git a/models/boards.js b/models/boards.js
index 36651d54..b07d9e27 100644
--- a/models/boards.js
+++ b/models/boards.js
@@ -803,6 +803,13 @@ Boards.mutations({
},
});
+function boardRemover(userId, doc) {
+ [Cards, Lists, Swimlanes, Integrations, Rules, Activities].forEach((element) => {
+ element.remove({ boardId: doc._id });
+ });
+}
+
+
if (Meteor.isServer) {
Boards.allow({
insert: Meteor.userId,
@@ -966,6 +973,18 @@ if (Meteor.isServer) {
}
});
+ Boards.before.remove((userId, doc) => {
+ boardRemover(userId, doc);
+ // Add removeBoard activity to keep it
+ Activities.insert({
+ userId,
+ type: 'board',
+ activityTypeId: doc._id,
+ activityType: 'removeBoard',
+ boardId: doc._id,
+ });
+ });
+
// Add a new activity if we add or remove a member to the board
Boards.after.update((userId, doc, fieldNames, modifier) => {
if (!_.contains(fieldNames, 'members')) {
diff --git a/models/cards.js b/models/cards.js
index 7430ae52..d5a59377 100644
--- a/models/cards.js
+++ b/models/cards.js
@@ -1518,7 +1518,7 @@ function cardCreation(userId, doc) {
}
function cardRemover(userId, doc) {
- Activities.remove({
+ ChecklistItems.remove({
cardId: doc._id,
});
Checklists.remove({
@@ -1583,7 +1583,7 @@ if (Meteor.isServer) {
// Remove all activities associated with a card if we remove the card
// Remove also card_comments / checklists / attachments
- Cards.after.remove((userId, doc) => {
+ Cards.before.remove((userId, doc) => {
cardRemover(userId, doc);
});
}
diff --git a/models/checklists.js b/models/checklists.js
index d5063faf..33cb0f40 100644
--- a/models/checklists.js
+++ b/models/checklists.js
@@ -157,8 +157,6 @@ if (Meteor.isServer) {
listId: doc.listId,
swimlaneId: doc.swimlaneId,
});
-
-
});
}
diff --git a/models/lists.js b/models/lists.js
index a8e597ee..1a0910c2 100644
--- a/models/lists.js
+++ b/models/lists.js
@@ -217,6 +217,10 @@ Lists.helpers({
isTemplateList() {
return this.type === 'template-list';
},
+
+ remove() {
+ Lists.remove({ _id: this._id});
+ },
});
Lists.mutations({
@@ -310,6 +314,12 @@ if (Meteor.isServer) {
});
Lists.before.remove((userId, doc) => {
+ const cards = Cards.find({ listId: doc._id });
+ if (cards) {
+ cards.forEach((card) => {
+ Cards.remove(card._id);
+ });
+ }
Activities.insert({
userId,
type: 'list',
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',
diff --git a/package.json b/package.json
index 384d9483..b6464808 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "v2.63.0",
+ "version": "v2.64.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index ebcf0896..ac51193b 100644
--- a/sandstorm-pkgdef.capnp
+++ b/sandstorm-pkgdef.capnp
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
- appVersion = 265,
+ appVersion = 266,
# Increment this for every release.
- appMarketingVersion = (defaultText = "2.63.0~2019-04-23"),
+ appMarketingVersion = (defaultText = "2.64.0~2019-04-23"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,