Transaction bulk action

This commit is contained in:
Hillel Coren 2022-11-24 22:21:36 +02:00
parent cf4d3ae218
commit 2bf335ebb7
7 changed files with 27 additions and 15 deletions

View File

@ -65,8 +65,6 @@ class EntityAction extends EnumClass {
static const EntityAction cloneToExpense = _$cloneToExpense; static const EntityAction cloneToExpense = _$cloneToExpense;
static const EntityAction cloneToRecurring = _$cloneToRecurring; static const EntityAction cloneToRecurring = _$cloneToRecurring;
static const EntityAction cloneToPurchaseOrder = _$cloneToPurchaseOrder; static const EntityAction cloneToPurchaseOrder = _$cloneToPurchaseOrder;
static const EntityAction convertToInvoice = _$convertToInvoice;
static const EntityAction convertToProject = _$convertToProject;
static const EntityAction approve = _$approve; static const EntityAction approve = _$approve;
static const EntityAction applyCredit = _$applyCredit; static const EntityAction applyCredit = _$applyCredit;
static const EntityAction applyPayment = _$applyPayment; static const EntityAction applyPayment = _$applyPayment;
@ -121,8 +119,11 @@ class EntityAction extends EnumClass {
static const EntityAction accept = _$accept; static const EntityAction accept = _$accept;
static const EntityAction addToInventory = _$addToInventory; static const EntityAction addToInventory = _$addToInventory;
static const EntityAction convert = _$convert; static const EntityAction convert = _$convert;
static const EntityAction convertMatched = _$convertMatched;
static const EntityAction convertToExpense = _$convertToExpense; static const EntityAction convertToExpense = _$convertToExpense;
static const EntityAction convertToPayment = _$convertToPayment; static const EntityAction convertToPayment = _$convertToPayment;
static const EntityAction convertToInvoice = _$convertToInvoice;
static const EntityAction convertToProject = _$convertToProject;
static const EntityAction merge = _$merge; static const EntityAction merge = _$merge;
static const EntityAction bulkPrint = _$bulkPrint; static const EntityAction bulkPrint = _$bulkPrint;
static const EntityAction autoBill = _$autoBill; static const EntityAction autoBill = _$autoBill;
@ -146,6 +147,7 @@ class EntityAction extends EnumClass {
EntityAction.restore, EntityAction.restore,
EntityAction.purge, EntityAction.purge,
EntityAction.sendNow, EntityAction.sendNow,
EntityAction.autoBill,
].contains(this); ].contains(this);
bool get requiresSecondRequest => [ bool get requiresSecondRequest => [

View File

@ -22,10 +22,6 @@ const EntityAction _$cloneToRecurring =
const EntityAction._('cloneToRecurring'); const EntityAction._('cloneToRecurring');
const EntityAction _$cloneToPurchaseOrder = const EntityAction _$cloneToPurchaseOrder =
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 _$approve = const EntityAction._('approve');
const EntityAction _$applyCredit = const EntityAction._('applyCredit'); const EntityAction _$applyCredit = const EntityAction._('applyCredit');
const EntityAction _$applyPayment = const EntityAction._('applyPayment'); const EntityAction _$applyPayment = const EntityAction._('applyPayment');
@ -85,10 +81,15 @@ const EntityAction _$save = const EntityAction._('save');
const EntityAction _$accept = const EntityAction._('accept'); const EntityAction _$accept = const EntityAction._('accept');
const EntityAction _$addToInventory = const EntityAction._('addToInventory'); const EntityAction _$addToInventory = const EntityAction._('addToInventory');
const EntityAction _$convert = const EntityAction._('convert'); const EntityAction _$convert = const EntityAction._('convert');
const EntityAction _$convertMatched = const EntityAction._('convertMatched');
const EntityAction _$convertToExpense = const EntityAction _$convertToExpense =
const EntityAction._('convertToExpense'); const EntityAction._('convertToExpense');
const EntityAction _$convertToPayment = const EntityAction _$convertToPayment =
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 _$merge = const EntityAction._('merge');
const EntityAction _$bulkPrint = const EntityAction._('bulkPrint'); const EntityAction _$bulkPrint = const EntityAction._('bulkPrint');
const EntityAction _$autoBill = const EntityAction._('autoBill'); const EntityAction _$autoBill = const EntityAction._('autoBill');
@ -123,10 +124,6 @@ EntityAction _$valueOf(String name) {
return _$cloneToRecurring; return _$cloneToRecurring;
case 'cloneToPurchaseOrder': case 'cloneToPurchaseOrder':
return _$cloneToPurchaseOrder; return _$cloneToPurchaseOrder;
case 'convertToInvoice':
return _$convertToInvoice;
case 'convertToProject':
return _$convertToProject;
case 'approve': case 'approve':
return _$approve; return _$approve;
case 'applyCredit': case 'applyCredit':
@ -235,10 +232,16 @@ EntityAction _$valueOf(String name) {
return _$addToInventory; return _$addToInventory;
case 'convert': case 'convert':
return _$convert; return _$convert;
case 'convertMatched':
return _$convertMatched;
case 'convertToExpense': case 'convertToExpense':
return _$convertToExpense; return _$convertToExpense;
case 'convertToPayment': case 'convertToPayment':
return _$convertToPayment; return _$convertToPayment;
case 'convertToInvoice':
return _$convertToInvoice;
case 'convertToProject':
return _$convertToProject;
case 'merge': case 'merge':
return _$merge; return _$merge;
case 'bulkPrint': case 'bulkPrint':
@ -266,8 +269,6 @@ final BuiltSet<EntityAction> _$values =
_$cloneToExpense, _$cloneToExpense,
_$cloneToRecurring, _$cloneToRecurring,
_$cloneToPurchaseOrder, _$cloneToPurchaseOrder,
_$convertToInvoice,
_$convertToProject,
_$approve, _$approve,
_$applyCredit, _$applyCredit,
_$applyPayment, _$applyPayment,
@ -322,8 +323,11 @@ final BuiltSet<EntityAction> _$values =
_$accept, _$accept,
_$addToInventory, _$addToInventory,
_$convert, _$convert,
_$convertMatched,
_$convertToExpense, _$convertToExpense,
_$convertToPayment, _$convertToPayment,
_$convertToInvoice,
_$convertToProject,
_$merge, _$merge,
_$bulkPrint, _$bulkPrint,
_$autoBill, _$autoBill,

View File

@ -180,7 +180,7 @@ abstract class TransactionEntity extends Object
} }
if (isMatched) { if (isMatched) {
actions.add(EntityAction.convert); actions.add(EntityAction.convertMatched);
} }
} }

View File

@ -368,7 +368,7 @@ void handleTransactionAction(
snackBarCompleter<Null>(context, localization.deletedTransaction), snackBarCompleter<Null>(context, localization.deletedTransaction),
transactionIds)); transactionIds));
break; break;
case EntityAction.convert: case EntityAction.convertMatched:
store.dispatch(ConvertTransactionsRequest( store.dispatch(ConvertTransactionsRequest(
snackBarCompleter<Null>(context, localization.convertedTransactions), snackBarCompleter<Null>(context, localization.convertedTransactions),
transactionIds)); transactionIds));

