diff --git a/lib/redux/payment/payment_actions.dart b/lib/redux/payment/payment_actions.dart index b7b846da1..516c62286 100644 --- a/lib/redux/payment/payment_actions.dart +++ b/lib/redux/payment/payment_actions.dart @@ -330,20 +330,26 @@ void handlePaymentAction( editEntity(context: context, entity: payment); break; case EntityAction.apply: - editEntity( - context: context, - entity: payment.rebuild((b) => b..isApplying = true)); + viewEntity(context: context, entity: payment); + WidgetsBinding.instance.addPostFrameCallback((duration) { + editEntity( + context: context, + entity: payment.rebuild((b) => b..isApplying = true)); + }); break; case EntityAction.refund: - if (payment.invoicePaymentables.length == 1) { - payment = payment.rebuild((b) => - b..invoices.add(PaymentableEntity(invoiceId: payment.invoiceId))); - } - store.dispatch(ViewRefundPayment( - navigator: Navigator.of(context), - payment: payment.rebuild((b) => - b..sendEmail = company.settings.clientManualPaymentNotification), - )); + viewEntity(context: context, entity: payment); + WidgetsBinding.instance.addPostFrameCallback((duration) { + if (payment.invoicePaymentables.length == 1) { + payment = payment.rebuild((b) => + b..invoices.add(PaymentableEntity(invoiceId: payment.invoiceId))); + } + store.dispatch(ViewRefundPayment( + navigator: Navigator.of(context), + payment: payment.rebuild((b) => + b..sendEmail = company.settings.clientManualPaymentNotification), + )); + }); break; case EntityAction.emailPayment: store.dispatch(EmailPaymentRequest(