mirror of
https://github.com/plankanban/planka.git
synced 2025-12-24 01:11:41 +03:00
fix: Prevent clearing linked tasks when soft deleting
This commit is contained in:
@@ -115,7 +115,7 @@ export default class extends BaseModel {
|
||||
isFetching: null,
|
||||
});
|
||||
|
||||
boardModel.deleteRelated(payload.currentUserId);
|
||||
boardModel.deleteRelated(payload.currentUserId, true);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -135,7 +135,7 @@ export default class extends BaseModel {
|
||||
.toModelArray()
|
||||
.forEach((boardModel) => {
|
||||
if (!payload.boardIds.includes(boardModel.id)) {
|
||||
boardModel.deleteWithRelated();
|
||||
boardModel.deleteWithRelated(true);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -434,9 +434,9 @@ export default class extends BaseModel {
|
||||
);
|
||||
}
|
||||
|
||||
deleteListsWithRelated() {
|
||||
deleteListsWithRelated(soft) {
|
||||
this.lists.toModelArray().forEach((listModel) => {
|
||||
listModel.deleteWithRelated();
|
||||
listModel.deleteWithRelated(soft);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -445,7 +445,7 @@ export default class extends BaseModel {
|
||||
this.filterLabels.clear();
|
||||
}
|
||||
|
||||
deleteRelated(exceptMemberUserId) {
|
||||
deleteRelated(exceptMemberUserId, soft) {
|
||||
this.deleteClearable();
|
||||
|
||||
this.memberships.toModelArray().forEach((boardMembershipModel) => {
|
||||
@@ -458,7 +458,7 @@ export default class extends BaseModel {
|
||||
labelModel.deleteWithRelated();
|
||||
});
|
||||
|
||||
this.deleteListsWithRelated();
|
||||
this.deleteListsWithRelated(soft);
|
||||
this.notificationServices.delete();
|
||||
}
|
||||
|
||||
@@ -467,8 +467,8 @@ export default class extends BaseModel {
|
||||
this.delete();
|
||||
}
|
||||
|
||||
deleteWithRelated() {
|
||||
this.deleteRelated();
|
||||
deleteWithRelated(soft) {
|
||||
this.deleteRelated(undefined, soft);
|
||||
this.delete();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +273,7 @@ export default class extends BaseModel {
|
||||
const cardModel = Card.withId(card.id);
|
||||
|
||||
if (cardModel) {
|
||||
cardModel.deleteWithRelated();
|
||||
cardModel.deleteWithRelated(true);
|
||||
}
|
||||
|
||||
Card.upsert(card);
|
||||
@@ -346,7 +346,7 @@ export default class extends BaseModel {
|
||||
|
||||
if (payload.card.boardId === null || payload.isFetched) {
|
||||
if (cardModel) {
|
||||
cardModel.deleteWithRelated();
|
||||
cardModel.deleteWithRelated(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -388,7 +388,7 @@ export default class extends BaseModel {
|
||||
const cardModel = Card.withId(payload.card.id);
|
||||
|
||||
if (cardModel) {
|
||||
cardModel.deleteWithRelated();
|
||||
cardModel.deleteWithRelated(true);
|
||||
}
|
||||
|
||||
Card.upsert(payload.card);
|
||||
@@ -411,7 +411,7 @@ export default class extends BaseModel {
|
||||
const cardModel = Card.withId(payload.id);
|
||||
|
||||
if (cardModel) {
|
||||
cardModel.deleteWithRelated();
|
||||
cardModel.deleteWithRelated(true);
|
||||
}
|
||||
|
||||
if (payload.card) {
|
||||
@@ -756,18 +756,20 @@ export default class extends BaseModel {
|
||||
this.labels.clear();
|
||||
}
|
||||
|
||||
deleteRelated() {
|
||||
deleteRelated(soft = false) {
|
||||
this.deleteClearable();
|
||||
|
||||
this.taskLists.toModelArray().forEach((taskListModel) => {
|
||||
taskListModel.deleteWithRelated();
|
||||
});
|
||||
|
||||
this.linkedTasks.toModelArray().forEach((taskModel) => {
|
||||
taskModel.update({
|
||||
linkedCardId: null,
|
||||
if (!soft) {
|
||||
this.linkedTasks.toModelArray().forEach((taskModel) => {
|
||||
taskModel.update({
|
||||
linkedCardId: null,
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
this.attachments.delete();
|
||||
|
||||
@@ -784,8 +786,8 @@ export default class extends BaseModel {
|
||||
this.delete();
|
||||
}
|
||||
|
||||
deleteWithRelated() {
|
||||
this.deleteRelated();
|
||||
deleteWithRelated(soft) {
|
||||
this.deleteRelated(soft);
|
||||
this.delete();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ export default class extends BaseModel {
|
||||
const listModel = List.withId(payload.id);
|
||||
|
||||
if (payload.data.boardId && payload.data.boardId !== listModel.boardId) {
|
||||
listModel.deleteWithRelated();
|
||||
listModel.deleteWithRelated(true);
|
||||
} else {
|
||||
let isClosed;
|
||||
if (payload.data.type) {
|
||||
@@ -171,7 +171,7 @@ export default class extends BaseModel {
|
||||
|
||||
if (listModel) {
|
||||
if (payload.list.boardId === null || payload.isFetched) {
|
||||
listModel.deleteWithRelated();
|
||||
listModel.deleteWithRelated(true);
|
||||
}
|
||||
|
||||
if (payload.list.boardId !== null) {
|
||||
@@ -435,14 +435,14 @@ export default class extends BaseModel {
|
||||
});
|
||||
}
|
||||
|
||||
deleteRelated() {
|
||||
deleteRelated(soft) {
|
||||
this.cards.toModelArray().forEach((cardModel) => {
|
||||
cardModel.deleteWithRelated();
|
||||
cardModel.deleteWithRelated(soft);
|
||||
});
|
||||
}
|
||||
|
||||
deleteWithRelated() {
|
||||
this.deleteRelated();
|
||||
deleteWithRelated(soft) {
|
||||
this.deleteRelated(soft);
|
||||
this.delete();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ export default class extends BaseModel {
|
||||
.toModelArray()
|
||||
.forEach((projectModel) => {
|
||||
if (!payload.projectIds.includes(projectModel.id)) {
|
||||
projectModel.deleteWithRelated();
|
||||
projectModel.deleteWithRelated(true);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -97,11 +97,11 @@ export default class extends BaseModel {
|
||||
if (payload.isAvailable) {
|
||||
projectModel.boards.toModelArray().forEach((boardModel) => {
|
||||
if (!payload.boardIds.includes(boardModel.id)) {
|
||||
boardModel.deleteWithRelated();
|
||||
boardModel.deleteWithRelated(true);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
projectModel.deleteWithRelated();
|
||||
projectModel.deleteWithRelated(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,11 +134,11 @@ export default class extends BaseModel {
|
||||
boardModel.notificationServices.delete();
|
||||
}
|
||||
} else {
|
||||
boardModel.deleteWithRelated();
|
||||
boardModel.deleteWithRelated(true);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
projectModel.deleteWithRelated();
|
||||
projectModel.deleteWithRelated(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ export default class extends BaseModel {
|
||||
const projectModel = Project.withId(payload.boardMembership.projectId);
|
||||
|
||||
if (projectModel) {
|
||||
projectModel.deleteWithRelated();
|
||||
projectModel.deleteWithRelated(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -231,7 +231,7 @@ export default class extends BaseModel {
|
||||
);
|
||||
}
|
||||
|
||||
deleteRelated() {
|
||||
deleteRelated(soft) {
|
||||
this.managers.delete();
|
||||
|
||||
this.backgroundImages.toModelArray().forEach((backgroundImageModel) => {
|
||||
@@ -243,12 +243,12 @@ export default class extends BaseModel {
|
||||
});
|
||||
|
||||
this.boards.toModelArray().forEach((boardModel) => {
|
||||
boardModel.deleteWithRelated();
|
||||
boardModel.deleteWithRelated(soft);
|
||||
});
|
||||
}
|
||||
|
||||
deleteWithRelated() {
|
||||
this.deleteRelated();
|
||||
deleteWithRelated(soft) {
|
||||
this.deleteRelated(soft);
|
||||
this.delete();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user