Przeglądaj źródła

Add more Font Awesome icons. This was originally added
at Wekan v3.58, removed at Wekan v3.60, and now
added back at Wekan v3.61.

Thanks to xet7 !

Lauri Ojansivu 5 lat temu
rodzic
commit
cd253522a3

+ 92 - 25
client/components/cards/cardDetails.jade

@@ -16,8 +16,8 @@ template(name="cardDetails")
           class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}")
           class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}")
             +viewer
             +viewer
               = getTitle
               = getTitle
-              if isWatching
-                i.fa.fa-eye.card-details-watch
+            if isWatching
+              i.card-details-watch.fa.fa-eye
         .card-details-path
         .card-details-path
           each parentList
           each parentList
             |   >  
             |   >  
@@ -37,7 +37,9 @@ template(name="cardDetails")
 
 
     .card-details-items
     .card-details-items
       .card-details-item.card-details-item-received
       .card-details-item.card-details-item-received
-        h3.card-details-item-title {{_ 'card-received'}}
+        h3
+          i.fa.fa-sign-out
+          card-details-item-title {{_ 'card-received'}}
         if getReceived
         if getReceived
           +cardReceivedDate
           +cardReceivedDate
         else
         else
@@ -45,7 +47,9 @@ template(name="cardDetails")
             a.js-received-date {{_ 'add'}}
             a.js-received-date {{_ 'add'}}
 
 
       .card-details-item.card-details-item-start
       .card-details-item.card-details-item-start
-        h3.card-details-item-title {{_ 'card-start'}}
+        h3
+          i.fa.fa-hourglass-start
+          card-details-item-title {{_ 'card-start'}}
         if getStart
         if getStart
           +cardStartDate
           +cardStartDate
         else
         else
@@ -53,7 +57,9 @@ template(name="cardDetails")
             a.js-start-date {{_ 'add'}}
             a.js-start-date {{_ 'add'}}
 
 
       .card-details-item.card-details-item-due
       .card-details-item.card-details-item-due
-        h3.card-details-item-title {{_ 'card-due'}}
+        h3
+          i.fa.fa-sign-in
+          card-details-item-title {{_ 'card-due'}}
         if getDue
         if getDue
           +cardDueDate
           +cardDueDate
         else
         else
@@ -61,7 +67,9 @@ template(name="cardDetails")
             a.js-due-date {{_ 'add'}}
             a.js-due-date {{_ 'add'}}
 
 
       .card-details-item.card-details-item-end
       .card-details-item.card-details-item-end
-        h3.card-details-item-title {{_ 'card-end'}}
+        h3
+          i.fa.fa-hourglass-end
+          card-details-item-title {{_ 'card-end'}}
         if getEnd
         if getEnd
           +cardEndDate
           +cardEndDate
         else
         else
@@ -70,7 +78,9 @@ template(name="cardDetails")
 
 
     .card-details-items
     .card-details-items
       .card-details-item.card-details-item-members
       .card-details-item.card-details-item-members
