From f66be95b57e593d2b34bedf1ec264f16c4378409 Mon Sep 17 00:00:00 2001 From: Tomasz Szymanski Date: Tue, 20 Oct 2020 15:19:58 +0200 Subject: [PATCH 1/3] Remove the finalization dialog --- .../OrderDraftFinalizeDialog.tsx | 124 ------------------ .../OrderDraftFinalizeDialog/index.ts | 2 - src/orders/views/OrderDetails/index.tsx | 50 +------ .../orders/OrderDraftFinalizeDialog.tsx | 46 ------- 4 files changed, 3 insertions(+), 219 deletions(-) delete mode 100644 src/orders/components/OrderDraftFinalizeDialog/OrderDraftFinalizeDialog.tsx delete mode 100644 src/orders/components/OrderDraftFinalizeDialog/index.ts delete mode 100644 src/storybook/stories/orders/OrderDraftFinalizeDialog.tsx diff --git a/src/orders/components/OrderDraftFinalizeDialog/OrderDraftFinalizeDialog.tsx b/src/orders/components/OrderDraftFinalizeDialog/OrderDraftFinalizeDialog.tsx deleted file mode 100644 index ba8ab3482..000000000 --- a/src/orders/components/OrderDraftFinalizeDialog/OrderDraftFinalizeDialog.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import DialogContentText from "@material-ui/core/DialogContentText"; -import ActionDialog from "@saleor/components/ActionDialog"; -import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; -import FormSpacer from "@saleor/components/FormSpacer"; -import { OrderErrorFragment } from "@saleor/fragments/types/OrderErrorFragment"; -import useModalDialogErrors from "@saleor/hooks/useModalDialogErrors"; -import getOrderErrorMessage from "@saleor/utils/errors/order"; -import React from "react"; -import { FormattedMessage, IntlShape, useIntl } from "react-intl"; - -export enum OrderDraftFinalizeWarning { - NO_SHIPPING, - NO_BILLING, - NO_USER, - NO_SHIPPING_METHOD, - UNNECESSARY_SHIPPING_METHOD -} - -export interface OrderDraftFinalizeDialogProps { - confirmButtonState: ConfirmButtonTransitionState; - errors: OrderErrorFragment[]; - open: boolean; - orderNumber: string; - warnings: OrderDraftFinalizeWarning[]; - onClose: () => void; - onConfirm: () => void; -} - -function translateWarnings( - intl: IntlShape -): Record { - return { - [OrderDraftFinalizeWarning.NO_BILLING]: intl.formatMessage({ - defaultMessage: "No billing address" - }), - [OrderDraftFinalizeWarning.NO_SHIPPING]: intl.formatMessage({ - defaultMessage: "No shipping address" - }), - [OrderDraftFinalizeWarning.NO_SHIPPING_METHOD]: intl.formatMessage({ - defaultMessage: "Some products require shipping, but no method provided" - }), - [OrderDraftFinalizeWarning.NO_USER]: intl.formatMessage({ - defaultMessage: "No user information" - }), - [OrderDraftFinalizeWarning.UNNECESSARY_SHIPPING_METHOD]: intl.formatMessage( - { - defaultMessage: "Shipping method provided, but no product requires it" - } - ) - }; -} - -const OrderDraftFinalizeDialog: React.FC = ({ - confirmButtonState, - errors: apiErrors, - open, - warnings, - onClose, - onConfirm, - orderNumber -}) => { - const intl = useIntl(); - const errors = useModalDialogErrors(apiErrors, open); - - const translatedWarnings = translateWarnings(intl); - - return ( - 0 - ? intl.formatMessage({ - defaultMessage: "Finalize anyway", - description: "button" - }) - : intl.formatMessage({ - defaultMessage: "Finalize", - description: "button" - }) - } - confirmButtonState={confirmButtonState} - variant={warnings.length > 0 ? "delete" : "default"} - > - - {warnings.length > 0 && ( - <> -

- -

-
    - {warnings.map(warning => ( -
  • {translatedWarnings[warning]}
  • - ))} -
- - )} - - {errors.length > 0 && ( - <> - - {errors.map((err, index) => ( - - {getOrderErrorMessage(err, intl)} - - ))} - - )} -
-
- ); -}; -OrderDraftFinalizeDialog.displayName = "OrderDraftFinalize"; -export default OrderDraftFinalizeDialog; diff --git a/src/orders/components/OrderDraftFinalizeDialog/index.ts b/src/orders/components/OrderDraftFinalizeDialog/index.ts deleted file mode 100644 index 8867a8bca..000000000 --- a/src/orders/components/OrderDraftFinalizeDialog/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default } from "./OrderDraftFinalizeDialog"; -export * from "./OrderDraftFinalizeDialog"; diff --git a/src/orders/views/OrderDetails/index.tsx b/src/orders/views/OrderDetails/index.tsx index fa9f48385..92b646f42 100644 --- a/src/orders/views/OrderDetails/index.tsx +++ b/src/orders/views/OrderDetails/index.tsx @@ -39,9 +39,6 @@ import OrderAddressEditDialog from "../../components/OrderAddressEditDialog"; import OrderCancelDialog from "../../components/OrderCancelDialog"; import OrderDetailsPage from "../../components/OrderDetailsPage"; import OrderDraftCancelDialog from "../../components/OrderDraftCancelDialog/OrderDraftCancelDialog"; -import OrderDraftFinalizeDialog, { - OrderDraftFinalizeWarning -} from "../../components/OrderDraftFinalizeDialog"; import OrderDraftPage from "../../components/OrderDraftPage"; import OrderFulfillmentCancelDialog from "../../components/OrderFulfillmentCancelDialog"; import OrderFulfillmentTrackingDialog from "../../components/OrderFulfillmentTrackingDialog"; @@ -52,7 +49,6 @@ import OrderProductAddDialog from "../../components/OrderProductAddDialog"; import OrderShippingMethodEditDialog from "../../components/OrderShippingMethodEditDialog"; import OrderOperations from "../../containers/OrderOperations"; import { TypedOrderDetailsQuery, useOrderVariantSearch } from "../../queries"; -import { OrderDetails_order } from "../../types/OrderDetails"; import { orderDraftListUrl, orderFulfillUrl, @@ -63,36 +59,6 @@ import { } from "../../urls"; import { OrderDetailsMessages } from "./OrderDetailsMessages"; -const orderDraftFinalizeWarnings = (order: OrderDetails_order) => { - const warnings = [] as OrderDraftFinalizeWarning[]; - if (!(order && order.shippingAddress)) { - warnings.push(OrderDraftFinalizeWarning.NO_SHIPPING); - } - if (!(order && order.billingAddress)) { - warnings.push(OrderDraftFinalizeWarning.NO_BILLING); - } - if (!(order && (order.user || order.userEmail))) { - warnings.push(OrderDraftFinalizeWarning.NO_USER); - } - if ( - order && - order.lines && - order.lines.filter(line => line.isShippingRequired).length > 0 && - order.shippingMethod === null - ) { - warnings.push(OrderDraftFinalizeWarning.NO_SHIPPING_METHOD); - } - if ( - order && - order.lines && - order.lines.filter(line => line.isShippingRequired).length === 0 && - order.shippingMethod !== null - ) { - warnings.push(OrderDraftFinalizeWarning.UNNECESSARY_SHIPPING_METHOD); - } - return warnings; -}; - interface OrderDetailsProps { id: string; params: OrderUrlQueryParams; @@ -513,7 +479,9 @@ export const OrderDetails: React.FC = ({ id, params }) => { input: data }) } - onDraftFinalize={() => openModal("finalize")} + onDraftFinalize={() => + orderDraftFinalize.mutate({ id }) + } onDraftRemove={() => openModal("cancel")} onOrderLineAdd={() => openModal("add-order-line")} onBack={() => navigate(orderDraftListUrl())} @@ -561,18 +529,6 @@ export const OrderDetails: React.FC = ({ id, params }) => { open={params.action === "cancel"} orderNumber={getStringOrPlaceholder(order?.number)} /> - orderDraftFinalize.mutate({ id })} - open={params.action === "finalize"} - orderNumber={getStringOrPlaceholder(order?.number)} - warnings={orderDraftFinalizeWarnings(order)} - /> undefined, - onConfirm: () => undefined, - open: true, - orderNumber: "5", - warnings: [] -}; - -storiesOf("Orders / OrderDraftFinalizeDialog", module) - .addDecorator(Decorator) - .add("default", () => ) - .add("with warnings", () => ( - - )) - .add("with errors", () => ( - - )); From 6d5b3a6b57fae4d50a6a80375f7fac589e666927 Mon Sep 17 00:00:00 2001 From: Tomasz Szymanski Date: Wed, 21 Oct 2020 10:48:46 +0200 Subject: [PATCH 2/3] Fix tests --- .../OrderDetails/OrderDetailsMessages.tsx | 1 - .../__snapshots__/Stories.test.ts.snap | 18 ------------------ src/storybook/config.js | 1 - 3 files changed, 20 deletions(-) diff --git a/src/orders/views/OrderDetails/OrderDetailsMessages.tsx b/src/orders/views/OrderDetails/OrderDetailsMessages.tsx index fad2cd6ef..81e3bb07a 100644 --- a/src/orders/views/OrderDetails/OrderDetailsMessages.tsx +++ b/src/orders/views/OrderDetails/OrderDetailsMessages.tsx @@ -255,7 +255,6 @@ export const OrderDetailsMessages: React.FC = ({ defaultMessage: "Draft order successfully finalized" }) }); - closeModal(); } }; const handleInvoiceGeneratePending = (data: InvoiceRequest) => { diff --git a/src/storybook/__snapshots__/Stories.test.ts.snap b/src/storybook/__snapshots__/Stories.test.ts.snap index 79a822a45..39024d95d 100644 --- a/src/storybook/__snapshots__/Stories.test.ts.snap +++ b/src/storybook/__snapshots__/Stories.test.ts.snap @@ -11673,24 +11673,6 @@ exports[`Storyshots Orders / OrderDraftCancelDialog errors 1`] = ` /> `; -exports[`Storyshots Orders / OrderDraftFinalizeDialog default 1`] = ` -
-`; - -exports[`Storyshots Orders / OrderDraftFinalizeDialog with errors 1`] = ` -
-`; - -exports[`Storyshots Orders / OrderDraftFinalizeDialog with warnings 1`] = ` -
-`; - exports[`Storyshots Orders / OrderFulfillmentCancelDialog default 1`] = `
Date: Wed, 21 Oct 2020 13:12:50 +0200 Subject: [PATCH 3/3] Translations --- locale/defaultMessages.json | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/locale/defaultMessages.json b/locale/defaultMessages.json index 13fb9f884..bb9d0b772 100644 --- a/locale/defaultMessages.json +++ b/locale/defaultMessages.json @@ -2905,39 +2905,6 @@ "context": "button", "string": "Add products" }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_115822814": { - "string": "No billing address" - }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_1161061962": { - "context": "dialog header", - "string": "Finalize Draft Order" - }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_1297434244": { - "string": "No user information" - }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_1472924390": { - "string": "There are missing or incorrect informations about this order:" - }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_2430492151": { - "string": "No shipping address" - }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_2725265632": { - "context": "button", - "string": "Finalize" - }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_2824936338": { - "string": "Shipping method provided, but no product requires it" - }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_2968256006": { - "string": "Some products require shipping, but no method provided" - }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_3358029330": { - "string": "Are you sure you want to finalize draft #{orderNumber}?" - }, - "src_dot_orders_dot_components_dot_OrderDraftFinalizeDialog_dot_678764806": { - "context": "button", - "string": "Finalize anyway" - }, "src_dot_orders_dot_components_dot_OrderDraftListPage_dot_2826235371": { "context": "button", "string": "Create order"