diff options
author | Lauri Ojansivu <x@xet7.org> | 2018-09-16 03:33:45 +0300 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2018-09-16 03:33:45 +0300 |
commit | b23cbbf9259ac535129cbf431cefe18fa774dd7f (patch) | |
tree | 9e4cccadff9a228f6525fd5722da3a3f290d1ff7 /models/triggers.js | |
parent | 053757f135b54241b4899a83cd3bb749b1e81bc9 (diff) | |
parent | 4f299b72f731ffb836871cd19361a6359e3bdfed (diff) | |
download | wekan-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.js | 58 |
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; + }, +}); |