diff --git a/lib/redux/app/app_middleware.dart b/lib/redux/app/app_middleware.dart index 573231846..8da41f8b8 100644 --- a/lib/redux/app/app_middleware.dart +++ b/lib/redux/app/app_middleware.dart @@ -218,8 +218,11 @@ Middleware _createLoadState( store.dispatch(LoadStateSuccess(appState)); if (appState.isStale) { - print('## Load state: is stale - refreshing...'); - store.dispatch(RefreshData()); + store.dispatch(RefreshData( + completer: Completer() + ..future.catchError(() { + store.dispatch(UserLogout(action.context)); + }))); } if (uiState.currentRoute != LoginScreen.route && diff --git a/lib/redux/auth/auth_middleware.dart b/lib/redux/auth/auth_middleware.dart index a7812c75f..637267716 100644 --- a/lib/redux/auth/auth_middleware.dart +++ b/lib/redux/auth/auth_middleware.dart @@ -231,7 +231,6 @@ Middleware _createRefreshRequest(AuthRepository repository) { loginResponse: data, )); }).catchError((Object error) { - print('Refresh data error: $error'); if (action.completer != null) { action.completer.completeError(error); } diff --git a/lib/redux/recurring_invoice/recurring_invoice_actions.dart b/lib/redux/recurring_invoice/recurring_invoice_actions.dart index 4d4433d26..4a2f759ed 100644 --- a/lib/redux/recurring_invoice/recurring_invoice_actions.dart +++ b/lib/redux/recurring_invoice/recurring_invoice_actions.dart @@ -177,12 +177,6 @@ class AddRecurringInvoiceSuccess implements StopSaving, PersistData, PersistUI { final InvoiceEntity recurringInvoice; } -class AddQuoteItem implements PersistUI { - AddQuoteItem({this.quoteItem}); - - final InvoiceItemEntity quoteItem; -} - class AddRecurringInvoiceItem implements PersistUI { AddRecurringInvoiceItem({this.invoiceItem}); diff --git a/lib/ui/recurring_invoice/edit/recurring_invoice_edit.dart b/lib/ui/recurring_invoice/edit/recurring_invoice_edit.dart index 9f0a73e1c..e601d8e5f 100644 --- a/lib/ui/recurring_invoice/edit/recurring_invoice_edit.dart +++ b/lib/ui/recurring_invoice/edit/recurring_invoice_edit.dart @@ -2,9 +2,9 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:invoiceninja_flutter/ui/app/edit_scaffold.dart'; import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_vm.dart'; -import 'package:invoiceninja_flutter/ui/quote/edit/quote_edit_details_vm.dart'; -import 'package:invoiceninja_flutter/ui/quote/edit/quote_edit_items_vm.dart'; -import 'package:invoiceninja_flutter/ui/quote/edit/quote_edit_notes_vm.dart'; +import 'package:invoiceninja_flutter/ui/recurring_invoice/edit/recurring_invoice_edit_details_vm.dart'; +import 'package:invoiceninja_flutter/ui/recurring_invoice/edit/recurring_invoice_edit_items_vm.dart'; +import 'package:invoiceninja_flutter/ui/recurring_invoice/edit/recurring_invoice_edit_notes_vm.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; class RecurringInvoiceEdit extends StatefulWidget { @@ -103,22 +103,22 @@ class _RecurringInvoiceEditState extends State body: Form( key: _formKey, child: state.prefState.isDesktop - ? QuoteEditDetailsScreen( - viewModel: widget.viewModel, - ) + ? RecurringInvoiceEditDetailsScreen( + viewModel: widget.viewModel, + ) : TabBarView( - key: ValueKey('__quote_${viewModel.invoice.id}__'), - controller: _controller, - children: [ - QuoteEditDetailsScreen( - viewModel: widget.viewModel, - ), - QuoteEditItemsScreen( - viewModel: widget.viewModel, - ), - QuoteEditNotesScreen(), - ], - ), + key: ValueKey('__quote_${viewModel.invoice.id}__'), + controller: _controller, + children: [ + RecurringInvoiceEditDetailsScreen( + viewModel: widget.viewModel, + ), + RecurringInvoiceEditItemsScreen( + viewModel: widget.viewModel, + ), + RecurringInvoiceEditNotesScreen(), + ], + ), ), ); } diff --git a/lib/ui/recurring_invoice/edit/recurring_invoice_edit_details_vm.dart b/lib/ui/recurring_invoice/edit/recurring_invoice_edit_details_vm.dart index 4a2b8bef6..5d79df005 100644 --- a/lib/ui/recurring_invoice/edit/recurring_invoice_edit_details_vm.dart +++ b/lib/ui/recurring_invoice/edit/recurring_invoice_edit_details_vm.dart @@ -35,12 +35,12 @@ class RecurringInvoiceEditDetailsScreen extends StatelessWidget { viewModel: viewModel, entityViewModel: this.viewModel, key: ValueKey('__quote_${viewModel.invoice.id}__'), - entityType: EntityType.quote, + entityType: EntityType.recurringInvoice, ); } else { return InvoiceEditDetails( viewModel: viewModel, - entityType: EntityType.quote, + entityType: EntityType.recurringInvoice, ); } },