From 3d8a84930150a87e33bc816ffdd6901265ad0bfb Mon Sep 17 00:00:00 2001 From: Jakub Majorek Date: Fri, 5 Mar 2021 11:02:27 +0100 Subject: [PATCH] [SALEOR-2587] Handle null orderLine item (#1001) --- src/fragments/orders.ts | 1 + src/fragments/types/OrderDetailsFragment.ts | 1 + src/fragments/types/OrderEventFragment.ts | 1 + .../OrderHistory/ExtendedTimelineEvent.tsx | 13 ++++++++----- src/orders/fixtures.ts | 2 ++ src/orders/types/FulfillOrder.ts | 1 + src/orders/types/OrderAddNote.ts | 1 + src/orders/types/OrderCancel.ts | 1 + src/orders/types/OrderCapture.ts | 1 + src/orders/types/OrderConfirm.ts | 1 + src/orders/types/OrderDetails.ts | 1 + src/orders/types/OrderDraftCancel.ts | 1 + src/orders/types/OrderDraftFinalize.ts | 1 + src/orders/types/OrderDraftUpdate.ts | 1 + src/orders/types/OrderFulfillmentCancel.ts | 1 + src/orders/types/OrderFulfillmentRefundProducts.ts | 1 + src/orders/types/OrderFulfillmentUpdateTracking.ts | 1 + src/orders/types/OrderLineDelete.ts | 1 + src/orders/types/OrderLineUpdate.ts | 1 + src/orders/types/OrderLinesAdd.ts | 1 + src/orders/types/OrderMarkAsPaid.ts | 1 + src/orders/types/OrderRefund.ts | 1 + src/orders/types/OrderUpdate.ts | 1 + src/orders/types/OrderVoid.ts | 1 + 24 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/fragments/orders.ts b/src/fragments/orders.ts index 3ae5427eb..1e8262110 100644 --- a/src/fragments/orders.ts +++ b/src/fragments/orders.ts @@ -28,6 +28,7 @@ export const fragmentOrderEvent = gql` } lines { quantity + itemName orderLine { id productName diff --git a/src/fragments/types/OrderDetailsFragment.ts b/src/fragments/types/OrderDetailsFragment.ts index 1fa3cf605..9aa3440b8 100644 --- a/src/fragments/types/OrderDetailsFragment.ts +++ b/src/fragments/types/OrderDetailsFragment.ts @@ -66,6 +66,7 @@ export interface OrderDetailsFragment_events_lines_orderLine { export interface OrderDetailsFragment_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderDetailsFragment_events_lines_orderLine | null; } diff --git a/src/fragments/types/OrderEventFragment.ts b/src/fragments/types/OrderEventFragment.ts index c2ce63beb..514c50dd2 100644 --- a/src/fragments/types/OrderEventFragment.ts +++ b/src/fragments/types/OrderEventFragment.ts @@ -32,6 +32,7 @@ export interface OrderEventFragment_lines_orderLine { export interface OrderEventFragment_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderEventFragment_lines_orderLine | null; } diff --git a/src/orders/components/OrderHistory/ExtendedTimelineEvent.tsx b/src/orders/components/OrderHistory/ExtendedTimelineEvent.tsx index c47be5f9b..4ad6fac0c 100644 --- a/src/orders/components/OrderHistory/ExtendedTimelineEvent.tsx +++ b/src/orders/components/OrderHistory/ExtendedTimelineEvent.tsx @@ -138,7 +138,10 @@ const ExtendedTimelineEvent: React.FC = ({ const titleElements = { by: { text: intl.formatMessage(messages.by) }, - employeeName: { link: staffMemberDetailsUrl(user.id), text: employeeName }, + employeeName: { + link: staffMemberDetailsUrl(user.id), + text: employeeName.trim() ? employeeName : user.email + }, orderNumber: { link: orderUrl(relatedOrder?.id), text: `#${relatedOrder?.number}` @@ -172,14 +175,14 @@ const ExtendedTimelineEvent: React.FC = ({ - {lines.map(({ orderLine, quantity }) => ( - + {lines.map(({ orderLine, quantity, itemName }, i) => ( +
- {orderLine.productName} + {orderLine?.productName || itemName} - {orderLine.variantName} + {orderLine?.variantName} diff --git a/src/orders/fixtures.ts b/src/orders/fixtures.ts index d7da06e92..e93332045 100644 --- a/src/orders/fixtures.ts +++ b/src/orders/fixtures.ts @@ -857,6 +857,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ lines: [ { __typename: "OrderEventOrderLineObject", + itemName: "Milk Cow's milk", orderLine: { __typename: "OrderLine", id: "h47gfncfgwegfehfhj", @@ -867,6 +868,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ }, { __typename: "OrderEventOrderLineObject", + itemName: "Milk Goat's milk", orderLine: { __typename: "OrderLine", id: "7846f857t4t84y8fgh", diff --git a/src/orders/types/FulfillOrder.ts b/src/orders/types/FulfillOrder.ts index 7693b56ce..7675a2846 100644 --- a/src/orders/types/FulfillOrder.ts +++ b/src/orders/types/FulfillOrder.ts @@ -74,6 +74,7 @@ export interface FulfillOrder_orderFulfill_order_events_lines_orderLine { export interface FulfillOrder_orderFulfill_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: FulfillOrder_orderFulfill_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderAddNote.ts b/src/orders/types/OrderAddNote.ts index df92a2e07..fe7ab0fe6 100644 --- a/src/orders/types/OrderAddNote.ts +++ b/src/orders/types/OrderAddNote.ts @@ -38,6 +38,7 @@ export interface OrderAddNote_orderAddNote_order_events_lines_orderLine { export interface OrderAddNote_orderAddNote_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderAddNote_orderAddNote_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderCancel.ts b/src/orders/types/OrderCancel.ts index 649fb708f..957096b48 100644 --- a/src/orders/types/OrderCancel.ts +++ b/src/orders/types/OrderCancel.ts @@ -72,6 +72,7 @@ export interface OrderCancel_orderCancel_order_events_lines_orderLine { export interface OrderCancel_orderCancel_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderCancel_orderCancel_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderCapture.ts b/src/orders/types/OrderCapture.ts index 0212eeffe..694ad4b76 100644 --- a/src/orders/types/OrderCapture.ts +++ b/src/orders/types/OrderCapture.ts @@ -72,6 +72,7 @@ export interface OrderCapture_orderCapture_order_events_lines_orderLine { export interface OrderCapture_orderCapture_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderCapture_orderCapture_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderConfirm.ts b/src/orders/types/OrderConfirm.ts index a2e096f95..822327d44 100644 --- a/src/orders/types/OrderConfirm.ts +++ b/src/orders/types/OrderConfirm.ts @@ -72,6 +72,7 @@ export interface OrderConfirm_orderConfirm_order_events_lines_orderLine { export interface OrderConfirm_orderConfirm_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderConfirm_orderConfirm_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderDetails.ts b/src/orders/types/OrderDetails.ts index 8030eca4a..77ad66833 100644 --- a/src/orders/types/OrderDetails.ts +++ b/src/orders/types/OrderDetails.ts @@ -66,6 +66,7 @@ export interface OrderDetails_order_events_lines_orderLine { export interface OrderDetails_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderDetails_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderDraftCancel.ts b/src/orders/types/OrderDraftCancel.ts index 58100ff8a..a537c9d16 100644 --- a/src/orders/types/OrderDraftCancel.ts +++ b/src/orders/types/OrderDraftCancel.ts @@ -72,6 +72,7 @@ export interface OrderDraftCancel_draftOrderDelete_order_events_lines_orderLine export interface OrderDraftCancel_draftOrderDelete_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderDraftCancel_draftOrderDelete_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderDraftFinalize.ts b/src/orders/types/OrderDraftFinalize.ts index 508ff56a2..7a5a2a1cc 100644 --- a/src/orders/types/OrderDraftFinalize.ts +++ b/src/orders/types/OrderDraftFinalize.ts @@ -72,6 +72,7 @@ export interface OrderDraftFinalize_draftOrderComplete_order_events_lines_orderL export interface OrderDraftFinalize_draftOrderComplete_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderDraftFinalize_draftOrderComplete_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderDraftUpdate.ts b/src/orders/types/OrderDraftUpdate.ts index 2d3a06c0d..3963694f3 100644 --- a/src/orders/types/OrderDraftUpdate.ts +++ b/src/orders/types/OrderDraftUpdate.ts @@ -72,6 +72,7 @@ export interface OrderDraftUpdate_draftOrderUpdate_order_events_lines_orderLine export interface OrderDraftUpdate_draftOrderUpdate_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderDraftUpdate_draftOrderUpdate_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderFulfillmentCancel.ts b/src/orders/types/OrderFulfillmentCancel.ts index 97708d011..a30e8610a 100644 --- a/src/orders/types/OrderFulfillmentCancel.ts +++ b/src/orders/types/OrderFulfillmentCancel.ts @@ -72,6 +72,7 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_events_line export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderFulfillmentCancel_orderFulfillmentCancel_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderFulfillmentRefundProducts.ts b/src/orders/types/OrderFulfillmentRefundProducts.ts index 6f516cd1e..e4c195edf 100644 --- a/src/orders/types/OrderFulfillmentRefundProducts.ts +++ b/src/orders/types/OrderFulfillmentRefundProducts.ts @@ -137,6 +137,7 @@ export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_o export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderFulfillmentUpdateTracking.ts b/src/orders/types/OrderFulfillmentUpdateTracking.ts index f3bc4a753..c488031ed 100644 --- a/src/orders/types/OrderFulfillmentUpdateTracking.ts +++ b/src/orders/types/OrderFulfillmentUpdateTracking.ts @@ -72,6 +72,7 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderLineDelete.ts b/src/orders/types/OrderLineDelete.ts index 1e92b971c..48d3ac00a 100644 --- a/src/orders/types/OrderLineDelete.ts +++ b/src/orders/types/OrderLineDelete.ts @@ -72,6 +72,7 @@ export interface OrderLineDelete_draftOrderLineDelete_order_events_lines_orderLi export interface OrderLineDelete_draftOrderLineDelete_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderLineDelete_draftOrderLineDelete_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderLineUpdate.ts b/src/orders/types/OrderLineUpdate.ts index 53e7fae4e..5d7cbf656 100644 --- a/src/orders/types/OrderLineUpdate.ts +++ b/src/orders/types/OrderLineUpdate.ts @@ -72,6 +72,7 @@ export interface OrderLineUpdate_draftOrderLineUpdate_order_events_lines_orderLi export interface OrderLineUpdate_draftOrderLineUpdate_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderLineUpdate_draftOrderLineUpdate_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderLinesAdd.ts b/src/orders/types/OrderLinesAdd.ts index 7bc72649e..4c79fd743 100644 --- a/src/orders/types/OrderLinesAdd.ts +++ b/src/orders/types/OrderLinesAdd.ts @@ -72,6 +72,7 @@ export interface OrderLinesAdd_draftOrderLinesCreate_order_events_lines_orderLin export interface OrderLinesAdd_draftOrderLinesCreate_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderLinesAdd_draftOrderLinesCreate_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderMarkAsPaid.ts b/src/orders/types/OrderMarkAsPaid.ts index 0b664b6a9..5acfb8bc7 100644 --- a/src/orders/types/OrderMarkAsPaid.ts +++ b/src/orders/types/OrderMarkAsPaid.ts @@ -72,6 +72,7 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order_events_lines_orderLine { export interface OrderMarkAsPaid_orderMarkAsPaid_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderMarkAsPaid_orderMarkAsPaid_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderRefund.ts b/src/orders/types/OrderRefund.ts index 7919326e4..55bdcdcab 100644 --- a/src/orders/types/OrderRefund.ts +++ b/src/orders/types/OrderRefund.ts @@ -72,6 +72,7 @@ export interface OrderRefund_orderRefund_order_events_lines_orderLine { export interface OrderRefund_orderRefund_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderRefund_orderRefund_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderUpdate.ts b/src/orders/types/OrderUpdate.ts index 06cf8928d..1db652f28 100644 --- a/src/orders/types/OrderUpdate.ts +++ b/src/orders/types/OrderUpdate.ts @@ -72,6 +72,7 @@ export interface OrderUpdate_orderUpdate_order_events_lines_orderLine { export interface OrderUpdate_orderUpdate_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderUpdate_orderUpdate_order_events_lines_orderLine | null; } diff --git a/src/orders/types/OrderVoid.ts b/src/orders/types/OrderVoid.ts index 2f6f3ed8f..2c8247b37 100644 --- a/src/orders/types/OrderVoid.ts +++ b/src/orders/types/OrderVoid.ts @@ -72,6 +72,7 @@ export interface OrderVoid_orderVoid_order_events_lines_orderLine { export interface OrderVoid_orderVoid_order_events_lines { __typename: "OrderEventOrderLineObject"; quantity: number | null; + itemName: string | null; orderLine: OrderVoid_orderVoid_order_events_lines_orderLine | null; }