mirror of
https://github.com/wekan/wekan.git
synced 2026-02-21 15:34:07 +01:00
Merge branch 'master' of https://github.com/wekan/wekan into lib-change
This commit is contained in:
commit
4b196d5378
175 changed files with 13493 additions and 1971 deletions
|
|
@ -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);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue