[SALEOR-2587] Handle null orderLine item (#1001)

This commit is contained in:
Jakub Majorek 2021-03-05 11:02:27 +01:00 committed by GitHub
parent 8075d72c17
commit 3d8a849301
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 32 additions and 5 deletions

View file

@ -28,6 +28,7 @@ export const fragmentOrderEvent = gql`
} }
lines { lines {
quantity quantity
itemName
orderLine { orderLine {
id id
productName productName

View file

@ -66,6 +66,7 @@ export interface OrderDetailsFragment_events_lines_orderLine {
export interface OrderDetailsFragment_events_lines { export interface OrderDetailsFragment_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderDetailsFragment_events_lines_orderLine | null; orderLine: OrderDetailsFragment_events_lines_orderLine | null;
} }

View file

@ -32,6 +32,7 @@ export interface OrderEventFragment_lines_orderLine {
export interface OrderEventFragment_lines { export interface OrderEventFragment_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderEventFragment_lines_orderLine | null; orderLine: OrderEventFragment_lines_orderLine | null;
} }

View file

@ -138,7 +138,10 @@ const ExtendedTimelineEvent: React.FC<ExtendedTimelineEventProps> = ({
const titleElements = { const titleElements = {
by: { text: intl.formatMessage(messages.by) }, 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: { orderNumber: {
link: orderUrl(relatedOrder?.id), link: orderUrl(relatedOrder?.id),
text: `#${relatedOrder?.number}` text: `#${relatedOrder?.number}`
@ -172,14 +175,14 @@ const ExtendedTimelineEvent: React.FC<ExtendedTimelineEventProps> = ({
</Typography> </Typography>
<table> <table>
<tbody> <tbody>
{lines.map(({ orderLine, quantity }) => ( {lines.map(({ orderLine, quantity, itemName }, i) => (
<tr key={orderLine.id}> <tr key={`${itemName}-${i}`}>
<td className={classes.linesTableCell}> <td className={classes.linesTableCell}>
{orderLine.productName} {orderLine?.productName || itemName}
</td> </td>
<td className={classes.linesTableCell}> <td className={classes.linesTableCell}>
<Typography variant="caption" color="textSecondary"> <Typography variant="caption" color="textSecondary">
{orderLine.variantName} {orderLine?.variantName}
</Typography> </Typography>
</td> </td>
<td className={classes.linesTableCell}> <td className={classes.linesTableCell}>

View file

@ -857,6 +857,7 @@ export const order = (placeholder: string): OrderDetails_order => ({
lines: [ lines: [
{ {
__typename: "OrderEventOrderLineObject", __typename: "OrderEventOrderLineObject",
itemName: "Milk Cow's milk",
orderLine: { orderLine: {
__typename: "OrderLine", __typename: "OrderLine",
id: "h47gfncfgwegfehfhj", id: "h47gfncfgwegfehfhj",
@ -867,6 +868,7 @@ export const order = (placeholder: string): OrderDetails_order => ({
}, },
{ {
__typename: "OrderEventOrderLineObject", __typename: "OrderEventOrderLineObject",
itemName: "Milk Goat's milk",
orderLine: { orderLine: {
__typename: "OrderLine", __typename: "OrderLine",
id: "7846f857t4t84y8fgh", id: "7846f857t4t84y8fgh",

View file

@ -74,6 +74,7 @@ export interface FulfillOrder_orderFulfill_order_events_lines_orderLine {
export interface FulfillOrder_orderFulfill_order_events_lines { export interface FulfillOrder_orderFulfill_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: FulfillOrder_orderFulfill_order_events_lines_orderLine | null; orderLine: FulfillOrder_orderFulfill_order_events_lines_orderLine | null;
} }

View file

@ -38,6 +38,7 @@ export interface OrderAddNote_orderAddNote_order_events_lines_orderLine {
export interface OrderAddNote_orderAddNote_order_events_lines { export interface OrderAddNote_orderAddNote_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderAddNote_orderAddNote_order_events_lines_orderLine | null; orderLine: OrderAddNote_orderAddNote_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderCancel_orderCancel_order_events_lines_orderLine {
export interface OrderCancel_orderCancel_order_events_lines { export interface OrderCancel_orderCancel_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderCancel_orderCancel_order_events_lines_orderLine | null; orderLine: OrderCancel_orderCancel_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderCapture_orderCapture_order_events_lines_orderLine {
export interface OrderCapture_orderCapture_order_events_lines { export interface OrderCapture_orderCapture_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderCapture_orderCapture_order_events_lines_orderLine | null; orderLine: OrderCapture_orderCapture_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderConfirm_orderConfirm_order_events_lines_orderLine {
export interface OrderConfirm_orderConfirm_order_events_lines { export interface OrderConfirm_orderConfirm_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderConfirm_orderConfirm_order_events_lines_orderLine | null; orderLine: OrderConfirm_orderConfirm_order_events_lines_orderLine | null;
} }

View file

@ -66,6 +66,7 @@ export interface OrderDetails_order_events_lines_orderLine {
export interface OrderDetails_order_events_lines { export interface OrderDetails_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderDetails_order_events_lines_orderLine | null; orderLine: OrderDetails_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderDraftCancel_draftOrderDelete_order_events_lines_orderLine
export interface OrderDraftCancel_draftOrderDelete_order_events_lines { export interface OrderDraftCancel_draftOrderDelete_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderDraftCancel_draftOrderDelete_order_events_lines_orderLine | null; orderLine: OrderDraftCancel_draftOrderDelete_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderDraftFinalize_draftOrderComplete_order_events_lines_orderL
export interface OrderDraftFinalize_draftOrderComplete_order_events_lines { export interface OrderDraftFinalize_draftOrderComplete_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderDraftFinalize_draftOrderComplete_order_events_lines_orderLine | null; orderLine: OrderDraftFinalize_draftOrderComplete_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderDraftUpdate_draftOrderUpdate_order_events_lines_orderLine
export interface OrderDraftUpdate_draftOrderUpdate_order_events_lines { export interface OrderDraftUpdate_draftOrderUpdate_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderDraftUpdate_draftOrderUpdate_order_events_lines_orderLine | null; orderLine: OrderDraftUpdate_draftOrderUpdate_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_events_line
export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_events_lines { export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderFulfillmentCancel_orderFulfillmentCancel_order_events_lines_orderLine | null; orderLine: OrderFulfillmentCancel_orderFulfillmentCancel_order_events_lines_orderLine | null;
} }

View file

@ -137,6 +137,7 @@ export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_o
export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_events_lines { export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_events_lines_orderLine | null; orderLine: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o
export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_events_lines { export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_events_lines_orderLine | null; orderLine: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderLineDelete_draftOrderLineDelete_order_events_lines_orderLi
export interface OrderLineDelete_draftOrderLineDelete_order_events_lines { export interface OrderLineDelete_draftOrderLineDelete_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderLineDelete_draftOrderLineDelete_order_events_lines_orderLine | null; orderLine: OrderLineDelete_draftOrderLineDelete_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderLineUpdate_draftOrderLineUpdate_order_events_lines_orderLi
export interface OrderLineUpdate_draftOrderLineUpdate_order_events_lines { export interface OrderLineUpdate_draftOrderLineUpdate_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderLineUpdate_draftOrderLineUpdate_order_events_lines_orderLine | null; orderLine: OrderLineUpdate_draftOrderLineUpdate_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderLinesAdd_draftOrderLinesCreate_order_events_lines_orderLin
export interface OrderLinesAdd_draftOrderLinesCreate_order_events_lines { export interface OrderLinesAdd_draftOrderLinesCreate_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderLinesAdd_draftOrderLinesCreate_order_events_lines_orderLine | null; orderLine: OrderLinesAdd_draftOrderLinesCreate_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order_events_lines_orderLine {
export interface OrderMarkAsPaid_orderMarkAsPaid_order_events_lines { export interface OrderMarkAsPaid_orderMarkAsPaid_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderMarkAsPaid_orderMarkAsPaid_order_events_lines_orderLine | null; orderLine: OrderMarkAsPaid_orderMarkAsPaid_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderRefund_orderRefund_order_events_lines_orderLine {
export interface OrderRefund_orderRefund_order_events_lines { export interface OrderRefund_orderRefund_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderRefund_orderRefund_order_events_lines_orderLine | null; orderLine: OrderRefund_orderRefund_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderUpdate_orderUpdate_order_events_lines_orderLine {
export interface OrderUpdate_orderUpdate_order_events_lines { export interface OrderUpdate_orderUpdate_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderUpdate_orderUpdate_order_events_lines_orderLine | null; orderLine: OrderUpdate_orderUpdate_order_events_lines_orderLine | null;
} }

View file

@ -72,6 +72,7 @@ export interface OrderVoid_orderVoid_order_events_lines_orderLine {
export interface OrderVoid_orderVoid_order_events_lines { export interface OrderVoid_orderVoid_order_events_lines {
__typename: "OrderEventOrderLineObject"; __typename: "OrderEventOrderLineObject";
quantity: number | null; quantity: number | null;
itemName: string | null;
orderLine: OrderVoid_orderVoid_order_events_lines_orderLine | null; orderLine: OrderVoid_orderVoid_order_events_lines_orderLine | null;
} }