mirror of
https://github.com/plankanban/planka.git
synced 2025-07-18 20:59:44 +02:00
feat: Log actions when task completion status changes
This commit is contained in:
parent
5d53f44fe8
commit
d5fd2fd33b
6 changed files with 64 additions and 0 deletions
|
@ -143,6 +143,44 @@ const Item = React.memo(({ id }) => {
|
|||
</Trans>
|
||||
);
|
||||
|
||||
break;
|
||||
case ActivityTypes.COMPLETE_TASK:
|
||||
contentNode = (
|
||||
<Trans
|
||||
i18nKey="common.userCompletedTaskOnThisCard"
|
||||
values={{
|
||||
user: userName,
|
||||
task: activity.data.task.name,
|
||||
}}
|
||||
>
|
||||
<span className={styles.author}>{userName}</span>
|
||||
<span className={styles.text}>
|
||||
{' completed '}
|
||||
{activity.data.task.name}
|
||||
{' on this card'}
|
||||
</span>
|
||||
</Trans>
|
||||
);
|
||||
|
||||
break;
|
||||
case ActivityTypes.UNCOMPLETE_TASK:
|
||||
contentNode = (
|
||||
<Trans
|
||||
i18nKey="common.userMarkedTaskIncompleteOnThisCard"
|
||||
values={{
|
||||
user: userName,
|
||||
task: activity.data.task.name,
|
||||
}}
|
||||
>
|
||||
<span className={styles.author}>{userName}</span>
|
||||
<span className={styles.text}>
|
||||
{' marked '}
|
||||
{activity.data.task.name}
|
||||
{' incomplete on this card'}
|
||||
</span>
|
||||
</Trans>
|
||||
);
|
||||
|
||||
break;
|
||||
default:
|
||||
contentNode = null;
|
||||
|
|
|
@ -92,6 +92,8 @@ export const ActivityTypes = {
|
|||
MOVE_CARD: 'moveCard',
|
||||
ADD_MEMBER_TO_CARD: 'addMemberToCard',
|
||||
REMOVE_MEMBER_FROM_CARD: 'removeMemberFromCard',
|
||||
COMPLETE_TASK: 'completeTask',
|
||||
UNCOMPLETE_TASK: 'uncompleteTask',
|
||||
};
|
||||
|
||||
export const NotificationTypes = {
|
||||
|
|
|
@ -289,9 +289,12 @@ export default {
|
|||
userAddedThisCardToList: '<0>{{user}}</0><1> added this card to {{list}}</1>',
|
||||
userAddedUserToThisCard: '<0>{{actorUser}}</0><1> added {{addedUser}} to this card</1>',
|
||||
userAddedYouToCard: '{{user}} added you to <2>{{card}}</2>',
|
||||
userCompletedTaskOnThisCard: '<0>{{user}}</0><1> completed {{task}} on this card</1>',
|
||||
userJoinedThisCard: `<0>{{user}}</0><1> joined this card</1>`,
|
||||
userLeftNewCommentToCard: '{{user}} left a new comment «{{comment}}» to <2>{{card}}</2>',
|
||||
userLeftThisCard: '<0>{{user}}</0><1> left this card</1>',
|
||||
userMarkedTaskIncompleteOnThisCard:
|
||||
'<0>{{user}}</0><1> marked {{task}} incomplete on this card</1>',
|
||||
userMovedCardFromListToList: '{{user}} moved <2>{{card}}</2> from {{fromList}} to {{toList}}',
|
||||
userMovedThisCardFromListToList:
|
||||
'<0>{{user}}</0><1> moved this card from {{fromList}} to {{toList}}</1>',
|
||||
|
|
|
@ -284,9 +284,12 @@ export default {
|
|||
userAddedThisCardToList: '<0>{{user}}</0><1> added this card to {{list}}</1>',
|
||||
userAddedUserToThisCard: '<0>{{actorUser}}</0><1> added {{addedUser}} to this card</1>',
|
||||
userAddedYouToCard: '{{user}} added you to <2>{{card}}</2>',
|
||||
userCompletedTaskOnThisCard: '<0>{{user}}</0><1> completed {{task}} on this card</1>',
|
||||
userJoinedThisCard: `<0>{{user}}</0><1> joined this card</1>`,
|
||||
userLeftNewCommentToCard: '{{user}} left a new comment «{{comment}}» to <2>{{card}}</2>',
|
||||
userLeftThisCard: '<0>{{user}}</0><1> left this card</1>',
|
||||
userMarkedTaskIncompleteOnThisCard:
|
||||
'<0>{{user}}</0><1> marked {{task}} incomplete on this card</1>',
|
||||
userMovedCardFromListToList: '{{user}} moved <2>{{card}}</2> from {{fromList}} to {{toList}}',
|
||||
userMovedThisCardFromListToList:
|
||||
'<0>{{user}}</0><1> moved this card from {{fromList}} to {{toList}}</1>',
|
||||
|
|
|
@ -132,6 +132,22 @@ module.exports = {
|
|||
}),
|
||||
user: inputs.actorUser,
|
||||
});
|
||||
|
||||
if (inputs.record.isCompleted !== task.isCompleted) {
|
||||
await sails.helpers.actions.createOne.with({
|
||||
values: {
|
||||
type: task.isCompleted ? Action.Types.COMPLETE_TASK : Action.Types.UNCOMPLETE_TASK,
|
||||
data: {
|
||||
task: _.pick(task, ['id', 'name']),
|
||||
},
|
||||
user: inputs.actorUser,
|
||||
card: inputs.card,
|
||||
},
|
||||
project: inputs.project,
|
||||
board: inputs.board,
|
||||
list: inputs.list,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return task;
|
||||
|
|
|
@ -15,6 +15,8 @@ const Types = {
|
|||
MOVE_CARD: 'moveCard',
|
||||
ADD_MEMBER_TO_CARD: 'addMemberToCard',
|
||||
REMOVE_MEMBER_FROM_CARD: 'removeMemberFromCard',
|
||||
COMPLETE_TASK: 'completeTask',
|
||||
UNCOMPLETE_TASK: 'uncompleteTask',
|
||||
};
|
||||
|
||||
const INTERNAL_NOTIFIABLE_TYPES = [Types.MOVE_CARD, Types.ADD_MEMBER_TO_CARD];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue