Browse Source

Fix Worker Permissions does not allow for cards to be moved. - v8.15.

Thanks to xet7 !

Fixes #5990
Lauri Ojansivu 5 hours ago
parent
commit
18003900c2

+ 1 - 0
client/components/cards/minicard.jade

@@ -5,6 +5,7 @@ template(name="minicard")
     class="{{#if colorClass}}minicard-{{colorClass}}{{/if}}")
     if canModifyCard
       a.minicard-details-menu-with-handle.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}") ☰
+    if canMoveCard
       .handle
         | ↕️
     .dates

+ 4 - 2
client/components/lists/listHeader.jade

@@ -55,7 +55,8 @@ template(name="listHeader")
               a.js-open-list-menu(title="{{_ 'listActionPopup-title'}}") ☰
         else
           a.list-header-menu-icon.js-select-list ▶️
-          a.list-header-handle.handle.js-list-handle ↕️
+          unless currentUser.isWorker
+            a.list-header-handle.handle.js-list-handle ↕️
       else if currentUser.isBoardMember
         if isWatching
           i.list-header-watch-icon | 👁️
@@ -72,7 +73,8 @@ template(name="listHeader")
                 a.js-open-list-menu(title="{{_ 'listActionPopup-title'}}") ☰
             if currentUser.isBoardMember
               unless currentUser.isCommentOnly
-                a.list-header-handle.handle.js-list-handle ↕️
+                unless currentUser.isWorker
+                  a.list-header-handle.handle.js-list-handle ↕️
 
 template(name="editListTitleForm")
   .list-composer

+ 20 - 19
client/components/swimlanes/swimlaneHeader.jade

@@ -25,25 +25,26 @@ template(name="swimlaneFixedHeader")
   .swimlane-header-menu
     if currentUser
       unless currentUser.isCommentOnly
-        a.js-open-add-swimlane-menu.swimlane-header-plus-icon(title="{{_ 'add-swimlane'}}")
-          | ➕
-        a.js-open-swimlane-menu(title="{{_ 'swimlaneActionPopup-title'}}")
-          | ☰
-        //// TODO: Collapse Swimlane: make button working, etc.
-        //unless collapsed
-        //  a.js-collapse-swimlane(title="{{_ 'collapse'}}")
-        //    i.fa.fa-arrow-down.swimlane-header-collapse-down
-        //    ⬆️.swimlane-header-collapse-up
-        //if collapsed
-        //  a.js-collapse-swimlane(title="{{_ 'uncollapse'}}")
-        //    ⬆️.swimlane-header-collapse-up
-        //    i.fa.fa-arrow-down.swimlane-header-collapse-down
-        unless isTouchScreen
-          a.swimlane-header-handle.handle.js-swimlane-header-handle
-            | ↕️
-        if isTouchScreen
-          a.swimlane-header-miniscreen-handle.handle.js-swimlane-header-handle
-            | ↕️
+        unless currentUser.isWorker
+          a.js-open-add-swimlane-menu.swimlane-header-plus-icon(title="{{_ 'add-swimlane'}}")
+            | ➕
+          a.js-open-swimlane-menu(title="{{_ 'swimlaneActionPopup-title'}}")
+            | ☰
+          //// TODO: Collapse Swimlane: make button working, etc.
+          //unless collapsed
+          //  a.js-collapse-swimlane(title="{{_ 'collapse'}}")
+          //    i.fa.fa-arrow-down.swimlane-header-collapse-down
+          //    ⬆️.swimlane-header-collapse-up
+          //if collapsed
+          //  a.js-collapse-swimlane(title="{{_ 'uncollapse'}}")
+          //    ⬆️.swimlane-header-collapse-up
+          //    i.fa.fa-arrow-down.swimlane-header-collapse-down
+          unless isTouchScreen
+            a.swimlane-header-handle.handle.js-swimlane-header-handle
+              | ↕️
+          if isTouchScreen
+            a.swimlane-header-miniscreen-handle.handle.js-swimlane-header-handle
+              | ↕️
 
 template(name="editSwimlaneTitleForm")
   .list-composer

+ 4 - 0
client/config/blazeHelpers.js

@@ -73,6 +73,10 @@ Blaze.registerHelper('canModifyCard', () =>
   Utils.canModifyCard(),
 );
 
+Blaze.registerHelper('canMoveCard', () =>
+  Utils.canMoveCard(),
+);
+
 Blaze.registerHelper('canModifyBoard', () =>
   Utils.canModifyBoard(),
 );

+ 9 - 0
client/lib/utils.js

@@ -214,6 +214,15 @@ Utils = {
     );
     return ret;
   },
+  canMoveCard() {
+    const currentUser = ReactiveCache.getCurrentUser();
+    const ret = (
+      currentUser &&
+      currentUser.isBoardMember() &&
+      !currentUser.isCommentOnly()
+    );
+    return ret;
+  },
   canModifyBoard() {
     const currentUser = ReactiveCache.getCurrentUser();
     const ret = (