🤖 Auto commit for release 'develop' on 2025-04-22

This commit is contained in:
JC5
2025-04-22 07:59:58 +02:00
parent 22133f64cf
commit 55a00aa6fe
7 changed files with 38 additions and 37 deletions

View File

@@ -45,9 +45,10 @@ class PiggyBankEventObserver
private function updateNativeAmount(PiggyBankEvent $event): void private function updateNativeAmount(PiggyBankEvent $event): void
{ {
$user = $event->piggyBank->accounts()->first()?->user; $user = $event->piggyBank->accounts()->first()?->user;
if(null === $user) { if (null === $user) {
Log::warning('Piggy bank seems to have no accounts. Break.'); Log::warning('Piggy bank seems to have no accounts. Break.');
return; return;
} }
if (!Amount::convertToNative($user)) { if (!Amount::convertToNative($user)) {

View File

@@ -176,9 +176,9 @@ class ShowController extends Controller
} }
$currencySymbol = $budgetLimit->transactionCurrency->symbol; $currencySymbol = $budgetLimit->transactionCurrency->symbol;
$page = (int) $request->get('page'); $page = (int) $request->get('page');
$pageSize = (int) app('preferences')->get('listPageSize', 50)->data; $pageSize = (int) app('preferences')->get('listPageSize', 50)->data;
$subTitle = trans( $subTitle = trans(
'firefly.budget_in_period', 'firefly.budget_in_period',
[ [
'name' => $budget->name, 'name' => $budget->name,
@@ -187,25 +187,25 @@ class ShowController extends Controller
'currency' => $budgetLimit->transactionCurrency->name, 'currency' => $budgetLimit->transactionCurrency->name,
] ]
); );
if($this->convertToNative) { if ($this->convertToNative) {
$currencySymbol = $this->defaultCurrency->symbol; $currencySymbol = $this->defaultCurrency->symbol;
} }
// collector: // collector:
/** @var GroupCollectorInterface $collector */ /** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class); $collector = app(GroupCollectorInterface::class);
$collector->setRange($budgetLimit->start_date, $budgetLimit->end_date)->withAccountInformation() $collector->setRange($budgetLimit->start_date, $budgetLimit->end_date)->withAccountInformation()
->setBudget($budget)->setLimit($pageSize)->setPage($page)->withBudgetInformation()->withCategoryInformation() ->setBudget($budget)->setLimit($pageSize)->setPage($page)->withBudgetInformation()->withCategoryInformation()
; ;
$groups = $collector->getPaginatedGroups(); $groups = $collector->getPaginatedGroups();
$groups->setPath(route('budgets.show.limit', [$budget->id, $budgetLimit->id])); $groups->setPath(route('budgets.show.limit', [$budget->id, $budgetLimit->id]));
/** @var Carbon $start */ /** @var Carbon $start */
$start = session('first', today(config('app.timezone'))->startOfYear()); $start = session('first', today(config('app.timezone'))->startOfYear());
$end = today(config('app.timezone')); $end = today(config('app.timezone'));
$attachments = $this->repository->getAttachments($budget); $attachments = $this->repository->getAttachments($budget);
$limits = $this->getLimits($budget, $start, $end); $limits = $this->getLimits($budget, $start, $end);
return view('budgets.show', compact('limits', 'attachments', 'budget', 'budgetLimit', 'groups', 'subTitle', 'currencySymbol')); return view('budgets.show', compact('limits', 'attachments', 'budget', 'budgetLimit', 'groups', 'subTitle', 'currencySymbol'));
} }

View File

@@ -164,7 +164,7 @@ class BudgetController extends Controller
$cache->addProperty($budget->id); $cache->addProperty($budget->id);
if ($cache->has()) { if ($cache->has()) {
return response()->json($cache->get()); return response()->json($cache->get());
} }
$locale = app('steam')->getLocale(); $locale = app('steam')->getLocale();
$entries = []; $entries = [];
@@ -191,7 +191,7 @@ class BudgetController extends Controller
$data['datasets'][0]['currency_symbol'] = $currency->symbol; $data['datasets'][0]['currency_symbol'] = $currency->symbol;
$data['datasets'][0]['currency_code'] = $currency->code; $data['datasets'][0]['currency_code'] = $currency->code;
$cache->store($data); $cache->store($data);
//var_dump($data);exit; // var_dump($data);exit;
return response()->json($data); return response()->json($data);
} }

View File

