diff --git a/app/Handlers/Observer/AvailableBudgetObserver.php b/app/Handlers/Observer/AvailableBudgetObserver.php index ec23dd7df6..530ee8c00e 100644 --- a/app/Handlers/Observer/AvailableBudgetObserver.php +++ b/app/Handlers/Observer/AvailableBudgetObserver.php @@ -46,7 +46,7 @@ class AvailableBudgetObserver private function updateNativeAmount(AvailableBudget $availableBudget): void { if (!Amount::convertToNative($availableBudget->user)) { - Log::debug('Do not update native available amount of the available budget.'); + //Log::debug('Do not update native available amount of the available budget.'); return; } diff --git a/app/Handlers/Observer/BudgetLimitObserver.php b/app/Handlers/Observer/BudgetLimitObserver.php index dbc3493415..a1aba94c24 100644 --- a/app/Handlers/Observer/BudgetLimitObserver.php +++ b/app/Handlers/Observer/BudgetLimitObserver.php @@ -46,7 +46,7 @@ class BudgetLimitObserver private function updateNativeAmount(BudgetLimit $budgetLimit): void { if (!Amount::convertToNative($budgetLimit->budget->user)) { - Log::debug('Do not update native amount of the budget limit.'); + //Log::debug('Do not update native amount of the budget limit.'); return; } diff --git a/app/Models/AvailableBudget.php b/app/Models/AvailableBudget.php index c88b5d7a3c..5d335435bd 100644 --- a/app/Models/AvailableBudget.php +++ b/app/Models/AvailableBudget.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Models; +use Carbon\Carbon; use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; use FireflyIII\User; @@ -66,10 +67,10 @@ class AvailableBudget extends Model $availableBudgetId = (int) $value; /** @var User $user */ - $user = auth()->user(); + $user = auth()->user(); /** @var null|AvailableBudget $availableBudget */ - $availableBudget = $user->availableBudgets()->find($availableBudgetId); + $availableBudget = $user->availableBudgets()->find($availableBudgetId); if (null !== $availableBudget) { return $availableBudget; } @@ -91,14 +92,29 @@ class AvailableBudget extends Model protected function amount(): Attribute { return Attribute::make( - get: static fn ($value) => (string) $value, + get: static fn($value) => (string) $value, ); } protected function transactionCurrencyId(): Attribute { return Attribute::make( - get: static fn ($value) => (int) $value, + get: static fn($value) => (int) $value, + ); + } + protected function startDate(): Attribute + { + return Attribute::make( + get: fn (string $value) => Carbon::parse($value), + set: fn (Carbon $value) => $value->format('Y-m-d'), + ); + } + + protected function endDate(): Attribute + { + return Attribute::make( + get: fn (string $value) => Carbon::parse($value), + set: fn (Carbon $value) => $value->format('Y-m-d'), ); } } diff --git a/app/Repositories/Budget/AvailableBudgetRepository.php b/app/Repositories/Budget/AvailableBudgetRepository.php index aac5c086c0..753ce16e52 100644 --- a/app/Repositories/Budget/AvailableBudgetRepository.php +++ b/app/Repositories/Budget/AvailableBudgetRepository.php @@ -74,7 +74,7 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface ); } $result = $query->get(['available_budgets.*']); - Log::debug(sprintf('Found %d available budgets between %s and %s', $result->count(), $start->format('Y-m-d'), $end->format('Y-m-d'))); + Log::debug(sprintf('Found %d available budgets between %s and %s', $result->count(), $start->format('Y-m-d H:i:s'), $end->format('Y-m-d H:i:s'))); return $result; } @@ -215,9 +215,9 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface $availableBudget = new AvailableBudget(); $availableBudget->user()->associate($this->user); $availableBudget->transactionCurrency()->associate($currency); - $availableBudget->start_date = $start->startOfDay()->format('Y-m-d'); // @phpstan-ignore-line + $availableBudget->start_date = $start->startOfDay(); $availableBudget->start_date_tz = $start->format('e'); - $availableBudget->end_date = $end->endOfDay()->format('Y-m-d'); // @phpstan-ignore-line + $availableBudget->end_date = $end->endOfDay(); $availableBudget->end_date_tz = $end->format('e'); } $availableBudget->amount = $amount; @@ -250,9 +250,9 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface 'user_group_id' => $this->user->user_group_id, 'transaction_currency_id' => $data['currency_id'], 'amount' => $data['amount'], - 'start_date' => $start->format('Y-m-d'), + 'start_date' => $start, 'start_date_tz' => $start->format('e'), - 'end_date' => $end->format('Y-m-d'), + 'end_date' => $end, 'end_date_tz' => $end->format('e'), ] ); @@ -274,7 +274,7 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface $start = $data['start']; if ($start instanceof Carbon) { $start = $data['start']->startOfDay(); - $availableBudget->start_date = $start->format('Y-m-d'); + $availableBudget->start_date = $start; $availableBudget->start_date_tz = $start->format('e'); $availableBudget->save(); } @@ -284,7 +284,7 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface $end = $data['end']; if ($end instanceof Carbon) { $end = $data['end']->endOfDay(); - $availableBudget->end_date = $end->format('Y-m-d'); + $availableBudget->end_date = $end; $availableBudget->end_date_tz = $end->format('e'); $availableBudget->save(); } diff --git a/resources/assets/v1/package.json b/resources/assets/v1/package.json index 9e317ca79f..bb89e057a6 100644 --- a/resources/assets/v1/package.json +++ b/resources/assets/v1/package.json @@ -25,7 +25,7 @@ "postcss": "^8.4.47", "uiv": "^1.4", "vue": "^2.7", - "vue-i18n": "^8", + "vue-i18n": "^11", "vue-loader": "^15", "vue-template-compiler": "^2.7" }