mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-21 15:20:34 +00:00
fix: Edit bank rule
This commit is contained in:
@@ -34,8 +34,9 @@ export class BankingRulesController extends BaseController {
|
|||||||
body('conditions.*.comparator')
|
body('conditions.*.comparator')
|
||||||
.exists()
|
.exists()
|
||||||
.isIn(['equals', 'contains', 'not_contain'])
|
.isIn(['equals', 'contains', 'not_contain'])
|
||||||
.default('contain'),
|
.default('contain')
|
||||||
body('conditions.*.value').exists(),
|
.trim(),
|
||||||
|
body('conditions.*.value').exists().trim(),
|
||||||
|
|
||||||
// Assign
|
// Assign
|
||||||
body('assign_category').isString(),
|
body('assign_category').isString(),
|
||||||
|
|||||||
@@ -115,17 +115,19 @@ export class GetAutofillCategorizeTransctionTransformer extends Transformer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Retrieves the assigned category of recognized transaction, if is not recognized
|
||||||
|
* returns the default transaction type depends on the transaction normal.
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
public transactionType() {
|
public transactionType() {
|
||||||
const assignCategory =
|
const assignedCategory =
|
||||||
this.options.firstUncategorizedTransaction?.recognizedTransaction
|
this.options.firstUncategorizedTransaction?.recognizedTransaction
|
||||||
?.assignCategory || null;
|
?.assignedCategory;
|
||||||
|
|
||||||
return assignCategory || this.isDepositTransaction()
|
return (
|
||||||
? 'other_income'
|
assignedCategory ||
|
||||||
: 'other_expense';
|
(this.isDepositTransaction() ? 'other_income' : 'other_expense')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { lowerCase } from 'lodash';
|
||||||
import UncategorizedCashflowTransaction from '@/models/UncategorizedCashflowTransaction';
|
import UncategorizedCashflowTransaction from '@/models/UncategorizedCashflowTransaction';
|
||||||
import {
|
import {
|
||||||
BankRuleApplyIfTransactionType,
|
BankRuleApplyIfTransactionType,
|
||||||
@@ -51,12 +52,15 @@ const matchNumberCondition = (
|
|||||||
const matchTextCondition = (
|
const matchTextCondition = (
|
||||||
transaction: UncategorizedCashflowTransaction,
|
transaction: UncategorizedCashflowTransaction,
|
||||||
condition: IBankRuleCondition
|
condition: IBankRuleCondition
|
||||||
) => {
|
): boolean => {
|
||||||
switch (condition.comparator) {
|
switch (condition.comparator) {
|
||||||
case BankRuleConditionComparator.Equals:
|
case BankRuleConditionComparator.Equals:
|
||||||
return transaction[condition.field] === condition.value;
|
return transaction[condition.field] === condition.value;
|
||||||
case BankRuleConditionComparator.Contains:
|
case BankRuleConditionComparator.Contains:
|
||||||
return transaction[condition.field]?.includes(condition.value.toString());
|
const fieldValue = lowerCase(transaction[condition.field]);
|
||||||
|
const conditionValue = lowerCase(condition.value);
|
||||||
|
|
||||||
|
return fieldValue.includes(conditionValue);
|
||||||
case BankRuleConditionComparator.NotContain:
|
case BankRuleConditionComparator.NotContain:
|
||||||
return !transaction[condition.field]?.includes(
|
return !transaction[condition.field]?.includes(
|
||||||
condition.value.toString()
|
condition.value.toString()
|
||||||
|
|||||||
@@ -64,9 +64,10 @@ export class EditBankRuleService {
|
|||||||
} as IBankRuleEventEditingPayload);
|
} as IBankRuleEventEditingPayload);
|
||||||
|
|
||||||
// Updates the given bank rule.
|
// Updates the given bank rule.
|
||||||
await BankRule.query(trx)
|
await BankRule.query(trx).upsertGraphAndFetch({
|
||||||
.findById(ruleId)
|
...tranformDTO,
|
||||||
.patch({ ...tranformDTO });
|
id: ruleId,
|
||||||
|
});
|
||||||
|
|
||||||
// Triggers `onBankRuleEdited` event.
|
// Triggers `onBankRuleEdited` event.
|
||||||
await this.eventPublisher.emitAsync(events.bankRules.onEdited, {
|
await this.eventPublisher.emitAsync(events.bankRules.onEdited, {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export interface IBankRuleCondition {
|
|||||||
id?: number;
|
id?: number;
|
||||||
field: BankRuleConditionField;
|
field: BankRuleConditionField;
|
||||||
comparator: BankRuleConditionComparator;
|
comparator: BankRuleConditionComparator;
|
||||||
value: number;
|
value: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum BankRuleConditionType {
|
export enum BankRuleConditionType {
|
||||||
|
|||||||
@@ -8,15 +8,15 @@ export function CategorizeTransactionBranchField() {
|
|||||||
const { branches } = useCategorizeTransactionBoot();
|
const { branches } = useCategorizeTransactionBoot();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<FFormGroup name={'branchId'} label={'Branch'} fastField inline>
|
|
||||||
<FeatureCan feature={Features.Branches}>
|
<FeatureCan feature={Features.Branches}>
|
||||||
|
<FFormGroup name={'branchId'} label={'Branch'} fastField inline>
|
||||||
<BranchSuggestField
|
<BranchSuggestField
|
||||||
name={'branchId'}
|
name={'branchId'}
|
||||||
items={branches}
|
items={branches}
|
||||||
popoverProps={{ minimal: true }}
|
popoverProps={{ minimal: true }}
|
||||||
fill
|
fill
|
||||||
/>
|
/>
|
||||||
</FeatureCan>
|
|
||||||
</FFormGroup>
|
</FFormGroup>
|
||||||
|
</FeatureCan>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user