-        h3.card-details-item-title {{_ 'members'}}
+        h3
+          i.fa.fa-users
+          card-details-item-title {{_ 'members'}}
         each getMembers
         each getMembers
           +userAvatar(userId=this cardId=../_id)
           +userAvatar(userId=this cardId=../_id)
           | {{! XXX Hack to hide syntaxic coloration /// }}
           | {{! XXX Hack to hide syntaxic coloration /// }}
@@ -79,7 +89,9 @@ template(name="cardDetails")
             i.fa.fa-plus
             i.fa.fa-plus
 
 
       .card-details-item.card-details-item-assignees
       .card-details-item.card-details-item-assignees
-        h3.card-details-item-title {{_ 'assignee'}}
+        h3
+          i.fa.fa-user
+          card-details-item-title {{_ 'assignee'}}
         each getAssignees
         each getAssignees
           +userAvatarAssignee(userId=this cardId=../_id)
           +userAvatarAssignee(userId=this cardId=../_id)
           | {{! XXX Hack to hide syntaxic coloration /// }}
           | {{! XXX Hack to hide syntaxic coloration /// }}
@@ -89,7 +101,9 @@ template(name="cardDetails")
               i.fa.fa-plus
               i.fa.fa-plus
 
 
       .card-details-item.card-details-item-labels
       .card-details-item.card-details-item-labels
-        h3.card-details-item-title {{_ 'labels'}}
+        h3
+          i.fa.fa-tags
+          card-details-item-title {{_ 'labels'}}
         a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
         a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
           each labels
           each labels
             span.card-label(class="card-label-{{color}}" title=name)
             span.card-label(class="card-label-{{color}}" title=name)
@@ -118,7 +132,9 @@ template(name="cardDetails")
 
 
     //- XXX We should use "editable" to avoid repetiting ourselves
     //- XXX We should use "editable" to avoid repetiting ourselves
     if canModifyCard
     if canModifyCard
-      h3.card-details-item-title {{_ 'description'}}
+      h3
+        i.fa.fa-align-left
+        card-details-item-title {{_ 'description'}}
       +inlinedCardDescription(classNames="card-description js-card-description")
       +inlinedCardDescription(classNames="card-description js-card-description")
         +editor(autofocus=true)
         +editor(autofocus=true)
           | {{getUnsavedValue 'cardDescription' _id getDescription}}
           | {{getUnsavedValue 'cardDescription' _id getDescription}}
@@ -145,7 +161,9 @@ template(name="cardDetails")
 
 
     .card-details-items
     .card-details-items
       .card-details-item.card-details-item-name
       .card-details-item.card-details-item-name
-        h3.card-details-item-title {{_ 'requested-by'}}
+        h3
+          i.fa.fa-shopping-cart
+          card-details-item-title {{_ 'requested-by'}}
         if canModifyCard
         if canModifyCard
           +inlinedForm(classNames="js-card-details-requester")
           +inlinedForm(classNames="js-card-details-requester")
             +editCardRequesterForm
             +editCardRequesterForm
@@ -161,7 +179,9 @@ template(name="cardDetails")
             = getRequestedBy
             = getRequestedBy
 
 
       .card-details-item.card-details-item-name
       .card-details-item.card-details-item-name
-        h3.card-details-item-title {{_ 'assigned-by'}}
+        h3
+          i.fa.fa-user-plus
+          card-details-item-title {{_ 'assigned-by'}}
         if canModifyCard
         if canModifyCard
           +inlinedForm(classNames="js-card-details-assigner")
           +inlinedForm(classNames="js-card-details-assigner")
             +editCardAssignerForm
             +editCardAssignerForm
@@ -193,7 +213,9 @@ template(name="cardDetails")
     hr
     hr
     unless currentUser.isNoComments
     unless currentUser.isNoComments
       .activity-title
       .activity-title
-        h3 {{ _ 'activity'}}
+        h3
+          i.fa.fa-history
+          | {{ _ 'activity'}}
         if currentUser.isBoardMember
         if currentUser.isBoardMember
           .material-toggle-switch
           .material-toggle-switch
             span.toggle-switch-title {{_ 'hide-system-messages'}}
             span.toggle-switch-title {{_ 'hide-system-messages'}}
@@ -235,32 +257,77 @@ template(name="editCardAssignerForm")
 
 
 template(name="cardDetailsActionsPopup")
 template(name="cardDetailsActionsPopup")
   ul.pop-over-list
   ul.pop-over-list
-    li: a.js-toggle-watch-card {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}}
+    li
+      a.js-toggle-watch-card
+        if isWatching
+          i.fa.fa-eye
+          |  {{_ 'unwatch'}}
+        else
+          i.fa.fa-eye-slash
+          |  {{_ 'watch'}}
   if canModifyCard
   if canModifyCard
     hr
     hr
     ul.pop-over-list
     ul.pop-over-list
       //li: a.js-members {{_ 'card-edit-members'}}
       //li: a.js-members {{_ 'card-edit-members'}}
       //li: a.js-labels {{_ 'card-edit-labels'}}
       //li: a.js-labels {{_ 'card-edit-labels'}}
       //li: a.js-attachments {{_ 'card-edit-attachments'}}
       //li: a.js-attachments {{_ 'card-edit-attachments'}}
-      li: a.js-custom-fields {{_ 'card-edit-custom-fields'}}
+      li
+        a.js-custom-fields
+          i.fa.fa-list-alt
+          | {{_ 'card-edit-custom-fields'}}
       //li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
       //li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
       //li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
       //li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
       //li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
       //li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
       //li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
       //li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
-      li: a.js-spent-time {{_ 'editCardSpentTimePopup-title'}}
-      li: a.js-set-card-color {{_ 'setCardColorPopup-title'}}
+      li
+        a.js-spent-time
+          i.fa.fa-clock-o
+          | {{_ 'editCardSpentTimePopup-title'}}
+      li
+        a.js-set-card-color
+          i.fa.fa-paint-brush
+          | {{_ 'setCardColorPopup-title'}}
     hr
     hr
     ul.pop-over-list
     ul.pop-over-list
-      li: a.js-move-card-to-top {{_ 'moveCardToTop-title'}}
-      li: a.js-move-card-to-bottom {{_ 'moveCardToBottom-title'}}
+      li
+        a.js-move-card-to-top
+          i.fa.fa-arrow-up
+          | {{_ 'moveCardToTop-title'}}
+      li
+        a.js-move-card-to-bottom
+          i.fa.fa-arrow-down
+          | {{_ 'moveCardToBottom-title'}}
     hr
     hr
     ul.pop-over-list
     ul.pop-over-list
-      li: a.js-move-card {{_ 'moveCardPopup-title'}}
-      li: a.js-copy-card {{_ 'copyCardPopup-title'}}
-      li: a.js-copy-checklist-cards {{_ 'copyChecklistToManyCardsPopup-title'}}
+      li
+        a.js-move-card
+          i.fa.fa-arrow-right
+          | {{_ 'moveCardPopup-title'}}
+      li
+        a.js-copy-card
+          i.fa.fa-copy
+          | {{_ 'copyCardPopup-title'}}
+      hr
+      ul.pop-over-list
+        li
+          a.js-copy-checklist-cards
+            i.fa.fa-list
+            i.fa.fa-copy
+            | {{_ 'copyChecklistToManyCardsPopup-title'}}
       unless archived
       unless archived
-        li: a.js-archive {{_ 'archive-card'}}
-      li: a.js-more {{_ 'cardMorePopup-title'}}
+        hr
+        ul.pop-over-list
+          li
+            a.js-archive
+              i.fa.fa-arrow-right
+              i.fa.fa-archive
+              | {{_ 'archive-card'}}
+      hr
+      ul.pop-over-list
+        li
+          a.js-more
+            i.fa.fa-link
+            | {{_ 'cardMorePopup-title'}}
 
 
 template(name="moveCardPopup")
 template(name="moveCardPopup")
   +boardsAndLists
   +boardsAndLists
@@ -349,7 +416,7 @@ template(name="cardAssigneePopup")
         p.quiet @{{ user.username }}
         p.quiet @{{ user.username }}
     ul.pop-over-list
     ul.pop-over-list
       if currentUser.isNotCommentOnly
       if currentUser.isNotCommentOnly
-          li: a.js-remove-assignee {{_ 'remove-member-from-card'}}
+        li: a.js-remove-assignee {{_ 'remove-member-from-card'}}
 
 
       if $eq currentUser._id user._id
       if $eq currentUser._id user._id
         with currentUser
         with currentUser

+ 3 - 1
client/components/cards/checklists.jade

@@ -1,5 +1,7 @@
 template(name="checklists")
 template(name="checklists")
-  h3 {{_ 'checklists'}}
+  h3
+    i.fa.fa-check
+    | {{_ 'checklists'}}
   if toggleDeleteDialog.get
   if toggleDeleteDialog.get
     .board-overlay#card-details-overlay
     .board-overlay#card-details-overlay
     +checklistDeleteDialog(checklist = checklistToDelete)
     +checklistDeleteDialog(checklist = checklistToDelete)

+ 3 - 1
client/components/cards/subtasks.jade

@@ -1,5 +1,7 @@
 template(name="subtasks")
 template(name="subtasks")
-  h3 {{_ 'subtasks'}}
+  h3
+    i.fa.fa-sitemap
+    | {{_ 'subtasks'}}
   if toggleDeleteDialog.get
   if toggleDeleteDialog.get
     .board-overlay#card-details-overlay
     .board-overlay#card-details-overlay
     +subtaskDeleteDialog(subtask = subtaskToDelete)
     +subtaskDeleteDialog(subtask = subtaskToDelete)

+ 30 - 10
client/components/lists/listHeader.jade

@@ -56,25 +56,45 @@ template(name="editListTitleForm")
 
 
 template(name="listActionPopup")
 template(name="listActionPopup")
   ul.pop-over-list
   ul.pop-over-list
-    li: a.js-toggle-watch-list {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}}
+    li
+      a.js-toggle-watch-list
+        if isWatching
+          i.fa.fa-eye
+          |  {{_ 'unwatch'}}
+        else
+          i.fa.fa-eye-slash
+          |  {{_ 'watch'}}
   unless currentUser.isCommentOnly
   unless currentUser.isCommentOnly
-    hr
     ul.pop-over-list
     ul.pop-over-list
-      li: a.js-set-color-list {{_ 'set-color-list'}}
-    hr
+      li
+        a.js-set-color-list
+          i.fa.fa-paint-brush
+          | {{_ 'set-color-list'}}
     ul.pop-over-list
     ul.pop-over-list
       if cards.count
       if cards.count
-        li: a.js-select-cards {{_ 'list-select-cards'}}
-        hr
+        li
+          a.js-select-cards
+            i.fa.fa-check-square
+            | {{_ 'list-select-cards'}}
     if currentUser.isBoardAdmin
     if currentUser.isBoardAdmin
       ul.pop-over-list
       ul.pop-over-list
-        li: a.js-set-wip-limit {{#if isWipLimitEnabled }}{{_ 'edit-wip-limit'}}{{else}}{{_ 'setWipLimitPopup-title'}}{{/if}}
-      hr
+        li
+          a.js-set-wip-limit
+            i.fa.fa-ban
+            | {{#if isWipLimitEnabled }}{{_ 'edit-wip-limit'}}{{else}}{{_ 'setWipLimitPopup-title'}}{{/if}}
+    hr
     ul.pop-over-list
     ul.pop-over-list
-      li: a.js-close-list {{_ 'archive-list'}}
+      li
+        a.js-close-list
+          i.fa.fa-arrow-right
+          i.fa.fa-archive
+          | {{_ 'archive-list'}}
     hr
     hr
     ul.pop-over-list
     ul.pop-over-list
-      li: a.js-more {{_ 'listMorePopup-title'}}
+      li
+        a.js-more
+          i.fa.fa-link
+          | {{_ 'listMorePopup-title'}}
 
 
 template(name="boardLists")
 template(name="boardLists")
   ul.pop-over-list
   ul.pop-over-list

+ 6 - 2
client/components/settings/informationBody.jade

@@ -4,12 +4,16 @@ template(name='information')
       | {{_ 'error-notAuthorized'}}
       | {{_ 'error-notAuthorized'}}
     else
     else
       .content-title
       .content-title
-        span {{_ 'info'}}
+        span
+          i.fa.fa-info-circle
+          | {{_ 'info'}}
       .content-body
       .content-body
         .side-menu
         .side-menu
           ul
           ul
             li.active
             li.active
-              a.js-setting-menu(data-id="information-display") {{_ 'info'}}
+              a.js-setting-menu(data-id="information-display")
+                i.fa.fa-info-circle
+                | {{_ 'info'}}
         .main-body
         .main-body
           +statistics
           +statistics
 
 

+ 10 - 3
client/components/settings/peopleBody.jade

@@ -5,16 +5,22 @@ template(name="people")
     else
     else
       .content-title.ext-box
       .content-title.ext-box
         .ext-box-left
         .ext-box-left
-          span {{_ 'people'}}
+          span
+            i.fa.fa-users
+            | {{_ 'people'}}
           input#searchInput(placeholder="{{_ 'search'}}")
           input#searchInput(placeholder="{{_ 'search'}}")
-          button#searchButton {{_ 'search'}}
+          button#searchButton
+            i.fa.fa-search
+            | {{_ 'search'}}
         .ext-box-right
         .ext-box-right
           span {{_ 'people-number'}} #{peopleNumber}
           span {{_ 'people-number'}} #{peopleNumber}
       .content-body
       .content-body
         .side-menu
         .side-menu
           ul
           ul
             li.active
             li.active
-              a.js-setting-menu(data-id="people-setting") {{_ 'people'}}
+              a.js-setting-menu(data-id="people-setting")
+                i.fa.fa-users
+                | {{_ 'people'}}
         .main-body
         .main-body
           if loading.get
           if loading.get
             +spinner
             +spinner
@@ -90,6 +96,7 @@ template(name="peopleRow")
       td {{_ userData.authenticationMethod }}
       td {{_ userData.authenticationMethod }}
     td
     td
       a.edit-user
       a.edit-user
+        i.fa.fa-edit
         | {{_ 'edit'}}
         | {{_ 'edit'}}
 
 
 template(name="editUserPopup")
 template(name="editUserPopup")

+ 1 - 1
client/components/settings/peopleBody.styl

@@ -33,7 +33,7 @@ table
     padding: 0;
     padding: 0;
 
 
   button
   button
-    min-width: 60px;
+    min-width: 90px;
 
 
 .content-wrapper
 .content-wrapper
   margin-top: 10px
   margin-top: 10px

+ 19 - 6
client/components/settings/settingBody.jade

@@ -4,22 +4,35 @@ template(name="setting")
       | {{_ 'error-notAuthorized'}}
       | {{_ 'error-notAuthorized'}}
     else
     else
       .content-title
       .content-title
+        i.fa.fa-cog
         span {{_ 'settings'}}
         span {{_ 'settings'}}
       .content-body
       .content-body
         .side-menu
         .side-menu
           ul
           ul
             li.active
             li.active
-              a.js-setting-menu(data-id="registration-setting") {{_ 'registration'}}
+              a.js-setting-menu(data-id="registration-setting")
+                i.fa.fa-sign-in
+                | {{_ 'registration'}}
             li
             li
-              a.js-setting-menu(data-id="email-setting") {{_ 'email'}}
+              a.js-setting-menu(data-id="email-setting")
+                i.fa.fa-envelope
+                | {{_ 'email'}}
             li
             li
-              a.js-setting-menu(data-id="account-setting") {{_ 'accounts'}}
+              a.js-setting-menu(data-id="account-setting")
+                i.fa.fa-users
+                | {{_ 'accounts'}}
             li
             li
-              a.js-setting-menu(data-id="announcement-setting") {{_ 'admin-announcement'}}
+              a.js-setting-menu(data-id="announcement-setting")
+                i.fa.fa-bullhorn
+                | {{_ 'admin-announcement'}}
             li
             li
-              a.js-setting-menu(data-id="layout-setting") {{_ 'layout'}}
+              a.js-setting-menu(data-id="layout-setting")
+                i.fa.fa-object-group
+                | {{_ 'layout'}}
             li
             li
-              a.js-setting-menu(data-id="webhook-setting") {{_ 'global-webhook'}}
+              a.js-setting-menu(data-id="webhook-setting")
+                i.fa.fa-globe
+                | {{_ 'global-webhook'}}
         .main-body
         .main-body
           if loading.get
           if loading.get
             +spinner
             +spinner

+ 4 - 1
client/components/settings/settingBody.styl

@@ -41,15 +41,18 @@
           &:hover
           &:hover
             background #fff
             background #fff
             box-shadow 0 1px 2px rgba(0,0,0,0.15);
             box-shadow 0 1px 2px rgba(0,0,0,0.15);
+
           a
           a
             @extends .flex
             @extends .flex
             padding: 1rem 0 1rem 1rem
             padding: 1rem 0 1rem 1rem
             width: 100% - 5rem
             width: 100% - 5rem
 
 
-
             span
             span
               font-size: 13px
               font-size: 13px
 
 
+            i
+              margin-right: 20px
+
     .main-body
     .main-body
       padding: 0.1em 1em
       padding: 0.1em 1em
       -webkit-user-select: text // Safari 3.1+
       -webkit-user-select: text // Safari 3.1+

+ 60 - 18
client/components/sidebar/sidebar.jade

@@ -37,7 +37,7 @@ template(name='homeSidebar')
 template(name="membersWidget")
 template(name="membersWidget")
   .board-widget.board-widget-members
   .board-widget.board-widget-members
     h3
     h3
-      i.fa.fa-user
+      i.fa.fa-users
       | {{_ 'members'}}
       | {{_ 'members'}}
       unless currentUser.isCommentOnly
       unless currentUser.isCommentOnly
         a.board-header-btn.js-open-board-menu(title="{{_ 'boardMenuPopup-title'}}").right
         a.board-header-btn.js-open-board-menu(title="{{_ 'boardMenuPopup-title'}}").right
@@ -130,7 +130,9 @@ template(name="chooseBoardSource")
 
 
 template(name="archiveBoardPopup")
 template(name="archiveBoardPopup")
   p {{_ 'close-board-pop'}}
   p {{_ 'close-board-pop'}}
-  button.js-confirm.negate.full(type="submit") {{_ 'archive'}}
+  button.js-confirm.negate.full(type="submit")
+    i.fa.fa-archive
+    | {{_ 'archive'}}
 
 
 template(name="outgoingWebhooksPopup")
 template(name="outgoingWebhooksPopup")
   each integrations
   each integrations
@@ -163,37 +165,78 @@ template(name="outgoingWebhooksPopup")
 template(name="boardMenuPopup")
 template(name="boardMenuPopup")
   ul.pop-over-list
   ul.pop-over-list
     li: a.js-custom-fields {{_ 'custom-fields'}}
     li: a.js-custom-fields {{_ 'custom-fields'}}
-    li: a.js-open-archives {{_ 'archived-items'}}
+    li
+      a.js-open-archives
+        i.fa.fa-archive
+        | {{_ 'archived-items'}}
     if currentUser.isBoardAdmin
     if currentUser.isBoardAdmin
-      li: a.js-change-board-color {{_ 'board-change-color'}}
+      li
+        a.js-change-board-color
+          i.fa.fa-paint-brush
+          | {{_ 'board-change-color'}}
+
     //-
     //-
       XXX Language should be handled by sandstorm, but for now display a
       XXX Language should be handled by sandstorm, but for now display a
       language selection link in the board menu. This link is normally present
       language selection link in the board menu. This link is normally present
       in the header bar that is not displayed on sandstorm.
       in the header bar that is not displayed on sandstorm.
     if isSandstorm
     if isSandstorm
-      li: a.js-change-language {{_ 'language'}}
+      li
+        a.js-change-language
+          i.fa.fa-flag
+          | {{_ 'language'}}
   unless isSandstorm
   unless isSandstorm
     if currentUser.isBoardAdmin
     if currentUser.isBoardAdmin
       hr
       hr
       ul.pop-over-list
       ul.pop-over-list
-        li: a(href="{{exportUrl}}", download="{{exportFilename}}") {{_ 'export-board'}}
-        unless currentBoard.isTemplatesBoard
-          li: a.js-archive-board {{_ 'archive-board'}}
-        li: a.js-outgoing-webhooks {{_ 'outgoing-webhooks'}}
-      hr
-      ul.pop-over-list
-        li: a.js-subtask-settings {{_ 'subtask-settings'}}
+        li
+          a(href="{{exportUrl}}", download="{{exportFilename}}")
+            i.fa.fa-share-alt
+            | {{_ 'export-board'}}
+        li
+          a.js-outgoing-webhooks
+            i.fa.fa-globe
+            | {{_ 'outgoing-webhooks'}}
+        li
+          a.js-subtask-settings
+            i.fa.fa-sitemap
+            | {{_ 'subtask-settings'}}
+      unless currentBoard.isTemplatesBoard
+        hr
+        ul.pop-over-list
+          li
+            a.js-archive-board
+              i.fa.fa-arrow-right
+              i.fa.fa-archive
+              | {{_ 'archive-board'}}
 
 
   if isSandstorm
   if isSandstorm
     hr
     hr
     ul.pop-over-list
     ul.pop-over-list
-      li: a(href="{{exportUrl}}", download="{{exportFilename}}") {{_ 'export-board'}}
-      li: a.js-import-board {{_ 'import-board-c'}}
-      li: a.js-archive-board {{_ 'archive-board'}}
-      li: a.js-outgoing-webhooks {{_ 'outgoing-webhooks'}}
+      li
+        a(href="{{exportUrl}}", download="{{exportFilename}}")
+          i.fa.fa-share-alt
+          i.fa.fa-sign-out
+          | {{_ 'export-board'}}
+      li
+        a.js-import-board
+          i.fa.fa-share-alt
+          i.fa.fa-sign-in
+          | {{_ 'import-board-c'}}
+      li
+        a.js-archive-board
+          i.fa.fa-arrow-right
+          i.fa.fa-archive
+          | {{_ 'archive-board'}}
+      li
+        a.js-outgoing-webhooks
+          i.fa.fa-globe
+          | {{_ 'outgoing-webhooks'}}
     hr
     hr
     ul.pop-over-list
     ul.pop-over-list
-      li: a.js-subtask-settings {{_ 'subtask-settings'}}
+      li
+        a.js-subtask-settings
+          i.fa.fa-sitemap
+          | {{_ 'subtask-settings'}}
 
 
 template(name="labelsWidget")
 template(name="labelsWidget")
   .board-widget.board-widget-labels
   .board-widget.board-widget-labels
@@ -238,7 +281,6 @@ template(name="memberPopup")
         else if currentUser.isBoardAdmin
         else if currentUser.isBoardAdmin
           a.js-remove-member {{_ 'remove-from-board'}}
           a.js-remove-member {{_ 'remove-from-board'}}
 
 
-
 template(name="removeMemberPopup")
 template(name="removeMemberPopup")
   p {{_ 'remove-member-pop' name=user.profile.fullname username=user.username boardTitle=board.title}}
   p {{_ 'remove-member-pop' name=user.profile.fullname username=user.username boardTitle=board.title}}
   button.js-confirm.negate.full(type="submit") {{_ 'remove-member'}}
   button.js-confirm.negate.full(type="submit") {{_ 'remove-member'}}

+ 8 - 7
client/components/sidebar/sidebarFilters.jade

@@ -117,13 +117,14 @@ template(name="multiselectionSidebar")
               i.fa.fa-check
               i.fa.fa-check
             else if someSelectedElementHave 'member' _id
             else if someSelectedElementHave 'member' _id
               i.fa.fa-ellipsis-h
               i.fa.fa-ellipsis-h
-  hr
-  a.sidebar-btn.js-move-selection
-    i.fa.fa-share
-    span {{_ 'move-selection'}}
-  a.sidebar-btn.js-archive-selection
-    i.fa.fa-archive
-    span {{_ 'archive-selection'}}
+  unless currentUser.isWorker
+    hr
+    a.sidebar-btn.js-move-selection
+      i.fa.fa-share
+      span {{_ 'move-selection'}}
+    a.sidebar-btn.js-archive-selection
+      i.fa.fa-archive
+      span {{_ 'archive-selection'}}
 
 
 template(name="disambiguateMultiLabelPopup")
 template(name="disambiguateMultiLabelPopup")
   p {{_ 'what-to-do'}}
   p {{_ 'what-to-do'}}

+ 1 - 1
client/components/users/userAvatar.jade

@@ -73,7 +73,7 @@ template(name="cardMemberPopup")
         p.quiet @{{ user.username }}
         p.quiet @{{ user.username }}
     ul.pop-over-list
     ul.pop-over-list
       if currentUser.isNotCommentOnly
       if currentUser.isNotCommentOnly
-          li: a.js-remove-member {{_ 'remove-member-from-card'}}
+        li: a.js-remove-member {{_ 'remove-member-from-card'}}
 
 
       if $eq currentUser._id user._id
       if $eq currentUser._id user._id
         with currentUser
         with currentUser

+ 35 - 9
client/components/users/userHeader.jade

@@ -13,21 +13,45 @@ template(name="headerUserBar")
 template(name="memberMenuPopup")
 template(name="memberMenuPopup")
   ul.pop-over-list
   ul.pop-over-list
     with currentUser
     with currentUser
-      li: a.js-edit-profile {{_ 'edit-profile'}}
-      li: a.js-change-settings {{_ 'change-settings'}}
-      li: a.js-change-avatar {{_ 'edit-avatar'}}
+      li
+        a.js-edit-profile
+          i.fa.fa-user
+          | {{_ 'edit-profile'}}
+      li
+        a.js-change-settings
+          i.fa.fa-cog
+          | {{_ 'change-settings'}}
+      li
+        a.js-change-avatar
+          i.fa.fa-picture-o
+          | {{_ 'edit-avatar'}}
       unless isSandstorm
       unless isSandstorm
-        li: a.js-change-password {{_ 'changePasswordPopup-title'}}
-        li: a.js-change-language {{_ 'changeLanguagePopup-title'}}
+        li
+          a.js-change-password
+            i.fa.fa-key
+            | {{_ 'changePasswordPopup-title'}}
+        li
+          a.js-change-language
+            i.fa.fa-flag
+            | {{_ 'changeLanguagePopup-title'}}
     if currentUser.isAdmin
     if currentUser.isAdmin
-      li: a.js-go-setting(href="{{pathFor 'setting'}}") {{_ 'admin-panel'}}
+      li
+        a.js-go-setting(href="{{pathFor 'setting'}}")
+          i.fa.fa-lock
+          | {{_ 'admin-panel'}}
   hr
   hr
   ul.pop-over-list
   ul.pop-over-list
-    li: a(href="{{pathFor 'board' id=templatesBoardId slug=templatesBoardSlug}}") {{_ 'templates'}}
+    li
+      a(href="{{pathFor 'board' id=templatesBoardId slug=templatesBoardSlug}}")
+        i.fa.fa-clone
+        | {{_ 'templates'}}
   unless isSandstorm
   unless isSandstorm
     hr
     hr
     ul.pop-over-list
     ul.pop-over-list
-      li: a.js-logout {{_ 'log-out'}}
+      li
+        a.js-logout
+          i.fa.fa-sign-out
+          | {{_ 'log-out'}}
 
 
 template(name="editProfilePopup")
 template(name="editProfilePopup")
   form
   form
@@ -75,21 +99,23 @@ template(name="changeSettingsPopup")
   ul.pop-over-list
   ul.pop-over-list
     li
     li
       a.js-toggle-system-messages
       a.js-toggle-system-messages
+        i.fa.fa-comments-o
         | {{_ 'hide-system-messages'}}
         | {{_ 'hide-system-messages'}}
         if hiddenSystemMessages
         if hiddenSystemMessages
           i.fa.fa-check
           i.fa.fa-check
     li
     li
       a.js-toggle-desktop-drag-handles
       a.js-toggle-desktop-drag-handles
+        i.fa.fa-arrows
         | {{_ 'show-desktop-drag-handles'}}
         | {{_ 'show-desktop-drag-handles'}}
         if showDesktopDragHandles
         if showDesktopDragHandles
           i.fa.fa-check
           i.fa.fa-check
     li
     li
       label.bold
       label.bold
+        i.fa.fa-sort-numeric-asc
         | {{_ 'show-cards-minimum-count'}}
         | {{_ 'show-cards-minimum-count'}}
       input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false")
       input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false")
       input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}")
       input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}")
 
 
-
 template(name="userDeletePopup")
 template(name="userDeletePopup")
   p {{_ 'delete-user-confirm-popup'}}
   p {{_ 'delete-user-confirm-popup'}}
   button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
   button.js-confirm.negate.full(type="submit") {{_ 'delete'}}

+ 21 - 3
client/components/users/userHeader.js

@@ -45,13 +45,31 @@ Template.memberMenuPopup.events({
 
 
 Template.editProfilePopup.helpers({
 Template.editProfilePopup.helpers({
   allowEmailChange() {
   allowEmailChange() {
-    return AccountSettings.findOne('accounts-allowEmailChange').booleanValue;
+    Meteor.call('AccountSettings.allowEmailChange', (_, result) => {
+      if (result) {
+        return true;
+      } else {
+        return false;
+      }
+    });
   },
   },
   allowUserNameChange() {
   allowUserNameChange() {
-    return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
+    Meteor.call('AccountSettings.allowUserNameChange', (_, result) => {
+      if (result) {
+        return true;
+      } else {
+        return false;
+      }
+    });
   },
   },
   allowUserDelete() {
   allowUserDelete() {
-    return AccountSettings.findOne('accounts-allowUserDelete').booleanValue;
+    Meteor.call('AccountSettings.allowUserDelete', (_, result) => {
+      if (result) {
+        return true;
+      } else {
+        return false;
+      }
+    });
   },
   },
 });
 });
 
 

+ 12 - 0
models/accountSettings.js

@@ -82,4 +82,16 @@ if (Meteor.isServer) {
   });
   });
 }
 }
 
 
+AccountSettings.helpers({
+  allowEmailChange() {
+    return AccountSettings.findOne('accounts-allowEmailChange').booleanValue;
+  },
+  allowUserNameChange() {
+    return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
+  },
+  allowUserDelete() {
+    return AccountSettings.findOne('accounts-allowUserDelete').booleanValue;
+  },
+});
+
 export default AccountSettings;
 export default AccountSettings;