@@ -169,6 +169,7 @@ trait AugumentData
protected function getLimits(Budget $budget, Carbon $start, Carbon $end): Collection // get data + augment with info protected function getLimits(Budget $budget, Carbon $start, Carbon $end): Collection // get data + augment with info
{ {
Log::debug('In getLimits'); Log::debug('In getLimits');
/** @var OperationsRepositoryInterface $opsRepository */ /** @var OperationsRepositoryInterface $opsRepository */
$opsRepository = app(OperationsRepositoryInterface::class); $opsRepository = app(OperationsRepositoryInterface::class);
@@ -185,7 +186,7 @@ trait AugumentData
$cache->addProperty('get-limits'); $cache->addProperty('get-limits');
if ($cache->has()) { if ($cache->has()) {
return $cache->get(); return $cache->get();
} }
$set = $blRepository->getBudgetLimits($budget, $start, $end); $set = $blRepository->getBudgetLimits($budget, $start, $end);
@@ -194,32 +195,33 @@ trait AugumentData
// merge sets based on a key, in case of convert to native // merge sets based on a key, in case of convert to native
$limits = new Collection(); $limits = new Collection();
/** @var BudgetLimit $entry */ /** @var BudgetLimit $entry */
foreach ($set as $entry) { foreach ($set as $entry) {
Log::debug(sprintf('Now at budget limit #%d', $entry->id)); Log::debug(sprintf('Now at budget limit #%d', $entry->id));
$currency = $entry->transactionCurrency; $currency = $entry->transactionCurrency;
if ($this->convertToNative) { if ($this->convertToNative) {
// the sumExpenses method already handles this. // the sumExpenses method already handles this.
$currency = $this->defaultCurrency; $currency = $this->defaultCurrency;
} }
// clone because these objects change each other. // clone because these objects change each other.
$currentStart = clone $entry->start_date; $currentStart = clone $entry->start_date;
$currentEnd = null === $entry->end_date ? null : clone $entry->end_date; $currentEnd = null === $entry->end_date ? null : clone $entry->end_date;
if (null === $currentEnd) { if (null === $currentEnd) {
$currentEnd = clone $currentStart; $currentEnd = clone $currentStart;
$currentEnd->addMonth(); $currentEnd->addMonth();
} }
// native amount. // native amount.
$expenses = $opsRepository->sumExpenses($currentStart, $currentEnd, null, $budgetCollection, $entry->transactionCurrency, $this->convertToNative); $expenses = $opsRepository->sumExpenses($currentStart, $currentEnd, null, $budgetCollection, $entry->transactionCurrency, $this->convertToNative);
$spent = $expenses[$currency->id]['sum'] ?? '0'; $spent = $expenses[$currency->id]['sum'] ?? '0';
$entry->native_spent = $spent; $entry->native_spent = $spent;
// normal amount: // normal amount:
$expenses = $opsRepository->sumExpenses($currentStart, $currentEnd, null, $budgetCollection, $entry->transactionCurrency, false); $expenses = $opsRepository->sumExpenses($currentStart, $currentEnd, null, $budgetCollection, $entry->transactionCurrency, false);
$spent = $expenses[$entry->transactionCurrency->id]['sum'] ?? '0'; $spent = $expenses[$entry->transactionCurrency->id]['sum'] ?? '0';
$entry->spent = $spent; $entry->spent = $spent;
$limits->push($entry); $limits->push($entry);
} }

View File

@@ -232,6 +232,4 @@ class TransactionSummarizer
Log::debug(sprintf('Overrule convertToNative to become %s', var_export($convertToNative, true))); Log::debug(sprintf('Overrule convertToNative to become %s', var_export($convertToNative, true)));
$this->convertToNative = $convertToNative; $this->convertToNative = $convertToNative;
} }
} }

View File

@@ -78,7 +78,7 @@ return [
'running_balance_column' => env('USE_RUNNING_BALANCE', false), 'running_balance_column' => env('USE_RUNNING_BALANCE', false),
// see cer.php for exchange rates feature flag. // see cer.php for exchange rates feature flag.
], ],
'version' => 'develop/2025-04-21', 'version' => 'develop/2025-04-22',
'api_version' => '2.1.0', // field is no longer used. 'api_version' => '2.1.0', // field is no longer used.
'db_version' => 25, 'db_version' => 25,

20
package-lock.json generated
View File

@@ -5635,9 +5635,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.5.139", "version": "1.5.140",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.139.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.140.tgz",
"integrity": "sha512-GGnRYOTdN5LYpwbIr0rwP/ZHOQSvAF6TG0LSzp28uCBb9JiXHJGmaaKw29qjNJc5bGnnp6kXJqRnGMQoELwi5w==", "integrity": "sha512-o82Rj+ONp4Ip7Cl1r7lrqx/pXhbp/lh9DpKcMNscFJdh8ebyRofnc7Sh01B4jx403RI0oqTBvlZ7OBIZLMr2+Q==",
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
@@ -7489,14 +7489,14 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/json-stable-stringify": { "node_modules/json-stable-stringify": {
"version": "1.2.1", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz",
"integrity": "sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA==", "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"call-bind": "^1.0.8", "call-bind": "^1.0.8",
"call-bound": "^1.0.3", "call-bound": "^1.0.4",
"isarray": "^2.0.5", "isarray": "^2.0.5",
"jsonify": "^0.0.1", "jsonify": "^0.0.1",
"object-keys": "^1.1.1" "object-keys": "^1.1.1"
@@ -10083,9 +10083,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/sass": { "node_modules/sass": {
"version": "1.86.3", "version": "1.87.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.86.3.tgz", "resolved": "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz",
"integrity": "sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw==", "integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {