diff options
-rw-r--r-- | client/components/activities/activities.jade | 388 | ||||
-rw-r--r-- | client/components/cards/cardDetails.jade | 17 | ||||
-rw-r--r-- | client/components/sidebar/sidebar.jade | 6 | ||||
-rw-r--r-- | client/components/sidebar/sidebar.js | 16 | ||||
-rw-r--r-- | models/boards.js | 12 | ||||
-rw-r--r-- | server/migrations.js | 16 |
6 files changed, 254 insertions, 201 deletions
diff --git a/client/components/activities/activities.jade b/client/components/activities/activities.jade index deb73072..d7eff885 100644 --- a/client/components/activities/activities.jade +++ b/client/components/activities/activities.jade @@ -8,234 +8,236 @@ template(name="activities") +cardActivities template(name="boardActivities") - each currentBoard.activities - .activity - +userAvatar(userId=user._id) - p.activity-desc - +memberName(user=user) + if currentBoard.allowsActivities + each currentBoard.activities + .activity + +userAvatar(userId=user._id) + p.activity-desc + +memberName(user=user) - if($eq activityType 'deleteAttachment') - | {{{_ 'activity-delete-attach' cardLink}}}. + if($eq activityType 'deleteAttachment') + | {{{_ 'activity-delete-attach' cardLink}}}. - if($eq activityType 'addAttachment') - | {{{_ 'activity-attached' attachmentLink cardLink}}}. + if($eq activityType 'addAttachment') + | {{{_ 'activity-attached' attachmentLink cardLink}}}. - if($eq activityType 'addBoardMember') - | {{{_ 'activity-added' memberLink boardLabel}}}. + if($eq activityType 'addBoardMember') + | {{{_ 'activity-added' memberLink boardLabel}}}. - if($eq activityType 'addComment') - | {{{_ 'activity-on' cardLink}}} - a.activity-comment(href="{{ card.absoluteUrl }}") - +viewer - = comment.text + if($eq activityType 'addComment') + | {{{_ 'activity-on' cardLink}}} + a.activity-comment(href="{{ card.absoluteUrl }}") + +viewer + = comment.text - if($eq activityType 'addChecklist') - | {{{_ 'activity-checklist-added' cardLink}}}. - .activity-checklist(href="{{ card.absoluteUrl }}") - +viewer - = checklist.title - if($eq activityType 'removeChecklist') - | {{{_ 'activity-checklist-removed' cardLink}}}. + if($eq activityType 'addChecklist') + | {{{_ 'activity-checklist-added' cardLink}}}. + .activity-checklist(href="{{ card.absoluteUrl }}") + +viewer + = checklist.title + if($eq activityType 'removeChecklist') + | {{{_ 'activity-checklist-removed' cardLink}}}. - if($eq activityType 'checkedItem') - | {{{_ 'activity-checked-item' checkItem checklist.title cardLink}}}. + if($eq activityType 'checkedItem') + | {{{_ 'activity-checked-item' checkItem checklist.title cardLink}}}. - if($eq activityType 'uncheckedItem') - | {{{_ 'activity-unchecked-item' checkItem checklist.title cardLink}}}. + if($eq activityType 'uncheckedItem') + | {{{_ 'activity-unchecked-item' checkItem checklist.title cardLink}}}. - if($eq activityType 'checklistCompleted') - | {{{_ 'activity-checklist-completed' checklist.title cardLink}}}. + if($eq activityType 'checklistCompleted') + | {{{_ 'activity-checklist-completed' checklist.title cardLink}}}. - if($eq activityType 'checklistUncompleted') - | {{{_ 'activity-checklist-uncompleted' checklist.title cardLink}}}. + if($eq activityType 'checklistUncompleted') + | {{{_ 'activity-checklist-uncompleted' checklist.title cardLink}}}. - if($eq activityType 'addChecklistItem') - | {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}. - .activity-checklist(href="{{ card.absoluteUrl }}") - +viewer - = checklistItem.title - if($eq activityType 'removedChecklistItem') - | {{{_ 'activity-checklist-item-removed' checklist.title cardLink}}}. + if($eq activityType 'addChecklistItem') + | {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}. + .activity-checklist(href="{{ card.absoluteUrl }}") + +viewer + = checklistItem.title + if($eq activityType 'removedChecklistItem') + | {{{_ 'activity-checklist-item-removed' checklist.title cardLink}}}. - if($eq activityType 'archivedCard') - | {{{_ 'activity-archived' cardLink}}}. + if($eq activityType 'archivedCard') + | {{{_ 'activity-archived' cardLink}}}. - if($eq activityType 'archivedList') - | {{_ 'activity-archived' list.title}}. + if($eq activityType 'archivedList') + | {{_ 'activity-archived' list.title}}. - if($eq activityType 'archivedSwimlane') - | {{_ 'activity-archived' swimlane.title}}. + if($eq activityType 'archivedSwimlane') + | {{_ 'activity-archived' swimlane.title}}. - if($eq activityType 'createBoard') - | {{_ 'activity-created' boardLabel}}. + if($eq activityType 'createBoard') + | {{_ 'activity-created' boardLabel}}. - if($eq activityType 'createCard') - | {{{_ 'activity-added' cardLink boardLabel}}}. + if($eq activityType 'createCard') + | {{{_ 'activity-added' cardLink boardLabel}}}. - if($eq activityType 'createCustomField') - | {{_ 'activity-customfield-created' customField}}. + if($eq activityType 'createCustomField') + | {{_ 'activity-customfield-created' customField}}. - if($eq activityType 'createList') - | {{_ 'activity-added' list.title boardLabel}}. + if($eq activityType 'createList') + | {{_ 'activity-added' list.title boardLabel}}. - if($eq activityType 'createSwimlane') - | {{_ 'activity-added' swimlane.title boardLabel}}. + if($eq activityType 'createSwimlane') + | {{_ 'activity-added' swimlane.title boardLabel}}. - if($eq activityType 'removeList') - | {{_ 'activity-removed' title boardLabel}}. + if($eq activityType 'removeList') + | {{_ 'activity-removed' title boardLabel}}. - if($eq activityType 'importBoard') - | {{{_ 'activity-imported-board' boardLabel sourceLink}}}. + if($eq activityType 'importBoard') + | {{{_ 'activity-imported-board' boardLabel sourceLink}}}. - if($eq activityType 'importCard') - | {{{_ 'activity-imported' cardLink boardLabel sourceLink}}}. + if($eq activityType 'importCard') + | {{{_ 'activity-imported' cardLink boardLabel sourceLink}}}. - if($eq activityType 'importList') - | {{{_ 'activity-imported' listLabel boardLabel sourceLink}}}. + if($eq activityType 'importList') + | {{{_ 'activity-imported' listLabel boardLabel sourceLink}}}. - if($eq activityType 'joinMember') - if($eq user._id member._id) - | {{{_ 'activity-joined' cardLink}}}. - else - | {{{_ 'activity-added' memberLink cardLink}}}. + if($eq activityType 'joinMember') + if($eq user._id member._id) + | {{{_ 'activity-joined' cardLink}}}. + else + | {{{_ 'activity-added' memberLink cardLink}}}. - if($eq activityType 'moveCardBoard') - | {{{_ 'activity-moved' cardLink oldBoardName boardName}}}. + if($eq activityType 'moveCardBoard') + | {{{_ 'activity-moved' cardLink oldBoardName boardName}}}. - if($eq activityType 'moveCard') - | {{{_ 'activity-moved' cardLink oldList.title list.title}}}. + if($eq activityType 'moveCard') + | {{{_ 'activity-moved' cardLink oldList.title list.title}}}. - if($eq activityType 'removeBoardMember') - | {{{_ 'activity-excluded' memberLink boardLabel}}}. + if($eq activityType 'removeBoardMember') + | {{{_ 'activity-excluded' memberLink boardLabel}}}. - if($eq activityType 'restoredCard') - | {{{_ 'activity-sent' cardLink boardLabel}}}. + if($eq activityType 'restoredCard') + | {{{_ 'activity-sent' cardLink boardLabel}}}. - if($eq activityType 'addedLabel') - | {{{_ 'activity-added-label' lastLabel cardLink}}}. + if($eq activityType 'addedLabel') + | {{{_ 'activity-added-label' lastLabel cardLink}}}. - if($eq activityType 'removedLabel') - | {{{_ 'activity-removed-label' lastLabel cardLink}}}. + if($eq activityType 'removedLabel') + | {{{_ 'activity-removed-label' lastLabel cardLink}}}. - if($eq activityType 'setCustomField') - | {{{_ 'activity-set-customfield' lastCustomField lastCustomFieldValue cardLink}}}. + if($eq activityType 'setCustomField') + | {{{_ 'activity-set-customfield' lastCustomField lastCustomFieldValue cardLink}}}. - if($eq activityType 'unsetCustomField') - | {{{_ 'activity-unset-customfield' lastCustomField cardLink}}}. + if($eq activityType 'unsetCustomField') + | {{{_ 'activity-unset-customfield' lastCustomField cardLink}}}. - if($eq activityType 'unjoinMember') - if($eq user._id member._id) - | {{{_ 'activity-unjoined' cardLink}}}. - else - | {{{_ 'activity-removed' memberLink cardLink}}}. + if($eq activityType 'unjoinMember') + if($eq user._id member._id) + | {{{_ 'activity-unjoined' cardLink}}}. + else + | {{{_ 'activity-removed' memberLink cardLink}}}. - span(title=createdAt).activity-meta {{ moment createdAt }} + span(title=createdAt).activity-meta {{ moment createdAt }} template(name="cardActivities") - each currentCard.activities - .activity - +userAvatar(userId=user._id) - p.activity-desc - +memberName(user=user) - if($eq activityType 'createCard') - | {{_ 'activity-added' cardLabel listName}}. - if($eq activityType 'importCard') - | {{{_ 'activity-imported' cardLabel list.title sourceLink}}}. - if($eq activityType 'joinMember') - if($eq user._id member._id) - | {{_ 'activity-joined' cardLabel}}. - else - | {{{_ 'activity-added' memberLink cardLabel}}}. - if($eq activityType 'unjoinMember') - if($eq user._id member._id) - | {{_ 'activity-unjoined' cardLabel}}. - else - | {{{_ 'activity-removed' cardLabel memberLink}}}. - if($eq activityType 'archivedCard') - | {{_ 'activity-archived' cardLabel}}. - - if($eq activityType 'addedLabel') - | {{{_ 'activity-added-label-card' lastLabel }}}. - - if($eq activityType 'removedLabel') - | {{{_ 'activity-removed-label-card' lastLabel }}}. - - if($eq activityType 'removeChecklist') - | {{{_ 'activity-checklist-removed' cardLabel}}}. - - if($eq activityType 'checkedItem') - | {{{_ 'activity-checked-item-card' checkItem checklist.title }}}. - - if($eq activityType 'uncheckedItem') - | {{{_ 'activity-unchecked-item-card' checkItem checklist.title }}}. - - if($eq activityType 'checklistCompleted') - | {{{_ 'activity-checklist-completed-card' checklist.title }}}. - - if($eq activityType 'checklistUncompleted') - | {{{_ 'activity-checklist-uncompleted-card' checklist.title }}}. - - if($eq activityType 'restoredCard') - | {{_ 'activity-sent' cardLabel boardLabel}}. - if($eq activityType 'moveCard') - | {{_ 'activity-moved' cardLabel oldList.title list.title}}. - - if($eq activityType 'moveCardBoard') - | {{{_ 'activity-moved' cardLink oldBoardName boardName}}}. - - if($eq activityType 'addAttachment') - | {{{_ 'activity-attached' attachmentLink cardLabel}}}. - if attachment.isImage - img.attachment-image-preview(src=attachment.url) - if($eq activityType 'deleteAttachment') - | {{{_ 'activity-delete-attach' cardLabel}}}. - if($eq activityType 'removedChecklist') - | {{{_ 'activity-checklist-removed' cardLabel}}}. - if($eq activityType 'addChecklist') - | {{{_ 'activity-checklist-added' cardLabel}}}. - .activity-checklist - +viewer - = checklist.title - if($eq activityType 'addChecklistItem') - | {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}. - .activity-checklist(href="{{ card.absoluteUrl }}") - +viewer - = checklistItem.title - - if(currentData.timeKey) - | {{{_ activityType }}} - = ' ' - i(title=currentData.timeValue).activity-meta {{ moment currentData.timeValue 'LLL' }} - if (currentData.timeOldValue) - = ' ' - | {{{_ "previous_as" }}} - = ' ' - i(title=currentData.timeOldValue).activity-meta {{ moment currentData.timeOldValue 'LLL' }} - = ' @' - else if(currentData.timeValue) - | {{{_ activityType currentData.timeValue}}} - - - if($eq activityType 'deleteComment') - | {{{_ 'activity-deleteComment' currentData.commentId}}}. - if($eq activityType 'editComment') - | {{{_ 'activity-editComment' currentData.commentId}}}. - if($eq activityType 'addComment') - +inlinedForm(classNames='js-edit-comment') - +editor(autofocus=true) - = comment.text - .edit-controls - button.primary(type="submit") {{_ 'edit'}} - else - .activity-comment + if currentBoard.allowsComments + each currentCard.activities + .activity + +userAvatar(userId=user._id) + p.activity-desc + +memberName(user=user) + if($eq activityType 'createCard') + | {{_ 'activity-added' cardLabel listName}}. + if($eq activityType 'importCard') + | {{{_ 'activity-imported' cardLabel list.title sourceLink}}}. + if($eq activityType 'joinMember') + if($eq user._id member._id) + | {{_ 'activity-joined' cardLabel}}. + else + | {{{_ 'activity-added' memberLink cardLabel}}}. + if($eq activityType 'unjoinMember') + if($eq user._id member._id) + | {{_ 'activity-unjoined' cardLabel}}. + else + | {{{_ 'activity-removed' cardLabel memberLink}}}. + if($eq activityType 'archivedCard') + | {{_ 'activity-archived' cardLabel}}. + + if($eq activityType 'addedLabel') + | {{{_ 'activity-added-label-card' lastLabel }}}. + + if($eq activityType 'removedLabel') + | {{{_ 'activity-removed-label-card' lastLabel }}}. + + if($eq activityType 'removeChecklist') + | {{{_ 'activity-checklist-removed' cardLabel}}}. + + if($eq activityType 'checkedItem') + | {{{_ 'activity-checked-item-card' checkItem checklist.title }}}. + + if($eq activityType 'uncheckedItem') + | {{{_ 'activity-unchecked-item-card' checkItem checklist.title }}}. + + if($eq activityType 'checklistCompleted') + | {{{_ 'activity-checklist-completed-card' checklist.title }}}. + + if($eq activityType 'checklistUncompleted') + | {{{_ 'activity-checklist-uncompleted-card' checklist.title }}}. + + if($eq activityType 'restoredCard') + | {{_ 'activity-sent' cardLabel boardLabel}}. + if($eq activityType 'moveCard') + | {{_ 'activity-moved' cardLabel oldList.title list.title}}. + + if($eq activityType 'moveCardBoard') + | {{{_ 'activity-moved' cardLink oldBoardName boardName}}}. + + if($eq activityType 'addAttachment') + | {{{_ 'activity-attached' attachmentLink cardLabel}}}. + if attachment.isImage + img.attachment-image-preview(src=attachment.url) + if($eq activityType 'deleteAttachment') + | {{{_ 'activity-delete-attach' cardLabel}}}. + if($eq activityType 'removedChecklist') + | {{{_ 'activity-checklist-removed' cardLabel}}}. + if($eq activityType 'addChecklist') + | {{{_ 'activity-checklist-added' cardLabel}}}. + .activity-checklist +viewer + = checklist.title + if($eq activityType 'addChecklistItem') + | {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}. + .activity-checklist(href="{{ card.absoluteUrl }}") + +viewer + = checklistItem.title + + if(currentData.timeKey) + | {{{_ activityType }}} + = ' ' + i(title=currentData.timeValue).activity-meta {{ moment currentData.timeValue 'LLL' }} + if (currentData.timeOldValue) + = ' ' + | {{{_ "previous_as" }}} + = ' ' + i(title=currentData.timeOldValue).activity-meta {{ moment currentData.timeOldValue 'LLL' }} + = ' @' + else if(currentData.timeValue) + | {{{_ activityType currentData.timeValue}}} + + + if($eq activityType 'deleteComment') + | {{{_ 'activity-deleteComment' currentData.commentId}}}. + if($eq activityType 'editComment') + | {{{_ 'activity-editComment' currentData.commentId}}}. + if($eq activityType 'addComment') + +inlinedForm(classNames='js-edit-comment') + +editor(autofocus=true) = comment.text - span(title=createdAt).activity-meta {{ moment createdAt }} - if ($eq currentUser._id comment.userId) - = ' - ' - a.js-open-inlined-form {{_ "edit"}} - = ' - ' - a.js-delete-comment {{_ "delete"}} + .edit-controls + button.primary(type="submit") {{_ 'edit'}} + else + .activity-comment + +viewer + = comment.text + span(title=createdAt).activity-meta {{ moment createdAt }} + if ($eq currentUser._id comment.userId) + = ' - ' + a.js-open-inlined-form {{_ "edit"}} + = ' - ' + a.js-delete-comment {{_ "delete"}} - else - span(title=createdAt).activity-meta {{ moment createdAt }} + else + span(title=createdAt).activity-meta {{ moment createdAt }} diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 7a6ca7cf..cb1f375e 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -261,14 +261,15 @@ template(name="cardDetails") if currentUser.isBoardMember unless currentUser.isNoComments +commentForm - unless currentUser.isNoComments - if isLoaded.get - if isLinkedCard - +activities(card=this mode="linkedcard") - else if isLinkedBoard - +activities(card=this mode="linkedboard") - else - +activities(card=this mode="card") + if currentBoard.allowsActivities + unless currentUser.isNoComments + if isLoaded.get + if isLinkedCard + +activities(card=this mode="linkedcard") + else if isLinkedBoard + +activities(card=this mode="linkedboard") + else + +activities(card=this mode="card") template(name="editCardTitleForm") textarea.js-edit-card-title(rows='1' autofocus dir="auto") diff --git a/client/components/sidebar/sidebar.jade b/client/components/sidebar/sidebar.jade index 51b09d72..ae52dc4c 100644 --- a/client/components/sidebar/sidebar.jade +++ b/client/components/sidebar/sidebar.jade @@ -153,6 +153,12 @@ template(name="boardCardSettingsPopup") span i.fa.fa-comment-o | {{_ 'comment'}} + div.check-div + a.flex.js-field-has-comments(class="{{#if allowsActivities}}is-checked{{/if}}") + .materialCheckBox(class="{{#if allowsActivities}}is-checked{{/if}}") + span + i.fa.fa-history + | {{_ 'activities'}} template(name="boardSubtaskSettingsPopup") form.board-subtask-settings diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index 4de7aa80..c3c00b08 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -882,6 +882,22 @@ BlazeComponent.extendComponent({ this.currentBoard.allowsComments, ); }, + 'click .js-field-has-activities'(evt) { + evt.preventDefault(); + this.currentBoard.allowsActivities = !this.currentBoard + .allowsActivities; + this.currentBoard.setAllowsActivities( + this.currentBoard.allowsActivities, + ); + $(`.js-field-has-activities ${MCB}`).toggleClass( + CKCLS, + this.currentBoard.allowsActivities, + ); + $('.js-field-has-activities').toggleClass( + CKCLS, + this.currentBoard.allowsActivities, + ); + }, }, ]; }, diff --git a/models/boards.js b/models/boards.js index af7b739f..ef074ad6 100644 --- a/models/boards.js +++ b/models/boards.js @@ -332,6 +332,14 @@ Boards.attachSchema( defaultValue: true, }, + allowsActivities: { + /** + * Does the board allows comments? + */ + type: Boolean, + defaultValue: true, + }, + allowsLabels: { /** * Does the board allows labels? @@ -1119,6 +1127,10 @@ Boards.mutations({ return { $set: { allowsComments } }; }, + setAllowsActivities(allowsActivities) { + return { $set: { allowsActivities } }; + }, + setAllowsReceivedDate(allowsReceivedDate) { return { $set: { allowsReceivedDate } }; }, diff --git a/server/migrations.js b/server/migrations.js index 12a872a8..3bbd9964 100644 --- a/server/migrations.js +++ b/server/migrations.js @@ -985,3 +985,19 @@ Migrations.add('add-requested-by-allowed', () => { noValidateMulti, ); }); + +Migrations.add('add-activities-allowed', () => { + Boards.update( + { + allowsActivities: { + $exists: false, + }, + }, + { + $set: { + allowsActivities: true, + }, + }, + noValidateMulti, + ); +}); |