The analytics controllers each carried byte-identical copies of convertTransactionAmount()/preloadExchangeRates() (three copies) and categoryType() (two copies), which let the analysis and cashflow screens silently drift apart. Extract the currency helpers into a shared ConvertsTransactionCurrency trait (following the existing OpenBanking/Concerns pattern) and move categoryType() onto the Transaction model. No behavior change. |
||
|---|---|---|
| .. | ||
| Concerns | ||
| AccountController.php | ||
| CashflowAnalyticsController.php | ||
| CategoryMonthlyBreakdownController.php | ||
| DashboardAnalyticsController.php | ||
| ImportDataController.php | ||
| SavedFilterController.php | ||
| TransactionAnalysisController.php | ||
| TransactionController.php | ||