diff --git a/client/src/components/jobs-detail-header/jobs-detail-header.component.jsx b/client/src/components/jobs-detail-header/jobs-detail-header.component.jsx index f631bf8ab..fe555ae1e 100644 --- a/client/src/components/jobs-detail-header/jobs-detail-header.component.jsx +++ b/client/src/components/jobs-detail-header/jobs-detail-header.component.jsx @@ -77,6 +77,8 @@ export function JobsDetailHeader({ job, bodyshop, disabled, insertAuditTrail, is .reduce((acc, val) => acc + val.mod_lb_hrs, 0); const ownerTitle = OwnerNameDisplayFunction(job).trim(); + const employeeData = bodyshop.associations.find((a) => a.useremail === job.admin_clerk)?.user?.employee ?? null; + // Handle checkbox changes const handleCheckboxChange = async (field, checked) => { const value = checked ? dayjs().toISOString() : null; @@ -355,6 +357,14 @@ export function JobsDetailHeader({ job, bodyshop, disabled, insertAuditTrail, is >
+ {job.admin_clerk && ( + <> + + + {employeeData?.displayName ?? job.admin_clerk} + + + )} {bodyHrs.toFixed(1)} / {refinishHrs.toFixed(1)} / {(bodyHrs + refinishHrs).toFixed(1)} diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js index f9f1cd55f..35dde7016 100644 --- a/client/src/graphql/jobs.queries.js +++ b/client/src/graphql/jobs.queries.js @@ -424,6 +424,7 @@ export const GET_JOB_BY_PK = gql` actual_delivery actual_in acv_amount + admin_clerk adjustment_bottom_line alt_transport area_of_damage @@ -2347,12 +2348,13 @@ export const MARK_JOB_AS_UNINVOICED = gql` mutation MARK_JOB_AS_UNINVOICED($jobId: uuid!, $default_delivered: String!) { update_jobs_by_pk( pk_columns: { id: $jobId } - _set: { date_exported: null, date_invoiced: null, status: $default_delivered } + _set: { date_exported: null, date_invoiced: null, status: $default_delivered, admin_clerk: null } ) { id date_exported date_invoiced status + admin_clerk } } `; diff --git a/client/src/pages/jobs-close/jobs-close.component.jsx b/client/src/pages/jobs-close/jobs-close.component.jsx index 2423e2e6b..1719ed38d 100644 --- a/client/src/pages/jobs-close/jobs-close.component.jsx +++ b/client/src/pages/jobs-close/jobs-close.component.jsx @@ -39,13 +39,14 @@ import { UPDATE_JOB } from "../../graphql/jobs.queries"; import { insertAuditTrail } from "../../redux/application/application.actions"; import { selectJobReadOnly } from "../../redux/application/application.selectors"; import { setModalContext } from "../../redux/modals/modals.actions.js"; -import { selectBodyshop } from "../../redux/user/user.selectors"; +import { selectBodyshop, selectCurrentUser } from "../../redux/user/user.selectors"; import AuditTrailMapping from "../../utils/AuditTrailMappings"; import dayjs from "../../utils/day"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, - jobRO: selectJobReadOnly + jobRO: selectJobReadOnly, + currentUser: selectCurrentUser }); const mapDispatchToProps = (dispatch) => ({ @@ -59,7 +60,7 @@ const mapDispatchToProps = (dispatch) => ({ ) }); -export function JobsCloseComponent({ job, bodyshop, jobRO, insertAuditTrail, setPrintCenterContext }) { +export function JobsCloseComponent({ job, bodyshop, jobRO, insertAuditTrail, setPrintCenterContext, currentUser }) { const { t } = useTranslation(); const [form] = Form.useForm(); const client = useApolloClient(); @@ -97,6 +98,7 @@ export function JobsCloseComponent({ job, bodyshop, jobRO, insertAuditTrail, set kmin: values.kmin, kmout: values.kmout, dms_allocation: values.dms_allocation, + admin_clerk: currentUser.email, ...(removefromproduction ? { inproduction: false } : {}), ...(values.qb_multiple_payers ? { qb_multiple_payers: values.qb_multiple_payers } : {}) } diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 05219fd5e..193aba22a 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -1678,6 +1678,7 @@ "actual_delivery": "Actual Delivery", "actual_in": "Actual In", "acv_amount": "ACV Amount", + "admin_clerk": "Admin Clerk", "adjustment_bottom_line": "Adjustments", "adjustmenthours": "Adjustment Hours", "alt_transport": "Alt. Trans.", diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 20610391c..41a01b191 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -1679,6 +1679,7 @@ "actual_in": "Real en", "acv_amount": "", "adjustment_bottom_line": "Ajustes", + "admin_clerk": "", "adjustmenthours": "", "alt_transport": "", "area_of_damage_impact": { diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index 76d5bbd1d..e80baacbc 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -1678,6 +1678,7 @@ "actual_delivery": "Livraison réelle", "actual_in": "En réel", "acv_amount": "", + "admin_clerk": "", "adjustment_bottom_line": "Ajustements", "adjustmenthours": "", "alt_transport": "", diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml index 0f04c9179..be33aaf1e 100644 --- a/hasura/metadata/tables.yaml +++ b/hasura/metadata/tables.yaml @@ -3615,6 +3615,7 @@ - adj_strdis - adj_towdis - adjustment_bottom_line + - admin_clerk - agt_addr1 - agt_addr2 - agt_city @@ -3890,6 +3891,7 @@ - adj_strdis - adj_towdis - adjustment_bottom_line + - admin_clerk - agt_addr1 - agt_addr2 - agt_city @@ -4178,6 +4180,7 @@ - adj_strdis - adj_towdis - adjustment_bottom_line + - admin_clerk - agt_addr1 - agt_addr2 - agt_city diff --git a/hasura/migrations/1762393769918_alter_table_public_jobs_add_column_admin_clerk/down.sql b/hasura/migrations/1762393769918_alter_table_public_jobs_add_column_admin_clerk/down.sql new file mode 100644 index 000000000..43e3c403d --- /dev/null +++ b/hasura/migrations/1762393769918_alter_table_public_jobs_add_column_admin_clerk/down.sql @@ -0,0 +1,4 @@ +-- Could not auto-generate a down migration. +-- Please write an appropriate down migration for the SQL below: +-- alter table "public"."jobs" add column "admin_clerk" text +-- null; diff --git a/hasura/migrations/1762393769918_alter_table_public_jobs_add_column_admin_clerk/up.sql b/hasura/migrations/1762393769918_alter_table_public_jobs_add_column_admin_clerk/up.sql new file mode 100644 index 000000000..ec6f510c5 --- /dev/null +++ b/hasura/migrations/1762393769918_alter_table_public_jobs_add_column_admin_clerk/up.sql @@ -0,0 +1,2 @@ +alter table "public"."jobs" add column "admin_clerk" text + null;