From 038790a5d61fd4420843c666cabdca029ecaca6d Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 6 Nov 2024 11:12:26 +0100 Subject: [PATCH] Add timezone info to new objects. --- app/Factory/TransactionJournalFactory.php | 3 ++- app/Handlers/Events/Model/BudgetLimitHandler.php | 2 ++ .../Chart/CategoryReportController.php | 1 + app/Models/AccountBalance.php | 2 +- app/Models/AvailableBudget.php | 2 +- app/Models/TransactionJournal.php | 15 ++++++++------- .../Budget/AvailableBudgetRepository.php | 6 ++++++ 7 files changed, 21 insertions(+), 10 deletions(-) diff --git a/app/Factory/TransactionJournalFactory.php b/app/Factory/TransactionJournalFactory.php index 0ec07b2ba4..4ced60828c 100644 --- a/app/Factory/TransactionJournalFactory.php +++ b/app/Factory/TransactionJournalFactory.php @@ -225,7 +225,8 @@ class TransactionJournalFactory 'bill_id' => $billId, 'transaction_currency_id' => $currency->id, 'description' => substr($description, 0, 1000), - 'date' => $carbon->format('Y-m-d H:i:s'), + 'date' => $carbon, + 'date_tz' => $carbon->format('e'), 'order' => $order, 'tag_count' => 0, 'completed' => 0, diff --git a/app/Handlers/Events/Model/BudgetLimitHandler.php b/app/Handlers/Events/Model/BudgetLimitHandler.php index 0211e9e78c..c6cb6dc627 100644 --- a/app/Handlers/Events/Model/BudgetLimitHandler.php +++ b/app/Handlers/Events/Model/BudgetLimitHandler.php @@ -135,7 +135,9 @@ class BudgetLimitHandler 'user_group_id' => $budgetLimit->budget->user->user_group_id, 'transaction_currency_id' => $budgetLimit->transaction_currency_id, 'start_date' => $current, + 'start_date_tz' => $current->format('e'), 'end_date' => $currentEnd, + 'end_date_tz' => $currentEnd->format('e'), 'amount' => $amount, ] ); diff --git a/app/Http/Controllers/Chart/CategoryReportController.php b/app/Http/Controllers/Chart/CategoryReportController.php index ad34527918..6c90ed0462 100644 --- a/app/Http/Controllers/Chart/CategoryReportController.php +++ b/app/Http/Controllers/Chart/CategoryReportController.php @@ -122,6 +122,7 @@ class CategoryReportController extends Controller public function categoryIncome(Collection $accounts, Collection $categories, Carbon $start, Carbon $end): JsonResponse { + $result = []; $earned = $this->opsRepository->listIncome($start, $end, $accounts, $categories); diff --git a/app/Models/AccountBalance.php b/app/Models/AccountBalance.php index f89fa8de68..0d05c02d63 100644 --- a/app/Models/AccountBalance.php +++ b/app/Models/AccountBalance.php @@ -14,7 +14,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; class AccountBalance extends Model { use HasFactory; - protected $fillable = ['account_id', 'title', 'transaction_currency_id', 'balance']; + protected $fillable = ['account_id', 'title', 'transaction_currency_id', 'balance','date','date_tz']; public function account(): BelongsTo { diff --git a/app/Models/AvailableBudget.php b/app/Models/AvailableBudget.php index 682e9ee650..7b44159630 100644 --- a/app/Models/AvailableBudget.php +++ b/app/Models/AvailableBudget.php @@ -51,7 +51,7 @@ class AvailableBudget extends Model 'transaction_currency_id' => 'int', ]; - protected $fillable = ['user_id', 'user_group_id', 'transaction_currency_id', 'amount', 'start_date', 'end_date']; + protected $fillable = ['user_id', 'user_group_id', 'transaction_currency_id', 'amount', 'start_date', 'end_date', 'start_date_tz','end_date_tz']; /** * Route binder. Converts the key in the URL to the specified object (or throw 404). diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php index a18f5adc94..a16881253b 100644 --- a/app/Models/TransactionJournal.php +++ b/app/Models/TransactionJournal.php @@ -51,7 +51,7 @@ class TransactionJournal extends Model use SoftDeletes; protected $casts - = [ + = [ 'created_at' => 'datetime', 'updated_at' => 'datetime', 'deleted_at' => 'datetime', @@ -66,7 +66,7 @@ class TransactionJournal extends Model ]; protected $fillable - = [ + = [ 'user_id', 'user_group_id', 'transaction_type_id', @@ -77,6 +77,7 @@ class TransactionJournal extends Model 'completed', 'order', 'date', + 'date_tz', ]; protected $hidden = ['encrypted']; @@ -89,13 +90,13 @@ class TransactionJournal extends Model public static function routeBinder(string $value): self { if (auth()->check()) { - $journalId = (int)$value; + $journalId = (int) $value; /** @var User $user */ - $user = auth()->user(); + $user = auth()->user(); /** @var null|TransactionJournal $journal */ - $journal = $user->transactionJournals()->where('transaction_journals.id', $journalId)->first(['transaction_journals.*']); + $journal = $user->transactionJournals()->where('transaction_journals.id', $journalId)->first(['transaction_journals.*']); if (null !== $journal) { return $journal; } @@ -243,14 +244,14 @@ class TransactionJournal extends Model protected function order(): Attribute { return Attribute::make( - get: static fn ($value) => (int)$value, + get: static fn($value) => (int) $value, ); } protected function transactionTypeId(): Attribute { return Attribute::make( - get: static fn ($value) => (int)$value, + get: static fn($value) => (int) $value, ); } } diff --git a/app/Repositories/Budget/AvailableBudgetRepository.php b/app/Repositories/Budget/AvailableBudgetRepository.php index c4114c2641..f002bc3eab 100644 --- a/app/Repositories/Budget/AvailableBudgetRepository.php +++ b/app/Repositories/Budget/AvailableBudgetRepository.php @@ -202,7 +202,9 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface $availableBudget->user()->associate($this->user); $availableBudget->transactionCurrency()->associate($currency); $availableBudget->start_date = $start->startOfDay()->format('Y-m-d'); // @phpstan-ignore-line + $availableBudget->start_date_tz = $start->format('e'); $availableBudget->end_date = $end->endOfDay()->format('Y-m-d'); // @phpstan-ignore-line + $availableBudget->end_date_tz = $end->format('e'); } $availableBudget->amount = $amount; $availableBudget->save(); @@ -235,7 +237,9 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface 'transaction_currency_id' => $data['currency_id'], 'amount' => $data['amount'], 'start_date' => $start->format('Y-m-d'), + 'start_date_tz' => $start->format('e'), 'end_date' => $end->format('Y-m-d'), + 'end_date_tz' => $end->format('e'), ] ); } @@ -257,6 +261,7 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface if ($start instanceof Carbon) { $start = $data['start']->startOfDay(); $availableBudget->start_date = $start->format('Y-m-d'); + $availableBudget->start_date_tz = $start->format('e'); $availableBudget->save(); } } @@ -266,6 +271,7 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface if ($end instanceof Carbon) { $end = $data['end']->endOfDay(); $availableBudget->end_date = $end->format('Y-m-d'); + $availableBudget->end_date_tz = $end->format('e'); $availableBudget->save(); } }