mirror of
https://github.com/wekan/wekan.git
synced 2025-12-26 04:08:49 +01:00
Merge pull request #3449 from jrsupplee/issue-3445
Issue #3445 Custom field definitions duplicated on copy and move
This commit is contained in:
commit
01ef81ca58
1 changed files with 20 additions and 20 deletions
|
|
@ -367,6 +367,24 @@ Cards.allow({
|
|||
});
|
||||
|
||||
Cards.helpers({
|
||||
mapCustomFieldsToBoard(boardId) {
|
||||
// Map custom fields to new board
|
||||
return this.customFields.map(cf => {
|
||||
const oldCf = CustomFields.findOne(cf._id);
|
||||
const newCf = CustomFields.findOne({
|
||||
boardIds: boardId,
|
||||
name: oldCf.name,
|
||||
type: oldCf.type,
|
||||
});
|
||||
if (newCf) {
|
||||
cf._id = newCf._id;
|
||||
} else if (!_.contains(oldCf.boardIds, boardId)) {
|
||||
oldCf.addBoard(boardId);
|
||||
}
|
||||
return cf;
|
||||
});
|
||||
},
|
||||
|
||||
copy(boardId, swimlaneId, listId) {
|
||||
const oldId = this._id;
|
||||
const oldCard = Cards.findOne(oldId);
|
||||
|
|
@ -397,16 +415,7 @@ Cards.helpers({
|
|||
delete this.labelIds;
|
||||
this.labelIds = newCardLabels;
|
||||
|
||||
// Copy Custom Fields
|
||||
CustomFields.find({
|
||||
_id: {
|
||||
$in: oldCard.customFields.map(cf => {
|
||||
return cf._id;
|
||||
}),
|
||||
},
|
||||
}).forEach(cf => {
|
||||
if (!_.contains(cf.boardIds, boardId)) cf.addBoard(boardId);
|
||||
});
|
||||
this.customFields = this.mapCustomFieldsToBoard(newBoard._id);
|
||||
}
|
||||
|
||||
delete this._id;
|
||||
|
|
@ -1528,16 +1537,7 @@ Cards.mutations({
|
|||
labelIds: newCardLabelIds,
|
||||
});
|
||||
|
||||
// Copy custom fields
|
||||
CustomFields.find({
|
||||
_id: {
|
||||
$in: this.customFields.map(cf => {
|
||||
return cf._id;
|
||||
}),
|
||||
},
|
||||
}).forEach(cf => {
|
||||
if (!_.contains(cf.boardIds, boardId)) cf.addBoard(boardId);
|
||||
});
|
||||
mutatedFields.customFields = this.mapCustomFieldsToBoard(newBoard._id);
|
||||
}
|
||||
|
||||
Cards.update(this._id, {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue