From fe470006641bd26c1ef193e17ed3a04c402c4a1f Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Thu, 18 Feb 2021 15:41:31 -0800 Subject: [PATCH] Read Onlt Invoice Screen IO-578 --- .../jobs-close-lines.component.jsx | 6 ++++- .../jobs-detail-header-actions.component.jsx | 27 +++++++------------ .../src/pages/jobs-admin/jobs-admin.page.jsx | 2 ++ .../pages/jobs-close/jobs-close.component.jsx | 17 ++++++++---- 4 files changed, 29 insertions(+), 23 deletions(-) diff --git a/client/src/components/jobs-close-lines/jobs-close-lines.component.jsx b/client/src/components/jobs-close-lines/jobs-close-lines.component.jsx index fe6844503..c2ea5b348 100644 --- a/client/src/components/jobs-close-lines/jobs-close-lines.component.jsx +++ b/client/src/components/jobs-close-lines/jobs-close-lines.component.jsx @@ -3,6 +3,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; +import { selectJobReadOnly } from "../../redux/application/application.selectors"; import { selectBodyshop } from "../../redux/user/user.selectors"; import LaborTypeFormItem from "../form-items-formatted/labor-type-form-item.component"; import PartTypeFormItem from "../form-items-formatted/part-type-form-item.component"; @@ -11,12 +12,13 @@ import "./jobs-close-lines.styles.scss"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, + jobRO: selectJobReadOnly, }); const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); -export function JobsCloseLines({ bodyshop, job }) { +export function JobsCloseLines({ bodyshop, job, jobRO }) { const { t } = useTranslation(); return (
@@ -114,6 +116,7 @@ export function JobsCloseLines({ bodyshop, job }) { allowClear optionFilterProp="children" showSearch + disabled={jobRO} filterOption={(input, option) => option.children .toLowerCase() @@ -146,6 +149,7 @@ export function JobsCloseLines({ bodyshop, job }) { allowClear optionFilterProp="children" showSearch + disabled={jobRO} filterOption={(input, option) => option.children .toLowerCase() diff --git a/client/src/components/jobs-detail-header-actions/jobs-detail-header-actions.component.jsx b/client/src/components/jobs-detail-header-actions/jobs-detail-header-actions.component.jsx index ea66f70ee..baa0d7dbe 100644 --- a/client/src/components/jobs-detail-header-actions/jobs-detail-header-actions.component.jsx +++ b/client/src/components/jobs-detail-header-actions/jobs-detail-header-actions.component.jsx @@ -240,11 +240,8 @@ export function JobsDetailHeaderActions({ > {t("jobs.actions.addtopartsqueue")} - - {!!job.date_invoiced || !jobInPostProduction || jobRO ? ( + + {!jobInPostProduction ? ( t("menus.jobsactions.closejob") ) : ( )} - - {!!job.date_invoiced || jobRO ? ( - t("menus.jobsactions.admin") - ) : ( - - {t("menus.jobsactions.admin")} - - )} + + + {t("menus.jobsactions.admin")} +
+ diff --git a/client/src/pages/jobs-close/jobs-close.component.jsx b/client/src/pages/jobs-close/jobs-close.component.jsx index bbb016cf6..7163032a2 100644 --- a/client/src/pages/jobs-close/jobs-close.component.jsx +++ b/client/src/pages/jobs-close/jobs-close.component.jsx @@ -12,12 +12,14 @@ import JobsCloseExportButton from "../../components/jobs-close-export-button/job import JobsCloseLines from "../../components/jobs-close-lines/jobs-close-lines.component"; import { generateJobLinesUpdatesForInvoicing } from "../../graphql/jobs-lines.queries"; import { UPDATE_JOB } from "../../graphql/jobs.queries"; +import { selectJobReadOnly } from "../../redux/application/application.selectors"; import { selectBodyshop } from "../../redux/user/user.selectors"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, + jobRO: selectJobReadOnly, }); -export function JobsCloseComponent({ job, bodyshop }) { +export function JobsCloseComponent({ job, bodyshop, jobRO }) { const { t } = useTranslation(); const [form] = Form.useForm(); const client = useApolloClient(); @@ -86,26 +88,31 @@ export function JobsCloseComponent({ job, bodyshop }) { - - - +