mirror of
https://github.com/plankanban/planka.git
synced 2025-07-19 05:09:43 +02:00
Remove members and labels when transfer card to another board
This commit is contained in:
parent
b1d187476d
commit
328aa63f6e
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