From 136f9833539432bff8c29c2515430bd6c8c1b78a Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 9 Aug 2018 16:13:13 +0200 Subject: [PATCH] Move isOpeningBalance() to trait --- app/Http/Controllers/Controller.php | 21 -------- .../Transaction/ConvertController.php | 9 +++- .../Transaction/SingleController.php | 3 ++ .../Transaction/SplitController.php | 3 ++ .../Controllers/TransactionController.php | 2 + .../Http/Controllers/ModelInformation.php | 49 +++++++++++++++++++ 6 files changed, 64 insertions(+), 23 deletions(-) create mode 100644 app/Support/Http/Controllers/ModelInformation.php diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index c2293cdb1c..24bd8c6157 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -23,10 +23,6 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers; use FireflyConfig; -use FireflyIII\Models\AccountType; -use FireflyIII\Models\Transaction; -use FireflyIII\Models\TransactionJournal; -use FireflyIII\Models\TransactionType; use FireflyIII\Support\Http\Controllers\UserNavigation; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Bus\DispatchesJobs; @@ -34,7 +30,6 @@ use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Routing\Controller as BaseController; use Log; use Route; -use URL; /** * Class Controller. @@ -96,22 +91,6 @@ class Controller extends BaseController } - - /** - * Is transaction opening balance? - * - * @param TransactionJournal $journal - * - * @return bool - */ - protected function isOpeningBalance(TransactionJournal $journal): bool // get object info / validate input - { - return TransactionType::OPENING_BALANCE === $journal->transactionType->type; - } - - - - /** * Get user's language. * diff --git a/app/Http/Controllers/Transaction/ConvertController.php b/app/Http/Controllers/Transaction/ConvertController.php index 77dd1eaed4..d1b41f4fe7 100644 --- a/app/Http/Controllers/Transaction/ConvertController.php +++ b/app/Http/Controllers/Transaction/ConvertController.php @@ -29,6 +29,7 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Support\Http\Controllers\ModelInformation; use Illuminate\Http\Request; use Log; use View; @@ -38,6 +39,8 @@ use View; */ class ConvertController extends Controller { + use ModelInformation; + /** @var JournalRepositoryInterface Journals and transactions overview */ private $repository; @@ -181,7 +184,8 @@ class ConvertController extends Controller * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ - protected function getDestinationAccount(TransactionJournal $journal, TransactionType $destinationType, array $data): Account // helper for conversion. Get info from obj. + protected function getDestinationAccount(TransactionJournal $journal, TransactionType $destinationType, array $data + ): Account // helper for conversion. Get info from obj. { /** @var AccountRepositoryInterface $accountRepository */ $accountRepository = app(AccountRepositoryInterface::class); @@ -242,7 +246,8 @@ class ConvertController extends Controller * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ - protected function getSourceAccount(TransactionJournal $journal, TransactionType $destinationType, array $data): Account // helper for conversion. Get info from obj. + protected function getSourceAccount(TransactionJournal $journal, TransactionType $destinationType, array $data + ): Account // helper for conversion. Get info from obj. { /** @var AccountRepositoryInterface $accountRepository */ $accountRepository = app(AccountRepositoryInterface::class); diff --git a/app/Http/Controllers/Transaction/SingleController.php b/app/Http/Controllers/Transaction/SingleController.php index 3d18293080..820949f258 100644 --- a/app/Http/Controllers/Transaction/SingleController.php +++ b/app/Http/Controllers/Transaction/SingleController.php @@ -33,6 +33,7 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Support\Http\Controllers\ModelInformation; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Log; @@ -45,6 +46,8 @@ use View; */ class SingleController extends Controller { + use ModelInformation; + /** @var AttachmentHelperInterface The attachment helper. */ private $attachments; /** @var BudgetRepositoryInterface The budget repository */ diff --git a/app/Http/Controllers/Transaction/SplitController.php b/app/Http/Controllers/Transaction/SplitController.php index 8ef7b6b68b..f0420a20a6 100644 --- a/app/Http/Controllers/Transaction/SplitController.php +++ b/app/Http/Controllers/Transaction/SplitController.php @@ -34,6 +34,7 @@ use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; +use FireflyIII\Support\Http\Controllers\ModelInformation; use FireflyIII\Transformers\TransactionTransformer; use Illuminate\Http\Request; use Illuminate\Support\Collection; @@ -47,6 +48,8 @@ use View; */ class SplitController extends Controller { + use ModelInformation; + /** @var AttachmentHelperInterface Attachment helper */ private $attachments; diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index 92150f68ae..fbecc45ada 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -35,6 +35,7 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; +use FireflyIII\Support\Http\Controllers\ModelInformation; use FireflyIII\Transformers\TransactionTransformer; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -50,6 +51,7 @@ use View; */ class TransactionController extends Controller { + use ModelInformation; /** @var JournalRepositoryInterface Journals and transactions overview */ private $repository; diff --git a/app/Support/Http/Controllers/ModelInformation.php b/app/Support/Http/Controllers/ModelInformation.php new file mode 100644 index 0000000000..dd0cd6b8d9 --- /dev/null +++ b/app/Support/Http/Controllers/ModelInformation.php @@ -0,0 +1,49 @@ +. + */ + +declare(strict_types=1); + +namespace FireflyIII\Support\Http\Controllers; + +use FireflyIII\Models\TransactionJournal; +use FireflyIII\Models\TransactionType; + +/** + * Trait ModelInformation + * + * @package FireflyIII\Support\Http\Controllers + */ +trait ModelInformation +{ + /** + * Is transaction opening balance? + * + * @param TransactionJournal $journal + * + * @return bool + */ + protected function isOpeningBalance(TransactionJournal $journal): bool + { + return TransactionType::OPENING_BALANCE === $journal->transactionType->type; + } + + +} \ No newline at end of file