mirror of
https://github.com/plankanban/planka.git
synced 2025-12-30 01:12:01 +03:00
feat: Add ability to link tasks to cards
This commit is contained in:
@@ -322,15 +322,21 @@ export default class extends BaseModel {
|
||||
payload.data.listChangedAt = new Date(); // eslint-disable-line no-param-reassign
|
||||
}
|
||||
|
||||
if (payload.data.isClosed !== undefined && payload.data.isClosed !== cardModel.isClosed) {
|
||||
cardModel.linkedTasks.update({
|
||||
isCompleted: payload.data.isClosed,
|
||||
});
|
||||
}
|
||||
|
||||
cardModel.update(payload.data);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case ActionTypes.CARD_UPDATE_HANDLE:
|
||||
if (payload.card.boardId === null || payload.isFetched) {
|
||||
const cardModel = Card.withId(payload.card.id);
|
||||
case ActionTypes.CARD_UPDATE_HANDLE: {
|
||||
const cardModel = Card.withId(payload.card.id);
|
||||
|
||||
if (payload.card.boardId === null || payload.isFetched) {
|
||||
if (cardModel) {
|
||||
cardModel.deleteWithRelated();
|
||||
}
|
||||
@@ -338,6 +344,12 @@ export default class extends BaseModel {
|
||||
|
||||
if (payload.card.boardId !== null) {
|
||||
Card.upsert(payload.card);
|
||||
|
||||
if (cardModel && payload.card.isClosed !== cardModel.isClosed) {
|
||||
cardModel.linkedTasks.update({
|
||||
isCompleted: payload.card.isClosed,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (payload.cardMemberships) {
|
||||
@@ -353,6 +365,7 @@ export default class extends BaseModel {
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case ActionTypes.CARD_DUPLICATE:
|
||||
Card.withId(payload.id).duplicate(payload.localId, payload.data);
|
||||
|
||||
@@ -623,6 +636,12 @@ export default class extends BaseModel {
|
||||
taskListModel.deleteWithRelated();
|
||||
});
|
||||
|
||||
this.linkedTasks.toModelArray().forEach((taskModel) => {
|
||||
taskModel.update({
|
||||
linkedCardId: null,
|
||||
});
|
||||
});
|
||||
|
||||
this.attachments.delete();
|
||||
|
||||
this.customFieldGroups.toModelArray().forEach((customFieldGroupModel) => {
|
||||
|
||||
@@ -137,6 +137,10 @@ export default class extends BaseModel {
|
||||
cardModel.update({
|
||||
isClosed,
|
||||
});
|
||||
|
||||
cardModel.linkedTasks.update({
|
||||
isCompleted: isClosed,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -162,6 +166,10 @@ export default class extends BaseModel {
|
||||
cardModel.update({
|
||||
isClosed,
|
||||
});
|
||||
|
||||
cardModel.linkedTasks.update({
|
||||
isCompleted: isClosed,
|
||||
});
|
||||
});
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -23,6 +23,11 @@ export default class extends BaseModel {
|
||||
as: 'taskList',
|
||||
relatedName: 'tasks',
|
||||
}),
|
||||
linkedCardId: fk({
|
||||
to: 'Card',
|
||||
as: 'linkedCard',
|
||||
relatedName: 'linkedTasks',
|
||||
}),
|
||||
assigneeUserId: fk({
|
||||
to: 'User',
|
||||
as: 'user',
|
||||
|
||||
Reference in New Issue
Block a user