diff --git a/src/intl.ts b/src/intl.ts index 68b4efd27..458961851 100644 --- a/src/intl.ts +++ b/src/intl.ts @@ -121,6 +121,10 @@ export const buttonMessages = defineMessages({ defaultMessage: "Manage", description: "button" }, + ok: { + defaultMessage: "OK", + description: "button" + }, remove: { defaultMessage: "Remove", description: "button" diff --git a/src/orders/components/OrderBulkCancelDialog/OrderBulkCancelDialog.tsx b/src/orders/components/OrderBulkCancelDialog/OrderBulkCancelDialog.tsx index bbbc81e28..d8d073963 100644 --- a/src/orders/components/OrderBulkCancelDialog/OrderBulkCancelDialog.tsx +++ b/src/orders/components/OrderBulkCancelDialog/OrderBulkCancelDialog.tsx @@ -4,14 +4,13 @@ import { FormattedMessage, useIntl } from "react-intl"; import ActionDialog from "@saleor/components/ActionDialog"; import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; -import ControlledCheckbox from "@saleor/components/ControlledCheckbox"; export interface OrderBulkCancelDialogProps { confirmButtonState: ConfirmButtonTransitionState; numberOfOrders: string; open: boolean; onClose: () => void; - onConfirm: (restock: boolean) => void; + onConfirm: () => void; } const OrderBulkCancelDialog: React.FC = ({ @@ -22,7 +21,6 @@ const OrderBulkCancelDialog: React.FC = ({ onConfirm }) => { const intl = useIntl(); - const [restock, setRestock] = React.useState(true); return ( = ({ description: "dialog header" })} onClose={onClose} - onConfirm={() => onConfirm(restock)} + onConfirm={onConfirm} > = ({ }} /> - setRestock(event.target.value)} - /> ); }; diff --git a/src/orders/components/OrderCancelDialog/OrderCancelDialog.tsx b/src/orders/components/OrderCancelDialog/OrderCancelDialog.tsx index dc2a21fc9..34748e33b 100644 --- a/src/orders/components/OrderCancelDialog/OrderCancelDialog.tsx +++ b/src/orders/components/OrderCancelDialog/OrderCancelDialog.tsx @@ -21,8 +21,8 @@ export interface OrderCancelDialogProps { errors: OrderErrorFragment[]; number: string; open: boolean; - onClose?(); - onSubmit(); + onClose: () => void; + onSubmit: () => void; } const OrderCancelDialog: React.FC = props => { @@ -50,8 +50,9 @@ const OrderCancelDialog: React.FC = props => { {chunks}, orderNumber }} /> diff --git a/src/orders/components/OrderCannotCancelOrderDialog/OrderCannotCancelOrderDialog.tsx b/src/orders/components/OrderCannotCancelOrderDialog/OrderCannotCancelOrderDialog.tsx new file mode 100644 index 000000000..b2a515ea2 --- /dev/null +++ b/src/orders/components/OrderCannotCancelOrderDialog/OrderCannotCancelOrderDialog.tsx @@ -0,0 +1,57 @@ +import Button from "@material-ui/core/Button"; +import Dialog from "@material-ui/core/Dialog"; +import DialogActions from "@material-ui/core/DialogActions"; +import DialogContent from "@material-ui/core/DialogContent"; +import DialogContentText from "@material-ui/core/DialogContentText"; +import DialogTitle from "@material-ui/core/DialogTitle"; +import makeStyles from "@material-ui/core/styles/makeStyles"; +import React from "react"; +import { FormattedMessage } from "react-intl"; + +import { buttonMessages } from "@saleor/intl"; +import { DialogProps } from "@saleor/types"; + +const useStyles = makeStyles( + theme => ({ + button: { + backgroundColor: theme.palette.error.main + } + }), + { + name: "OrderCannotCancelOrderDialog" + } +); + +const OrderCannotCancelOrderDialog: React.FC = ({ + open, + onClose +}) => { + const classes = useStyles({}); + + return ( + + + + + + + + + + + + + + ); +}; +OrderCannotCancelOrderDialog.displayName = "OrderCannotCancelOrderDialog"; +export default OrderCannotCancelOrderDialog; diff --git a/src/orders/components/OrderCannotCancelOrderDialog/index.ts b/src/orders/components/OrderCannotCancelOrderDialog/index.ts new file mode 100644 index 000000000..7a5eb78e1 --- /dev/null +++ b/src/orders/components/OrderCannotCancelOrderDialog/index.ts @@ -0,0 +1,2 @@ +export { default } from "./OrderCannotCancelOrderDialog"; +export * from "./OrderCannotCancelOrderDialog"; diff --git a/src/orders/components/OrderFulfillPage/OrderFulfillPage.stories.tsx b/src/orders/components/OrderFulfillPage/OrderFulfillPage.stories.tsx index 58e12a34b..cbd11bbdc 100644 --- a/src/orders/components/OrderFulfillPage/OrderFulfillPage.stories.tsx +++ b/src/orders/components/OrderFulfillPage/OrderFulfillPage.stories.tsx @@ -3,11 +3,13 @@ import React from "react"; import Decorator from "@saleor/storybook/Decorator"; import { warehouseList } from "@saleor/warehouses/fixtures"; +import { OrderErrorCode } from "@saleor/types/globalTypes"; import OrderFulfillPage, { OrderFulfillPageProps } from "./OrderFulfillPage"; import { orderToFulfill } from "./fixtures"; const props: OrderFulfillPageProps = { disabled: false, + errors: [], onBack: () => undefined, onSubmit: () => undefined, order: orderToFulfill, @@ -25,4 +27,18 @@ storiesOf("Views / Orders / Fulfill order", module) order={undefined} warehouses={undefined} /> + )) + .add("error", () => ( + )); diff --git a/src/orders/components/OrderFulfillment/OrderFulfillment.tsx b/src/orders/components/OrderFulfillment/OrderFulfillment.tsx index 73d1d0ddf..ea85414ac 100644 --- a/src/orders/components/OrderFulfillment/OrderFulfillment.tsx +++ b/src/orders/components/OrderFulfillment/OrderFulfillment.tsx @@ -240,7 +240,7 @@ const OrderFulfillment: React.FC = props => { color="textPrimary" variant="body2" > - default + {fulfillment.warehouse.name} ) }} diff --git a/src/orders/fixtures.ts b/src/orders/fixtures.ts index c08cf001f..41279fd34 100644 --- a/src/orders/fixtures.ts +++ b/src/orders/fixtures.ts @@ -1,5 +1,6 @@ import { SearchCustomers_search_edges_node } from "@saleor/searches/types/SearchCustomers"; import { MessageDescriptor } from "react-intl"; +import { warehouseList } from "@saleor/warehouses/fixtures"; import { transformOrderStatus, transformPaymentStatus } from "../misc"; import { FulfillmentStatus, @@ -865,7 +866,8 @@ export const order = (placeholder: string): OrderDetails_order => ({ } ], status: FulfillmentStatus.FULFILLED, - trackingNumber: "" + trackingNumber: "", + warehouse: warehouseList[1] }, { __typename: "Fulfillment", @@ -905,7 +907,8 @@ export const order = (placeholder: string): OrderDetails_order => ({ } ], status: FulfillmentStatus.FULFILLED, - trackingNumber: "01nn12399su12nndfsy" + trackingNumber: "01nn12399su12nndfsy", + warehouse: warehouseList[0] } ], id: "T3JkZXI6OQ==", diff --git a/src/orders/mutations.ts b/src/orders/mutations.ts index 28fe5cb35..9bd64447b 100644 --- a/src/orders/mutations.ts +++ b/src/orders/mutations.ts @@ -71,8 +71,8 @@ export const orderErrorFragment = gql` const orderCancelMutation = gql` ${fragmentOrderDetails} ${orderErrorFragment} - mutation OrderCancel($id: ID!, $restock: Boolean!) { - orderCancel(id: $id, restock: $restock) { + mutation OrderCancel($id: ID!) { + orderCancel(id: $id) { errors: orderErrors { ...OrderErrorFragment } @@ -89,8 +89,8 @@ export const TypedOrderCancelMutation = TypedMutation< const orderBulkCancelMutation = gql` ${orderErrorFragment} - mutation OrderBulkCancel($ids: [ID]!, $restock: Boolean!) { - orderBulkCancel(ids: $ids, restock: $restock) { + mutation OrderBulkCancel($ids: [ID]!) { + orderBulkCancel(ids: $ids) { errors: orderErrors { ...OrderErrorFragment } diff --git a/src/orders/queries.ts b/src/orders/queries.ts index 8ecb5ff8d..e5c4db3b8 100644 --- a/src/orders/queries.ts +++ b/src/orders/queries.ts @@ -2,6 +2,7 @@ import gql from "graphql-tag"; import makeTopLevelSearch from "@saleor/hooks/makeTopLevelSearch"; import makeQuery from "@saleor/hooks/makeQuery"; +import { warehouseFragment } from "@saleor/warehouses/queries"; import { TypedQuery } from "../queries"; import { OrderDetails, OrderDetailsVariables } from "./types/OrderDetails"; import { @@ -79,6 +80,7 @@ export const fragmentOrderLine = gql` `; export const fulfillmentFragment = gql` ${fragmentOrderLine} + ${warehouseFragment} fragment FulfillmentFragment on Fulfillment { id lines { @@ -91,6 +93,9 @@ export const fulfillmentFragment = gql` fulfillmentOrder status trackingNumber + warehouse { + ...WarehouseFragment + } } `; diff --git a/src/orders/types/FulfillOrder.ts b/src/orders/types/FulfillOrder.ts index 9aa8810ab..786ffb08c 100644 --- a/src/orders/types/FulfillOrder.ts +++ b/src/orders/types/FulfillOrder.ts @@ -99,6 +99,12 @@ export interface FulfillOrder_orderFulfill_order_fulfillments_lines { orderLine: FulfillOrder_orderFulfill_order_fulfillments_lines_orderLine | null; } +export interface FulfillOrder_orderFulfill_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface FulfillOrder_orderFulfill_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -106,6 +112,7 @@ export interface FulfillOrder_orderFulfill_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: FulfillOrder_orderFulfill_order_fulfillments_warehouse | null; } export interface FulfillOrder_orderFulfill_order_lines_unitPrice_gross { diff --git a/src/orders/types/FulfillmentFragment.ts b/src/orders/types/FulfillmentFragment.ts new file mode 100644 index 000000000..e8ac634b5 --- /dev/null +++ b/src/orders/types/FulfillmentFragment.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +// This file was automatically generated and should not be edited. + +import { FulfillmentStatus } from "./../../types/globalTypes"; + +// ==================================================== +// GraphQL fragment: FulfillmentFragment +// ==================================================== + +export interface FulfillmentFragment_lines_orderLine_unitPrice_gross { + __typename: "Money"; + amount: number; + currency: string; +} + +export interface FulfillmentFragment_lines_orderLine_unitPrice_net { + __typename: "Money"; + amount: number; + currency: string; +} + +export interface FulfillmentFragment_lines_orderLine_unitPrice { + __typename: "TaxedMoney"; + gross: FulfillmentFragment_lines_orderLine_unitPrice_gross; + net: FulfillmentFragment_lines_orderLine_unitPrice_net; +} + +export interface FulfillmentFragment_lines_orderLine_thumbnail { + __typename: "Image"; + url: string; +} + +export interface FulfillmentFragment_lines_orderLine { + __typename: "OrderLine"; + id: string; + isShippingRequired: boolean; + productName: string; + productSku: string; + quantity: number; + quantityFulfilled: number; + unitPrice: FulfillmentFragment_lines_orderLine_unitPrice | null; + thumbnail: FulfillmentFragment_lines_orderLine_thumbnail | null; +} + +export interface FulfillmentFragment_lines { + __typename: "FulfillmentLine"; + id: string; + quantity: number; + orderLine: FulfillmentFragment_lines_orderLine | null; +} + +export interface FulfillmentFragment_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + +export interface FulfillmentFragment { + __typename: "Fulfillment"; + id: string; + lines: (FulfillmentFragment_lines | null)[] | null; + fulfillmentOrder: number; + status: FulfillmentStatus; + trackingNumber: string; + warehouse: FulfillmentFragment_warehouse | null; +} diff --git a/src/orders/types/OrderBulkCancel.ts b/src/orders/types/OrderBulkCancel.ts index c61e82ac7..1a838b957 100644 --- a/src/orders/types/OrderBulkCancel.ts +++ b/src/orders/types/OrderBulkCancel.ts @@ -25,5 +25,4 @@ export interface OrderBulkCancel { export interface OrderBulkCancelVariables { ids: (string | null)[]; - restock: boolean; } diff --git a/src/orders/types/OrderCancel.ts b/src/orders/types/OrderCancel.ts index 19db67e37..7258dbdb0 100644 --- a/src/orders/types/OrderCancel.ts +++ b/src/orders/types/OrderCancel.ts @@ -97,6 +97,12 @@ export interface OrderCancel_orderCancel_order_fulfillments_lines { orderLine: OrderCancel_orderCancel_order_fulfillments_lines_orderLine | null; } +export interface OrderCancel_orderCancel_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderCancel_orderCancel_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderCancel_orderCancel_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderCancel_orderCancel_order_fulfillments_warehouse | null; } export interface OrderCancel_orderCancel_order_lines_unitPrice_gross { @@ -278,5 +285,4 @@ export interface OrderCancel { export interface OrderCancelVariables { id: string; - restock: boolean; } diff --git a/src/orders/types/OrderCapture.ts b/src/orders/types/OrderCapture.ts index 502223d9d..5c3abf2ee 100644 --- a/src/orders/types/OrderCapture.ts +++ b/src/orders/types/OrderCapture.ts @@ -97,6 +97,12 @@ export interface OrderCapture_orderCapture_order_fulfillments_lines { orderLine: OrderCapture_orderCapture_order_fulfillments_lines_orderLine | null; } +export interface OrderCapture_orderCapture_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderCapture_orderCapture_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderCapture_orderCapture_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderCapture_orderCapture_order_fulfillments_warehouse | null; } export interface OrderCapture_orderCapture_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderDetails.ts b/src/orders/types/OrderDetails.ts index a668e4563..4ec01cdca 100644 --- a/src/orders/types/OrderDetails.ts +++ b/src/orders/types/OrderDetails.ts @@ -91,6 +91,12 @@ export interface OrderDetails_order_fulfillments_lines { orderLine: OrderDetails_order_fulfillments_lines_orderLine | null; } +export interface OrderDetails_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderDetails_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -98,6 +104,7 @@ export interface OrderDetails_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderDetails_order_fulfillments_warehouse | null; } export interface OrderDetails_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderDetailsFragment.ts b/src/orders/types/OrderDetailsFragment.ts index fc2f5d3ba..e01d64bbb 100644 --- a/src/orders/types/OrderDetailsFragment.ts +++ b/src/orders/types/OrderDetailsFragment.ts @@ -91,6 +91,12 @@ export interface OrderDetailsFragment_fulfillments_lines { orderLine: OrderDetailsFragment_fulfillments_lines_orderLine | null; } +export interface OrderDetailsFragment_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderDetailsFragment_fulfillments { __typename: "Fulfillment"; id: string; @@ -98,6 +104,7 @@ export interface OrderDetailsFragment_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderDetailsFragment_fulfillments_warehouse | null; } export interface OrderDetailsFragment_lines_unitPrice_gross { diff --git a/src/orders/types/OrderDraftCancel.ts b/src/orders/types/OrderDraftCancel.ts index 75c50fc0d..0d5f737d9 100644 --- a/src/orders/types/OrderDraftCancel.ts +++ b/src/orders/types/OrderDraftCancel.ts @@ -97,6 +97,12 @@ export interface OrderDraftCancel_draftOrderDelete_order_fulfillments_lines { orderLine: OrderDraftCancel_draftOrderDelete_order_fulfillments_lines_orderLine | null; } +export interface OrderDraftCancel_draftOrderDelete_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderDraftCancel_draftOrderDelete_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderDraftCancel_draftOrderDelete_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderDraftCancel_draftOrderDelete_order_fulfillments_warehouse | null; } export interface OrderDraftCancel_draftOrderDelete_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderDraftFinalize.ts b/src/orders/types/OrderDraftFinalize.ts index e4f7c715b..8b1ea1068 100644 --- a/src/orders/types/OrderDraftFinalize.ts +++ b/src/orders/types/OrderDraftFinalize.ts @@ -97,6 +97,12 @@ export interface OrderDraftFinalize_draftOrderComplete_order_fulfillments_lines orderLine: OrderDraftFinalize_draftOrderComplete_order_fulfillments_lines_orderLine | null; } +export interface OrderDraftFinalize_draftOrderComplete_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderDraftFinalize_draftOrderComplete_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderDraftFinalize_draftOrderComplete_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderDraftFinalize_draftOrderComplete_order_fulfillments_warehouse | null; } export interface OrderDraftFinalize_draftOrderComplete_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderDraftUpdate.ts b/src/orders/types/OrderDraftUpdate.ts index 6a54380da..77f764948 100644 --- a/src/orders/types/OrderDraftUpdate.ts +++ b/src/orders/types/OrderDraftUpdate.ts @@ -97,6 +97,12 @@ export interface OrderDraftUpdate_draftOrderUpdate_order_fulfillments_lines { orderLine: OrderDraftUpdate_draftOrderUpdate_order_fulfillments_lines_orderLine | null; } +export interface OrderDraftUpdate_draftOrderUpdate_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderDraftUpdate_draftOrderUpdate_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderDraftUpdate_draftOrderUpdate_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderDraftUpdate_draftOrderUpdate_order_fulfillments_warehouse | null; } export interface OrderDraftUpdate_draftOrderUpdate_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderFulfillmentCancel.ts b/src/orders/types/OrderFulfillmentCancel.ts index 667f4a9f8..014908b9e 100644 --- a/src/orders/types/OrderFulfillmentCancel.ts +++ b/src/orders/types/OrderFulfillmentCancel.ts @@ -97,6 +97,12 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_fulfillment orderLine: OrderFulfillmentCancel_orderFulfillmentCancel_order_fulfillments_lines_orderLine | null; } +export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_fulfillment fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderFulfillmentCancel_orderFulfillmentCancel_order_fulfillments_warehouse | null; } export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderFulfillmentUpdateTracking.ts b/src/orders/types/OrderFulfillmentUpdateTracking.ts index 83b44ed82..0a0e5cca1 100644 --- a/src/orders/types/OrderFulfillmentUpdateTracking.ts +++ b/src/orders/types/OrderFulfillmentUpdateTracking.ts @@ -97,6 +97,12 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o orderLine: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_fulfillments_lines_orderLine | null; } +export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_fulfillments_warehouse | null; } export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderLineDelete.ts b/src/orders/types/OrderLineDelete.ts index 96c7b2548..8205439ea 100644 --- a/src/orders/types/OrderLineDelete.ts +++ b/src/orders/types/OrderLineDelete.ts @@ -97,6 +97,12 @@ export interface OrderLineDelete_draftOrderLineDelete_order_fulfillments_lines { orderLine: OrderLineDelete_draftOrderLineDelete_order_fulfillments_lines_orderLine | null; } +export interface OrderLineDelete_draftOrderLineDelete_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderLineDelete_draftOrderLineDelete_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderLineDelete_draftOrderLineDelete_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderLineDelete_draftOrderLineDelete_order_fulfillments_warehouse | null; } export interface OrderLineDelete_draftOrderLineDelete_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderLineUpdate.ts b/src/orders/types/OrderLineUpdate.ts index 3651a5cce..948b0beac 100644 --- a/src/orders/types/OrderLineUpdate.ts +++ b/src/orders/types/OrderLineUpdate.ts @@ -97,6 +97,12 @@ export interface OrderLineUpdate_draftOrderLineUpdate_order_fulfillments_lines { orderLine: OrderLineUpdate_draftOrderLineUpdate_order_fulfillments_lines_orderLine | null; } +export interface OrderLineUpdate_draftOrderLineUpdate_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderLineUpdate_draftOrderLineUpdate_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderLineUpdate_draftOrderLineUpdate_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderLineUpdate_draftOrderLineUpdate_order_fulfillments_warehouse | null; } export interface OrderLineUpdate_draftOrderLineUpdate_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderLinesAdd.ts b/src/orders/types/OrderLinesAdd.ts index 20ecbd7fa..b2cd429e8 100644 --- a/src/orders/types/OrderLinesAdd.ts +++ b/src/orders/types/OrderLinesAdd.ts @@ -97,6 +97,12 @@ export interface OrderLinesAdd_draftOrderLinesCreate_order_fulfillments_lines { orderLine: OrderLinesAdd_draftOrderLinesCreate_order_fulfillments_lines_orderLine | null; } +export interface OrderLinesAdd_draftOrderLinesCreate_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderLinesAdd_draftOrderLinesCreate_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderLinesAdd_draftOrderLinesCreate_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderLinesAdd_draftOrderLinesCreate_order_fulfillments_warehouse | null; } export interface OrderLinesAdd_draftOrderLinesCreate_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderMarkAsPaid.ts b/src/orders/types/OrderMarkAsPaid.ts index 4047ef0b9..898cf9a99 100644 --- a/src/orders/types/OrderMarkAsPaid.ts +++ b/src/orders/types/OrderMarkAsPaid.ts @@ -97,6 +97,12 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order_fulfillments_lines { orderLine: OrderMarkAsPaid_orderMarkAsPaid_order_fulfillments_lines_orderLine | null; } +export interface OrderMarkAsPaid_orderMarkAsPaid_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderMarkAsPaid_orderMarkAsPaid_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderMarkAsPaid_orderMarkAsPaid_order_fulfillments_warehouse | null; } export interface OrderMarkAsPaid_orderMarkAsPaid_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderRefund.ts b/src/orders/types/OrderRefund.ts index 29eee9ef3..6f764f9e6 100644 --- a/src/orders/types/OrderRefund.ts +++ b/src/orders/types/OrderRefund.ts @@ -97,6 +97,12 @@ export interface OrderRefund_orderRefund_order_fulfillments_lines { orderLine: OrderRefund_orderRefund_order_fulfillments_lines_orderLine | null; } +export interface OrderRefund_orderRefund_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderRefund_orderRefund_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderRefund_orderRefund_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderRefund_orderRefund_order_fulfillments_warehouse | null; } export interface OrderRefund_orderRefund_order_lines_unitPrice_gross { diff --git a/src/orders/types/OrderVoid.ts b/src/orders/types/OrderVoid.ts index 3ee9caec1..880598c78 100644 --- a/src/orders/types/OrderVoid.ts +++ b/src/orders/types/OrderVoid.ts @@ -97,6 +97,12 @@ export interface OrderVoid_orderVoid_order_fulfillments_lines { orderLine: OrderVoid_orderVoid_order_fulfillments_lines_orderLine | null; } +export interface OrderVoid_orderVoid_order_fulfillments_warehouse { + __typename: "Warehouse"; + id: string; + name: string; +} + export interface OrderVoid_orderVoid_order_fulfillments { __typename: "Fulfillment"; id: string; @@ -104,6 +110,7 @@ export interface OrderVoid_orderVoid_order_fulfillments { fulfillmentOrder: number; status: FulfillmentStatus; trackingNumber: string; + warehouse: OrderVoid_orderVoid_order_fulfillments_warehouse | null; } export interface OrderVoid_orderVoid_order_lines_unitPrice_gross { diff --git a/src/orders/views/OrderDetails/index.tsx b/src/orders/views/OrderDetails/index.tsx index db37b4dab..50c369b6c 100644 --- a/src/orders/views/OrderDetails/index.tsx +++ b/src/orders/views/OrderDetails/index.tsx @@ -9,6 +9,7 @@ import useCustomerSearch from "@saleor/searches/useCustomerSearch"; import createDialogActionHandlers from "@saleor/utils/handlers/dialogActionHandlers"; import NotFoundPage from "@saleor/components/NotFoundPage"; import { useWarehouseList } from "@saleor/warehouses/queries"; +import OrderCannotCancelOrderDialog from "@saleor/orders/components/OrderCannotCancelOrderDialog"; import { customerUrl } from "../../../customers/urls"; import { maybe, @@ -16,7 +17,7 @@ import { getStringOrPlaceholder } from "../../../misc"; import { productUrl } from "../../../products/urls"; -import { OrderStatus } from "../../../types/globalTypes"; +import { OrderStatus, FulfillmentStatus } from "../../../types/globalTypes"; import OrderAddressEditDialog from "../../components/OrderAddressEditDialog"; import OrderCancelDialog from "../../components/OrderCancelDialog"; import OrderDetailsPage from "../../components/OrderDetailsPage"; @@ -229,6 +230,17 @@ export const OrderDetails: React.FC = ({ id, params }) => { navigate(customerUrl(order.user.id)) } /> + + fulfillment.status === + FulfillmentStatus.FULFILLED + ) + } + /> = ({ id, params }) => { number={order?.number} open={params.action === "cancel"} onClose={closeModal} - onSubmit={variables => + onSubmit={() => orderCancel.mutate({ - id, - ...variables + id }) } /> diff --git a/src/orders/views/OrderList/OrderList.tsx b/src/orders/views/OrderList/OrderList.tsx index eccc47b8f..672539522 100644 --- a/src/orders/views/OrderList/OrderList.tsx +++ b/src/orders/views/OrderList/OrderList.tsx @@ -164,11 +164,10 @@ export const OrderList: React.FC = ({ params }) => { return ( {(orderBulkCancel, orderBulkCancelOpts) => { - const onOrderBulkCancel = (restock: boolean) => + const onOrderBulkCancel = () => orderBulkCancel({ variables: { - ids: params.ids, - restock + ids: params.ids } });