diff --git a/client/src/components/dashboard-components/scheduled-out-today/scheduled-out-today.component.jsx b/client/src/components/dashboard-components/scheduled-out-today/scheduled-out-today.component.jsx index 0c794f1db..2d167c330 100644 --- a/client/src/components/dashboard-components/scheduled-out-today/scheduled-out-today.component.jsx +++ b/client/src/components/dashboard-components/scheduled-out-today/scheduled-out-today.component.jsx @@ -22,12 +22,13 @@ export default function DashboardScheduledOutToday({ data, ...cardProps }) { if (!data.scheduled_out_today) return ; - data.scheduled_out_today.forEach((item) => { - item.scheduled_completion= dayjs(item.scheduled_completion).format("hh:mm a") - }); - data.scheduled_out_today.sort(function (a, b) { - return new Date(a.scheduled_completion) - new Date(b.scheduled_completion); - }); + const filteredScheduledOutToday = data.scheduled_out_today.map((item) => { + return { + ...item, + scheduled_completion: dayjs(item.scheduled_completion).format("hh:mm a"), + timestamp: dayjs(item.scheduled_completion).valueOf(), + } + }).sort((a, b) => a.timestamp - b.timestamp); const columns = [ { @@ -171,7 +172,7 @@ export default function DashboardScheduledOutToday({ data, ...cardProps }) { scroll={{ x: true, y: "calc(100% - 2em)" }} rowKey="id" style={{ height: "85%" }} - dataSource={data.scheduled_out_today} + dataSource={filteredScheduledOutToday} /> diff --git a/client/src/components/job-create-iou/job-create-iou.component.jsx b/client/src/components/job-create-iou/job-create-iou.component.jsx index 925c3c2e8..a30cc71e4 100644 --- a/client/src/components/job-create-iou/job-create-iou.component.jsx +++ b/client/src/components/job-create-iou/job-create-iou.component.jsx @@ -7,21 +7,31 @@ import { connect } from "react-redux"; import { useNavigate } from "react-router-dom"; import { createStructuredSelector } from "reselect"; import { UPDATE_JOB_LINES_IOU } from "../../graphql/jobs-lines.queries"; +import { selectTechnician } from "../../redux/tech/tech.selectors"; import { selectBodyshop, selectCurrentUser, } from "../../redux/user/user.selectors"; import { CreateIouForJob } from "../jobs-detail-header-actions/jobs-detail-header-actions.duplicate.util"; + const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, currentUser: selectCurrentUser, + technician: selectTechnician, }); + const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); export default connect(mapStateToProps, mapDispatchToProps)(JobCreateIOU); -export function JobCreateIOU({ bodyshop, currentUser, job, selectedJobLines }) { +export function JobCreateIOU({ + bodyshop, + currentUser, + job, + selectedJobLines, + technician, +}) { const { t } = useTranslation(); const [loading, setLoading] = useState(false); const client = useApolloClient(); @@ -81,13 +91,19 @@ export function JobCreateIOU({ bodyshop, currentUser, job, selectedJobLines }) { title={t("jobs.labels.createiouwarning")} onConfirm={handleCreateIou} disabled={ - !selectedJobLines || selectedJobLines.length === 0 || !job.converted + !selectedJobLines || + selectedJobLines.length === 0 || + !job.converted || + technician } >