diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade index 4a5040e76..b36af1ceb 100644 --- a/client/components/cards/minicard.jade +++ b/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 diff --git a/client/components/lists/listHeader.jade b/client/components/lists/listHeader.jade index df3c31f51..160be7b11 100644 --- a/client/components/lists/listHeader.jade +++ b/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 diff --git a/client/components/swimlanes/swimlaneHeader.jade b/client/components/swimlanes/swimlaneHeader.jade index 04548ffa6..a0a44eb7f 100644 --- a/client/components/swimlanes/swimlaneHeader.jade +++ b/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 diff --git a/client/config/blazeHelpers.js b/client/config/blazeHelpers.js index 967b83059..333913dfc 100644 --- a/client/config/blazeHelpers.js +++ b/client/config/blazeHelpers.js @@ -73,6 +73,10 @@ Blaze.registerHelper('canModifyCard', () => Utils.canModifyCard(), ); +Blaze.registerHelper('canMoveCard', () => + Utils.canMoveCard(), +); + Blaze.registerHelper('canModifyBoard', () => Utils.canModifyBoard(), ); diff --git a/client/lib/utils.js b/client/lib/utils.js index a20d65f00..078dfe967 100644 --- a/client/lib/utils.js +++ b/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 = (