feature/IO-3255-simplified-parts-management - Favor isPartsEntry over isPartsManagementOnly

This commit is contained in:
Dave
2025-08-13 16:52:08 -04:00
parent 766b4b950a
commit 67a8c13bad
7 changed files with 51 additions and 56 deletions

View File

@@ -3,7 +3,7 @@ import { PageHeader } from "@ant-design/pro-layout";
import { useLazyQuery, useMutation } from "@apollo/client";
import { Button, Drawer, Grid, Popconfirm, Space, Table } from "antd";
import queryString from "query-string";
import React, { useEffect, useState } from "react";
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { FaTasks } from "react-icons/fa";
import { connect } from "react-redux";
@@ -12,9 +12,9 @@ import { createStructuredSelector } from "reselect";
import { logImEXEvent } from "../../firebase/firebase.utils";
import { QUERY_BILL_BY_PK } from "../../graphql/bills.queries";
import { DELETE_PARTS_ORDER } from "../../graphql/parts-orders.queries";
import { selectJobReadOnly } from "../../redux/application/application.selectors";
import { selectIsPartsEntry, selectJobReadOnly } from "../../redux/application/application.selectors";
import { setModalContext } from "../../redux/modals/modals.actions";
import { selectBodyshop, selectPartsManagementOnly } from "../../redux/user/user.selectors";
import { selectBodyshop } from "../../redux/user/user.selectors";
import CurrencyFormatter from "../../utils/CurrencyFormatter";
import { DateFormatter } from "../../utils/DateFormatter";
import { TemplateList } from "../../utils/TemplateConstants";
@@ -32,7 +32,7 @@ import PrintWrapper from "../print-wrapper/print-wrapper.component";
const mapStateToProps = createStructuredSelector({
jobRO: selectJobReadOnly,
bodyshop: selectBodyshop,
partsManagementOnly: selectPartsManagementOnly
isPartsEntry: selectIsPartsEntry
});
const mapDispatchToProps = (dispatch) => ({
@@ -62,7 +62,7 @@ export function PartsOrderListTableDrawerComponent({
handleOnRowClick,
setPartsReceiveContext,
setTaskUpsertContext,
partsManagementOnly
isPartsEntry
}) {
const selectedBreakpoint = Object.entries(Grid.useBreakpoint())
.filter((screen) => !!screen[1])
@@ -136,7 +136,7 @@ export function PartsOrderListTableDrawerComponent({
>
{t("parts_orders.actions.receive")}
</Button>
{!partsManagementOnly && (
{!isPartsEntry && (
<Button
title={t("tasks.buttons.create")}
onClick={() => {
@@ -174,7 +174,7 @@ export function PartsOrderListTableDrawerComponent({
<DeleteFilled />
</Button>
</Popconfirm>
{!partsManagementOnly && (
{!isPartsEntry && (
<Button
disabled={
(jobRO ? !record.return : jobRO) ||
@@ -311,7 +311,7 @@ export function PartsOrderListTableDrawerComponent({
title: t("parts_orders.fields.backordered_on"),
dataIndex: "backordered_on",
key: "backordered_on",
render: (text, record) => <DateFormatter>{text}</DateFormatter>
render: (text) => <DateFormatter>{text}</DateFormatter>
},
{
title: t("parts_orders.fields.backordered_eta"),

View File

@@ -8,9 +8,9 @@ import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { logImEXEvent } from "../../firebase/firebase.utils";
import { DELETE_PARTS_ORDER } from "../../graphql/parts-orders.queries";
import { selectJobReadOnly } from "../../redux/application/application.selectors";
import { selectIsPartsEntry, selectJobReadOnly } from "../../redux/application/application.selectors";
import { setModalContext } from "../../redux/modals/modals.actions";
import { selectBodyshop, selectPartsManagementOnly } from "../../redux/user/user.selectors";
import { selectBodyshop } from "../../redux/user/user.selectors";
import { DateFormatter } from "../../utils/DateFormatter";
import { TemplateList } from "../../utils/TemplateConstants";
import { alphaSort } from "../../utils/sorters";
@@ -24,7 +24,7 @@ import ShareToTeamsButton from "../share-to-teams/share-to-teams.component.jsx";
const mapStateToProps = createStructuredSelector({
jobRO: selectJobReadOnly,
bodyshop: selectBodyshop,
partsManagementOnly: selectPartsManagementOnly
isPartsEntry: selectIsPartsEntry
});
const mapDispatchToProps = (dispatch) => ({
@@ -54,7 +54,7 @@ export function PartsOrderListTableComponent({
handleOnRowClick,
setPartsReceiveContext,
setTaskUpsertContext,
partsManagementOnly
isPartsEntry
}) {
const responsibilityCenters = bodyshop.md_responsibility_centers;
const Templates = TemplateList("partsorder", { job });
@@ -108,7 +108,7 @@ export function PartsOrderListTableComponent({
>
{t("parts_orders.actions.receive")}
</Button>
{!partsManagementOnly && (
{!isPartsEntry && (
<>
<Button
title={t("tasks.buttons.create")}
@@ -148,7 +148,7 @@ export function PartsOrderListTableComponent({
<Button disabled={jobRO} icon={<DeleteFilled />} />
</Popconfirm>
{!partsManagementOnly && (
{!isPartsEntry && (
<Button
disabled={
(jobRO ? !record.return : jobRO) ||