Merge branch 'master' of https://github.com/wekan/wekan into lib-change

This commit is contained in:
Romulus Urakagi Tsai 2020-02-13 09:02:26 +00:00
commit 4b196d5378
175 changed files with 13493 additions and 1971 deletions

View file

@ -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);
};

View file

@ -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);
});

View file

@ -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.listName,
boardId: action.boardId,
});
}
if (list === undefined) {
listId = '';
} else {
list = Lists.findOne({ title: action.listTitle, boardId });
listId = list._id;
}
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();
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 {
list = Lists.findOne({ title: action.listTitle, boardId });
listId = list._id;
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);
}
const maxOrder = _.max(
list.cardsUnfiltered(card.swimlaneId).map(c => c.sort),
);
card.move(boardId, card.swimlaneId, listId, maxOrder + 1);
}
if (action.actionType === 'sendEmail') {
const to = action.emailTo;