View File

@ -178,7 +178,7 @@ Middleware<AppState> _convertTransactions(TransactionRepository repository) {
final action = dynamicAction as ConvertTransactionsRequest; final action = dynamicAction as ConvertTransactionsRequest;
repository repository
.bulkAction(store.state.credentials, action.transactionIds, .bulkAction(store.state.credentials, action.transactionIds,
EntityAction.convert) EntityAction.convertMatched)
.then((List<TransactionEntity> transactions) { .then((List<TransactionEntity> transactions) {
store.dispatch(ConvertTransactionsSuccess(transactions)); store.dispatch(ConvertTransactionsSuccess(transactions));
store.dispatch(RefreshData()); store.dispatch(RefreshData());

View File

@ -16,6 +16,7 @@ mixin LocalizationsProvider on LocaleCodeAware {
static final Map<String, Map<String, String>> _localizedValues = { static final Map<String, Map<String, String>> _localizedValues = {
'en': { 'en': {
// STARTER: lang key - do not remove comment // STARTER: lang key - do not remove comment
'convert_matched': 'Convert',
'auto_billed_invoice': 'Successfully queued invoice to be auto-billed', 'auto_billed_invoice': 'Successfully queued invoice to be auto-billed',
'auto_billed_invoices': 'Successfully queued invoices to be auto-billed', 'auto_billed_invoices': 'Successfully queued invoices to be auto-billed',
'operator': 'Operator', 'operator': 'Operator',
@ -90572,6 +90573,10 @@ mixin LocalizationsProvider on LocaleCodeAware {
_localizedValues[localeCode]['auto_billed_invoices'] ?? _localizedValues[localeCode]['auto_billed_invoices'] ??
_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 // STARTER: lang field - do not remove comment
String lookup(String key) { String lookup(String key) {

View File

@ -53,6 +53,7 @@ IconData getEntityActionIcon(EntityAction entityAction) {
case EntityAction.restore: case EntityAction.restore:
return Icons.restore; return Icons.restore;
case EntityAction.convert: case EntityAction.convert:
case EntityAction.convertMatched:
case EntityAction.convertToInvoice: case EntityAction.convertToInvoice:
case EntityAction.convertToExpense: case EntityAction.convertToExpense:
case EntityAction.convertToProject: case EntityAction.convertToProject: