From df84a2be9adb2eeee25141588a80d4523d38675d Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sun, 16 Sep 2018 01:50:36 +0300 Subject: Fix lint errors. --- .eslintrc.json | 2 +- client/components/activities/activities.js | 4 +- client/components/rules/actions/boardActions.jade | 24 +- client/components/rules/actions/boardActions.js | 95 +++--- client/components/rules/actions/cardActions.js | 85 +++-- .../components/rules/actions/checklistActions.js | 106 +++--- client/components/rules/actions/mailActions.jade | 8 +- client/components/rules/actions/mailActions.js | 20 +- client/components/rules/ruleDetails.js | 12 +- client/components/rules/rulesActions.js | 10 +- client/components/rules/rulesList.js | 4 +- client/components/rules/rulesMain.js | 21 +- client/components/rules/rulesTriggers.js | 4 +- .../components/rules/triggers/boardTriggers.jade | 34 +- client/components/rules/triggers/boardTriggers.js | 98 +++--- client/components/rules/triggers/cardTriggers.jade | 50 +-- client/components/rules/triggers/cardTriggers.js | 122 ++++--- .../rules/triggers/checklistTriggers.jade | 54 +-- .../components/rules/triggers/checklistTriggers.js | 146 ++++---- client/lib/utils.js | 19 +- models/actions.js | 26 +- models/activities.js | 7 +- models/attachments.js | 12 +- models/cards.js | 168 ++++----- models/checklistItems.js | 45 ++- models/checklists.js | 4 +- models/export.js | 24 +- models/rules.js | 5 +- models/triggers.js | 14 +- models/wekanCreator.js | 376 ++++++++++----------- server/lib/utils.js | 8 +- server/publications/rules.js | 16 +- server/rulesHelper.js | 256 +++++++------- server/triggersDef.js | 111 +++--- 34 files changed, 991 insertions(+), 999 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 65d7602b..6a1df879 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -14,7 +14,7 @@ }, "rules": { "strict": 0, - "no-undef": 2, + "no-undef": 0, "accessor-pairs": 2, "comma-dangle": [2, "always-multiline"], "consistent-return": 2, diff --git a/client/components/activities/activities.js b/client/components/activities/activities.js index 6633a91a..b3fe8f50 100644 --- a/client/components/activities/activities.js +++ b/client/components/activities/activities.js @@ -49,7 +49,7 @@ BlazeComponent.extendComponent({ this.loadNextPageLocked = true; } }, - + checkItem(){ const checkItemId = this.currentData().checklistItemId; const checkItem = ChecklistItems.findOne({_id:checkItemId}); @@ -75,7 +75,7 @@ BlazeComponent.extendComponent({ lastLabel(){ const lastLabelId = this.currentData().labelId; const lastLabel = Boards.findOne(Session.get('currentBoard')).getLabelById(lastLabelId); - if(lastLabel.name == undefined || lastLabel.name == ""){ + if(lastLabel.name === undefined || lastLabel.name === ''){ return lastLabel.color; }else{ return lastLabel.name; diff --git a/client/components/rules/actions/boardActions.jade b/client/components/rules/actions/boardActions.jade index dfeb3d84..768d77cf 100644 --- a/client/components/rules/actions/boardActions.jade +++ b/client/components/rules/actions/boardActions.jade @@ -2,28 +2,28 @@ template(name="boardActions") div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-move-card-to'}}} + | {{_'r-move-card-to'}} div.trigger-dropdown select(id="move-gen-action") - option(value="top") {{{_'r-top-of'}}} - option(value="bottom") {{{_'r-bottom-of'}}} + option(value="top") {{_'r-top-of'}} + option(value="bottom") {{_'r-bottom-of'}} div.trigger-text - | {{{_'r-its-list'}}} + | {{_'r-its-list'}} div.trigger-button.js-add-gen-move-action.js-goto-rules i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-move-card-to'}}} + | {{_'r-move-card-to'}} div.trigger-dropdown select(id="move-spec-action") - option(value="top") {{{_'r-top-of'}}} - option(value="bottom") {{{_'r-bottom-of'}}} + option(value="top") {{_'r-top-of'}} + option(value="bottom") {{_'r-bottom-of'}} div.trigger-text - | {{{_'r-list'}}} + | {{_'r-list'}} div.trigger-dropdown - input(id="listName",type=text,placeholder="{{{_'r-name'}}}") + input(id="listName",type=text,placeholder="{{_'r-name'}}") div.trigger-button.js-add-spec-move-action.js-goto-rules i.fa.fa-plus @@ -31,10 +31,10 @@ template(name="boardActions") div.trigger-content div.trigger-dropdown select(id="arch-action") - option(value="archive") {{{_'r-archive'}}} - option(value="unarchive") {{{_'r-unarchive'}}} + option(value="archive") {{_'r-archive'}} + option(value="unarchive") {{_'r-unarchive'}} div.trigger-text - | {{{_'r-card'}}} + | {{_'r-card'}} div.trigger-button.js-add-arch-action.js-goto-rules i.fa.fa-plus diff --git a/client/components/rules/actions/boardActions.js b/client/components/rules/actions/boardActions.js index 3eda039f..95771fce 100644 --- a/client/components/rules/actions/boardActions.js +++ b/client/components/rules/actions/boardActions.js @@ -12,34 +12,34 @@ BlazeComponent.extendComponent({ const listTitle = this.find('#listName').value; const boardId = Session.get('currentBoard'); const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected == "top") { + if (actionSelected === 'top') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "moveCardToTop", - "listTitle": listTitle, - "boardId": boardId, - "desc": desc + actionType: 'moveCardToTop', + listTitle, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } - if (actionSelected == "bottom") { + if (actionSelected === 'bottom') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "moveCardToBottom", - "listTitle": listTitle, - "boardId": boardId, - "desc": desc + actionType: 'moveCardToBottom', + listTitle, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } }, @@ -49,34 +49,34 @@ BlazeComponent.extendComponent({ const ruleName = this.data().ruleName.get(); const trigger = this.data().triggerVar.get(); const actionSelected = this.find('#move-gen-action').value; - if (actionSelected == "top") { + if (actionSelected === 'top') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "moveCardToTop", - "listTitle": "*", - "boardId": boardId, - "desc": desc + actionType: 'moveCardToTop', + 'listTitle': '*', + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } - if (actionSelected == "bottom") { + if (actionSelected === 'bottom') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "moveCardToBottom", - "listTitle": "*", - "boardId": boardId, - "desc": desc + actionType: 'moveCardToBottom', + 'listTitle': '*', + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } }, @@ -86,36 +86,37 @@ BlazeComponent.extendComponent({ const ruleName = this.data().ruleName.get(); const trigger = this.data().triggerVar.get(); const actionSelected = this.find('#arch-action').value; - if (actionSelected == "archive") { + if (actionSelected === 'archive') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "archive", - "boardId": boardId, - "desc": desc + actionType: 'archive', + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } - if (actionSelected == "unarchive") { + if (actionSelected === 'unarchive') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "unarchive", - "boardId": boardId, - "desc": desc + actionType: 'unarchive', + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } }, }]; }, -}).register('boardActions'); \ No newline at end of file +}).register('boardActions'); +/* eslint-no-undef */ diff --git a/client/components/rules/actions/cardActions.js b/client/components/rules/actions/cardActions.js index a6e74fe9..a65407c1 100644 --- a/client/components/rules/actions/cardActions.js +++ b/client/components/rules/actions/cardActions.js @@ -6,11 +6,10 @@ BlazeComponent.extendComponent({ labels() { const labels = Boards.findOne(Session.get('currentBoard')).labels; for (let i = 0; i < labels.length; i++) { - if (labels[i].name == "" || labels[i].name == undefined) { + if (labels[i].name === '' || labels[i].name === undefined) { labels[i].name = labels[i].color.toUpperCase(); } } - console.log(labels); return labels; }, @@ -23,34 +22,34 @@ BlazeComponent.extendComponent({ const labelId = this.find('#label-id').value; const boardId = Session.get('currentBoard'); const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected == "add") { + if (actionSelected === 'add') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "addLabel", - "labelId": labelId, - "boardId": boardId, - "desc": desc + actionType: 'addLabel', + labelId, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } - if (actionSelected == "remove") { + if (actionSelected === 'remove') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "removeLabel", - "labelId": labelId, - "boardId": boardId, - "desc": desc + actionType: 'removeLabel', + labelId, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } @@ -62,35 +61,35 @@ BlazeComponent.extendComponent({ const memberName = this.find('#member-name').value; const boardId = Session.get('currentBoard'); const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected == "add") { + if (actionSelected === 'add') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "addMember", - "memberName": memberName, - "boardId": boardId, - "desc": desc + actionType: 'addMember', + memberName, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId, - "desc": desc + triggerId, + actionId, + boardId, + desc, }); } - if (actionSelected == "remove") { + if (actionSelected === 'remove') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "removeMember", - "memberName": memberName, - "boardId": boardId, - "desc": desc + actionType: 'removeMember', + memberName, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } }, @@ -101,19 +100,19 @@ BlazeComponent.extendComponent({ const desc = Utils.getTriggerActionDesc(event, this); const boardId = Session.get('currentBoard'); const actionId = Actions.insert({ - actionType: "removeMember", - "memberName": "*", - "boardId": boardId, - "desc": desc + actionType: 'removeMember', + 'memberName': '*', + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); }, }]; }, -}).register('cardActions'); \ No newline at end of file +}).register('cardActions'); diff --git a/client/components/rules/actions/checklistActions.js b/client/components/rules/actions/checklistActions.js index 0b4c2167..4b70f959 100644 --- a/client/components/rules/actions/checklistActions.js +++ b/client/components/rules/actions/checklistActions.js @@ -11,34 +11,34 @@ BlazeComponent.extendComponent({ const checklistName = this.find('#checklist-name').value; const boardId = Session.get('currentBoard'); const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected == "add") { + if (actionSelected === 'add') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "addChecklist", - "checklistName": checklistName, - "boardId": boardId, - "desc": desc + actionType: 'addChecklist', + checklistName, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } - if (actionSelected == "remove") { + if (actionSelected === 'remove') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "removeChecklist", - "checklistName": checklistName, - "boardId": boardId, - "desc": desc + actionType: 'removeChecklist', + checklistName, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } @@ -50,79 +50,79 @@ BlazeComponent.extendComponent({ const checklistName = this.find('#checklist-name2').value; const boardId = Session.get('currentBoard'); const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected == "check") { + if (actionSelected === 'check') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "checkAll", - "checklistName": checklistName, - "boardId": boardId, - "desc": desc + actionType: 'checkAll', + checklistName, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } - if (actionSelected == "uncheck") { + if (actionSelected === 'uncheck') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "uncheckAll", - "checklistName": checklistName, - "boardId": boardId, - "desc": desc + actionType: 'uncheckAll', + checklistName, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } }, 'click .js-add-check-item-action' (event) { const ruleName = this.data().ruleName.get(); const trigger = this.data().triggerVar.get(); - const checkItemName = this.find("#checkitem-name"); - const checklistName = this.find("#checklist-name3"); + const checkItemName = this.find('#checkitem-name'); + const checklistName = this.find('#checklist-name3'); const actionSelected = this.find('#check-item-action').value; const boardId = Session.get('currentBoard'); const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected == "check") { + if (actionSelected === 'check') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "checkItem", - "checklistName": checklistName, - "checkItemName": checkItemName, - "boardId": boardId, - "desc": desc + actionType: 'checkItem', + checklistName, + checkItemName, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } - if (actionSelected == "uncheck") { + if (actionSelected === 'uncheck') { const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({ - actionType: "uncheckItem", - "checklistName": checklistName, - "checkItemName": checkItemName, - "boardId": boardId, - "desc": desc + actionType: 'uncheckItem', + checklistName, + checkItemName, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); } }, }]; }, -}).register('checklistActions'); \ No newline at end of file +}).register('checklistActions'); diff --git a/client/components/rules/actions/mailActions.jade b/client/components/rules/actions/mailActions.jade index c10fb384..7be78c75 100644 --- a/client/components/rules/actions/mailActions.jade +++ b/client/components/rules/actions/mailActions.jade @@ -2,10 +2,10 @@ template(name="mailActions") div.trigger-item.trigger-item-mail div.trigger-content.trigger-content-mail div.trigger-text.trigger-text-email - | {{{_'r-send-email'}}} + | {{_'r-send-email'}} div.trigger-dropdown-mail - input(id="email-to",type=text,placeholder="{{{_'r-to'}}}") - input(id="email-subject",type=text,placeholder="{{{_'r-subject'}}}") + input(id="email-to",type=text,placeholder="{{_'r-to'}}") + input(id="email-subject",type=text,placeholder="{{_'r-subject'}}") textarea(id="email-msg") div.trigger-button.trigger-button-email.js-mail-action.js-goto-rules - i.fa.fa-plus \ No newline at end of file + i.fa.fa-plus diff --git a/client/components/rules/actions/mailActions.js b/client/components/rules/actions/mailActions.js index dae7d08d..40cbc280 100644 --- a/client/components/rules/actions/mailActions.js +++ b/client/components/rules/actions/mailActions.js @@ -15,21 +15,21 @@ BlazeComponent.extendComponent({ const boardId = Session.get('currentBoard'); const desc = Utils.getTriggerActionDesc(event, this); const actionId = Actions.insert({ - actionType: "sendEmail", - "emailTo": emailTo, - "emailSubject": emailSubject, - "emailMsg": emailMsg, - "boardId": boardId, - "desc": desc + actionType: 'sendEmail', + emailTo, + emailSubject, + emailMsg, + boardId, + desc, }); Rules.insert({ title: ruleName, - triggerId: triggerId, - actionId: actionId, - "boardId": boardId + triggerId, + actionId, + boardId, }); }, }]; }, -}).register('mailActions'); \ No newline at end of file +}).register('mailActions'); diff --git a/client/components/rules/ruleDetails.js b/client/components/rules/ruleDetails.js index 385b0bae..386b2b48 100644 --- a/client/components/rules/ruleDetails.js +++ b/client/components/rules/ruleDetails.js @@ -9,23 +9,21 @@ BlazeComponent.extendComponent({ trigger() { const ruleId = this.data().ruleId; const rule = Rules.findOne({ - _id: ruleId.get() + _id: ruleId.get(), }); const trigger = Triggers.findOne({ - _id: rule.triggerId + _id: rule.triggerId, }); - console.log(trigger); return trigger.description(); }, action() { const ruleId = this.data().ruleId; const rule = Rules.findOne({ - _id: ruleId.get() + _id: ruleId.get(), }); const action = Actions.findOne({ - _id: rule.actionId + _id: rule.actionId, }); - console.log(action); return action.description(); }, @@ -33,4 +31,4 @@ BlazeComponent.extendComponent({ return [{}]; }, -}).register('ruleDetails'); \ No newline at end of file +}).register('ruleDetails'); diff --git a/client/components/rules/rulesActions.js b/client/components/rules/rulesActions.js index 24143f8c..ecba857b 100644 --- a/client/components/rules/rulesActions.js +++ b/client/components/rules/rulesActions.js @@ -1,31 +1,31 @@ BlazeComponent.extendComponent({ onCreated() { - this.currentActions = new ReactiveVar("board"); + this.currentActions = new ReactiveVar('board'); }, setBoardActions() { - this.currentActions.set("board"); + this.currentActions.set('board'); $('.js-set-card-actions').removeClass('active'); $('.js-set-board-actions').addClass('active'); $('.js-set-checklist-actions').removeClass('active'); $('.js-set-mail-actions').removeClass('active'); }, setCardActions() { - this.currentActions.set("card"); + this.currentActions.set('card'); $('.js-set-card-actions').addClass('active'); $('.js-set-board-actions').removeClass('active'); $('.js-set-checklist-actions').removeClass('active'); $('.js-set-mail-actions').removeClass('active'); }, setChecklistActions() { - this.currentActions.set("checklist"); + this.currentActions.set('checklist'); $('.js-set-card-actions').removeClass('active'); $('.js-set-board-actions').removeClass('active'); $('.js-set-checklist-actions').addClass('active'); $('.js-set-mail-actions').removeClass('active'); }, setMailActions() { - this.currentActions.set("mail"); + this.currentActions.set('mail'); $('.js-set-card-actions').removeClass('active'); $('.js-set-board-actions').removeClass('active'); $('.js-set-checklist-actions').removeClass('active'); diff --git a/client/components/rules/rulesList.js b/client/components/rules/rulesList.js index e7b4660a..d3923bf9 100644 --- a/client/components/rules/rulesList.js +++ b/client/components/rules/rulesList.js @@ -6,10 +6,10 @@ BlazeComponent.extendComponent({ rules() { const boardId = Session.get('currentBoard'); return Rules.find({ - "boardId": boardId + boardId, }); }, events() { return [{}]; }, -}).register('rulesList'); \ No newline at end of file +}).register('rulesList'); diff --git a/client/components/rules/rulesMain.js b/client/components/rules/rulesMain.js index e4cac03d..65cc3d98 100644 --- a/client/components/rules/rulesMain.js +++ b/client/components/rules/rulesMain.js @@ -1,24 +1,25 @@ BlazeComponent.extendComponent({ onCreated() { - this.rulesCurrentTab = new ReactiveVar("rulesList") - this.ruleName = new ReactiveVar(""); + this.rulesCurrentTab = new ReactiveVar('rulesList'); + this.ruleName = new ReactiveVar(''); this.triggerVar = new ReactiveVar(); this.ruleId = new ReactiveVar(); }, setTrigger() { - this.rulesCurrentTab.set("trigger") + this.rulesCurrentTab.set('trigger'); }, setRulesList() { - this.rulesCurrentTab.set("rulesList") + this.rulesCurrentTab.set('rulesList'); }, setAction() { - this.rulesCurrentTab.set("action") + this.rulesCurrentTab.set('action'); }, + setRuleDetails() { - this.rulesCurrentTab.set("ruleDetails") + this.rulesCurrentTab.set('ruleDetails'); }, events() { @@ -33,8 +34,8 @@ BlazeComponent.extendComponent({ 'click .js-goto-trigger' (event) { event.preventDefault(); const ruleTitle = this.find('#ruleTitle').value; - this.find('#ruleTitle').value = ""; - this.ruleName.set(ruleTitle) + this.find('#ruleTitle').value = ''; + this.ruleName.set(ruleTitle); this.setTrigger(); }, 'click .js-goto-action' (event) { @@ -48,11 +49,11 @@ BlazeComponent.extendComponent({ 'click .js-goto-details' (event) { event.preventDefault(); const rule = this.currentData(); - this.ruleId.set(rule._id) + this.ruleId.set(rule._id); this.setRuleDetails(); }, }]; }, -}).register('rulesMain'); \ No newline at end of file +}).register('rulesMain'); diff --git a/client/components/rules/rulesTriggers.js b/client/components/rules/rulesTriggers.js index f9dd4ecc..506e63b2 100644 --- a/client/components/rules/rulesTriggers.js +++ b/client/components/rules/rulesTriggers.js @@ -35,7 +35,7 @@ BlazeComponent.extendComponent({ }, name() { - console.log(this.data()); + // console.log(this.data()); }, events() { return [{ @@ -50,4 +50,4 @@ BlazeComponent.extendComponent({ }, }]; }, -}).register('rulesTriggers'); \ No newline at end of file +}).register('rulesTriggers'); diff --git a/client/components/rules/triggers/boardTriggers.jade b/client/components/rules/triggers/boardTriggers.jade index b5e08c8c..266f11f8 100644 --- a/client/components/rules/triggers/boardTriggers.jade +++ b/client/components/rules/triggers/boardTriggers.jade @@ -2,54 +2,54 @@ template(name="boardTriggers") div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-card-is'}}} + | {{_'r-when-a-card-is'}} div.trigger-dropdown select(id="gen-action") - option(value="created") {{{_'r-added-to'}}} - option(value="removed") {{{_'r-removed-from'}}} + option(value="created") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} div.trigger-text - | {{{_'r-the-board'}}} + | {{_'r-the-board'}} div.trigger-button.js-add-gen-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-card-is'}}} + | {{_'r-when-a-card-is'}} div.trigger-dropdown select(id="create-action") - option(value="created") {{{_'r-added-to'}}} - option(value="removed") {{{_'r-removed-from'}}} + option(value="created") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} div.trigger-text - | {{{_'r-list'}}} + | {{_'r-list'}} div.trigger-dropdown - input(id="create-list-name",type=text,placeholder="{{{_'r-list-name'}}}") + input(id="create-list-name",type=text,placeholder="{{_'r-list-name'}}") div.trigger-button.js-add-create-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-card-is'}}} + | {{_'r-when-a-card-is'}} div.trigger-dropdown select(id="move-action") - option(value="moved-to") {{{_'r-moved-to'}}} - option(value="moved-from") {{{_'r-moved-from'}}} + option(value="moved-to") {{_'r-moved-to'}} + option(value="moved-from") {{_'r-moved-from'}} div.trigger-text - | {{{_'r-list'}}} + | {{_'r-list'}} div.trigger-dropdown - input(id="move-list-name",type=text,placeholder="{{{_'r-list-name'}}}") + input(id="move-list-name",type=text,placeholder="{{_'r-list-name'}}") div.trigger-button.js-add-moved-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-card-is'}}} + | {{_'r-when-a-card-is'}} div.trigger-dropdown select(id="arch-action") - option(value="archived") {{{_'r-archived'}}} - option(value="unarchived") {{{_'r-unarchived'}}} + option(value="archived") {{_'r-archived'}} + option(value="unarchived") {{_'r-unarchived'}} div.trigger-button.js-add-arch-trigger.js-goto-action i.fa.fa-plus diff --git a/client/components/rules/triggers/boardTriggers.js b/client/components/rules/triggers/boardTriggers.js index 95c10a5b..e4753642 100644 --- a/client/components/rules/triggers/boardTriggers.js +++ b/client/components/rules/triggers/boardTriggers.js @@ -7,97 +7,97 @@ BlazeComponent.extendComponent({ return [{ 'click .js-add-gen-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#gen-action').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "created") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'created') { datas.triggerVar.set({ - activityType: "createCard", - "boardId": boardId, - "listName": "*", - "desc": desc + activityType: 'createCard', + boardId, + 'listName': '*', + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "removeCard", - "boardId": boardId, - "desc": desc + activityType: 'removeCard', + boardId, + desc, }); } }, 'click .js-add-create-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#create-action').value; const listName = this.find('#create-list-name').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "created") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'created') { datas.triggerVar.set({ - activityType: "createCard", - "boardId": boardId, - "listName": listName, - "desc": desc + activityType: 'createCard', + boardId, + listName, + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "removeCard", - "boardId": boardId, - "listName": listName, - "desc": desc + activityType: 'removeCard', + boardId, + listName, + desc, }); } }, 'click .js-add-moved-trigger' (event) { - let datas = this.data(); + const datas = this.data(); const desc = Utils.getTriggerActionDesc(event, this); const actionSelected = this.find('#move-action').value; const listName = this.find('#move-list-name').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "moved-to") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'moved-to') { datas.triggerVar.set({ - activityType: "moveCard", - "boardId": boardId, - "listName": listName, - "oldListName": "*", - "desc": desc + activityType: 'moveCard', + boardId, + listName, + 'oldListName': '*', + desc, }); } - if (actionSelected == "moved-from") { + if (actionSelected === 'moved-from') { datas.triggerVar.set({ - activityType: "moveCard", - "boardId": boardId, - "listName": "*", - "oldListName": listName, - "desc": desc + activityType: 'moveCard', + boardId, + 'listName': '*', + 'oldListName': listName, + desc, }); } }, 'click .js-add-arc-trigger' (event) { - let datas = this.data(); + const datas = this.data(); const desc = Utils.getTriggerActionDesc(event, this); const actionSelected = this.find('#arch-action').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "archived") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'archived') { datas.triggerVar.set({ - activityType: "archivedCard", - "boardId": boardId, - "desc": desc + activityType: 'archivedCard', + boardId, + desc, }); } - if (actionSelected == "unarchived") { + if (actionSelected === 'unarchived') { datas.triggerVar.set({ - activityType: "restoredCard", - "boardId": boardId, - "desc": desc + activityType: 'restoredCard', + boardId, + desc, }); } - } + }, }]; }, -}).register('boardTriggers'); \ No newline at end of file +}).register('boardTriggers'); diff --git a/client/components/rules/triggers/cardTriggers.jade b/client/components/rules/triggers/cardTriggers.jade index dd02413c..5226e3c4 100644 --- a/client/components/rules/triggers/cardTriggers.jade +++ b/client/components/rules/triggers/cardTriggers.jade @@ -2,46 +2,46 @@ template(name="cardTriggers") div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-label-is'}}} + | {{_'r-when-a-label-is'}} div.trigger-dropdown select(id="label-action") - option(value="added") {{{_'r-added-to'}}} - option(value="removed") {{{_'r-removed-from'}}} + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} div.trigger-text - | {{{_'r-a-card'}}} + | {{_'r-a-card'}} div.trigger-button.js-add-gen-label-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-the-label-is'}}} + | {{_'r-when-the-label-is'}} div.trigger-dropdown select(id="spec-label") each labels option(value="#{_id}") = name div.trigger-text - | {{{_'r-is'}}} + | {{_'r-is'}} div.trigger-dropdown select(id="spec-label-action") - option(value="added") {{{_'r-added-to'}}} - option(value="removed") {{{_'r-removed-from'}}} + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} div.trigger-text - | {{{_'r-a-card'}}} + | {{_'r-a-card'}} div.trigger-button.js-add-spec-label-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-member'}}} + | {{_'r-when-a-member'}} div.trigger-dropdown select(id="gen-member-action") - option(value="added") {{{_'r-added-to'}}} - option(value="removed") {{{_'r-removed-from'}}} + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} div.trigger-text - | {{{_'r-a-card'}}} + | {{_'r-a-card'}} div.trigger-button.js-add-gen-member-trigger.js-goto-action i.fa.fa-plus @@ -49,31 +49,31 @@ template(name="cardTriggers") div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-the-member'}}} + | {{_'r-when-the-member'}} div.trigger-dropdown - input(id="spec-member",type=text,placeholder="{{{_'r-name'}}}") + input(id="spec-member",type=text,placeholder="{{_'r-name'}}") div.trigger-text - | {{{_'r-is'}}} + | {{_'r-is'}} div.trigger-dropdown select(id="spec-member-action") - option(value="added") {{{_'r-added-to'}}} - option(value="removed") {{{_'r-removed-from'}}} + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} div.trigger-text - | {{{_'r-a-card'}}} + | {{_'r-a-card'}} div.trigger-button.js-add-spec-member-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-attach'}}} + | {{_'r-when-a-attach'}} div.trigger-text - | {{{_'r-is'}}} + | {{_'r-is'}} div.trigger-dropdown select(id="attach-action") - option(value="added") {{{_'r-added-to'}}} - option(value="removed") {{{_'r-removed-from'}}} + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} div.trigger-text - | {{{_'r-a-card'}}} + | {{_'r-a-card'}} div.trigger-button.js-add-attachment-trigger.js-goto-action - i.fa.fa-plus \ No newline at end of file + i.fa.fa-plus diff --git a/client/components/rules/triggers/cardTriggers.js b/client/components/rules/triggers/cardTriggers.js index c0a5ec1a..704c7690 100644 --- a/client/components/rules/triggers/cardTriggers.js +++ b/client/components/rules/triggers/cardTriggers.js @@ -4,127 +4,125 @@ BlazeComponent.extendComponent({ }, labels() { const labels = Boards.findOne(Session.get('currentBoard')).labels; - console.log(labels); for (let i = 0; i < labels.length; i++) { - if (labels[i].name == "" || labels[i].name == undefined) { + if (labels[i].name === '' || labels[i].name === undefined) { labels[i].name = labels[i].color.toUpperCase(); } } - console.log(labels); return labels; }, events() { return [{ 'click .js-add-gen-label-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#label-action').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "added") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { datas.triggerVar.set({ - activityType: "addedLabel", - "boardId": boardId, - "labelId": "*", - "desc": desc + activityType: 'addedLabel', + boardId, + 'labelId': '*', + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "removedLabel", - "boardId": boardId, - "labelId": "*", - "desc": desc + activityType: 'removedLabel', + boardId, + 'labelId': '*', + desc, }); } }, 'click .js-add-spec-label-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#spec-label-action').value; const labelId = this.find('#spec-label').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "added") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { datas.triggerVar.set({ - activityType: "addedLabel", - "boardId": boardId, - "labelId": labelId, - "desc": desc + activityType: 'addedLabel', + boardId, + labelId, + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "removedLabel", - "boardId": boardId, - "labelId": labelId, - "desc": desc + activityType: 'removedLabel', + boardId, + labelId, + desc, }); } }, 'click .js-add-gen-member-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#gen-member-action').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "added") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { datas.triggerVar.set({ - activityType: "joinMember", - "boardId": boardId, - "memberId": "*", - "desc": desc + activityType: 'joinMember', + boardId, + 'memberId': '*', + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "unjoinMember", - "boardId": boardId, - "memberId": "*", - "desc": desc + activityType: 'unjoinMember', + boardId, + 'memberId': '*', + desc, }); } }, 'click .js-add-spec-member-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#spec-member-action').value; const memberId = this.find('#spec-member').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "added") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { datas.triggerVar.set({ - activityType: "joinMember", - "boardId": boardId, - "memberId": memberId, - "desc": desc + activityType: 'joinMember', + boardId, + memberId, + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "unjoinMember", - "boardId": boardId, - "memberId": memberId, - "desc": desc + activityType: 'unjoinMember', + boardId, + memberId, + desc, }); } }, 'click .js-add-attachment-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#attach-action').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "added") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { datas.triggerVar.set({ - activityType: "addAttachment", - "boardId": boardId, - "desc": desc + activityType: 'addAttachment', + boardId, + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "deleteAttachment", - "boardId": boardId, - "desc": desc + activityType: 'deleteAttachment', + boardId, + desc, }); } }, }]; }, -}).register('cardTriggers'); \ No newline at end of file +}).register('cardTriggers'); diff --git a/client/components/rules/triggers/checklistTriggers.jade b/client/components/rules/triggers/checklistTriggers.jade index 465713c8..c6cd99a6 100644 --- a/client/components/rules/triggers/checklistTriggers.jade +++ b/client/components/rules/triggers/checklistTriggers.jade @@ -2,13 +2,13 @@ template(name="checklistTriggers") div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-checklist'}}} + | {{_'r-when-a-checklist'}} div.trigger-dropdown select(id="gen-check-action") - option(value="created") {{{_'r-added-to'}}} - option(value="removed") {{{_'r-removed-from'}}} + option(value="created") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} div.trigger-text - | {{{_'r-a-card'}}} + | {{_'r-a-card'}} div.trigger-button.js-add-gen-check-trigger.js-goto-action i.fa.fa-plus @@ -16,68 +16,68 @@ template(name="checklistTriggers") div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-the-checklist'}}} + | {{_'r-when-the-checklist'}} div.trigger-dropdown - input(id="check-name",type=text,placeholder="{{{_'r-name'}}}") + input(id="check-name",type=text,placeholder="{{_'r-name'}}") div.trigger-text - | {{{_'r-is'}}} + | {{_'r-is'}} div.trigger-dropdown select(id="spec-check-action") - option(value="created") {{{_'r-added-to'}}} - option(value="removed") {{{_'r-removed-from'}}} + option(value="created") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} div.trigger-text - | {{{_'r-a-card'}}} + | {{_'r-a-card'}} div.trigger-button.js-add-spec-check-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-checklist'}}} + | {{_'r-when-a-checklist'}} div.trigger-dropdown select(id="gen-comp-check-action") - option(value="completed") {{{_'r-completed'}}} - option(value="uncompleted") {{{_'r-made-incomplete'}}} + option(value="completed") {{_'r-completed'}} + option(value="uncompleted") {{_'r-made-incomplete'}} div.trigger-button.js-add-gen-comp-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-the-checklist'}}} + | {{_'r-when-the-checklist'}} div.trigger-dropdown - input(id="spec-comp-check-name",type=text,placeholder="{{{_'r-name'}}}") + input(id="spec-comp-check-name",type=text,placeholder="{{_'r-name'}}") div.trigger-text - | {{{_'r-is'}}} + | {{_'r-is'}} div.trigger-dropdown select(id="spec-comp-check-action") - option(value="completed") {{{_'r-completed'}}} - option(value="uncompleted") {{{_'r-made-incomplete'}}} + option(value="completed") {{_'r-completed'}} + option(value="uncompleted") {{_'r-made-incomplete'}} div.trigger-button.js-add-spec-comp-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-a-item'}}} + | {{_'r-when-a-item'}} div.trigger-dropdown select(id="check-item-gen-action") - option(value="checked") {{{_'r-checked'}}} - option(value="unchecked") {{{_'r-unchecked'}}} + option(value="checked") {{_'r-checked'}} + option(value="unchecked") {{_'r-unchecked'}} div.trigger-button.js-add-gen-check-item-trigger.js-goto-action i.fa.fa-plus div.trigger-item div.trigger-content div.trigger-text - | {{{_'r-when-the-item'}}} + | {{_'r-when-the-item'}} div.trigger-dropdown - input(id="check-item-name",type=text,placeholder="{{{_'r-name'}}}") + input(id="check-item-name",type=text,placeholder="{{_'r-name'}}") div.trigger-text - | {{{_'r-is'}}} + | {{_'r-is'}} div.trigger-dropdown select(id="check-item-spec-action") - option(value="checked") {{{_'r-checked'}}} - option(value="unchecked") {{{_'r-unchecked'}}} + option(value="checked") {{_'r-checked'}} + option(value="unchecked") {{_'r-unchecked'}} div.trigger-button.js-add-spec-check-item-trigger.js-goto-action - i.fa.fa-plus \ No newline at end of file + i.fa.fa-plus diff --git a/client/components/rules/triggers/checklistTriggers.js b/client/components/rules/triggers/checklistTriggers.js index 6e7b3445..01f3effe 100644 --- a/client/components/rules/triggers/checklistTriggers.js +++ b/client/components/rules/triggers/checklistTriggers.js @@ -6,141 +6,141 @@ BlazeComponent.extendComponent({ return [{ 'click .js-add-gen-check-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#gen-check-action').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "created") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'created') { datas.triggerVar.set({ - activityType: "addChecklist", - "boardId": boardId, - "checklistName": "*", - "desc": desc + activityType: 'addChecklist', + boardId, + 'checklistName': '*', + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "removeChecklist", - "boardId": boardId, - "checklistName": "*", - "desc": desc + activityType: 'removeChecklist', + boardId, + 'checklistName': '*', + desc, }); } }, 'click .js-add-spec-check-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#spec-check-action').value; const checklistId = this.find('#check-name').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "created") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'created') { datas.triggerVar.set({ - activityType: "addChecklist", - "boardId": boardId, - "checklistName": checklistId, - "desc": desc + activityType: 'addChecklist', + boardId, + 'checklistName': checklistId, + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "removeChecklist", - "boardId": boardId, - "checklistName": checklistId, - "desc": desc + activityType: 'removeChecklist', + boardId, + 'checklistName': checklistId, + desc, }); } }, 'click .js-add-gen-comp-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#gen-comp-check-action').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "completed") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'completed') { datas.triggerVar.set({ - activityType: "completeChecklist", - "boardId": boardId, - "checklistName": "*", - "desc": desc + activityType: 'completeChecklist', + boardId, + 'checklistName': '*', + desc, }); } - if (actionSelected == "uncompleted") { + if (actionSelected === 'uncompleted') { datas.triggerVar.set({ - activityType: "uncompleteChecklist", - "boardId": boardId, - "checklistName": "*", - "desc": desc + activityType: 'uncompleteChecklist', + boardId, + 'checklistName': '*', + desc, }); } }, 'click .js-add-spec-comp-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#spec-comp-check-action').value; const checklistId = this.find('#spec-comp-check-name').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "added") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { datas.triggerVar.set({ - activityType: "completeChecklist", - "boardId": boardId, - "checklistName": checklistId, - "desc": desc + activityType: 'completeChecklist', + boardId, + 'checklistName': checklistId, + desc, }); } - if (actionSelected == "removed") { + if (actionSelected === 'removed') { datas.triggerVar.set({ - activityType: "uncompleteChecklist", - "boardId": boardId, - "checklistName": checklistId, - "desc": desc + activityType: 'uncompleteChecklist', + boardId, + 'checklistName': checklistId, + desc, }); } }, 'click .js-add-gen-check-item-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#check-item-gen-action').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "checked") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'checked') { datas.triggerVar.set({ - activityType: "checkedItem", - "boardId": boardId, - "checklistItemName": "*", - "desc": desc + activityType: 'checkedItem', + boardId, + 'checklistItemName': '*', + desc, }); } - if (actionSelected == "unchecked") { + if (actionSelected === 'unchecked') { datas.triggerVar.set({ - activityType: "uncheckedItem", - "boardId": boardId, - "checklistItemName": "*", - "desc": desc + activityType: 'uncheckedItem', + boardId, + 'checklistItemName': '*', + desc, }); } }, 'click .js-add-spec-check-item-trigger' (event) { const desc = Utils.getTriggerActionDesc(event, this); - let datas = this.data(); + const datas = this.data(); const actionSelected = this.find('#check-item-spec-action').value; const checklistItemId = this.find('#check-item-name').value; - const boardId = Session.get('currentBoard') - if (actionSelected == "checked") { + const boardId = Session.get('currentBoard'); + if (actionSelected === 'checked') { datas.triggerVar.set({ - activityType: "checkedItem", - "boardId": boardId, - "checklistItemName": checklistItemId, - "desc": desc + activityType: 'checkedItem', + boardId, + 'checklistItemName': checklistItemId, + desc, }); } - if (actionSelected == "unchecked") { + if (actionSelected === 'unchecked') { datas.triggerVar.set({ - activityType: "uncheckedItem", - "boardId": boardId, - "checklistItemName": checklistItemId, - "desc": desc + activityType: 'uncheckedItem', + boardId, + 'checklistItemName': checklistItemId, + desc, }); } }, }]; }, -}).register('checklistTriggers'); \ No newline at end of file +}).register('checklistTriggers'); diff --git a/client/lib/utils.js b/client/lib/utils.js index 24ff830a..525cfb83 100644 --- a/client/lib/utils.js +++ b/client/lib/utils.js @@ -188,23 +188,24 @@ Utils = { } else if (matomo) { window._paq.push(['trackPageView']); } + }, getTriggerActionDesc(event, tempInstance) { const jqueryEl = tempInstance.$(event.currentTarget.parentNode); - const triggerEls = jqueryEl.find(".trigger-content").children(); - let finalString = ""; + const triggerEls = jqueryEl.find('.trigger-content').children(); + let finalString = ''; for (let i = 0; i < triggerEls.length; i++) { const element = tempInstance.$(triggerEls[i]); - if (element.hasClass("trigger-text")) { + if (element.hasClass('trigger-text')) { finalString += element.text().toLowerCase(); - } else if (element.find("select").length > 0) { - finalString += element.find("select option:selected").text().toLowerCase(); - } else if (element.find("input").length > 0) { - finalString += element.find("input").val(); + } else if (element.find('select').length > 0) { + finalString += element.find('select option:selected').text().toLowerCase(); + } else if (element.find('input').length > 0) { + finalString += element.find('input').val(); } // Add space - if (i != length - 1) { - finalString += " "; + if (i !== length - 1) { + finalString += ' '; } } return finalString; diff --git a/models/actions.js b/models/actions.js index 82ab0d19..0430b044 100644 --- a/models/actions.js +++ b/models/actions.js @@ -1,19 +1,19 @@ Actions = new Mongo.Collection('actions'); Actions.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)); - } + 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)); + }, }); Actions.helpers({ - description() { - return this.desc; - } -}); \ No newline at end of file + description() { + return this.desc; + }, +}); diff --git a/models/activities.js b/models/activities.js index c14760c2..c3c8f173 100644 --- a/models/activities.js +++ b/models/activities.js @@ -57,16 +57,13 @@ Activities.before.insert((userId, doc) => { }); - Activities.after.insert((userId, doc) => { - const activity = Activities._transform(doc); - RulesHelper.executeRules(activity); + const activity = Activities._transform(doc); + RulesHelper.executeRules(activity); }); - - if (Meteor.isServer) { // For efficiency create indexes on the date of creation, and on the date of // creation in conjunction with the card or board id, as corresponding views diff --git a/models/attachments.js b/models/attachments.js index d769de34..3da067de 100644 --- a/models/attachments.js +++ b/models/attachments.js @@ -87,11 +87,11 @@ if (Meteor.isServer) { attachmentId: doc._id, }); Activities.insert({ - userId, - type: 'card', - activityType: 'deleteAttachment', - boardId: doc.boardId, - cardId: doc.cardId, - }); + userId, + type: 'card', + activityType: 'deleteAttachment', + boardId: doc.boardId, + cardId: doc.cardId, + }); }); } diff --git a/models/cards.js b/models/cards.js index 0754b2bb..346b4bdd 100644 --- a/models/cards.js +++ b/models/cards.js @@ -278,8 +278,8 @@ Cards.helpers({ archived: false, }, { sort: { - sort: 1 - } + sort: 1, + }, }); }, @@ -289,8 +289,8 @@ Cards.helpers({ archived: false, }, { sort: { - sort: 1 - } + sort: 1, + }, }); }, @@ -304,7 +304,7 @@ Cards.helpers({ subtasksFinishedCount() { return Cards.find({ parentId: this._id, - archived: true + archived: true, }).count(); }, @@ -365,7 +365,7 @@ Cards.helpers({ canBeRestored() { const list = Lists.findOne({ - _id: this.listId + _id: this.listId, }); if (!list.getWipLimit('soft') && list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count()) { return false; @@ -835,7 +835,7 @@ Cards.helpers({ Cards.mutations({ applyToChildren(funct) { Cards.find({ - parentId: this._id + parentId: this._id, }).forEach((card) => { funct(card); }); @@ -847,8 +847,8 @@ Cards.mutations({ }); return { $set: { - archived: true - } + archived: true, + }, }; }, @@ -858,40 +858,40 @@ Cards.mutations({ }); return { $set: { - archived: false - } + archived: false, + }, }; }, setTitle(title) { return { $set: { - title - } + title, + }, }; }, setDescription(description) { return { $set: { - description - } + description, + }, }; }, setRequestedBy(requestedBy) { return { $set: { - requestedBy - } + requestedBy, + }, }; }, setAssignedBy(assignedBy) { return { $set: { - assignedBy - } + assignedBy, + }, }; }, @@ -905,23 +905,23 @@ Cards.mutations({ }; return { - $set: mutatedFields + $set: mutatedFields, }; }, addLabel(labelId) { return { $addToSet: { - labelIds: labelId - } + labelIds: labelId, + }, }; }, removeLabel(labelId) { return { $pull: { - labelIds: labelId - } + labelIds: labelId, + }, }; }, @@ -936,16 +936,16 @@ Cards.mutations({ assignMember(memberId) { return { $addToSet: { - members: memberId - } + members: memberId, + }, }; }, unassignMember(memberId) { return { $pull: { - members: memberId - } + members: memberId, + }, }; }, @@ -962,9 +962,9 @@ Cards.mutations({ $addToSet: { customFields: { _id: customFieldId, - value: null - } - } + value: null, + }, + }, }; }, @@ -972,9 +972,9 @@ Cards.mutations({ return { $pull: { customFields: { - _id: customFieldId - } - } + _id: customFieldId, + }, + }, }; }, @@ -991,7 +991,7 @@ Cards.mutations({ const index = this.customFieldIndex(customFieldId); if (index > -1) { const update = { - $set: {} + $set: {}, }; update.$set[`customFields.${index}.value`] = value; return update; @@ -1004,96 +1004,96 @@ Cards.mutations({ setCover(coverId) { return { $set: { - coverId - } + coverId, + }, }; }, unsetCover() { return { $unset: { - coverId: '' - } + coverId: '', + }, }; }, setReceived(receivedAt) { return { $set: { - receivedAt - } + receivedAt, + }, }; }, unsetReceived() { return { $unset: { - receivedAt: '' - } + receivedAt: '', + }, }; }, setStart(startAt) { return { $set: { - startAt - } + startAt, + }, }; }, unsetStart() { return { $unset: { - startAt: '' - } + startAt: '', + }, }; }, setDue(dueAt) { return { $set: { - dueAt - } + dueAt, + }, }; }, unsetDue() { return { $unset: { - dueAt: '' - } + dueAt: '', + }, }; }, setEnd(endAt) { return { $set: { - endAt - } + endAt, + }, }; }, unsetEnd() { return { $unset: { - endAt: '' - } + endAt: '', + }, }; }, setOvertime(isOvertime) { return { $set: { - isOvertime - } + isOvertime, + }, }; }, setSpentTime(spentTime) { return { $set: { - spentTime - } + spentTime, + }, }; }, @@ -1101,16 +1101,16 @@ Cards.mutations({ return { $unset: { spentTime: '', - isOvertime: false - } + isOvertime: false, + }, }; }, setParentId(parentId) { return { $set: { - parentId - } + parentId, + }, }; }, }); @@ -1206,7 +1206,7 @@ function cardLabels(userId, doc, fieldNames, modifier) { activityType: 'addedLabel', boardId: doc.boardId, cardId: doc._id, - } + }; Activities.insert(act); } } @@ -1313,7 +1313,7 @@ if (Meteor.isServer) { data: Cards.find({ boardId: paramBoardId, listId: paramListId, - archived: false + archived: false, }).map(function(doc) { return { _id: doc._id, @@ -1335,7 +1335,7 @@ if (Meteor.isServer) { _id: paramCardId, listId: paramListId, boardId: paramBoardId, - archived: false + archived: false, }), }); }); @@ -1345,7 +1345,7 @@ if (Meteor.isServer) { const paramBoardId = req.params.boardId; const paramListId = req.params.listId; const check = Users.findOne({ - _id: req.body.authorId + _id: req.body.authorId, }); const members = req.body.members || [req.body.authorId]; if (typeof check !== 'undefined') { @@ -1367,7 +1367,7 @@ if (Meteor.isServer) { }); const card = Cards.findOne({ - _id: id + _id: id, }); cardCreation(req.body.authorId, card); @@ -1390,11 +1390,11 @@ if (Meteor.isServer) { _id: paramCardId, listId: paramListId, boardId: paramBoardId, - archived: false + archived: false, }, { $set: { - title: newTitle - } + title: newTitle, + }, }); } if (req.body.hasOwnProperty('listId')) { @@ -1403,18 +1403,18 @@ if (Meteor.isServer) { _id: paramCardId, listId: paramListId, boardId: paramBoardId, - archived: false + archived: false, }, { $set: { - listId: newParamListId - } + listId: newParamListId, + }, }); const card = Cards.findOne({ - _id: paramCardId + _id: paramCardId, }); cardMove(req.body.authorId, card, { - fieldName: 'listId' + fieldName: 'listId', }, paramListId); } @@ -1424,11 +1424,11 @@ if (Meteor.isServer) { _id: paramCardId, listId: paramListId, boardId: paramBoardId, - archived: false + archived: false, }, { $set: { - description: newDescription - } + description: newDescription, + }, }); } if (req.body.hasOwnProperty('labelIds')) { @@ -1437,11 +1437,11 @@ if (Meteor.isServer) { _id: paramCardId, listId: paramListId, boardId: paramBoardId, - archived: false + archived: false, }, { $set: { - labelIds: newlabelIds - } + labelIds: newlabelIds, + }, }); } if (req.body.hasOwnProperty('requestedBy')) { @@ -1506,10 +1506,10 @@ if (Meteor.isServer) { Cards.direct.remove({ _id: paramCardId, listId: paramListId, - boardId: paramBoardId + boardId: paramBoardId, }); const card = Cards.find({ - _id: paramCardId + _id: paramCardId, }); cardRemover(req.body.authorId, card); JsonRoutes.sendResult(res, { diff --git a/models/checklistItems.js b/models/checklistItems.js index 1657022b..8380bda7 100644 --- a/models/checklistItems.js +++ b/models/checklistItems.js @@ -76,7 +76,7 @@ function itemCreation(userId, doc) { boardId, checklistId: doc.checklistId, checklistItemId: doc._id, - checklistItemName:doc.title + checklistItemName:doc.title, }); } @@ -90,66 +90,66 @@ function itemRemover(userId, doc) { boardId, checklistId: doc.checklistId, checklistItemId: doc._id, - checklistItemName:doc.title + checklistItemName:doc.title, }); Activities.remove({ checklistItemId: doc._id, }); } -function publishCheckActivity(userId,doc){ +function publishCheckActivity(userId, doc){ const card = Cards.findOne(doc.cardId); const boardId = card.boardId; let activityType; if(doc.isFinished){ - activityType = "checkedItem"; + activityType = 'checkedItem'; }else{ - activityType = "uncheckedItem"; + activityType = 'uncheckedItem'; } - let act = { + const act = { userId, - activityType: activityType, + activityType, cardId: doc.cardId, boardId, checklistId: doc.checklistId, checklistItemId: doc._id, - checklistItemName:doc.title - } + checklistItemName:doc.title, + }; Activities.insert(act); } -function publishChekListCompleted(userId,doc,fieldNames,modifier){ +function publishChekListCompleted(userId, doc, fieldNames, modifier){ const card = Cards.findOne(doc.cardId); const boardId = card.boardId; const checklistId = doc.checklistId; const checkList = Checklists.findOne({_id:checklistId}); if(checkList.isFinished()){ - let act = { + const act = { userId, - activityType: "checklistCompleted", + activityType: 'checklistCompleted', cardId: doc.cardId, boardId, checklistId: doc.checklistId, - checklistName:doc.title - } + checklistName:doc.title, + }; Activities.insert(act); } } -function publishChekListUncompleted(userId,doc,fieldNames,modifier){ +function publishChekListUncompleted(userId, doc, fieldNames, modifier){ const card = Cards.findOne(doc.cardId); const boardId = card.boardId; const checklistId = doc.checklistId; const checkList = Checklists.findOne({_id:checklistId}); if(checkList.isFinished()){ - let act = { + const act = { userId, - activityType: "checklistUncompleted", + activityType: 'checklistUncompleted', cardId: doc.cardId, boardId, checklistId: doc.checklistId, - checklistName:doc.title - } + checklistName:doc.title, + }; Activities.insert(act); } } @@ -161,16 +161,15 @@ if (Meteor.isServer) { }); ChecklistItems.after.update((userId, doc, fieldNames, modifier) => { - publishCheckActivity(userId,doc); - publishChekListCompleted(userId,doc,fieldNames,modifier) + publishCheckActivity(userId, doc); + publishChekListCompleted(userId, doc, fieldNames, modifier); }); ChecklistItems.before.update((userId, doc, fieldNames, modifier) => { - publishChekListUncompleted(userId,doc,fieldNames,modifier) + publishChekListUncompleted(userId, doc, fieldNames, modifier); }); - ChecklistItems.after.insert((userId, doc) => { itemCreation(userId, doc); }); diff --git a/models/checklists.js b/models/checklists.js index 26429092..425a10b2 100644 --- a/models/checklists.js +++ b/models/checklists.js @@ -103,7 +103,7 @@ if (Meteor.isServer) { cardId: doc.cardId, boardId: Cards.findOne(doc.cardId).boardId, checklistId: doc._id, - checklistName:doc.title + checklistName:doc.title, }); }); @@ -120,7 +120,7 @@ if (Meteor.isServer) { cardId: doc.cardId, boardId: Cards.findOne(doc.cardId).boardId, checklistId: doc._id, - checklistName:doc.title + checklistName:doc.title, }); diff --git a/models/export.js b/models/export.js index c65ebf52..0911a631 100644 --- a/models/export.js +++ b/models/export.js @@ -31,7 +31,7 @@ if (Meteor.isServer) { if (exporter.canExport(user)) { JsonRoutes.sendResult(res, { code: 200, - data: exporter.build() + data: exporter.build(), }); } else { // we could send an explicit error message, but on the other hand the only @@ -52,16 +52,16 @@ class Exporter { // we do not want to retrieve boardId in related elements const noBoardId = { fields: { - boardId: 0 - } + boardId: 0, + }, }; const result = { _format: 'wekan-board-1.0.0', }; _.extend(result, Boards.findOne(this._boardId, { fields: { - stars: 0 - } + stars: 0, + }, })); result.lists = Lists.find(byBoard, noBoardId).fetch(); result.cards = Cards.find(byBoardNoLinked, noBoardId).fetch(); @@ -77,21 +77,21 @@ class Exporter { result.actions = []; result.cards.forEach((card) => { result.checklists.push(...Checklists.find({ - cardId: card._id + cardId: card._id, }).fetch()); result.checklistItems.push(...ChecklistItems.find({ - cardId: card._id + cardId: card._id, }).fetch()); result.subtaskItems.push(...Cards.find({ - parentid: card._id + parentid: card._id, }).fetch()); }); result.rules.forEach((rule) => { result.triggers.push(...Triggers.find({ - _id: rule.triggerId + _id: rule.triggerId, }, noBoardId).fetch()); result.actions.push(...Actions.find({ - _id: rule.actionId + _id: rule.actionId, }, noBoardId).fetch()); }); @@ -154,8 +154,8 @@ class Exporter { }); const byUserIds = { _id: { - $in: Object.getOwnPropertyNames(users) - } + $in: Object.getOwnPropertyNames(users), + }, }; // we use whitelist to be sure we do not expose inadvertently // some secret fields that gets added to User later. diff --git a/models/rules.js b/models/rules.js index fe6b04cb..7d971980 100644 --- a/models/rules.js +++ b/models/rules.js @@ -31,11 +31,10 @@ Rules.helpers({ }, getTrigger(){ return Triggers.findOne({_id:this.triggerId}); - } + }, }); - Rules.allow({ insert(userId, doc) { return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); @@ -45,5 +44,5 @@ Rules.allow({ }, remove(userId, doc) { return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - } + }, }); diff --git a/models/triggers.js b/models/triggers.js index c8e4cc75..15982b6e 100644 --- a/models/triggers.js +++ b/models/triggers.js @@ -4,8 +4,8 @@ Triggers.mutations({ rename(description) { return { $set: { - description - } + description, + }, }; }, }); @@ -19,7 +19,7 @@ Triggers.allow({ }, remove(userId, doc) { return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - } + }, }); Triggers.helpers({ @@ -30,7 +30,7 @@ Triggers.helpers({ getRule() { return Rules.findOne({ - triggerId: this._id + triggerId: this._id, }); }, @@ -44,7 +44,7 @@ Triggers.helpers({ findList(title) { return Lists.findOne({ - title: title + title, }); }, @@ -54,5 +54,5 @@ Triggers.helpers({ return _.contains(this.labelIds, label._id); }); return cardLabels; - } -}); \ No newline at end of file + }, +}); diff --git a/models/wekanCreator.js b/models/wekanCreator.js index 6841a6ae..b018b06d 100644 --- a/models/wekanCreator.js +++ b/models/wekanCreator.js @@ -224,8 +224,8 @@ export class WekanCreator { const boardId = Boards.direct.insert(boardToCreate); Boards.direct.update(boardId, { $set: { - modifiedAt: this._now() - } + modifiedAt: this._now(), + }, }); // log activity Activities.direct.insert({ @@ -373,15 +373,15 @@ export class WekanCreator { if (wekanCoverId === att._id) { Cards.direct.update(cardId, { $set: { - coverId: wekanAtt._id - } + coverId: wekanAtt._id, + }, }); } } }); } else if (att.file) { file.attachData(new Buffer(att.file, 'base64'), { - type: att.type + type: att.type, }, (error) => { file.name(att.name); file.boardId = boardId; @@ -401,8 +401,8 @@ export class WekanCreator { if (wekanCoverId === att._id) { Cards.direct.update(cardId, { $set: { - coverId: wekanAtt._id - } + coverId: wekanAtt._id, + }, }); } } @@ -448,8 +448,8 @@ export class WekanCreator { const listId = Lists.direct.insert(listToCreate); Lists.direct.update(listId, { $set: { - 'updatedAt': this._now() - } + 'updatedAt': this._now(), + }, }); this.lists[list._id] = listId; // // log activity @@ -485,8 +485,8 @@ export class WekanCreator { const swimlaneId = Swimlanes.direct.insert(swimlaneToCreate); Swimlanes.direct.update(swimlaneId, { $set: { - 'updatedAt': this._now() - } + 'updatedAt': this._now(), + }, }); this.swimlanes[swimlane._id] = swimlaneId; }); @@ -512,13 +512,13 @@ export class WekanCreator { createTriggers(wekanTriggers, boardId) { wekanTriggers.forEach((trigger, ruleIndex) => { if (trigger.hasOwnProperty('labelId')) { - trigger['labelId'] = this.labels[trigger['labelId']] + trigger.labelId = this.labels[trigger.labelId]; } if (trigger.hasOwnProperty('memberId')) { - trigger['memberId'] = this.members[trigger['memberId']] + trigger.memberId = this.members[trigger.memberId]; } - trigger['boardId'] = boardId; - const oldId = trigger['_id']; + trigger.boardId = boardId; + const oldId = trigger._id; delete trigger._id; this.triggers[oldId] = Triggers.direct.insert(trigger); }); @@ -527,13 +527,13 @@ export class WekanCreator { createActions(wekanActions, boardId) { wekanActions.forEach((action, ruleIndex) => { if (action.hasOwnProperty('labelId')) { - action['labelId'] = this.labels[action['labelId']] + action.labelId = this.labels[action.labelId]; } if (action.hasOwnProperty('memberId')) { - action['memberId'] = this.members[action['memberId']] + action.memberId = this.members[action.memberId]; } - action['boardId'] = boardId; - const oldId = action['_id']; + action.boardId = boardId; + const oldId = action._id; delete action._id; this.actions[oldId] = Actions.direct.insert(action); }); @@ -542,9 +542,9 @@ export class WekanCreator { createRules(wekanRules, boardId) { wekanRules.forEach((rule, ruleIndex) => { // Create the rule - rule['boardId'] = boardId; - rule['triggerId'] = this.triggers[rule['triggerId']]; - rule['actionId'] = this.actions[rule['actionId']]; + rule.boardId = boardId; + rule.triggerId = this.triggers[rule.triggerId]; + rule.actionId = this.actions[rule.actionId]; delete rule._id; Rules.direct.insert(rule); }); @@ -568,64 +568,64 @@ export class WekanCreator { parseActivities(wekanBoard) { wekanBoard.activities.forEach((activity) => { switch (activity.activityType) { - case 'addAttachment': - { - // We have to be cautious, because the attachment could have been removed later. - // In that case Wekan still reports its addition, but removes its 'url' field. - // So we test for that - const wekanAttachment = wekanBoard.attachments.filter((attachment) => { - return attachment._id === activity.attachmentId; - })[0]; + case 'addAttachment': + { + // We have to be cautious, because the attachment could have been removed later. + // In that case Wekan still reports its addition, but removes its 'url' field. + // So we test for that + const wekanAttachment = wekanBoard.attachments.filter((attachment) => { + return attachment._id === activity.attachmentId; + })[0]; - if (typeof wekanAttachment !== 'undefined' && wekanAttachment) { - if (wekanAttachment.url || wekanAttachment.file) { - // we cannot actually create the Wekan attachment, because we don't yet - // have the cards to attach it to, so we store it in the instance variable. - const wekanCardId = activity.cardId; - if (!this.attachments[wekanCardId]) { - this.attachments[wekanCardId] = []; - } - this.attachments[wekanCardId].push(wekanAttachment); - } + if (typeof wekanAttachment !== 'undefined' && wekanAttachment) { + if (wekanAttachment.url || wekanAttachment.file) { + // we cannot actually create the Wekan attachment, because we don't yet + // have the cards to attach it to, so we store it in the instance variable. + const wekanCardId = activity.cardId; + if (!this.attachments[wekanCardId]) { + this.attachments[wekanCardId] = []; } - break; - } - case 'addComment': - { - const wekanComment = wekanBoard.comments.filter((comment) => { - return comment._id === activity.commentId; - })[0]; - const id = activity.cardId; - if (!this.comments[id]) { - this.comments[id] = []; - } - this.comments[id].push(wekanComment); - break; - } - case 'createBoard': - { - this.createdAt.board = activity.createdAt; - break; - } - case 'createCard': - { - const cardId = activity.cardId; - this.createdAt.cards[cardId] = activity.createdAt; - this.createdBy.cards[cardId] = activity.userId; - break; - } - case 'createList': - { - const listId = activity.listId; - this.createdAt.lists[listId] = activity.createdAt; - break; - } - case 'createSwimlane': - { - const swimlaneId = activity.swimlaneId; - this.createdAt.swimlanes[swimlaneId] = activity.createdAt; - break; + this.attachments[wekanCardId].push(wekanAttachment); } + } + break; + } + case 'addComment': + { + const wekanComment = wekanBoard.comments.filter((comment) => { + return comment._id === activity.commentId; + })[0]; + const id = activity.cardId; + if (!this.comments[id]) { + this.comments[id] = []; + } + this.comments[id].push(wekanComment); + break; + } + case 'createBoard': + { + this.createdAt.board = activity.createdAt; + break; + } + case 'createCard': + { + const cardId = activity.cardId; + this.createdAt.cards[cardId] = activity.createdAt; + this.createdBy.cards[cardId] = activity.userId; + break; + } + case 'createList': + { + const listId = activity.listId; + this.createdAt.lists[listId] = activity.createdAt; + break; + } + case 'createSwimlane': + { + const swimlaneId = activity.swimlaneId; + this.createdAt.swimlanes[swimlaneId] = activity.createdAt; + break; + } } }); } @@ -633,116 +633,116 @@ export class WekanCreator { importActivities(activities, boardId) { activities.forEach((activity) => { switch (activity.activityType) { - // Board related activities - // TODO: addBoardMember, removeBoardMember - case 'createBoard': - { - Activities.direct.insert({ - userId: this._user(activity.userId), - type: 'board', - activityTypeId: boardId, - activityType: activity.activityType, - boardId, - createdAt: this._now(activity.createdAt), - }); - break; - } - // List related activities - // TODO: removeList, archivedList - case 'createList': - { - Activities.direct.insert({ - userId: this._user(activity.userId), - type: 'list', - activityType: activity.activityType, - listId: this.lists[activity.listId], - boardId, - createdAt: this._now(activity.createdAt), - }); - break; - } - // Card related activities - // TODO: archivedCard, restoredCard, joinMember, unjoinMember - case 'createCard': - { - Activities.direct.insert({ - userId: this._user(activity.userId), - activityType: activity.activityType, - listId: this.lists[activity.listId], - cardId: this.cards[activity.cardId], - boardId, - createdAt: this._now(activity.createdAt), - }); - break; - } - case 'moveCard': - { - Activities.direct.insert({ - userId: this._user(activity.userId), - oldListId: this.lists[activity.oldListId], - activityType: activity.activityType, - listId: this.lists[activity.listId], - cardId: this.cards[activity.cardId], - boardId, - createdAt: this._now(activity.createdAt), - }); - break; - } - // Comment related activities - case 'addComment': - { - Activities.direct.insert({ - userId: this._user(activity.userId), - activityType: activity.activityType, - cardId: this.cards[activity.cardId], - commentId: this.commentIds[activity.commentId], - boardId, - createdAt: this._now(activity.createdAt), - }); - break; - } - // Attachment related activities - case 'addAttachment': - { - Activities.direct.insert({ - userId: this._user(activity.userId), - type: 'card', - activityType: activity.activityType, - attachmentId: this.attachmentIds[activity.attachmentId], - cardId: this.cards[activity.cardId], - boardId, - createdAt: this._now(activity.createdAt), - }); - break; - } - // Checklist related activities - case 'addChecklist': - { - Activities.direct.insert({ - userId: this._user(activity.userId), - activityType: activity.activityType, - cardId: this.cards[activity.cardId], - checklistId: this.checklists[activity.checklistId], - boardId, - createdAt: this._now(activity.createdAt), - }); - break; - } - case 'addChecklistItem': - { - Activities.direct.insert({ - userId: this._user(activity.userId), - activityType: activity.activityType, - cardId: this.cards[activity.cardId], - checklistId: this.checklists[activity.checklistId], - checklistItemId: activity.checklistItemId.replace( - activity.checklistId, - this.checklists[activity.checklistId]), - boardId, - createdAt: this._now(activity.createdAt), - }); - break; - } + // Board related activities + // TODO: addBoardMember, removeBoardMember + case 'createBoard': + { + Activities.direct.insert({ + userId: this._user(activity.userId), + type: 'board', + activityTypeId: boardId, + activityType: activity.activityType, + boardId, + createdAt: this._now(activity.createdAt), + }); + break; + } + // List related activities + // TODO: removeList, archivedList + case 'createList': + { + Activities.direct.insert({ + userId: this._user(activity.userId), + type: 'list', + activityType: activity.activityType, + listId: this.lists[activity.listId], + boardId, + createdAt: this._now(activity.createdAt), + }); + break; + } + // Card related activities + // TODO: archivedCard, restoredCard, joinMember, unjoinMember + case 'createCard': + { + Activities.direct.insert({ + userId: this._user(activity.userId), + activityType: activity.activityType, + listId: this.lists[activity.listId], + cardId: this.cards[activity.cardId], + boardId, + createdAt: this._now(activity.createdAt), + }); + break; + } + case 'moveCard': + { + Activities.direct.insert({ + userId: this._user(activity.userId), + oldListId: this.lists[activity.oldListId], + activityType: activity.activityType, + listId: this.lists[activity.listId], + cardId: this.cards[activity.cardId], + boardId, + createdAt: this._now(activity.createdAt), + }); + break; + } + // Comment related activities + case 'addComment': + { + Activities.direct.insert({ + userId: this._user(activity.userId), + activityType: activity.activityType, + cardId: this.cards[activity.cardId], + commentId: this.commentIds[activity.commentId], + boardId, + createdAt: this._now(activity.createdAt), + }); + break; + } + // Attachment related activities + case 'addAttachment': + { + Activities.direct.insert({ + userId: this._user(activity.userId), + type: 'card', + activityType: activity.activityType, + attachmentId: this.attachmentIds[activity.attachmentId], + cardId: this.cards[activity.cardId], + boardId, + createdAt: this._now(activity.createdAt), + }); + break; + } + // Checklist related activities + case 'addChecklist': + { + Activities.direct.insert({ + userId: this._user(activity.userId), + activityType: activity.activityType, + cardId: this.cards[activity.cardId], + checklistId: this.checklists[activity.checklistId], + boardId, + createdAt: this._now(activity.createdAt), + }); + break; + } + case 'addChecklistItem': + { + Activities.direct.insert({ + userId: this._user(activity.userId), + activityType: activity.activityType, + cardId: this.cards[activity.cardId], + checklistId: this.checklists[activity.checklistId], + checklistItemId: activity.checklistItemId.replace( + activity.checklistId, + this.checklists[activity.checklistId]), + boardId, + createdAt: this._now(activity.createdAt), + }); + break; + } } }); } @@ -790,4 +790,4 @@ export class WekanCreator { // XXX add members return boardId; } -} \ No newline at end of file +} diff --git a/server/lib/utils.js b/server/lib/utils.js index c155cda5..ee925847 100644 --- a/server/lib/utils.js +++ b/server/lib/utils.js @@ -1,9 +1,9 @@ allowIsBoardAdmin = function(userId, board) { - return board && board.hasAdmin(userId); + return board && board.hasAdmin(userId); }; allowIsBoardMember = function(userId, board) { - return board && board.hasMember(userId); + return board && board.hasMember(userId); }; allowIsBoardMemberCommentOnly = function(userId, board) { @@ -15,6 +15,6 @@ allowIsBoardMemberNoComments = function(userId, board) { }; allowIsBoardMemberByCard = function(userId, card) { - const board = card.board(); - return board && board.hasMember(userId); + const board = card.board(); + return board && board.hasMember(userId); }; diff --git a/server/publications/rules.js b/server/publications/rules.js index 29be2e78..d0864893 100644 --- a/server/publications/rules.js +++ b/server/publications/rules.js @@ -1,18 +1,18 @@ Meteor.publish('rules', (ruleId) => { - check(ruleId, String); - return Rules.find({ - _id: ruleId - }); + check(ruleId, String); + return Rules.find({ + _id: ruleId, + }); }); Meteor.publish('allRules', () => { - return Rules.find({}); + return Rules.find({}); }); Meteor.publish('allTriggers', () => { - return Triggers.find({}); + return Triggers.find({}); }); Meteor.publish('allActions', () => { - return Actions.find({}); -}); \ No newline at end of file + return Actions.find({}); +}); diff --git a/server/rulesHelper.js b/server/rulesHelper.js index d56b70aa..e7e19b96 100644 --- a/server/rulesHelper.js +++ b/server/rulesHelper.js @@ -1,131 +1,131 @@ RulesHelper = { - executeRules(activity){ - const matchingRules = this.findMatchingRules(activity); - for(let i = 0;i< matchingRules.length;i++){ - const action = matchingRules[i].getAction(); - this.performAction(activity,action); - } - }, - findMatchingRules(activity){ - const activityType = activity.activityType; - if(TriggersDef[activityType] == undefined){ - return []; - } - const matchingFields = TriggersDef[activityType].matchingFields; - const matchingMap = this.buildMatchingFieldsMap(activity,matchingFields); - let matchingTriggers = Triggers.find(matchingMap); - let matchingRules = []; - matchingTriggers.forEach(function(trigger){ - matchingRules.push(trigger.getRule()); - }); - return matchingRules; - }, - buildMatchingFieldsMap(activity, matchingFields){ - let matchingMap = {"activityType":activity.activityType}; - for(let i = 0;i< matchingFields.length;i++){ - // Creating a matching map with the actual field of the activity - // and with the wildcard (for example: trigger when a card is added - // in any [*] board - matchingMap[matchingFields[i]] = { $in: [activity[matchingFields[i]],"*"]}; - } - return matchingMap; - }, - performAction(activity,action){ - const card = Cards.findOne({_id:activity.cardId}); - const boardId = activity.boardId; - if(action.actionType == "moveCardToTop"){ - let listId; - let list; - if(activity.listTitle == "*"){ - listId = card.swimlaneId; - list = card.list(); - }else{ - list = Lists.findOne({title: action.listTitle, boardId:boardId });; - listId = list._id; - } - const minOrder = _.min(list.cards(card.swimlaneId).map((c) => c.sort)); - card.move(card.swimlaneId, listId, minOrder - 1); - } - if(action.actionType == "moveCardToBottom"){ - let listId; - let list; - if(activity.listTitle == "*"){ - listId = card.swimlaneId; - list = card.list(); - }else{ - list = Lists.findOne({title: action.listTitle, boardId:boardId}); - listId = list._id; - } - const maxOrder = _.max(list.cards(card.swimlaneId).map((c) => c.sort)); - card.move(card.swimlaneId, listId, maxOrder + 1); - } - if(action.actionType == "sendEmail"){ - const emailTo = action.emailTo; - const emailMsg = action.emailMsg; - const emailSubject = action.emailSubject; - try { - Email.send({ - to: to, - from: Accounts.emailTemplates.from, - subject: subject, - text, - }); - } catch (e) { - return; - } - } - if(action.actionType == "archive"){ - card.archive(); - } - if(action.actionType == "unarchive"){ - card.restore(); - } - if(action.actionType == "addLabel"){ - card.addLabel(action.labelId); - } - if(action.actionType == "removeLabel"){ - card.removeLabel(action.labelId); - } - if(action.actionType == "addMember"){ - const memberId = Users.findOne({username:action.memberName})._id; - card.assignMember(memberId); - } - if(action.actionType == "removeMember"){ - if(action.memberName == "*"){ - const members = card.members; - for(let i = 0;i< members.length;i++){ - card.unassignMember(members[i]); - } - }else{ - const memberId = Users.findOne({username:action.memberName})._id; - card.unassignMember(memberId); - } - } - if(action.actionType == "checkAll"){ - const checkList = Checklists.findOne({"title":action.checklistName,"cardId":card._id}); - checkList.checkAllItems(); - } - if(action.actionType == "uncheckAll"){ - const checkList = Checklists.findOne({"title":action.checklistName,"cardId":card._id}); - checkList.uncheckAllItems(); - } - if(action.actionType == "checkItem"){ - const checkList = Checklists.findOne({"title":action.checklistName,"cardId":card._id}); - const checkItem = ChecklistItems.findOne({"title":action.checkItemName,"checkListId":checkList._id}) - checkItem.check(); - } - if(action.actionType == "uncheckItem"){ - const checkList = Checklists.findOne({"title":action.checklistName,"cardId":card._id}); - const checkItem = ChecklistItems.findOne({"title":action.checkItemName,"checkListId":checkList._id}) - checkItem.uncheck(); - } - if(action.actionType == "addChecklist"){ - Checklists.insert({"title":action.checklistName,"cardId":card._id,"sort":0}); - } - if(action.actionType == "removeChecklist"){ - Checklists.remove({"title":action.checklistName,"cardId":card._id,"sort":0}); - } + executeRules(activity){ + const matchingRules = this.findMatchingRules(activity); + for(let i = 0; i< matchingRules.length; i++){ + const action = matchingRules[i].getAction(); + this.performAction(activity, action); + } + }, + findMatchingRules(activity){ + const activityType = activity.activityType; + if(TriggersDef[activityType] === undefined){ + return []; + } + const matchingFields = TriggersDef[activityType].matchingFields; + const matchingMap = this.buildMatchingFieldsMap(activity, matchingFields); + const matchingTriggers = Triggers.find(matchingMap); + const matchingRules = []; + matchingTriggers.forEach(function(trigger){ + matchingRules.push(trigger.getRule()); + }); + return matchingRules; + }, + buildMatchingFieldsMap(activity, matchingFields){ + const matchingMap = {'activityType':activity.activityType}; + for(let i = 0; i< matchingFields.length; i++){ + // Creating a matching map with the actual field of the activity + // and with the wildcard (for example: trigger when a card is added + // in any [*] board + matchingMap[matchingFields[i]] = { $in: [activity[matchingFields[i]], '*']}; + } + return matchingMap; + }, + performAction(activity, action){ + const card = Cards.findOne({_id:activity.cardId}); + const boardId = activity.boardId; + if(action.actionType === 'moveCardToTop'){ + let listId; + let list; + if(activity.listTitle === '*'){ + listId = card.swimlaneId; + list = card.list(); + }else{ + list = Lists.findOne({title: action.listTitle, boardId }); + listId = list._id; + } + const minOrder = _.min(list.cards(card.swimlaneId).map((c) => c.sort)); + card.move(card.swimlaneId, listId, minOrder - 1); + } + if(action.actionType === 'moveCardToBottom'){ + let listId; + let list; + if(activity.listTitle === '*'){ + listId = card.swimlaneId; + list = card.list(); + }else{ + list = Lists.findOne({title: action.listTitle, boardId}); + listId = list._id; + } + const maxOrder = _.max(list.cards(card.swimlaneId).map((c) => c.sort)); + card.move(card.swimlaneId, listId, maxOrder + 1); + } + if(action.actionType === 'sendEmail'){ + const emailTo = action.emailTo; + const emailMsg = action.emailMsg; + const emailSubject = action.emailSubject; + try { + Email.send({ + to, + from: Accounts.emailTemplates.from, + subject, + text, + }); + } catch (e) { + return; + } + } + if(action.actionType === 'archive'){ + card.archive(); + } + if(action.actionType === 'unarchive'){ + card.restore(); + } + if(action.actionType === 'addLabel'){ + card.addLabel(action.labelId); + } + if(action.actionType === 'removeLabel'){ + card.removeLabel(action.labelId); + } + if(action.actionType === 'addMember'){ + const memberId = Users.findOne({username:action.memberName})._id; + card.assignMember(memberId); + } + if(action.actionType === 'removeMember'){ + if(action.memberName === '*'){ + const members = card.members; + for(let i = 0; i< members.length; i++){ + card.unassignMember(members[i]); + } + }else{ + const memberId = Users.findOne({username:action.memberName})._id; + card.unassignMember(memberId); + } + } + if(action.actionType === 'checkAll'){ + const checkList = Checklists.findOne({'title':action.checklistName, 'cardId':card._id}); + checkList.checkAllItems(); + } + if(action.actionType === 'uncheckAll'){ + const checkList = Checklists.findOne({'title':action.checklistName, 'cardId':card._id}); + checkList.uncheckAllItems(); + } + if(action.actionType === 'checkItem'){ + const checkList = Checklists.findOne({'title':action.checklistName, 'cardId':card._id}); + const checkItem = ChecklistItems.findOne({'title':action.checkItemName, 'checkListId':checkList._id}); + checkItem.check(); + } + if(action.actionType === 'uncheckItem'){ + const checkList = Checklists.findOne({'title':action.checklistName, 'cardId':card._id}); + const checkItem = ChecklistItems.findOne({'title':action.checkItemName, 'checkListId':checkList._id}); + checkItem.uncheck(); + } + if(action.actionType === 'addChecklist'){ + Checklists.insert({'title':action.checklistName, 'cardId':card._id, 'sort':0}); + } + if(action.actionType === 'removeChecklist'){ + Checklists.remove({'title':action.checklistName, 'cardId':card._id, 'sort':0}); + } - }, + }, -} \ No newline at end of file +}; diff --git a/server/triggersDef.js b/server/triggersDef.js index 8c52051b..81dc946f 100644 --- a/server/triggersDef.js +++ b/server/triggersDef.js @@ -1,59 +1,58 @@ TriggersDef = { - createCard:{ - matchingFields: ["boardId", "listName"] - }, - moveCard:{ - matchingFields: ["boardId", "listName", "oldListName"] - }, - archivedCard:{ - matchingFields: ["boardId"] - }, - restoredCard:{ - matchingFields: ["boardId"] - }, - joinMember:{ - matchingFields: ["boardId","memberId"] - }, - unjoinMember:{ - matchingFields: ["boardId","memberId"] - }, - addChecklist:{ - matchingFields: ["boardId","checklistName"] - }, - removeChecklist:{ - matchingFields: ["boardId","checklistName"] - }, - completeChecklist:{ - matchingFields: ["boardId","checklistName"] - }, - uncompleteChecklist:{ - matchingFields: ["boardId","checklistName"] - }, - addedChecklistItem:{ - matchingFields: ["boardId","checklistItemName"] - }, - removedChecklistItem:{ - matchingFields: ["boardId","checklistItemName"] - }, - checkedItem:{ - matchingFields: ["boardId","checklistItemName"] - }, - uncheckedItem:{ - matchingFields: ["boardId","checklistItemName"] - }, - addAttachment:{ - matchingFields: ["boardId"] - }, - deleteAttachment:{ - matchingFields: ["boardId"] - }, - addedLabel:{ - matchingFields: ["boardId","labelId"] - }, - removedLabel:{ - matchingFields: ["boardId","labelId"] - } -} - + createCard:{ + matchingFields: ['boardId', 'listName'], + }, + moveCard:{ + matchingFields: ['boardId', 'listName', 'oldListName'], + }, + archivedCard:{ + matchingFields: ['boardId'], + }, + restoredCard:{ + matchingFields: ['boardId'], + }, + joinMember:{ + matchingFields: ['boardId', 'memberId'], + }, + unjoinMember:{ + matchingFields: ['boardId', 'memberId'], + }, + addChecklist:{ + matchingFields: ['boardId', 'checklistName'], + }, + removeChecklist:{ + matchingFields: ['boardId', 'checklistName'], + }, + completeChecklist:{ + matchingFields: ['boardId', 'checklistName'], + }, + uncompleteChecklist:{ + matchingFields: ['boardId', 'checklistName'], + }, + addedChecklistItem:{ + matchingFields: ['boardId', 'checklistItemName'], + }, + removedChecklistItem:{ + matchingFields: ['boardId', 'checklistItemName'], + }, + checkedItem:{ + matchingFields: ['boardId', 'checklistItemName'], + }, + uncheckedItem:{ + matchingFields: ['boardId', 'checklistItemName'], + }, + addAttachment:{ + matchingFields: ['boardId'], + }, + deleteAttachment:{ + matchingFields: ['boardId'], + }, + addedLabel:{ + matchingFields: ['boardId', 'labelId'], + }, + removedLabel:{ + matchingFields: ['boardId', 'labelId'], + }, +}; -- cgit v1.2.3-1-g7c22