summaryrefslogtreecommitdiffstats
path: root/models/triggers.js
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2018-09-16 03:33:45 +0300
committerLauri Ojansivu <x@xet7.org>2018-09-16 03:33:45 +0300
commitb23cbbf9259ac535129cbf431cefe18fa774dd7f (patch)
tree9e4cccadff9a228f6525fd5722da3a3f290d1ff7 /models/triggers.js
parent053757f135b54241b4899a83cd3bb749b1e81bc9 (diff)
parent4f299b72f731ffb836871cd19361a6359e3bdfed (diff)
downloadwekan-b23cbbf9259ac535129cbf431cefe18fa774dd7f.tar.gz
wekan-b23cbbf9259ac535129cbf431cefe18fa774dd7f.tar.bz2
wekan-b23cbbf9259ac535129cbf431cefe18fa774dd7f.zip
Merge branch 'Angtrim-feature-rules' into devel
Diffstat (limited to 'models/triggers.js')
-rw-r--r--models/triggers.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/models/triggers.js b/models/triggers.js
new file mode 100644
index 00000000..15982b6e
--- /dev/null
+++ b/models/triggers.js
@@ -0,0 +1,58 @@
+Triggers = new Mongo.Collection('triggers');
+
+Triggers.mutations({
+ rename(description) {
+ return {
+ $set: {
+ description,
+ },
+ };
+ },
+});
+
+Triggers.allow({
+ insert(userId, doc) {
+ return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
+ },
+ update(userId, doc) {
+ return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
+ },
+ remove(userId, doc) {
+ return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
+ },
+});
+
+Triggers.helpers({
+
+ description() {
+ return this.desc;
+ },
+
+ getRule() {
+ return Rules.findOne({
+ triggerId: this._id,
+ });
+ },
+
+ fromList() {
+ return Lists.findOne(this.fromId);
+ },
+
+ toList() {
+ return Lists.findOne(this.toId);
+ },
+
+ findList(title) {
+ return Lists.findOne({
+ title,
+ });
+ },
+
+ labels() {
+ const boardLabels = this.board().labels;
+ const cardLabels = _.filter(boardLabels, (label) => {
+ return _.contains(this.labelIds, label._id);
+ });
+ return cardLabels;
+ },
+});