- Tasks Audit Trail Additions
Signed-off-by: Dave Richer <dave@imexsystems.ca>
This commit is contained in:
@@ -11,6 +11,9 @@ import React, {useEffect} from "react";
|
||||
import TaskListComponent from "./task-list.component.jsx";
|
||||
import {notification} from "antd";
|
||||
import {useTranslation} from "react-i18next";
|
||||
import {useDispatch} from "react-redux";
|
||||
import {insertAuditTrail} from "../../redux/application/application.actions.js";
|
||||
import AuditTrailMapping from "../../utils/AuditTrailMappings.js";
|
||||
|
||||
export default function TaskListContainer({
|
||||
bodyshop,
|
||||
@@ -25,6 +28,7 @@ export default function TaskListContainer({
|
||||
const {t} = useTranslation();
|
||||
const searchParams = queryString.parse(useLocation().search);
|
||||
const {page, sortcolumn, sortorder, deleted, completed, mine} = searchParams;
|
||||
const dispatch = useDispatch();
|
||||
const {loading, error, data, refetch} = useQuery(
|
||||
query,
|
||||
{
|
||||
@@ -80,16 +84,30 @@ export default function TaskListContainer({
|
||||
const toggleCompletedStatus = async (id, currentStatus) => {
|
||||
const completed_at = !currentStatus ? new Date().toISOString() : null;
|
||||
try {
|
||||
await toggleTaskCompleted({
|
||||
const toggledTask = await toggleTaskCompleted({
|
||||
variables: {
|
||||
id: id,
|
||||
completed: !currentStatus,
|
||||
completed_at: completed_at
|
||||
}
|
||||
});
|
||||
// refetch().catch((e) => {
|
||||
// console.error(`Something went wrong fetching tasks: ${e.message || ''}`);
|
||||
// });
|
||||
|
||||
if (!toggledTask.errors) {
|
||||
dispatch(
|
||||
insertAuditTrail({
|
||||
jobid: toggledTask.data.update_tasks_by_pk.jobid,
|
||||
operation: toggledTask?.data?.update_tasks_by_pk?.completed ? AuditTrailMapping.tasksCompleted(
|
||||
toggledTask.data.update_tasks_by_pk.title,
|
||||
currentUser.email
|
||||
) : AuditTrailMapping.tasksUncompleted(
|
||||
toggledTask.data.update_tasks_by_pk.title,
|
||||
currentUser.email
|
||||
),
|
||||
type: toggledTask?.data?.update_tasks_by_pk?.completed ? "tasksCompleted" : "tasksUncompleted"
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
window.dispatchEvent(new CustomEvent('taskUpdated', {
|
||||
detail: {message: 'A task has been completed.'},
|
||||
}));
|
||||
@@ -114,26 +132,42 @@ export default function TaskListContainer({
|
||||
* @param currentStatus
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
|
||||
const toggleDeletedStatus = async (id, currentStatus) => {
|
||||
const deleted_at = !currentStatus ? new Date().toISOString() : null;
|
||||
try {
|
||||
await toggleTaskDeleted({
|
||||
const toggledTask = await toggleTaskDeleted({
|
||||
variables: {
|
||||
id: id,
|
||||
deleted: !currentStatus,
|
||||
deleted_at: deleted_at
|
||||
}
|
||||
});
|
||||
if (!toggledTask.errors) {
|
||||
dispatch(
|
||||
insertAuditTrail({
|
||||
jobid: toggledTask.data.update_tasks_by_pk.jobid,
|
||||
operation: toggledTask?.data?.update_tasks_by_pk?.deleted ? AuditTrailMapping.tasksDeleted(
|
||||
toggledTask.data.update_tasks_by_pk.title,
|
||||
currentUser.email
|
||||
) : AuditTrailMapping.tasksUndeleted(
|
||||
toggledTask.data.update_tasks_by_pk.title,
|
||||
currentUser.email
|
||||
),
|
||||
type: toggledTask?.data?.update_tasks_by_pk?.deleted ? "tasksDeleted" : "tasksUndeleted"
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
window.dispatchEvent(new CustomEvent('taskUpdated', {
|
||||
detail: {message: 'A task has been deleted.'},
|
||||
}));
|
||||
// refetch().catch((e) => {
|
||||
// console.error(`Something went wrong fetching tasks: ${e.message || ''}`);
|
||||
// });
|
||||
notification["success"]({
|
||||
message: t("tasks.successes.deleted"),
|
||||
});
|
||||
} catch (err) {
|
||||
console.dir(err);
|
||||
notification["error"]({
|
||||
message: t("tasks.failures.deleted"),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user