feat(expenses): add transactional expense case events
This commit is contained in:
@@ -1020,6 +1020,15 @@ class ExpenseClaimDraftFlowMixin(ExpenseClaimApplicationLinkMixin, ExpenseClaimD
|
||||
self._sync_claim_from_items(claim)
|
||||
if locked_expense_type:
|
||||
claim.expense_type = locked_expense_type
|
||||
self._expense_cases.record_claim_event(
|
||||
claim,
|
||||
event_type=("claim_draft_created" if is_new_claim else "claim_draft_updated"),
|
||||
actor_id=user_id or claim.employee_name or "system",
|
||||
correlation_id=run_id,
|
||||
idempotency_key=run_id,
|
||||
previous_status=str((before_json or {}).get("status") or ""),
|
||||
previous_approval_stage=str((before_json or {}).get("approval_stage") or ""),
|
||||
)
|
||||
self.db.commit()
|
||||
self.db.refresh(claim)
|
||||
except IntegrityError as exc:
|
||||
@@ -1066,4 +1075,3 @@ class ExpenseClaimDraftFlowMixin(ExpenseClaimApplicationLinkMixin, ExpenseClaimD
|
||||
"amount": float(claim.amount),
|
||||
"invoice_count": int(claim.invoice_count or 0),
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user