Email issues

This commit is contained in:
Hillel Coren 2020-06-08 21:56:11 +03:00
parent 636b9a1807
commit 0b312bb3e3
4 changed files with 16 additions and 3 deletions

View File

@ -207,7 +207,10 @@ class EmailInvoiceRequest implements StartSaving {
final String body; final String body;
} }
class EmailInvoiceSuccess implements StopSaving, PersistData {} class EmailInvoiceSuccess implements StopSaving, PersistData {
EmailInvoiceSuccess({@required this.invoice});
final InvoiceEntity invoice;
}
class EmailInvoiceFailure implements StopSaving { class EmailInvoiceFailure implements StopSaving {
EmailInvoiceFailure(this.error); EmailInvoiceFailure(this.error);

View File

@ -334,7 +334,7 @@ Middleware<AppState> _emailInvoice(InvoiceRepository repository) {
.emailInvoice(store.state.credentials, origInvoice, action.template, .emailInvoice(store.state.credentials, origInvoice, action.template,
action.subject, action.body) action.subject, action.body)
.then((InvoiceEntity invoice) { .then((InvoiceEntity invoice) {
store.dispatch(EmailInvoiceSuccess()); store.dispatch(EmailInvoiceSuccess(invoice: invoice));
store.dispatch(LoadClient(clientId: origInvoice.clientId)); store.dispatch(LoadClient(clientId: origInvoice.clientId));
if (action.completer != null) { if (action.completer != null) {
action.completer.complete(null); action.completer.complete(null);

View File

@ -269,6 +269,7 @@ final invoicesReducer = combineReducers<InvoiceState>([
TypedReducer<InvoiceState, MarkInvoicesPaidSuccess>(_markInvoicesPaidSuccess), TypedReducer<InvoiceState, MarkInvoicesPaidSuccess>(_markInvoicesPaidSuccess),
TypedReducer<InvoiceState, ReverseInvoicesSuccess>(_reverseInvoicesSuccess), TypedReducer<InvoiceState, ReverseInvoicesSuccess>(_reverseInvoicesSuccess),
TypedReducer<InvoiceState, CancelInvoicesSuccess>(_cancelInvoicesSuccess), TypedReducer<InvoiceState, CancelInvoicesSuccess>(_cancelInvoicesSuccess),
TypedReducer<InvoiceState, EmailInvoiceSuccess>(_emailInvoiceSuccess),
TypedReducer<InvoiceState, ArchiveInvoicesRequest>(_archiveInvoiceRequest), TypedReducer<InvoiceState, ArchiveInvoicesRequest>(_archiveInvoiceRequest),
TypedReducer<InvoiceState, ArchiveInvoicesSuccess>(_archiveInvoiceSuccess), TypedReducer<InvoiceState, ArchiveInvoicesSuccess>(_archiveInvoiceSuccess),
TypedReducer<InvoiceState, ArchiveInvoicesFailure>(_archiveInvoiceFailure), TypedReducer<InvoiceState, ArchiveInvoicesFailure>(_archiveInvoiceFailure),
@ -400,6 +401,12 @@ InvoiceState _restoreInvoiceRequest(
}); });
} }
InvoiceState _emailInvoiceSuccess(
InvoiceState invoiceState, EmailInvoiceSuccess action) {
return invoiceState
.rebuild((b) => b..map[action.invoice.id] = action.invoice);
}
InvoiceState _restoreInvoiceSuccess( InvoiceState _restoreInvoiceSuccess(
InvoiceState invoiceState, RestoreInvoicesSuccess action) { InvoiceState invoiceState, RestoreInvoicesSuccess action) {
return invoiceState.rebuild((b) { return invoiceState.rebuild((b) {

View File

@ -460,10 +460,13 @@ class EntityScreens extends StatelessWidget {
isPreviewVisible || (subRoute != 'view' && subRoute.isNotEmpty); isPreviewVisible || (subRoute != 'view' && subRoute.isNotEmpty);
int listFlex = 3; int listFlex = 3;
const previewFlex = 2; int previewFlex = 2;
if (prefState.isModuleTable && !isPreviewShown) { if (prefState.isModuleTable && !isPreviewShown) {
listFlex = 5; listFlex = 5;
} else if (subRoute == 'email') {
listFlex = 2;
previewFlex = 3;
} }
Widget child; Widget child;