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 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 => [

View File

@ -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<EntityAction> _$values =
_$cloneToExpense,
_$cloneToRecurring,
_$cloneToPurchaseOrder,
_$convertToInvoice,
_$convertToProject,
_$approve,
_$applyCredit,
_$applyPayment,
@ -322,8 +323,11 @@ final BuiltSet<EntityAction> _$values =
_$accept,
_$addToInventory,
_$convert,
_$convertMatched,
_$convertToExpense,
_$convertToPayment,
_$convertToInvoice,
_$convertToProject,
_$merge,
_$bulkPrint,
_$autoBill,

View File

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

View File

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

View File

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

View File

@ -16,6 +16,7 @@ mixin LocalizationsProvider on LocaleCodeAware {
static final Map<String, Map<String, String>> _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) {

View File

@ -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: