diff options
author | Romulus Urakagi Tsai <urakagi@gmail.com> | 2020-02-13 09:02:26 +0000 |
---|---|---|
committer | Romulus Urakagi Tsai <urakagi@gmail.com> | 2020-02-13 09:02:26 +0000 |
commit | 4b196d537896f39fb76090020cb5851a699546eb (patch) | |
tree | 28e2e025ce90645ed360bb8c26ab39e6f40214e4 /server | |
parent | b34ed58289a3dae5838d3b621260938a3ecf52d5 (diff) | |
parent | 3fcde252f705f9527f7190517082a047714a4eec (diff) | |
download | wekan-4b196d537896f39fb76090020cb5851a699546eb.tar.gz wekan-4b196d537896f39fb76090020cb5851a699546eb.tar.bz2 wekan-4b196d537896f39fb76090020cb5851a699546eb.zip |
Merge branch 'master' of https://github.com/wekan/wekan into lib-change
Diffstat (limited to 'server')
-rw-r--r-- | server/authentication.js | 2 | ||||
-rw-r--r-- | server/migrations.js | 331 | ||||
-rw-r--r-- | server/rulesHelper.js | 74 |
3 files changed, 346 insertions, 61 deletions
diff --git a/server/authentication.js b/server/authentication.js index 9e519fe1..20327280 100644 --- a/server/authentication.js +++ b/server/authentication.js @@ -58,7 +58,7 @@ Meteor.startup(() => { const board = Boards.findOne({ _id: boardId }); const normalAccess = board.permission === 'public' || - board.members.some(e => e.userId === userId).isActive; + board.members.some(e => e.userId === userId && e.isActive); Authentication.checkAdminOrCondition(userId, normalAccess); }; diff --git a/server/migrations.js b/server/migrations.js index e7c18e09..d7c4c724 100644 --- a/server/migrations.js +++ b/server/migrations.js @@ -17,7 +17,6 @@ import Swimlanes from '../models/swimlanes'; import Triggers from '../models/triggers'; import UnsavedEdits from '../models/unsavedEdits'; import Users from '../models/users'; -import CFSAttachments from './migrate-attachments'; // Anytime you change the schema of one of the collection in a non-backward // compatible way you have to write a migration in this file using the following @@ -81,7 +80,7 @@ Migrations.add('lowercase-board-permission', () => { Migrations.add('change-attachments-type-for-non-images', () => { const newTypeForNonImage = 'application/octet-stream'; Attachments.find().forEach(file => { - if (!file.isImage) { + if (!file.isImage()) { Attachments.update( file._id, { @@ -98,7 +97,7 @@ Migrations.add('change-attachments-type-for-non-images', () => { Migrations.add('card-covers', () => { Cards.find().forEach(card => { - const cover = Attachments.findOne({ 'meta.cardId': card._id, cover: true }); + const cover = Attachments.findOne({ cardId: card._id, cover: true }); if (cover) { Cards.update(card._id, { $set: { coverId: cover._id } }, noValidate); } @@ -473,38 +472,6 @@ Migrations.add('add-hide-logo', () => { ); }); -Migrations.add('add-custom-html-after-body-start', () => { - Settings.update( - { - customHTMLafterBodyStart: { - $exists: false, - }, - }, - { - $set: { - customHTMLafterBodyStart: '', - }, - }, - noValidateMulti, - ); -}); - -Migrations.add('add-custom-html-before-body-end', () => { - Settings.update( - { - customHTMLbeforeBodyEnd: { - $exists: false, - }, - }, - { - $set: { - customHTMLbeforeBodyEnd: '', - }, - }, - noValidateMulti, - ); -}); - Migrations.add('add-displayAuthenticationMethod', () => { Settings.update( { @@ -779,7 +746,295 @@ Migrations.add('fix-incorrect-dates', () => { ); }); -Migrations.add('fix-incorrect-dates', () => { - cas = CFSAttachments.find(); - console.log('cas', cas); +Migrations.add('add-assignee', () => { + Cards.update( + { + assignees: { + $exists: false, + }, + }, + { + $set: { + assignees: [], + }, + }, + noValidateMulti, + ); }); + +Migrations.add('add-profile-showDesktopDragHandles', () => { + Users.update( + { + 'profile.showDesktopDragHandles': { + $exists: false, + }, + }, + { + $set: { + 'profile.showDesktopDragHandles': false, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-profile-hiddenMinicardLabelText', () => { + Users.update( + { + 'profile.hiddenMinicardLabelText': { + $exists: false, + }, + }, + { + $set: { + 'profile.hiddenMinicardLabelText': false, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-receiveddate-allowed', () => { + Boards.update( + { + allowsReceivedDate: { + $exists: false, + }, + }, + { + $set: { + allowsReceivedDate: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-startdate-allowed', () => { + Boards.update( + { + allowsStartDate: { + $exists: false, + }, + }, + { + $set: { + allowsStartDate: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-duedate-allowed', () => { + Boards.update( + { + allowsDueDate: { + $exists: false, + }, + }, + { + $set: { + allowsDueDate: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-enddate-allowed', () => { + Boards.update( + { + allowsEndDate: { + $exists: false, + }, + }, + { + $set: { + allowsEndDate: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-members-allowed', () => { + Boards.update( + { + allowsMembers: { + $exists: false, + }, + }, + { + $set: { + allowsMembers: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-assignee-allowed', () => { + Boards.update( + { + allowsAssignee: { + $exists: false, + }, + }, + { + $set: { + allowsAssignee: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-labels-allowed', () => { + Boards.update( + { + allowsLabels: { + $exists: false, + }, + }, + { + $set: { + allowsLabels: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-checklists-allowed', () => { + Boards.update( + { + allowsChecklists: { + $exists: false, + }, + }, + { + $set: { + allowsChecklists: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-attachments-allowed', () => { + Boards.update( + { + allowsAttachments: { + $exists: false, + }, + }, + { + $set: { + allowsAttachments: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-comments-allowed', () => { + Boards.update( + { + allowsComments: { + $exists: false, + }, + }, + { + $set: { + allowsComments: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-assigned-by-allowed', () => { + Boards.update( + { + allowsAssignedBy: { + $exists: false, + }, + }, + { + $set: { + allowsAssignedBy: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-requested-by-allowed', () => { + Boards.update( + { + allowsRequestedBy: { + $exists: false, + }, + }, + { + $set: { + allowsRequestedBy: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-activities-allowed', () => { + Boards.update( + { + allowsActivities: { + $exists: false, + }, + }, + { + $set: { + allowsActivities: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-description-title-allowed', () => { + Boards.update( + { + allowsDescriptionTitle: { + $exists: false, + }, + }, + { + $set: { + allowsDescriptionTitle: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('add-description-text-allowed', () => { + Boards.update( + { + allowsDescriptionText: { + $exists: false, + }, + }, + { + $set: { + allowsDescriptionText: true, + }, + }, + noValidateMulti, + ); +}); + +Migrations.add('fix-incorrect-dates', () => { + cas = CFSAttachments.find(); + console.log('cas', cas); +}); diff --git a/server/rulesHelper.js b/server/rulesHelper.js index cf278c52..63e330ab 100644 --- a/server/rulesHelper.js +++ b/server/rulesHelper.js @@ -42,35 +42,65 @@ RulesHelper = { performAction(activity, action) { const card = Cards.findOne({ _id: activity.cardId }); const boardId = activity.boardId; - if (action.actionType === 'moveCardToTop') { - let listId; + if ( + action.actionType === 'moveCardToTop' || + action.actionType === 'moveCardToBottom' + ) { let list; - if (action.listTitle === '*') { - listId = card.listId; + let listId; + if (action.listName === '*') { list = card.list(); + if (boardId !== action.boardId) { + list = Lists.findOne({ title: list.title, boardId: action.boardId }); + } } else { - list = Lists.findOne({ title: action.listTitle, boardId }); - listId = list._id; + list = Lists.findOne({ + title: action.listName, + boardId: action.boardId, + }); } - const minOrder = _.min( - list.cardsUnfiltered(card.swimlaneId).map(c => c.sort), - ); - card.move(boardId, card.swimlaneId, listId, minOrder - 1); - } - if (action.actionType === 'moveCardToBottom') { - let listId; - let list; - if (action.listTitle === '*') { - listId = card.listId; - list = card.list(); + if (list === undefined) { + listId = ''; } else { - list = Lists.findOne({ title: action.listTitle, boardId }); listId = list._id; } - const maxOrder = _.max( - list.cardsUnfiltered(card.swimlaneId).map(c => c.sort), - ); - card.move(boardId, card.swimlaneId, listId, maxOrder + 1); + + let swimlane; + let swimlaneId; + if (action.swimlaneName === '*') { + swimlane = Swimlanes.findOne(card.swimlaneId); + if (boardId !== action.boardId) { + swimlane = Swimlanes.findOne({ + title: swimlane.title, + boardId: action.boardId, + }); + } + } else { + swimlane = Swimlanes.findOne({ + title: action.swimlaneName, + boardId: action.boardId, + }); + } + if (swimlane === undefined) { + swimlaneId = Swimlanes.findOne({ + title: 'Default', + boardId: action.boardId, + })._id; + } else { + swimlaneId = swimlane._id; + } + + if (action.actionType === 'moveCardToTop') { + const minOrder = _.min( + list.cardsUnfiltered(swimlaneId).map(c => c.sort), + ); + card.move(action.boardId, swimlaneId, listId, minOrder - 1); + } else { + const maxOrder = _.max( + list.cardsUnfiltered(swimlaneId).map(c => c.sort), + ); + card.move(action.boardId, swimlaneId, listId, maxOrder + 1); + } } if (action.actionType === 'sendEmail') { const to = action.emailTo; |