Catch-all budget membership depends on labels since #781, but three paths attach labels through pivot writes or mass updates, which fire no model event. AssignTransactionToBudget never ran for them, so the transaction stayed in whatever budget it was in — typically the catch-all, even once a budget tracked its new label. Dispatch a dedicated ReassignTransactionsToBudgets job from those paths instead of re-broadcasting TransactionUpdated, which would also re-run the automation rules that dispatched it. The bulk apply queues one job for the whole batch rather than one per transaction. Extract the three action branches of applyRuleActionsToTransactions so the added dispatch keeps the method under the complexity threshold. |
||
|---|---|---|
| .. | ||
| .pest | ||
| Browser | ||
| Feature | ||
| Fixtures | ||
| Performance | ||
| Support | ||
| Unit | ||
| Pest.php | ||
| TestCase.php | ||
| bootstrap.php | ||