Browse Source

Added triggers by username

Angelo Gallarello 6 năm trước cách đây
mục cha
commit
9d1d66b0f5

+ 6 - 1
client/components/rules/rules.styl

@@ -10,7 +10,10 @@
   	display: inline-block
   	display: inline-block
   	float: left
   	float: left
   	margin: revert
   	margin: revert
-
+.hide-element
+  display:none !important
+.user-details
+  display:inline-block 
 .rules-btns-group
 .rules-btns-group
   position: absolute
   position: absolute
   right: 0
   right: 0
@@ -160,6 +163,8 @@
             box-shadow: 0 0 0 2px darken(white, 60%) inset
             box-shadow: 0 0 0 2px darken(white, 60%) inset
         .trigger-button.trigger-button-email
         .trigger-button.trigger-button-email
           top:30px
           top:30px
+        .trigger-button.trigger-button-person
+          right:-40px
       .trigger-item.trigger-item-mail
       .trigger-item.trigger-item-mail
         height:300px
         height:300px
   
   

+ 19 - 0
client/components/rules/rulesMain.js

@@ -42,7 +42,26 @@ BlazeComponent.extendComponent({
       },
       },
       'click .js-goto-action' (event) {
       'click .js-goto-action' (event) {
         event.preventDefault();
         event.preventDefault();
+        // Add user to the trigger
+        const username = $(event.currentTarget.offsetParent).find(".user-name").val();
+        let trigger = this.triggerVar.get();
+        const user = Users.findOne({"username":username});
+        if(user != undefined){
+          trigger["userId"] = user._id;
+        }else{
+          trigger["userId"] = "*";
+        }
+        this.triggerVar.set(trigger);
         this.setAction();
         this.setAction();
+      },
+      'click .js-show-user-field' (event) {
+        event.preventDefault();
+        console.log(event);
+        console.log(event.currentTarget.offsetParent);
+        console.log($(event.currentTarget.offsetParent));
+        $(event.currentTarget.offsetParent).find(".user-details").removeClass("hide-element");
+
+
       },
       },
       'click .js-goto-rules' (event) {
       'click .js-goto-rules' (event) {
         event.preventDefault();
         event.preventDefault();

+ 36 - 1
client/components/rules/triggers/boardTriggers.jade

@@ -9,6 +9,13 @@ template(name="boardTriggers")
           option(value="removed") {{_'r-removed-from'}}
           option(value="removed") {{_'r-removed-from'}}
       div.trigger-text 
       div.trigger-text 
         | {{_'r-the-board'}}
         | {{_'r-the-board'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}") 
     div.trigger-button.js-add-gen-trigger.js-goto-action
     div.trigger-button.js-add-gen-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -23,7 +30,14 @@ template(name="boardTriggers")
       div.trigger-text 
       div.trigger-text 
         | {{_'r-list'}}
         | {{_'r-list'}}
       div.trigger-dropdown
       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.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")     
     div.trigger-button.js-add-create-trigger.js-goto-action
     div.trigger-button.js-add-create-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -31,6 +45,13 @@ template(name="boardTriggers")
     div.trigger-content
     div.trigger-content
       div.trigger-text 
       div.trigger-text 
         | {{_'r-when-a-card-is-moved'}}
         | {{_'r-when-a-card-is-moved'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-gen-moved-trigger.js-goto-action
     div.trigger-button.js-add-gen-moved-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -46,6 +67,13 @@ template(name="boardTriggers")
         | {{_'r-list'}}
         | {{_'r-list'}}
       div.trigger-dropdown
       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.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-moved-trigger.js-goto-action
     div.trigger-button.js-add-moved-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -57,6 +85,13 @@ template(name="boardTriggers")
         select(id="arch-action")
         select(id="arch-action")
           option(value="archived") {{_'r-archived'}}
           option(value="archived") {{_'r-archived'}}
           option(value="unarchived") {{_'r-unarchived'}}
           option(value="unarchived") {{_'r-unarchived'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-arch-trigger.js-goto-action
     div.trigger-button.js-add-arch-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 

+ 35 - 0
client/components/rules/triggers/cardTriggers.jade

@@ -9,6 +9,13 @@ template(name="cardTriggers")
           option(value="removed") {{_'r-removed-from'}}
           option(value="removed") {{_'r-removed-from'}}
       div.trigger-text 
       div.trigger-text 
         | {{_'r-a-card'}}
         | {{_'r-a-card'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-gen-label-trigger.js-goto-action
     div.trigger-button.js-add-gen-label-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -29,6 +36,13 @@ template(name="cardTriggers")
           option(value="removed") {{_'r-removed-from'}}
           option(value="removed") {{_'r-removed-from'}}
       div.trigger-text 
       div.trigger-text 
         | {{_'r-a-card'}}
         | {{_'r-a-card'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-spec-label-trigger.js-goto-action
     div.trigger-button.js-add-spec-label-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -42,6 +56,13 @@ template(name="cardTriggers")
           option(value="removed") {{_'r-removed-from'}}
           option(value="removed") {{_'r-removed-from'}}
       div.trigger-text 
       div.trigger-text 
         | {{_'r-a-card'}}
         | {{_'r-a-card'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-gen-member-trigger.js-goto-action
     div.trigger-button.js-add-gen-member-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -60,6 +81,13 @@ template(name="cardTriggers")
           option(value="removed") {{_'r-removed-from'}}
           option(value="removed") {{_'r-removed-from'}}
       div.trigger-text 
       div.trigger-text 
         | {{_'r-a-card'}}
         | {{_'r-a-card'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-spec-member-trigger.js-goto-action
     div.trigger-button.js-add-spec-member-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -75,5 +103,12 @@ template(name="cardTriggers")
           option(value="removed") {{_'r-removed-from'}}
           option(value="removed") {{_'r-removed-from'}}
       div.trigger-text 
       div.trigger-text 
         | {{_'r-a-card'}}
         | {{_'r-a-card'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-attachment-trigger.js-goto-action
     div.trigger-button.js-add-attachment-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus

+ 42 - 0
client/components/rules/triggers/checklistTriggers.jade

@@ -9,6 +9,13 @@ template(name="checklistTriggers")
           option(value="removed") {{_'r-removed-from'}}
           option(value="removed") {{_'r-removed-from'}}
       div.trigger-text 
       div.trigger-text 
         | {{_'r-a-card'}}
         | {{_'r-a-card'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-gen-check-trigger.js-goto-action
     div.trigger-button.js-add-gen-check-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -27,6 +34,13 @@ template(name="checklistTriggers")
           option(value="removed") {{_'r-removed-from'}}
           option(value="removed") {{_'r-removed-from'}}
       div.trigger-text 
       div.trigger-text 
         | {{_'r-a-card'}}
         | {{_'r-a-card'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-spec-check-trigger.js-goto-action
     div.trigger-button.js-add-spec-check-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -38,6 +52,13 @@ template(name="checklistTriggers")
         select(id="gen-comp-check-action")
         select(id="gen-comp-check-action")
           option(value="completed") {{_'r-completed'}}
           option(value="completed") {{_'r-completed'}}
           option(value="uncompleted") {{_'r-made-incomplete'}}
           option(value="uncompleted") {{_'r-made-incomplete'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-gen-comp-trigger.js-goto-action
     div.trigger-button.js-add-gen-comp-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -53,6 +74,13 @@ template(name="checklistTriggers")
         select(id="spec-comp-check-action")
         select(id="spec-comp-check-action")
           option(value="completed") {{_'r-completed'}}
           option(value="completed") {{_'r-completed'}}
           option(value="uncompleted") {{_'r-made-incomplete'}}
           option(value="uncompleted") {{_'r-made-incomplete'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-spec-comp-trigger.js-goto-action
     div.trigger-button.js-add-spec-comp-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -64,6 +92,13 @@ template(name="checklistTriggers")
         select(id="check-item-gen-action")
         select(id="check-item-gen-action")
           option(value="checked") {{_'r-checked'}}
           option(value="checked") {{_'r-checked'}}
           option(value="unchecked") {{_'r-unchecked'}}
           option(value="unchecked") {{_'r-unchecked'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-gen-check-item-trigger.js-goto-action
     div.trigger-button.js-add-gen-check-item-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus
 
 
@@ -79,5 +114,12 @@ template(name="checklistTriggers")
         select(id="check-item-spec-action")
         select(id="check-item-spec-action")
           option(value="checked") {{_'r-checked'}}
           option(value="checked") {{_'r-checked'}}
           option(value="unchecked") {{_'r-unchecked'}}
           option(value="unchecked") {{_'r-unchecked'}}
+      div.trigger-button.trigger-button-person.js-show-user-field
+        i.fa.fa-user
+      div.user-details.hide-element
+        div.trigger-text
+          | {{_'r-by'}}
+        div.trigger-dropdown
+          input(class="user-name",id="create-list-name",type=text,placeholder="{{_'r-user-name'}}")
     div.trigger-button.js-add-spec-check-item-trigger.js-goto-action
     div.trigger-button.js-add-spec-check-item-trigger.js-goto-action
       i.fa.fa-plus
       i.fa.fa-plus

+ 2 - 0
i18n/en.i18n.json

@@ -610,6 +610,8 @@
     "r-d-check-of-list": "of checklist",
     "r-d-check-of-list": "of checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
+    "r-by": "by",
+    "r-user-name": "username",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "ldap": "LDAP",
     "ldap": "LDAP",
     "oauth2": "OAuth2",
     "oauth2": "OAuth2",

+ 18 - 18
server/triggersDef.js

@@ -1,57 +1,57 @@
 TriggersDef = {
 TriggersDef = {
   createCard:{
   createCard:{
-    matchingFields: ['boardId', 'listName'],
+    matchingFields: ['boardId', 'listName','userId'],
   },
   },
   moveCard:{
   moveCard:{
-    matchingFields: ['boardId', 'listName', 'oldListName'],
+    matchingFields: ['boardId', 'listName', 'oldListName','userId'],
   },
   },
   archivedCard:{
   archivedCard:{
-    matchingFields: ['boardId'],
+    matchingFields: ['boardId','userId'],
   },
   },
   restoredCard:{
   restoredCard:{
-    matchingFields: ['boardId'],
+    matchingFields: ['boardId','userId'],
   },
   },
   joinMember:{
   joinMember:{
-    matchingFields: ['boardId', 'username'],
+    matchingFields: ['boardId', 'username','userId'],
   },
   },
   unjoinMember:{
   unjoinMember:{
-    matchingFields: ['boardId', 'username'],
+    matchingFields: ['boardId', 'username','userId'],
   },
   },
   addChecklist:{
   addChecklist:{
-    matchingFields: ['boardId', 'checklistName'],
+    matchingFields: ['boardId', 'checklistName','userId'],
   },
   },
   removeChecklist:{
   removeChecklist:{
-    matchingFields: ['boardId', 'checklistName'],
+    matchingFields: ['boardId', 'checklistName','userId'],
   },
   },
   completeChecklist:{
   completeChecklist:{
-    matchingFields: ['boardId', 'checklistName'],
+    matchingFields: ['boardId', 'checklistName','userId'],
   },
   },
   uncompleteChecklist:{
   uncompleteChecklist:{
-    matchingFields: ['boardId', 'checklistName'],
+    matchingFields: ['boardId', 'checklistName','userId'],
   },
   },
   addedChecklistItem:{
   addedChecklistItem:{
-    matchingFields: ['boardId', 'checklistItemName'],
+    matchingFields: ['boardId', 'checklistItemName','userId'],
   },
   },
   removedChecklistItem:{
   removedChecklistItem:{
-    matchingFields: ['boardId', 'checklistItemName'],
+    matchingFields: ['boardId', 'checklistItemName','userId'],
   },
   },
   checkedItem:{
   checkedItem:{
-    matchingFields: ['boardId', 'checklistItemName'],
+    matchingFields: ['boardId', 'checklistItemName','userId'],
   },
   },
   uncheckedItem:{
   uncheckedItem:{
-    matchingFields: ['boardId', 'checklistItemName'],
+    matchingFields: ['boardId', 'checklistItemName','userId'],
   },
   },
   addAttachment:{
   addAttachment:{
-    matchingFields: ['boardId'],
+    matchingFields: ['boardId','userId'],
   },
   },
   deleteAttachment:{
   deleteAttachment:{
-    matchingFields: ['boardId'],
+    matchingFields: ['boardId','userId'],
   },
   },
   addedLabel:{
   addedLabel:{
-    matchingFields: ['boardId', 'labelId'],
+    matchingFields: ['boardId', 'labelId','userId'],
   },
   },
   removedLabel:{
   removedLabel:{
-    matchingFields: ['boardId', 'labelId'],
+    matchingFields: ['boardId', 'labelId','userId'],
   },
   },
 };
 };