From 76df16e48999670cf04b36f59eba8e4f10c1a804 Mon Sep 17 00:00:00 2001 From: Herculino Trotta Date: Sun, 19 Jan 2025 15:20:25 -0300 Subject: [PATCH] feat(import:v1:schema): add option for triggering rules --- app/apps/import_app/schemas/v1.py | 1 + app/apps/import_app/services/v1.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/app/apps/import_app/schemas/v1.py b/app/apps/import_app/schemas/v1.py index 043f2a9..74e37a1 100644 --- a/app/apps/import_app/schemas/v1.py +++ b/app/apps/import_app/schemas/v1.py @@ -69,6 +69,7 @@ class CSVImportSettings(BaseModel): skip_lines: int = Field( default=0, description="Number of rows to skip at the beginning of the file" ) + trigger_transaction_rules: bool = True importing: Literal[ "transactions", "accounts", "currencies", "categories", "tags", "entities" ] diff --git a/app/apps/import_app/services/v1.py b/app/apps/import_app/services/v1.py index 7735342..0416caf 100644 --- a/app/apps/import_app/services/v1.py +++ b/app/apps/import_app/services/v1.py @@ -22,6 +22,7 @@ from apps.transactions.models import ( TransactionTag, TransactionEntity, ) +from apps.rules.signals import transaction_created logger = logging.getLogger(__name__) @@ -228,6 +229,9 @@ class ImportService: if entities: new_transaction.entities.set(entities) + if self.settings.trigger_transaction_rules: + transaction_created.send(sender=new_transaction) + return new_transaction def _create_account(self, data: Dict[str, Any]) -> Account: