Display invoice actions notifications

This commit is contained in:
Dawid Tarasiuk 2020-06-24 14:50:14 +02:00
parent a612b2dfb0
commit 6dfe582fe8
2 changed files with 34 additions and 2 deletions

View file

@ -4,6 +4,8 @@ import createDialogActionHandlers from "@saleor/utils/handlers/dialogActionHandl
import React from "react"; import React from "react";
import { useIntl } from "react-intl"; import { useIntl } from "react-intl";
import { InvoiceEmailSend } from "../../types/InvoiceEmailSend";
import { InvoiceRequest } from "../../types/InvoiceRequest";
import { OrderAddNote } from "../../types/OrderAddNote"; import { OrderAddNote } from "../../types/OrderAddNote";
import { OrderCancel } from "../../types/OrderCancel"; import { OrderCancel } from "../../types/OrderCancel";
import { OrderCapture } from "../../types/OrderCapture"; import { OrderCapture } from "../../types/OrderCapture";
@ -42,6 +44,8 @@ interface OrderDetailsMessages {
handlePaymentRefund: (data: OrderRefund) => void; handlePaymentRefund: (data: OrderRefund) => void;
handleShippingMethodUpdate: (data: OrderShippingMethodUpdate) => void; handleShippingMethodUpdate: (data: OrderShippingMethodUpdate) => void;
handleUpdate: (data: OrderUpdate) => void; handleUpdate: (data: OrderUpdate) => void;
handleInvoiceGeneratePending: (data: InvoiceRequest) => void;
handleInvoiceSend: (data: InvoiceEmailSend) => void;
}) => React.ReactElement; }) => React.ReactElement;
id: string; id: string;
params: OrderUrlQueryParams; params: OrderUrlQueryParams;
@ -251,11 +255,39 @@ export const OrderDetailsMessages: React.FC<OrderDetailsMessages> = ({
closeModal(); closeModal();
} }
}; };
const handleInvoiceGeneratePending = (data: InvoiceRequest) => {
const errs = data.requestInvoice?.errors;
if (errs.length === 0) {
pushMessage({
text: intl.formatMessage({
defaultMessage:
"Were generating the invoice you requested. Please wait a couple of moments"
}),
title: intl.formatMessage({
defaultMessage: "Invoice is Generating"
})
});
closeModal();
}
};
const handleInvoiceSend = (data: InvoiceEmailSend) => {
const errs = data.sendInvoiceEmail?.errors;
if (errs.length === 0) {
pushMessage({
text: intl.formatMessage({
defaultMessage: "Invoice email sent"
})
});
closeModal();
}
};
return children({ return children({
handleDraftCancel, handleDraftCancel,
handleDraftFinalize, handleDraftFinalize,
handleDraftUpdate, handleDraftUpdate,
handleInvoiceGeneratePending,
handleInvoiceSend,
handleNoteAdd, handleNoteAdd,
handleOrderCancel, handleOrderCancel,
handleOrderFulfillmentCancel, handleOrderFulfillmentCancel,

View file

@ -148,8 +148,8 @@ export const OrderDetails: React.FC<OrderDetailsProps> = ({ id, params }) => {
onDraftFinalize={orderMessages.handleDraftFinalize} onDraftFinalize={orderMessages.handleDraftFinalize}
onDraftCancel={orderMessages.handleDraftCancel} onDraftCancel={orderMessages.handleDraftCancel}
onOrderMarkAsPaid={orderMessages.handleOrderMarkAsPaid} onOrderMarkAsPaid={orderMessages.handleOrderMarkAsPaid}
onInvoiceRequest={() => null} onInvoiceRequest={orderMessages.handleInvoiceGeneratePending}
onInvoiceSend={() => null} onInvoiceSend={orderMessages.handleInvoiceSend}
> >
{({ {({
orderAddNote, orderAddNote,