From 2bf335ebb782bfc56fba60afa84c966a38c93fdb Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Thu, 24 Nov 2022 22:21:36 +0200 Subject: [PATCH] Transaction bulk action --- lib/data/models/models.dart | 6 +++-- lib/data/models/models.g.dart | 24 +++++++++++-------- lib/data/models/transaction_model.dart | 2 +- .../transaction/transaction_actions.dart | 2 +- .../transaction/transaction_middleware.dart | 2 +- lib/utils/i18n.dart | 5 ++++ lib/utils/icons.dart | 1 + 7 files changed, 27 insertions(+), 15 deletions(-) diff --git a/lib/data/models/models.dart b/lib/data/models/models.dart index bcd1bfffc..144c10000 100644 --- a/lib/data/models/models.dart +++ b/lib/data/models/models.dart @@ -65,8 +65,6 @@ class EntityAction extends EnumClass { static const EntityAction cloneToExpense = _$cloneToExpense; static const EntityAction cloneToRecurring = _$cloneToRecurring; static const EntityAction cloneToPurchaseOrder = _$cloneToPurchaseOrder; - static const EntityAction convertToInvoice = _$convertToInvoice; - static const EntityAction convertToProject = _$convertToProject; static const EntityAction approve = _$approve; static const EntityAction applyCredit = _$applyCredit; static const EntityAction applyPayment = _$applyPayment; @@ -121,8 +119,11 @@ class EntityAction extends EnumClass { static const EntityAction accept = _$accept; static const EntityAction addToInventory = _$addToInventory; static const EntityAction convert = _$convert; + static const EntityAction convertMatched = _$convertMatched; static const EntityAction convertToExpense = _$convertToExpense; static const EntityAction convertToPayment = _$convertToPayment; + static const EntityAction convertToInvoice = _$convertToInvoice; + static const EntityAction convertToProject = _$convertToProject; static const EntityAction merge = _$merge; static const EntityAction bulkPrint = _$bulkPrint; static const EntityAction autoBill = _$autoBill; @@ -146,6 +147,7 @@ class EntityAction extends EnumClass { EntityAction.restore, EntityAction.purge, EntityAction.sendNow, + EntityAction.autoBill, ].contains(this); bool get requiresSecondRequest => [ diff --git a/lib/data/models/models.g.dart b/lib/data/models/models.g.dart index c551bda22..ebbefb484 100644 --- a/lib/data/models/models.g.dart +++ b/lib/data/models/models.g.dart @@ -22,10 +22,6 @@ const EntityAction _$cloneToRecurring = const EntityAction._('cloneToRecurring'); const EntityAction _$cloneToPurchaseOrder = const EntityAction._('cloneToPurchaseOrder'); -const EntityAction _$convertToInvoice = - const EntityAction._('convertToInvoice'); -const EntityAction _$convertToProject = - const EntityAction._('convertToProject'); const EntityAction _$approve = const EntityAction._('approve'); const EntityAction _$applyCredit = const EntityAction._('applyCredit'); const EntityAction _$applyPayment = const EntityAction._('applyPayment'); @@ -85,10 +81,15 @@ const EntityAction _$save = const EntityAction._('save'); const EntityAction _$accept = const EntityAction._('accept'); const EntityAction _$addToInventory = const EntityAction._('addToInventory'); const EntityAction _$convert = const EntityAction._('convert'); +const EntityAction _$convertMatched = const EntityAction._('convertMatched'); const EntityAction _$convertToExpense = const EntityAction._('convertToExpense'); const EntityAction _$convertToPayment = const EntityAction._('convertToPayment'); +const EntityAction _$convertToInvoice = + const EntityAction._('convertToInvoice'); +const EntityAction _$convertToProject = + const EntityAction._('convertToProject'); const EntityAction _$merge = const EntityAction._('merge'); const EntityAction _$bulkPrint = const EntityAction._('bulkPrint'); const EntityAction _$autoBill = const EntityAction._('autoBill'); @@ -123,10 +124,6 @@ EntityAction _$valueOf(String name) { return _$cloneToRecurring; case 'cloneToPurchaseOrder': return _$cloneToPurchaseOrder; - case 'convertToInvoice': - return _$convertToInvoice; - case 'convertToProject': - return _$convertToProject; case 'approve': return _$approve; case 'applyCredit': @@ -235,10 +232,16 @@ EntityAction _$valueOf(String name) { return _$addToInventory; case 'convert': return _$convert; + case 'convertMatched': + return _$convertMatched; case 'convertToExpense': return _$convertToExpense; case 'convertToPayment': return _$convertToPayment; + case 'convertToInvoice': + return _$convertToInvoice; + case 'convertToProject': + return _$convertToProject; case 'merge': return _$merge; case 'bulkPrint': @@ -266,8 +269,6 @@ final BuiltSet _$values = _$cloneToExpense, _$cloneToRecurring, _$cloneToPurchaseOrder, - _$convertToInvoice, - _$convertToProject, _$approve, _$applyCredit, _$applyPayment, @@ -322,8 +323,11 @@ final BuiltSet _$values = _$accept, _$addToInventory, _$convert, + _$convertMatched, _$convertToExpense, _$convertToPayment, + _$convertToInvoice, + _$convertToProject, _$merge, _$bulkPrint, _$autoBill, diff --git a/lib/data/models/transaction_model.dart b/lib/data/models/transaction_model.dart index a1a72c805..0418fa59e 100644 --- a/lib/data/models/transaction_model.dart +++ b/lib/data/models/transaction_model.dart @@ -180,7 +180,7 @@ abstract class TransactionEntity extends Object } if (isMatched) { - actions.add(EntityAction.convert); + actions.add(EntityAction.convertMatched); } } diff --git a/lib/redux/transaction/transaction_actions.dart b/lib/redux/transaction/transaction_actions.dart index f1a5e5a2e..695781082 100644 --- a/lib/redux/transaction/transaction_actions.dart +++ b/lib/redux/transaction/transaction_actions.dart @@ -368,7 +368,7 @@ void handleTransactionAction( snackBarCompleter(context, localization.deletedTransaction), transactionIds)); break; - case EntityAction.convert: + case EntityAction.convertMatched: store.dispatch(ConvertTransactionsRequest( snackBarCompleter(context, localization.convertedTransactions), transactionIds)); diff --git a/lib/redux/transaction/transaction_middleware.dart b/lib/redux/transaction/transaction_middleware.dart index e8d8027af..f6534083e 100644 --- a/lib/redux/transaction/transaction_middleware.dart +++ b/lib/redux/transaction/transaction_middleware.dart @@ -178,7 +178,7 @@ Middleware _convertTransactions(TransactionRepository repository) { final action = dynamicAction as ConvertTransactionsRequest; repository .bulkAction(store.state.credentials, action.transactionIds, - EntityAction.convert) + EntityAction.convertMatched) .then((List transactions) { store.dispatch(ConvertTransactionsSuccess(transactions)); store.dispatch(RefreshData()); diff --git a/lib/utils/i18n.dart b/lib/utils/i18n.dart index b9140b860..fd12f0178 100644 --- a/lib/utils/i18n.dart +++ b/lib/utils/i18n.dart @@ -16,6 +16,7 @@ mixin LocalizationsProvider on LocaleCodeAware { static final Map> _localizedValues = { 'en': { // STARTER: lang key - do not remove comment + 'convert_matched': 'Convert', 'auto_billed_invoice': 'Successfully queued invoice to be auto-billed', 'auto_billed_invoices': 'Successfully queued invoices to be auto-billed', 'operator': 'Operator', @@ -90572,6 +90573,10 @@ mixin LocalizationsProvider on LocaleCodeAware { _localizedValues[localeCode]['auto_billed_invoices'] ?? _localizedValues[localeCode]['auto_billed_invoices']; + String get convertMatched => + _localizedValues[localeCode]['convert_matched'] ?? + _localizedValues[localeCode]['convert_matched']; + // STARTER: lang field - do not remove comment String lookup(String key) { diff --git a/lib/utils/icons.dart b/lib/utils/icons.dart index bc02bbd9f..f65efc229 100644 --- a/lib/utils/icons.dart +++ b/lib/utils/icons.dart @@ -53,6 +53,7 @@ IconData getEntityActionIcon(EntityAction entityAction) { case EntityAction.restore: return Icons.restore; case EntityAction.convert: + case EntityAction.convertMatched: case EntityAction.convertToInvoice: case EntityAction.convertToExpense: case EntityAction.convertToProject: