mirror of
https://github.com/wekan/wekan.git
synced 2025-12-20 01:10:12 +01:00
fixed Members do not get included on board import from WeKan #1255
fixed multiple errors where constants were mistakenly overridden.(or trying to get a property of an object after making sure it doesn't exits) renamed wekanBoard Parameter from createBoardAndLabels for clairity reworked adding admin for imorter
This commit is contained in:
parent
01507576b1
commit
e8cfed1f7b
1 changed files with 21 additions and 33 deletions
|
|
@ -133,47 +133,35 @@ export class WekanCreator {
|
||||||
}
|
}
|
||||||
|
|
||||||
// You must call parseActions before calling this one.
|
// You must call parseActions before calling this one.
|
||||||
createBoardAndLabels(wekanBoard) {
|
createBoardAndLabels(boardToImport) {
|
||||||
const boardToCreate = {
|
const boardToCreate = {
|
||||||
archived: wekanBoard.archived,
|
archived: boardToImport.archived,
|
||||||
color: wekanBoard.color,
|
color: boardToImport.color,
|
||||||
// very old boards won't have a creation activity so no creation date
|
// very old boards won't have a creation activity so no creation date
|
||||||
createdAt: this._now(wekanBoard.createdAt),
|
createdAt: this._now(boardToImport.createdAt),
|
||||||
labels: [],
|
labels: [],
|
||||||
members: [{
|
members: [],
|
||||||
userId: Meteor.userId(),
|
|
||||||
isAdmin: true,
|
|
||||||
isActive: true,
|
|
||||||
isCommentOnly: false,
|
|
||||||
}],
|
|
||||||
// Standalone Export has modifiedAt missing, adding modifiedAt to fix it
|
// Standalone Export has modifiedAt missing, adding modifiedAt to fix it
|
||||||
modifiedAt: this._now(wekanBoard.modifiedAt),
|
modifiedAt: this._now(boardToImport.modifiedAt),
|
||||||
permission: wekanBoard.permission,
|
permission: boardToImport.permission,
|
||||||
slug: getSlug(wekanBoard.title) || 'board',
|
slug: getSlug(boardToImport.title) || 'board',
|
||||||
stars: 0,
|
stars: 0,
|
||||||
title: wekanBoard.title,
|
title: boardToImport.title,
|
||||||
};
|
};
|
||||||
// now add other members
|
// now add other members
|
||||||
if(wekanBoard.members) {
|
if(boardToImport.members) {
|
||||||
wekanBoard.members.forEach((wekanMember) => {
|
boardToImport.members.forEach((wekanMember) => {
|
||||||
const wekanId = wekanMember.userId;
|
|
||||||
// do we have a mapping?
|
|
||||||
if(this.members[wekanId]) {
|
|
||||||
const wekanId = this.members[wekanId];
|
|
||||||
// do we already have it in our list?
|
// do we already have it in our list?
|
||||||
const wekanMember = boardToCreate.members.find((wekanMember) => wekanMember.userId === wekanId);
|
const foundWekanMember = boardToCreate.members.find((member) => member.wekanId === wekanMember.wekanId);
|
||||||
if(!wekanMember) {
|
if(!foundWekanMember)
|
||||||
boardToCreate.members.push({
|
boardToCreate.members.push({
|
||||||
userId: wekanId,
|
... wekanMember,
|
||||||
isAdmin: wekanMember.isAdmin,
|
userId: wekanMember.wekanId,
|
||||||
isActive: true,
|
...Meteor.userId() === wekanMember.wekanId ? {isAdmin: true} : {}, // make impoter admin
|
||||||
isCommentOnly: false,
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
boardToImport.labels.forEach((label) => {
|
||||||
});
|
|
||||||
}
|
|
||||||
wekanBoard.labels.forEach((label) => {
|
|
||||||
const labelToCreate = {
|
const labelToCreate = {
|
||||||
_id: Random.id(6),
|
_id: Random.id(6),
|
||||||
color: label.color,
|
color: label.color,
|
||||||
|
|
@ -192,7 +180,7 @@ export class WekanCreator {
|
||||||
boardId,
|
boardId,
|
||||||
createdAt: this._now(),
|
createdAt: this._now(),
|
||||||
source: {
|
source: {
|
||||||
id: wekanBoard.id,
|
id: boardToImport.id,
|
||||||
system: 'Wekan',
|
system: 'Wekan',
|
||||||
},
|
},
|
||||||
// We attribute the import to current user,
|
// We attribute the import to current user,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue