From 71804af624a075023e49af892f47bc8fa0310733 Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 10 Oct 2016 06:50:24 +0200 Subject: [PATCH] Updated some model code. --- app/Models/Account.php | 18 ++++++++++++++++ app/Models/Bill.php | 1 + app/Models/Budget.php | 1 + app/Models/Category.php | 1 + app/Models/Tag.php | 1 + app/Models/Transaction.php | 2 ++ app/Models/TransactionGroup.php | 1 + app/Models/TransactionJournal.php | 1 + app/User.php | 36 +++++++++++++++++++++++++++++++ 9 files changed, 62 insertions(+) diff --git a/app/Models/Account.php b/app/Models/Account.php index 42f628b1bc..4f2d859f84 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -211,6 +211,24 @@ class Account extends Model return $value; } + /** + * @return TransactionJournal|null + */ + public function openingBalanceTransaction(): TransactionJournal + { + $journal = TransactionJournal + ::sortCorrectly() + ->leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id') + ->where('transactions.account_id', $this->id) + ->transactionTypes([TransactionType::OPENING_BALANCE]) + ->first(['transaction_journals.*']); + if (is_null($journal)) { + return new TransactionJournal; + } + + return $journal; + } + /** * @return HasMany */ diff --git a/app/Models/Bill.php b/app/Models/Bill.php index 1cf67c5665..7bd042a3fa 100644 --- a/app/Models/Bill.php +++ b/app/Models/Bill.php @@ -62,6 +62,7 @@ use Watson\Validating\ValidatingTrait; * @mixin \Eloquent * @property string $deleted_at * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\Bill whereDeletedAt($value) + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\TransactionJournal[] $transactionJournals */ class Bill extends Model { diff --git a/app/Models/Budget.php b/app/Models/Budget.php index cfd8461f9f..9d016564c7 100644 --- a/app/Models/Budget.php +++ b/app/Models/Budget.php @@ -49,6 +49,7 @@ use Watson\Validating\ValidatingTrait; * @mixin \Eloquent * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Transaction[] $transactions * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\LimitRepetition[] $limitrepetitions + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\TransactionJournal[] $transactionJournals */ class Budget extends Model { diff --git a/app/Models/Category.php b/app/Models/Category.php index 4d83e11fc5..98ca71f46e 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -45,6 +45,7 @@ use Watson\Validating\ValidatingTrait; * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\Category whereEncrypted($value) * @mixin \Eloquent * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Transaction[] $transactions + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\TransactionJournal[] $transactionJournals */ class Category extends Model { diff --git a/app/Models/Tag.php b/app/Models/Tag.php index afd7c4ef1b..2d89baa076 100644 --- a/app/Models/Tag.php +++ b/app/Models/Tag.php @@ -49,6 +49,7 @@ use Watson\Validating\ValidatingTrait; * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\Tag whereLongitude($value) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\Tag whereZoomLevel($value) * @mixin \Eloquent + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\TransactionJournal[] $transactionJournals */ class Tag extends TagSupport { diff --git a/app/Models/Transaction.php b/app/Models/Transaction.php index e03a9a84a2..3d77155f03 100644 --- a/app/Models/Transaction.php +++ b/app/Models/Transaction.php @@ -48,6 +48,8 @@ use Watson\Validating\ValidatingTrait; * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Budget[] $budgets * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Category[] $categories * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\Transaction transactionTypes($types) + * @property integer $identifier + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\Transaction whereIdentifier($value) */ class Transaction extends Model { diff --git a/app/Models/TransactionGroup.php b/app/Models/TransactionGroup.php index b7dcba9627..87efb41d21 100644 --- a/app/Models/TransactionGroup.php +++ b/app/Models/TransactionGroup.php @@ -34,6 +34,7 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionGroup whereUserId($value) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionGroup whereRelation($value) * @mixin \Eloquent + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\TransactionJournal[] $transactionJournals */ class TransactionGroup extends Model { diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php index c9e7ffaf6c..e4e7020d0f 100644 --- a/app/Models/TransactionJournal.php +++ b/app/Models/TransactionJournal.php @@ -94,6 +94,7 @@ use Watson\Validating\ValidatingTrait; * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionJournal expanded() * @mixin \Eloquent * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionJournal sortCorrectly() + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\TransactionJournalMeta[] $transactionJournalMeta */ class TransactionJournal extends TransactionJournalSupport { diff --git a/app/User.php b/app/User.php index 4c6d241e23..763e011838 100755 --- a/app/User.php +++ b/app/User.php @@ -24,6 +24,42 @@ use Illuminate\Notifications\Notifiable; * Class User * * @package FireflyIII + * @property integer $id + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property string $email + * @property string $password + * @property string $remember_token + * @property string $reset + * @property boolean $blocked + * @property string $blocked_code + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Account[] $accounts + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Attachment[] $attachments + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Bill[] $bills + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Budget[] $budgets + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Category[] $categories + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\ExportJob[] $exportJobs + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\ImportJob[] $importJobs + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\PiggyBank[] $piggyBanks + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Preference[] $preferences + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Role[] $roles + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\RuleGroup[] $ruleGroups + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Rule[] $rules + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Tag[] $tags + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\TransactionJournal[] $transactionJournals + * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Transaction[] $transactions + * @property-read \Illuminate\Notifications\DatabaseNotificationCollection|\Illuminate\Notifications\DatabaseNotification[] $notifications + * @property-read \Illuminate\Notifications\DatabaseNotificationCollection|\Illuminate\Notifications\DatabaseNotification[] $unreadNotifications + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\User whereId($value) + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\User whereCreatedAt($value) + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\User whereUpdatedAt($value) + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\User whereEmail($value) + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\User wherePassword($value) + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\User whereRememberToken($value) + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\User whereReset($value) + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\User whereBlocked($value) + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\User whereBlockedCode($value) + * @mixin \Eloquent */ class User extends Authenticatable {