mirror of
https://github.com/wekan/wekan.git
synced 2025-04-23 13:37:09 -04:00
Almost full circle
This commit is contained in:
parent
93cc7f0232
commit
9b0eb0a9f1
24 changed files with 492 additions and 165 deletions
|
@ -109,7 +109,7 @@ BlazeComponent.extendComponent({
|
|||
Sidebar.setView('search');
|
||||
},
|
||||
'click .js-open-rules-view'() {
|
||||
Modal.open('rules');
|
||||
Modal.open('rulesMain');
|
||||
},
|
||||
'click .js-multiselection-activate'() {
|
||||
const currentCard = Session.get('currentCard');
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
@import 'nib'
|
||||
|
||||
select,
|
||||
textarea,
|
||||
input:not([type=file]),
|
||||
button
|
||||
|
|
BIN
client/components/rules/.DS_Store
vendored
Normal file
BIN
client/components/rules/.DS_Store
vendored
Normal file
Binary file not shown.
22
client/components/rules/actions/boardActions.jade
Normal file
22
client/components/rules/actions/boardActions.jade
Normal file
|
@ -0,0 +1,22 @@
|
|||
template(name="boardActions")
|
||||
div.trigger-item
|
||||
div.trigger-content
|
||||
div.trigger-text
|
||||
| Move card to
|
||||
div.trigger-dropdown
|
||||
select(id="action")
|
||||
option(value="top") Top of
|
||||
option(value="bottom") Bottom of
|
||||
div.trigger-text
|
||||
| list
|
||||
div.trigger-dropdown
|
||||
input(type=text,placeholder="List Name")
|
||||
div.trigger-button.js-add-move-action.js-goto-rules
|
||||
i.fa.fa-plus
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
32
client/components/rules/actions/boardActions.js
Normal file
32
client/components/rules/actions/boardActions.js
Normal file
|
@ -0,0 +1,32 @@
|
|||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
|
||||
},
|
||||
|
||||
|
||||
|
||||
events() {
|
||||
return [
|
||||
{'click .js-add-move-action'(event) {
|
||||
|
||||
console.log(this.data());
|
||||
console.log(this.data().triggerIdVar.get());
|
||||
const ruleName = this.data().ruleName.get();
|
||||
const triggerId = this.data().triggerIdVar.get();
|
||||
const actionSelected = this.find('#action').value;
|
||||
|
||||
if(actionSelected == "top"){
|
||||
Actions.insert({actionType: "moveCardToTop"},function(err,id){
|
||||
Rules.insert({title: ruleName, triggerId: triggerId, actionId: id});
|
||||
});
|
||||
}
|
||||
if(actionSelected == "bottom"){
|
||||
Actions.insert({actionType: "moveCardToBottom"},function(err,id){
|
||||
Rules.insert({title: ruleName, triggerId: triggerId, actionId: id});
|
||||
});
|
||||
}
|
||||
},
|
||||
}];
|
||||
},
|
||||
|
||||
}).register('boardActions');
|
|
@ -1,65 +0,0 @@
|
|||
template(name="rules")
|
||||
if rulesListVar.get
|
||||
+rulesList
|
||||
else if rulesTriggerVar.get
|
||||
+rulesTrigger
|
||||
|
||||
template(name="rulesList")
|
||||
.rules
|
||||
h2
|
||||
i.fa.fa-cutlery
|
||||
| Project rules
|
||||
|
||||
ul.rules-list
|
||||
each rules
|
||||
li.rules-lists-item
|
||||
p
|
||||
= title
|
||||
div.rules-btns-group
|
||||
button
|
||||
i.fa.fa-eye
|
||||
| View rule
|
||||
button.js-delete-rule
|
||||
i.fa.fa-trash-o
|
||||
| Delete rule
|
||||
else
|
||||
li.no-items-message No rules
|
||||
div.rules-add
|
||||
button.js-add-rule
|
||||
i.fa.fa-plus
|
||||
| Add rule
|
||||
input(type=text,placeholder="New rule name",id="ruleTitle")
|
||||
|
||||
template(name="rulesTrigger")
|
||||
h2
|
||||
i.fa.fa-cutlery
|
||||
| Rule "#{ruleName.get}"" - Add triggers
|
||||
.triggers-content
|
||||
.triggers-body
|
||||
.triggers-side-menu
|
||||
ul
|
||||
li.active
|
||||
i.fa.fa-columns
|
||||
li
|
||||
i.fa.fa-sticky-note
|
||||
li
|
||||
i.fa.fa-check
|
||||
.triggers-main-body
|
||||
+boardTriggers
|
||||
|
||||
template(name="boardTriggers")
|
||||
div.trigger-item
|
||||
div.trigger-content
|
||||
div.trigger-text
|
||||
| When a card is
|
||||
div.trigger-dropdown
|
||||
select
|
||||
div.trigger-button
|
||||
i.fa.fa-plus
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.rulesListVar = new ReactiveVar(true);
|
||||
this.rulesTriggerVar = new ReactiveVar(false);
|
||||
this.ruleName = new ReactiveVar("");
|
||||
},
|
||||
|
||||
setTrigger() {
|
||||
this.rulesListVar.set(false);
|
||||
this.rulesTriggerVar.set(true);
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{'click .js-delete-rule'(event) {
|
||||
const rule = this.currentData();
|
||||
Rules.remove(rule._id);
|
||||
|
||||
},
|
||||
'click .js-add-rule'(event) {
|
||||
|
||||
event.preventDefault();
|
||||
const ruleTitle = this.find('#ruleTitle').value;
|
||||
Rules.insert({title: ruleTitle});
|
||||
this.find('#ruleTitle').value = "";
|
||||
this.ruleName.set(ruleTitle)
|
||||
this.setTrigger();
|
||||
|
||||
}}];
|
||||
},
|
||||
|
||||
}).register('rules');
|
||||
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.subscribe('allRules');
|
||||
},
|
||||
|
||||
rules() {
|
||||
return Rules.find({});
|
||||
},
|
||||
events() {
|
||||
return [{}];
|
||||
},
|
||||
}).register('rulesList');
|
||||
|
||||
|
|
@ -49,10 +49,11 @@
|
|||
height 100%
|
||||
|
||||
.triggers-side-menu
|
||||
background-color: #f7f7f7;
|
||||
border: 1px solid #f0f0f0;
|
||||
border-radius: 4px;
|
||||
box-shadow: inset -1px -1px 3px rgba(0,0,0,.05);
|
||||
background-color: #f7f7f7
|
||||
border: 1px solid #f0f0f0
|
||||
border-radius: 4px
|
||||
height: intrinsic
|
||||
box-shadow: inset -1px -1px 3px rgba(0,0,0,.05)
|
||||
|
||||
ul
|
||||
|
||||
|
@ -93,7 +94,8 @@
|
|||
.trigger-item
|
||||
overflow:auto
|
||||
padding:10px
|
||||
height:30px
|
||||
height:40px
|
||||
margin-bottom:5px
|
||||
border-radius: 3px
|
||||
position: relative
|
||||
background-color: white
|
||||
|
@ -111,24 +113,31 @@
|
|||
width:100px
|
||||
height:30px
|
||||
margin:0px
|
||||
margin-left:5px
|
||||
input
|
||||
display: inline-block
|
||||
width: 80px;
|
||||
margin: 0;
|
||||
.trigger-button
|
||||
position:absolute
|
||||
top:50%
|
||||
transform: translateY(-50%)
|
||||
width:30px
|
||||
height:30px
|
||||
border: 1px solid #eee;
|
||||
border-radius: 4px;
|
||||
box-shadow: inset -1px -1px 3px rgba(0,0,0,.05);
|
||||
border: 1px solid #eee
|
||||
border-radius: 4px
|
||||
box-shadow: inset -1px -1px 3px rgba(0,0,0,.05)
|
||||
text-align:center
|
||||
font-size: 20px
|
||||
right:10px
|
||||
i
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
position: absolute
|
||||
top: 50%
|
||||
left: 50%
|
||||
box-shadow: none
|
||||
transform: translate(-50%,-50%);
|
||||
transform: translate(-50%,-50%)
|
||||
&:hover, &.is-active
|
||||
box-shadow: 0 0 0 2px darken(white, 60%) inset
|
||||
|
||||
|
||||
|
||||
|
|
17
client/components/rules/rulesActions.jade
Normal file
17
client/components/rules/rulesActions.jade
Normal file
|
@ -0,0 +1,17 @@
|
|||
template(name="rulesActions")
|
||||
h2
|
||||
i.fa.fa-cutlery
|
||||
| Rule "#{data.ruleName}" - Add action
|
||||
.triggers-content
|
||||
.triggers-body
|
||||
.triggers-side-menu
|
||||
ul
|
||||
li.active.js-set-board-triggers
|
||||
i.fa.fa-columns
|
||||
li.js-set-card-triggers
|
||||
i.fa.fa-sticky-note
|
||||
li.js-set-checklist-triggers
|
||||
i.fa.fa-check
|
||||
.triggers-main-body
|
||||
if showBoardActions.get
|
||||
+boardActions(ruleName=data.ruleName triggerIdVar=data.triggerIdVar)
|
52
client/components/rules/rulesActions.js
Normal file
52
client/components/rules/rulesActions.js
Normal file
|
@ -0,0 +1,52 @@
|
|||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.showBoardActions = new ReactiveVar(true);
|
||||
this.showCardActions = new ReactiveVar(false);
|
||||
this.showChecklistAction = new ReactiveVar(false);
|
||||
},
|
||||
|
||||
|
||||
setBoardTriggers(){
|
||||
this.showBoardActions.set(true);
|
||||
this.showCardActions.set(false);
|
||||
this.showChecklistActionsr.set(false);
|
||||
$('.js-set-card-triggers').removeClass('active');
|
||||
$('.js-set-board-triggers').addClass('active');
|
||||
$('.js-set-checklist-triggers').removeClass('active');
|
||||
},
|
||||
setCardTriggers(){
|
||||
this.showBoardActions.set(false);
|
||||
this.showCardActions.set(true);
|
||||
this.showChecklistActions.set(false);
|
||||
$('.js-set-card-triggers').addClass('active');
|
||||
$('.js-set-board-triggers').removeClass('active');
|
||||
$('.js-set-checklist-triggers').removeClass('active');
|
||||
},
|
||||
setChecklistTriggers(){
|
||||
this.showBoardActions.set(false);
|
||||
this.showCardActions.set(false);
|
||||
this.showChecklistActions.set(true);
|
||||
$('.js-set-card-triggers').removeClass('active');
|
||||
$('.js-set-board-triggers').removeClass('active');
|
||||
$('.js-set-checklist-triggers').addClass('active');
|
||||
},
|
||||
|
||||
rules() {
|
||||
return Rules.find({});
|
||||
},
|
||||
|
||||
name(){
|
||||
console.log(this.data());
|
||||
},
|
||||
events() {
|
||||
return [{'click .js-set-board-triggers'(event) {
|
||||
this.setBoardTriggers();
|
||||
},
|
||||
'click .js-set-card-triggers'(event) {
|
||||
this.setCardTriggers();
|
||||
},
|
||||
'click .js-set-checklist-triggers'(event) {
|
||||
this.setChecklistTriggers();
|
||||
},}];
|
||||
},
|
||||
}).register('rulesActions');
|
25
client/components/rules/rulesList.jade
Normal file
25
client/components/rules/rulesList.jade
Normal file
|
@ -0,0 +1,25 @@
|
|||
template(name="rulesList")
|
||||
.rules
|
||||
h2
|
||||
i.fa.fa-cutlery
|
||||
| Project rules
|
||||
|
||||
ul.rules-list
|
||||
each rules
|
||||
li.rules-lists-item
|
||||
p
|
||||
= title
|
||||
div.rules-btns-group
|
||||
button
|
||||
i.fa.fa-eye
|
||||
| View rule
|
||||
button.js-delete-rule
|
||||
i.fa.fa-trash-o
|
||||
| Delete rule
|
||||
else
|
||||
li.no-items-message No rules
|
||||
div.rules-add
|
||||
button.js-goto-trigger
|
||||
i.fa.fa-plus
|
||||
| Add rule
|
||||
input(type=text,placeholder="New rule name",id="ruleTitle")
|
12
client/components/rules/rulesList.js
Normal file
12
client/components/rules/rulesList.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.subscribe('allRules');
|
||||
},
|
||||
|
||||
rules() {
|
||||
return Rules.find({});
|
||||
},
|
||||
events() {
|
||||
return [{}];
|
||||
},
|
||||
}).register('rulesList');
|
7
client/components/rules/rulesMain.jade
Normal file
7
client/components/rules/rulesMain.jade
Normal file
|
@ -0,0 +1,7 @@
|
|||
template(name="rulesMain")
|
||||
if rulesListVar.get
|
||||
+rulesList
|
||||
else if rulesTriggerVar.get
|
||||
+rulesTriggers(ruleName=ruleName triggerIdVar=triggerIdVar)
|
||||
else if rulesActionVar.get
|
||||
+rulesActions(ruleName=ruleName triggerIdVar=triggerIdVar)
|
62
client/components/rules/rulesMain.js
Normal file
62
client/components/rules/rulesMain.js
Normal file
|
@ -0,0 +1,62 @@
|
|||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.rulesListVar = new ReactiveVar(true);
|
||||
this.rulesTriggerVar = new ReactiveVar(false);
|
||||
this.rulesActionVar = new ReactiveVar(false);
|
||||
this.ruleName = new ReactiveVar("");
|
||||
this.triggerIdVar = new ReactiveVar("");
|
||||
},
|
||||
|
||||
setTrigger() {
|
||||
this.rulesListVar.set(false);
|
||||
this.rulesTriggerVar.set(true);
|
||||
this.rulesActionVar.set(false);
|
||||
},
|
||||
|
||||
setRulesList() {
|
||||
this.rulesListVar.set(true);
|
||||
this.rulesTriggerVar.set(false);
|
||||
this.rulesActionVar.set(false);
|
||||
},
|
||||
|
||||
setAction() {
|
||||
this.rulesListVar.set(false);
|
||||
this.rulesTriggerVar.set(false);
|
||||
this.rulesActionVar.set(true);
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{'click .js-delete-rule'(event) {
|
||||
const rule = this.currentData();
|
||||
Rules.remove(rule._id);
|
||||
|
||||
},
|
||||
'click .js-goto-trigger'(event) {
|
||||
event.preventDefault();
|
||||
const ruleTitle = this.find('#ruleTitle').value;
|
||||
this.find('#ruleTitle').value = "";
|
||||
this.ruleName.set(ruleTitle)
|
||||
this.setTrigger();
|
||||
},
|
||||
'click .js-goto-action'(event) {
|
||||
event.preventDefault();
|
||||
this.setAction();
|
||||
},
|
||||
'click .js-goto-rules'(event) {
|
||||
event.preventDefault();
|
||||
this.setRulesList();
|
||||
},
|
||||
|
||||
|
||||
}];
|
||||
},
|
||||
|
||||
}).register('rulesMain');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
21
client/components/rules/rulesTriggers.jade
Normal file
21
client/components/rules/rulesTriggers.jade
Normal file
|
@ -0,0 +1,21 @@
|
|||
template(name="rulesTriggers")
|
||||
h2
|
||||
i.fa.fa-cutlery
|
||||
| Rule "#{data.ruleName}" - Add trigger
|
||||
.triggers-content
|
||||
.triggers-body
|
||||
.triggers-side-menu
|
||||
ul
|
||||
li.active.js-set-board-triggers
|
||||
i.fa.fa-columns
|
||||
li.js-set-card-triggers
|
||||
i.fa.fa-sticky-note
|
||||
li.js-set-checklist-triggers
|
||||
i.fa.fa-check
|
||||
.triggers-main-body
|
||||
if showBoardTrigger.get
|
||||
+boardTriggers
|
||||
else if showCardTrigger.get
|
||||
+cardTriggers
|
||||
else if showChecklistTrigger.get
|
||||
+checklistTriggers
|
52
client/components/rules/rulesTriggers.js
Normal file
52
client/components/rules/rulesTriggers.js
Normal file
|
@ -0,0 +1,52 @@
|
|||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.showBoardTrigger = new ReactiveVar(true);
|
||||
this.showCardTrigger = new ReactiveVar(false);
|
||||
this.showChecklistTrigger = new ReactiveVar(false);
|
||||
},
|
||||
|
||||
|
||||
setBoardTriggers(){
|
||||
this.showBoardTrigger.set(true);
|
||||
this.showCardTrigger.set(false);
|
||||
this.showChecklistTrigger.set(false);
|
||||
$('.js-set-card-triggers').removeClass('active');
|
||||
$('.js-set-board-triggers').addClass('active');
|
||||
$('.js-set-checklist-triggers').removeClass('active');
|
||||
},
|
||||
setCardTriggers(){
|
||||
this.showBoardTrigger.set(false);
|
||||
this.showCardTrigger.set(true);
|
||||
this.showChecklistTrigger.set(false);
|
||||
$('.js-set-card-triggers').addClass('active');
|
||||
$('.js-set-board-triggers').removeClass('active');
|
||||
$('.js-set-checklist-triggers').removeClass('active');
|
||||
},
|
||||
setChecklistTriggers(){
|
||||
this.showBoardTrigger.set(false);
|
||||
this.showCardTrigger.set(false);
|
||||
this.showChecklistTrigger.set(true);
|
||||
$('.js-set-card-triggers').removeClass('active');
|
||||
$('.js-set-board-triggers').removeClass('active');
|
||||
$('.js-set-checklist-triggers').addClass('active');
|
||||
},
|
||||
|
||||
rules() {
|
||||
return Rules.find({});
|
||||
},
|
||||
|
||||
name(){
|
||||
console.log(this.data());
|
||||
},
|
||||
events() {
|
||||
return [{'click .js-set-board-triggers'(event) {
|
||||
this.setBoardTriggers();
|
||||
},
|
||||
'click .js-set-card-triggers'(event) {
|
||||
this.setCardTriggers();
|
||||
},
|
||||
'click .js-set-checklist-triggers'(event) {
|
||||
this.setChecklistTriggers();
|
||||
},}];
|
||||
},
|
||||
}).register('rulesTriggers');
|
45
client/components/rules/triggers/boardTriggers.jade
Normal file
45
client/components/rules/triggers/boardTriggers.jade
Normal file
|
@ -0,0 +1,45 @@
|
|||
template(name="boardTriggers")
|
||||
div.trigger-item
|
||||
div.trigger-content
|
||||
div.trigger-text
|
||||
| When a card is
|
||||
div.trigger-dropdown
|
||||
select(id="action")
|
||||
option(value="created") Added to
|
||||
option(value="removed") Removed from
|
||||
div.trigger-text
|
||||
| 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
|
||||
| When a card is
|
||||
div.trigger-dropdown
|
||||
select
|
||||
option Moved to
|
||||
div.trigger-text
|
||||
| to list
|
||||
div.trigger-dropdown
|
||||
input(type=text,placeholder="List Name")
|
||||
div.trigger-button.js-add-spec-trigger.js-goto-action
|
||||
i.fa.fa-plus
|
||||
|
||||
div.trigger-item
|
||||
div.trigger-content
|
||||
div.trigger-text
|
||||
| When a card is
|
||||
div.trigger-dropdown
|
||||
select
|
||||
option Archived
|
||||
option Unarchived
|
||||
div.trigger-button.js-add-arc-trigger.js-goto-action
|
||||
i.fa.fa-plus
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
28
client/components/rules/triggers/boardTriggers.js
Normal file
28
client/components/rules/triggers/boardTriggers.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{'click .js-add-gen-trigger'(event) {
|
||||
|
||||
let datas = this.data();
|
||||
const actionSelected = this.find('#action').value;
|
||||
const boardId = Session.get('currentBoard')
|
||||
if(actionSelected == "created"){
|
||||
Triggers.insert({activityType: "createCard","boardId":boardId},function(error,id){
|
||||
datas.triggerIdVar.set(id);
|
||||
});
|
||||
}
|
||||
if(actionSelected == "removed"){
|
||||
Triggers.insert({activityType: "removeCard","boardId":boardId},function(error,id){
|
||||
datas.triggerIdVar.set(id);
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
}];
|
||||
},
|
||||
|
||||
}).register('boardTriggers');
|
10
client/components/rules/triggers/cardTriggers.jade
Normal file
10
client/components/rules/triggers/cardTriggers.jade
Normal file
|
@ -0,0 +1,10 @@
|
|||
template(name="cardTriggers")
|
||||
div.trigger-item
|
||||
div.trigger-content
|
||||
div.trigger-text
|
||||
| When a label is
|
||||
div.trigger-dropdown
|
||||
select
|
||||
option Moved to
|
||||
div.trigger-button
|
||||
i.fa.fa-plus
|
10
client/components/rules/triggers/checklistTriggers.jade
Normal file
10
client/components/rules/triggers/checklistTriggers.jade
Normal file
|
@ -0,0 +1,10 @@
|
|||
template(name="checklistTriggers")
|
||||
div.trigger-item
|
||||
div.trigger-content
|
||||
div.trigger-text
|
||||
| When a check is
|
||||
div.trigger-dropdown
|
||||
select
|
||||
option Checked
|
||||
div.trigger-button
|
||||
i.fa.fa-plus
|
62
models/actions.js
Normal file
62
models/actions.js
Normal file
|
@ -0,0 +1,62 @@
|
|||
Actions = new Mongo.Collection('actions');
|
||||
|
||||
|
||||
|
||||
Actions.mutations({
|
||||
rename(description) {
|
||||
return { $set: { description } };
|
||||
},
|
||||
});
|
||||
|
||||
Actions.allow({
|
||||
update: function () {
|
||||
// add custom authentication code here
|
||||
return true;
|
||||
},
|
||||
insert: function () {
|
||||
// add custom authentication code here
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Actions.helpers({
|
||||
fromList() {
|
||||
return Lists.findOne(this.fromId);
|
||||
},
|
||||
|
||||
toList() {
|
||||
return Lists.findOne(this.toId);
|
||||
},
|
||||
|
||||
findList(title) {
|
||||
return Lists.findOne({title:title});
|
||||
},
|
||||
|
||||
labels() {
|
||||
const boardLabels = this.board().labels;
|
||||
const cardLabels = _.filter(boardLabels, (label) => {
|
||||
return _.contains(this.labelIds, label._id);
|
||||
});
|
||||
return cardLabels;
|
||||
}});
|
||||
|
||||
|
||||
|
||||
if (Meteor.isServer) {
|
||||
Meteor.startup(() => {
|
||||
const rules = Triggers.findOne({});
|
||||
if(!rules){
|
||||
Actions.insert({actionType: "moveCardToTop"});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -56,6 +56,17 @@ Activities.before.insert((userId, doc) => {
|
|||
doc.createdAt = new Date();
|
||||
});
|
||||
|
||||
|
||||
|
||||
Activities.after.insert((userId, doc) => {
|
||||
const activity = Activities._transform(doc);
|
||||
const matchedTriggers = Triggers.find(activity);
|
||||
if(matchedTriggers.count() > 0){
|
||||
const card = activity.card();
|
||||
Cards.direct.update({_id: card._id},{$set: {title: "ciaooo"}});
|
||||
}
|
||||
});
|
||||
|
||||
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
|
||||
|
|
|
@ -39,15 +39,3 @@ Rules.allow({
|
|||
},
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
if (Meteor.isServer) {
|
||||
Meteor.startup(() => {
|
||||
const rules = Rules.findOne({});
|
||||
if(!rules){
|
||||
Rules.insert({title: "regola1", description: "bella"});
|
||||
Rules.insert({title: "regola2", description: "bella2"});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -39,34 +39,7 @@ Triggers.helpers({
|
|||
return _.contains(this.labelIds, label._id);
|
||||
});
|
||||
return cardLabels;
|
||||
}});
|
||||
|
||||
|
||||
|
||||
if (Meteor.isServer) {
|
||||
Meteor.startup(() => {
|
||||
const rules = Triggers.findOne({});
|
||||
if(!rules){
|
||||
Triggers.insert({group: "cards", activityType: "moveCard","fromId":-1,"toId":-1 });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
Activities.after.insert((userId, doc) => {
|
||||
const activity = Activities._transform(doc);
|
||||
const matchedTriggers = Triggers.find({activityType: activity.activityType,fromId:activity.oldListId,toId:activity.listId})
|
||||
if(matchedTriggers.count() > 0){
|
||||
const card = activity.card();
|
||||
const oldTitle = card.title;
|
||||
const fromListTitle = activity.oldList().title;
|
||||
Cards.direct.update({_id: card._id, listId: card.listId, boardId: card.boardId, archived: false},
|
||||
{$set: {title: "[From "+fromListTitle +"] "+ oldTitle}});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}});
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue