mirror of
https://github.com/plankanban/planka.git
synced 2025-07-23 15:19:44 +02:00
Remove members and labels when transfer card to another board
This commit is contained in:
parent
cbc942e306
commit
f4c8bc6ab9
2 changed files with 33 additions and 2 deletions
|
@ -86,10 +86,21 @@ export default class extends Model {
|
||||||
Card.upsert(payload.card);
|
Card.upsert(payload.card);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case ActionTypes.CARD_UPDATE:
|
case ActionTypes.CARD_UPDATE: {
|
||||||
Card.withId(payload.id).update(payload.data);
|
const card = Card.withId(payload.id);
|
||||||
|
|
||||||
|
// FIXME: hack
|
||||||
|
if (payload.data.boardId && payload.data.boardId !== card.boardId) {
|
||||||
|
card.isSubscribed = false;
|
||||||
|
|
||||||
|
card.users.clear();
|
||||||
|
card.labels.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
card.update(payload.data);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case ActionTypes.CARD_DELETE:
|
case ActionTypes.CARD_DELETE:
|
||||||
Card.withId(payload.id).deleteWithRelated();
|
Card.withId(payload.id).deleteWithRelated();
|
||||||
|
|
||||||
|
|
|
@ -80,12 +80,32 @@ module.exports = {
|
||||||
|
|
||||||
let card;
|
let card;
|
||||||
if (!_.isEmpty(values)) {
|
if (!_.isEmpty(values)) {
|
||||||
|
// FIXME: hack
|
||||||
|
if (inputs.toList && inputs.toList.boardId !== inputs.list.boardId) {
|
||||||
|
await CardSubscription.destroy({
|
||||||
|
cardId: inputs.record.id,
|
||||||
|
});
|
||||||
|
|
||||||
|
await CardMembership.destroy({
|
||||||
|
cardId: inputs.record.id,
|
||||||
|
});
|
||||||
|
|
||||||
|
await CardLabel.destroy({
|
||||||
|
cardId: inputs.record.id,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
card = await Card.updateOne(inputs.record.id).set(values);
|
card = await Card.updateOne(inputs.record.id).set(values);
|
||||||
|
|
||||||
if (!card) {
|
if (!card) {
|
||||||
return exits.success(card);
|
return exits.success(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME: hack
|
||||||
|
if (inputs.toList && inputs.toList.boardId !== inputs.list.boardId) {
|
||||||
|
card.isSubscribed = false;
|
||||||
|
}
|
||||||
|
|
||||||
sails.sockets.broadcast(
|
sails.sockets.broadcast(
|
||||||
`board:${card.boardId}`,
|
`board:${card.boardId}`,
|
||||||
'cardUpdate',
|
'cardUpdate',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue