diff --git a/app/Http/Controllers/Account/ReconcileController.php b/app/Http/Controllers/Account/ReconcileController.php index 8cbdbc97d2..fc0f55d0d1 100644 --- a/app/Http/Controllers/Account/ReconcileController.php +++ b/app/Http/Controllers/Account/ReconcileController.php @@ -18,6 +18,7 @@ * You should have received a copy of the GNU General Public License * along with Firefly III. If not, see . */ +/** @noinspection CallableParameterUseCaseInTypeContextInspection */ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Account; @@ -44,8 +45,6 @@ use Preferences; /** * Class ReconcileController. - * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class ReconcileController extends Controller { @@ -113,6 +112,7 @@ class ReconcileController extends Controller )->with('data', $preFilled); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Request $request * @param Account $account @@ -246,9 +246,9 @@ class ReconcileController extends Controller return view('accounts.reconcile.show', compact('journal', 'subTitle', 'transaction', 'account')); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param ReconciliationStoreRequest $request - * @param JournalRepositoryInterface $repository * @param Account $account * @param Carbon $start * @param Carbon $end @@ -256,14 +256,14 @@ class ReconcileController extends Controller * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector * @throws FireflyException */ - public function submit(ReconciliationStoreRequest $request, JournalRepositoryInterface $repository, Account $account, Carbon $start, Carbon $end) + public function submit(ReconciliationStoreRequest $request, Account $account, Carbon $start, Carbon $end) { Log::debug('In ReconcileController::submit()'); $data = $request->getAll(); /** @var Transaction $transaction */ foreach ($data['transactions'] as $transactionId) { - $repository->reconcileById((int)$transactionId); + $this->repository->reconcileById((int)$transactionId); } Log::debug('Reconciled all transactions.'); @@ -322,11 +322,11 @@ class ReconcileController extends Controller 'notes' => implode(', ', $data['transactions']), ]; - $repository->store($journalData); + $this->repository->store($journalData); } Log::debug('End of routine.'); - Preferences::mark(); + app('preferences')->mark(); session()->flash('success', trans('firefly.reconciliation_stored')); diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 225e52b89a..bbf7a1429b 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -18,6 +18,7 @@ * You should have received a copy of the GNU General Public License * along with Firefly III. If not, see . */ +/** @noinspection CallableParameterUseCaseInTypeContextInspection */ declare(strict_types=1); namespace FireflyIII\Http\Controllers; @@ -45,7 +46,6 @@ use View; /** * Class AccountController. * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class AccountController extends Controller { @@ -76,13 +76,14 @@ class AccountController extends Controller } /** - * @param Request $request - * @param string $what + * @param Request $request + * @param string|null $what * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function create(Request $request, string $what = 'asset') + public function create(Request $request, string $what = null) { + $what = $what ?? 'asset'; $defaultCurrency = app('amount')->getDefaultCurrency(); $subTitleIcon = config('firefly.subIconsByIdentifier.' . $what); $subTitle = trans('firefly.make_new_' . $what . '_account'); @@ -106,7 +107,7 @@ class AccountController extends Controller /** * @param Account $account * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function delete(Account $account) { @@ -137,25 +138,17 @@ class AccountController extends Controller $this->repository->destroy($account, $moveTo); $request->session()->flash('success', (string)trans('firefly.' . $typeName . '_deleted', ['name' => $name])); - Preferences::mark(); + app('preferences')->mark(); return redirect($this->getPreviousUri('accounts.delete.uri')); } /** - * Edit an account. - * * @param Request $request * @param Account $account - * * @param AccountRepositoryInterface $repository * - * @return View - * - * @SuppressWarnings(PHPMD.CyclomaticComplexity) // long and complex but not that excessively so. - * @SuppressWarnings(PHPMD.ExcessiveMethodLength) - * - + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(Request $request, Account $account, AccountRepositoryInterface $repository) { @@ -214,7 +207,7 @@ class AccountController extends Controller * @param Request $request * @param string $what * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(Request $request, string $what) { @@ -255,6 +248,8 @@ class AccountController extends Controller return view('accounts.index', compact('what', 'subTitleIcon', 'subTitle', 'page', 'accounts')); } + + /** @noinspection MoreThanThreeArgumentsInspection */ /** * Show an account. * @@ -312,6 +307,7 @@ class AccountController extends Controller ); } + /** * Show an account. * @@ -364,7 +360,7 @@ class AccountController extends Controller $data = $request->getAccountData(); $account = $this->repository->store($data); $request->session()->flash('success', (string)trans('firefly.stored_new_account', ['name' => $account->name])); - Preferences::mark(); + app('preferences')->mark(); // update preferences if necessary: $frontPage = Preferences::get('frontPageAccounts', [])->data; @@ -374,16 +370,16 @@ class AccountController extends Controller Preferences::set('frontPageAccounts', $frontPage); // @codeCoverageIgnoreEnd } - + // redirect to previous URL. + $redirect = redirect($this->getPreviousUri('accounts.create.uri')); if (1 === (int)$request->get('create_another')) { // set value so create routine will not overwrite URL: $request->session()->put('accounts.create.fromStore', true); - return redirect(route('accounts.create', [$request->input('what')]))->withInput(); + $redirect = redirect(route('accounts.create', [$request->input('what')]))->withInput(); } - // redirect to previous URL. - return redirect($this->getPreviousUri('accounts.create.uri')); + return $redirect; } /** @@ -398,17 +394,17 @@ class AccountController extends Controller $this->repository->update($account, $data); $request->session()->flash('success', (string)trans('firefly.updated_account', ['name' => $account->name])); - Preferences::mark(); + app('preferences')->mark(); + $redirect = redirect($this->getPreviousUri('accounts.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // set value so edit routine will not overwrite URL: $request->session()->put('accounts.edit.fromUpdate', true); - return redirect(route('accounts.edit', [$account->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('accounts.edit', [$account->id]))->withInput(['return_to_edit' => 1]); } - // redirect to previous URL. - return redirect($this->getPreviousUri('accounts.edit.uri')); + return $redirect; } /** @@ -419,13 +415,15 @@ class AccountController extends Controller */ protected function isInArray(array $array, int $entryId) { + $result = '0'; if (isset($array[$entryId])) { - return $array[$entryId]; + $result = $array[$entryId]; } - return '0'; + return $result; } + /** * This method returns "period entries", so nov-2015, dec-2015, etc etc (this depends on the users session range) * and for each period, the amount of money spent and earned. This is a complex operation which is cached for @@ -437,7 +435,6 @@ class AccountController extends Controller * * @return Collection * - * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ private function getPeriodOverview(Account $account, ?Carbon $date): Collection { diff --git a/app/Http/Controllers/Admin/ConfigurationController.php b/app/Http/Controllers/Admin/ConfigurationController.php index 2e0bd3aa87..c7c9375e74 100644 --- a/app/Http/Controllers/Admin/ConfigurationController.php +++ b/app/Http/Controllers/Admin/ConfigurationController.php @@ -28,9 +28,7 @@ use FireflyIII\Http\Middleware\IsDemoUser; use FireflyIII\Http\Middleware\IsSandStormUser; use FireflyIII\Http\Requests\ConfigurationRequest; use FireflyIII\Support\Facades\FireflyConfig; -use Preferences; use Redirect; -use View; /** * Class ConfigurationController. @@ -57,7 +55,7 @@ class ConfigurationController extends Controller } /** - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index() { @@ -92,7 +90,7 @@ class ConfigurationController extends Controller // flash message session()->flash('success', (string)trans('firefly.configuration_updated')); - Preferences::mark(); + app('preferences')->mark(); return Redirect::route('admin.configuration.index'); } diff --git a/app/Http/Controllers/Admin/LinkController.php b/app/Http/Controllers/Admin/LinkController.php index 5884596fa0..1515260fd4 100644 --- a/app/Http/Controllers/Admin/LinkController.php +++ b/app/Http/Controllers/Admin/LinkController.php @@ -28,7 +28,6 @@ use FireflyIII\Http\Requests\LinkTypeFormRequest; use FireflyIII\Models\LinkType; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; use Illuminate\Http\Request; -use Preferences; use View; /** @@ -116,7 +115,7 @@ class LinkController extends Controller $repository->destroy($linkType, $moveTo); $request->session()->flash('success', (string)trans('firefly.deleted_link_type', ['name' => $name])); - Preferences::mark(); + app('preferences')->mark(); return redirect($this->getPreviousUri('link_types.delete.uri')); } @@ -194,16 +193,16 @@ class LinkController extends Controller ]; $linkType = $repository->store($data); $request->session()->flash('success', (string)trans('firefly.stored_new_link_type', ['name' => $linkType->name])); - + $redirect = redirect($this->getPreviousUri('link_types.create.uri')); if (1 === (int)$request->get('create_another')) { // set value so create routine will not overwrite URL: $request->session()->put('link_types.create.fromStore', true); - return redirect(route('admin.links.create'))->withInput(); + $redirect = redirect(route('admin.links.create'))->withInput(); } // redirect to previous URL. - return redirect($this->getPreviousUri('link_types.create.uri')); + return $redirect; } /** @@ -229,16 +228,16 @@ class LinkController extends Controller $repository->update($linkType, $data); $request->session()->flash('success', (string)trans('firefly.updated_link_type', ['name' => $linkType->name])); - Preferences::mark(); - + app('preferences')->mark(); + $redirect = redirect($this->getPreviousUri('link_types.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // set value so edit routine will not overwrite URL: $request->session()->put('link_types.edit.fromUpdate', true); - return redirect(route('admin.links.edit', [$linkType->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('admin.links.edit', [$linkType->id]))->withInput(['return_to_edit' => 1]); } // redirect to previous URL. - return redirect($this->getPreviousUri('link_types.edit.uri')); + return $redirect; } } diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 1399312fd0..4510b3d8fb 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -30,7 +30,6 @@ use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\User; use Log; use Preferences; -use View; /** * Class UserController. @@ -85,7 +84,7 @@ class UserController extends Controller /** * @param User $user * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(User $user) { @@ -110,7 +109,7 @@ class UserController extends Controller /** * @param UserRepositoryInterface $repository * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(UserRepositoryInterface $repository) { @@ -182,17 +181,17 @@ class UserController extends Controller $repository->updateEmail($user, $data['email']); session()->flash('success', (string)trans('firefly.updated_user', ['email' => $user->email])); - Preferences::mark(); - + app('preferences')->mark(); + $redirect = redirect($this->getPreviousUri('users.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart session()->put('users.edit.fromUpdate', true); - return redirect(route('admin.users.edit', [$user->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('admin.users.edit', [$user->id]))->withInput(['return_to_edit' => 1]); // @codeCoverageIgnoreEnd } // redirect to previous URL. - return redirect($this->getPreviousUri('users.edit.uri')); + return $redirect; } } diff --git a/app/Http/Controllers/AttachmentController.php b/app/Http/Controllers/AttachmentController.php index d698f4d732..0e9fc5f01c 100644 --- a/app/Http/Controllers/AttachmentController.php +++ b/app/Http/Controllers/AttachmentController.php @@ -26,15 +26,13 @@ use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Requests\AttachmentFormRequest; use FireflyIII\Models\Attachment; use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface; +use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Http\Response as LaravelResponse; -use Preferences; -use View; /** * Class AttachmentController. * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) // it's 13. */ class AttachmentController extends Controller { @@ -63,7 +61,7 @@ class AttachmentController extends Controller /** * @param Attachment $attachment * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function delete(Attachment $attachment) { @@ -88,7 +86,7 @@ class AttachmentController extends Controller $this->repository->destroy($attachment); $request->session()->flash('success', (string)trans('firefly.attachment_deleted', ['name' => $name])); - Preferences::mark(); + app('preferences')->mark(); return redirect($this->getPreviousUri('attachments.delete.uri')); } @@ -128,7 +126,7 @@ class AttachmentController extends Controller * @param Request $request * @param Attachment $attachment * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(Request $request, Attachment $attachment) { @@ -169,35 +167,36 @@ class AttachmentController extends Controller * @param AttachmentFormRequest $request * @param Attachment $attachment * - * @return \Illuminate\Http\RedirectResponse + * @return RedirectResponse */ - public function update(AttachmentFormRequest $request, Attachment $attachment) + public function update(AttachmentFormRequest $request, Attachment $attachment): RedirectResponse { $data = $request->getAttachmentData(); $this->repository->update($attachment, $data); $request->session()->flash('success', (string)trans('firefly.attachment_updated', ['name' => $attachment->filename])); - Preferences::mark(); + app('preferences')->mark(); + $redirect = redirect($this->getPreviousUri('attachments.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart $request->session()->put('attachments.edit.fromUpdate', true); - return redirect(route('attachments.edit', [$attachment->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('attachments.edit', [$attachment->id]))->withInput(['return_to_edit' => 1]); // @codeCoverageIgnoreEnd } // redirect to previous URL. - return redirect($this->getPreviousUri('attachments.edit.uri')); + return $redirect; } /** * @param Attachment $attachment * - * @return \Illuminate\Http\Response + * @return LaravelResponse * @throws FireflyException */ - public function view(Attachment $attachment) + public function view(Attachment $attachment): LaravelResponse { if ($this->repository->exists($attachment)) { $content = $this->repository->getContent($attachment); diff --git a/app/Http/Controllers/Auth/TwoFactorController.php b/app/Http/Controllers/Auth/TwoFactorController.php index 1ad9b126bd..a666e5a507 100644 --- a/app/Http/Controllers/Auth/TwoFactorController.php +++ b/app/Http/Controllers/Auth/TwoFactorController.php @@ -42,7 +42,6 @@ class TwoFactorController extends Controller * * @throws FireflyException * - * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function index(Request $request) { @@ -90,7 +89,6 @@ class TwoFactorController extends Controller * @param CookieJar $cookieJar * * @return mixed - * @SuppressWarnings(PHPMD.UnusedFormalParameter) // it's unused but the class does some validation. */ public function postIndex(TokenFormRequest $request, CookieJar $cookieJar) { diff --git a/app/Http/Controllers/BillController.php b/app/Http/Controllers/BillController.php index 3d33c9a5f9..142979daa9 100644 --- a/app/Http/Controllers/BillController.php +++ b/app/Http/Controllers/BillController.php @@ -80,7 +80,7 @@ class BillController extends Controller /** * @param Request $request * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function create(Request $request) { @@ -105,7 +105,7 @@ class BillController extends Controller /** * @param Bill $bill * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function delete(Bill $bill) { @@ -128,7 +128,7 @@ class BillController extends Controller $this->billRepository->destroy($bill); $request->session()->flash('success', (string)trans('firefly.deleted_bill', ['name' => $name])); - Preferences::mark(); + app('preferences')->mark(); return redirect($this->getPreviousUri('bills.delete.uri')); } @@ -137,7 +137,7 @@ class BillController extends Controller * @param Request $request * @param Bill $bill * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(Request $request, Bill $bill) { @@ -177,7 +177,7 @@ class BillController extends Controller } /** - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index() { @@ -225,29 +225,29 @@ class BillController extends Controller */ public function rescan(Request $request, Bill $bill) { - if (0 === (int)$bill->active) { + if (false === $bill->active) { $request->session()->flash('warning', (string)trans('firefly.cannot_scan_inactive_bill')); - - return redirect(URL::previous()); } - $set = $this->billRepository->getRulesForBill($bill); - $total = 0; - foreach ($set as $rule) { - // simply fire off all rules? - /** @var TransactionMatcher $matcher */ - $matcher = app(TransactionMatcher::class); - $matcher->setLimit(100000); // large upper limit - $matcher->setRange(100000); // large upper limit - $matcher->setRule($rule); - $matchingTransactions = $matcher->findTransactionsByRule(); - $total += $matchingTransactions->count(); - $this->billRepository->linkCollectionToBill($bill, $matchingTransactions); + if (true === $bill->active) { + $set = $this->billRepository->getRulesForBill($bill); + $total = 0; + foreach ($set as $rule) { + // simply fire off all rules? + /** @var TransactionMatcher $matcher */ + $matcher = app(TransactionMatcher::class); + $matcher->setLimit(100000); // large upper limit + $matcher->setRange(100000); // large upper limit + $matcher->setRule($rule); + $matchingTransactions = $matcher->findTransactionsByRule(); + $total += $matchingTransactions->count(); + $this->billRepository->linkCollectionToBill($bill, $matchingTransactions); + } + + + $request->session()->flash('success', (string)trans('firefly.rescanned_bill', ['total' => $total])); + app('preferences')->mark(); } - - $request->session()->flash('success', (string)trans('firefly.rescanned_bill', ['total' => $total])); - Preferences::mark(); - return redirect(URL::previous()); } @@ -255,7 +255,7 @@ class BillController extends Controller * @param Request $request * @param Bill $bill * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function show(Request $request, Bill $bill) { @@ -292,6 +292,7 @@ class BillController extends Controller return view('bills.show', compact('transactions', 'rules', 'yearAverage', 'overallAverage', 'year', 'object', 'bill', 'subTitle')); } + /** * @param BillFormRequest $request * @@ -307,7 +308,7 @@ class BillController extends Controller return redirect(route('bills.create'))->withInput(); } $request->session()->flash('success', (string)trans('firefly.stored_new_bill', ['name' => $bill->name])); - Preferences::mark(); + app('preferences')->mark(); /** @var array $files */ $files = $request->hasFile('attachments') ? $request->file('attachments') : null; @@ -355,7 +356,7 @@ class BillController extends Controller $bill = $this->billRepository->update($bill, $billData); $request->session()->flash('success', (string)trans('firefly.updated_bill', ['name' => $bill->name])); - Preferences::mark(); + app('preferences')->mark(); /** @var array $files */ $files = $request->hasFile('attachments') ? $request->file('attachments') : null; @@ -365,15 +366,16 @@ class BillController extends Controller if (\count($this->attachments->getMessages()->get('attachments')) > 0) { $request->session()->flash('info', $this->attachments->getMessages()->get('attachments')); // @codeCoverageIgnore } + $redirect = redirect($this->getPreviousUri('bills.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart $request->session()->put('bills.edit.fromUpdate', true); - return redirect(route('bills.edit', [$bill->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('bills.edit', [$bill->id]))->withInput(['return_to_edit' => 1]); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('bills.edit.uri')); + return $redirect; } } diff --git a/app/Http/Controllers/BudgetController.php b/app/Http/Controllers/BudgetController.php index b62589e9b9..9528910896 100644 --- a/app/Http/Controllers/BudgetController.php +++ b/app/Http/Controllers/BudgetController.php @@ -44,8 +44,6 @@ use View; /** * Class BudgetController. * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) - * @SuppressWarnings(PHPMD.TooManyPublicMethods) */ class BudgetController extends Controller { @@ -139,7 +137,7 @@ class BudgetController extends Controller ); } - Preferences::mark(); + app('preferences')->mark(); return response()->json( [ @@ -161,7 +159,7 @@ class BudgetController extends Controller /** * @param Request $request * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function create(Request $request) { @@ -178,7 +176,7 @@ class BudgetController extends Controller /** * @param Budget $budget * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function delete(Budget $budget) { @@ -201,7 +199,7 @@ class BudgetController extends Controller $name = $budget->name; $this->repository->destroy($budget); $request->session()->flash('success', (string)trans('firefly.deleted_budget', ['name' => $name])); - Preferences::mark(); + app('preferences')->mark(); return redirect($this->getPreviousUri('budgets.delete.uri')); } @@ -210,7 +208,7 @@ class BudgetController extends Controller * @param Request $request * @param Budget $budget * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(Request $request, Budget $budget) { @@ -236,10 +234,7 @@ class BudgetController extends Controller * @param Request $request * @param string|null $moment * - * @return View - * - * @SuppressWarnings(PHPMD.CyclomaticComplexity) complex because of while loop - * @SuppressWarnings(PHPMD.ExcessiveMethodLength) + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(Request $request, string $moment = null) { @@ -339,10 +334,10 @@ class BudgetController extends Controller ); } + /** * @param Carbon $start * @param Carbon $end - * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ @@ -420,16 +415,14 @@ class BudgetController extends Controller /** * @param Request $request * @param JournalRepositoryInterface $repository - * @param string $moment + * @param string|null $moment * - * @return View - * - * @SuppressWarnings(PHPMD.CyclomaticComplexity) - * @SuppressWarnings(PHPMD.ExcessiveMethodLength) + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function noBudget(Request $request, JournalRepositoryInterface $repository, string $moment = '') + public function noBudget(Request $request, JournalRepositoryInterface $repository, string $moment = null) { // default values: + $moment = $moment ?? ''; $range = Preferences::get('viewRange', '1M')->data; $start = null; $end = null; @@ -492,7 +485,7 @@ class BudgetController extends Controller $page = 0 === $request->integer('page') ? 1 : $request->integer('page'); $this->repository->cleanupBudgets(); $this->repository->setAvailableBudget($defaultCurrency, $start, $end, $amount); - Preferences::mark(); + app('preferences')->mark(); return redirect(route('budgets.index', [$start->format('Y-m-d')]) . '?page=' . $page); } @@ -501,7 +494,7 @@ class BudgetController extends Controller * @param Request $request * @param Budget $budget * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function show(Request $request, Budget $budget) { @@ -530,8 +523,7 @@ class BudgetController extends Controller * @param Budget $budget * @param BudgetLimit $budgetLimit * - * @return View - * + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * @throws FireflyException */ public function showByBudgetLimit(Request $request, Budget $budget, BudgetLimit $budgetLimit) @@ -576,19 +568,22 @@ class BudgetController extends Controller $budget = $this->repository->store($data); $this->repository->cleanupBudgets(); $request->session()->flash('success', (string)trans('firefly.stored_new_budget', ['name' => $budget->name])); - Preferences::mark(); + app('preferences')->mark(); + + $redirect = redirect($this->getPreviousUri('budgets.create.uri')); if (1 === (int)$request->get('create_another')) { // @codeCoverageIgnoreStart $request->session()->put('budgets.create.fromStore', true); - return redirect(route('budgets.create'))->withInput(); + $redirect = redirect(route('budgets.create'))->withInput(); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('budgets.create.uri')); + return $redirect; } + /** * @param BudgetFormRequest $request * @param Budget $budget @@ -602,17 +597,19 @@ class BudgetController extends Controller $request->session()->flash('success', (string)trans('firefly.updated_budget', ['name' => $budget->name])); $this->repository->cleanupBudgets(); - Preferences::mark(); + app('preferences')->mark(); + + $redirect = redirect($this->getPreviousUri('budgets.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart $request->session()->put('budgets.edit.fromUpdate', true); - return redirect(route('budgets.edit', [$budget->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('budgets.edit', [$budget->id]))->withInput(['return_to_edit' => 1]); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('budgets.edit.uri')); + return $redirect; } /** @@ -632,6 +629,7 @@ class BudgetController extends Controller return view('budgets.income', compact('available', 'start', 'end', 'page')); } + /** * @param Budget $budget * @param Carbon $start @@ -665,6 +663,7 @@ class BudgetController extends Controller return $set; } + /** * @return Collection */ diff --git a/app/Http/Controllers/CategoryController.php b/app/Http/Controllers/CategoryController.php index 3f5452b0b5..2530c4fdbf 100644 --- a/app/Http/Controllers/CategoryController.php +++ b/app/Http/Controllers/CategoryController.php @@ -39,7 +39,6 @@ use Illuminate\Support\Collection; use Log; use Preferences; use Steam; -use View; /** * Class CategoryController. @@ -54,7 +53,7 @@ class CategoryController extends Controller private $repository; /** - * + * CategoryController constructor. */ public function __construct() { @@ -76,7 +75,7 @@ class CategoryController extends Controller /** * @param Request $request * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function create(Request $request) { @@ -92,7 +91,7 @@ class CategoryController extends Controller /** * @param Category $category * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function delete(Category $category) { @@ -116,7 +115,7 @@ class CategoryController extends Controller $this->repository->destroy($category); $request->session()->flash('success', (string)trans('firefly.deleted_category', ['name' => $name])); - Preferences::mark(); + app('preferences')->mark(); return redirect($this->getPreviousUri('categories.delete.uri')); } @@ -125,7 +124,7 @@ class CategoryController extends Controller * @param Request $request * @param Category $category * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(Request $request, Category $category) { @@ -167,14 +166,15 @@ class CategoryController extends Controller } /** - * @param Request $request - * @param string $moment + * @param Request $request + * @param string|null $moment * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function noCategory(Request $request, string $moment = '') + public function noCategory(Request $request, string $moment = null) { // default values: + $moment = $moment ?? ''; $range = Preferences::get('viewRange', '1M')->data; $start = null; $end = null; @@ -224,16 +224,16 @@ class CategoryController extends Controller } /** - * @param Request $request - * @param CategoryRepositoryInterface $repository - * @param Category $category - * @param string $moment + * @param Request $request + * @param Category $category + * @param string|null $moment * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function show(Request $request, CategoryRepositoryInterface $repository, Category $category, string $moment = '') + public function show(Request $request, Category $category, string $moment = null) { // default values: + $moment = $moment ?? ''; $subTitle = $category->name; $subTitleIcon = 'fa-bar-chart'; $page = (int)$request->get('page'); @@ -247,7 +247,7 @@ class CategoryController extends Controller // prep for "all" view. if ('all' === $moment) { $subTitle = trans('firefly.all_journals_for_category', ['name' => $category->name]); - $first = $repository->firstUseDate($category); + $first = $this->repository->firstUseDate($category); /** @var Carbon $start */ $start = $first ?? new Carbon; $end = new Carbon; @@ -255,7 +255,7 @@ class CategoryController extends Controller } // prep for "specific date" view. - if (\strlen($moment) > 0 && 'all' !== $moment) { + if ('all' !== $moment && \strlen($moment) > 0) { $start = app('navigation')->startOfPeriod(new Carbon($moment), $range); $end = app('navigation')->endOfPeriod($start, $range); $subTitle = trans( @@ -304,19 +304,21 @@ class CategoryController extends Controller $category = $repository->store($data); $request->session()->flash('success', (string)trans('firefly.stored_category', ['name' => $category->name])); - Preferences::mark(); + app('preferences')->mark(); + $redirect = redirect(route('categories.index')); if (1 === (int)$request->get('create_another')) { // @codeCoverageIgnoreStart $request->session()->put('categories.create.fromStore', true); - return redirect(route('categories.create'))->withInput(); + $redirect = redirect(route('categories.create'))->withInput(); // @codeCoverageIgnoreEnd } - return redirect(route('categories.index')); + return $redirect; } + /** * @param CategoryFormRequest $request * @param CategoryRepositoryInterface $repository @@ -330,19 +332,22 @@ class CategoryController extends Controller $repository->update($category, $data); $request->session()->flash('success', (string)trans('firefly.updated_category', ['name' => $category->name])); - Preferences::mark(); + app('preferences')->mark(); + + $redirect = redirect($this->getPreviousUri('categories.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart $request->session()->put('categories.edit.fromUpdate', true); - return redirect(route('categories.edit', [$category->id])); + $redirect = redirect(route('categories.edit', [$category->id])); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('categories.edit.uri')); + return $redirect; } + /** * @param Carbon $theDate * @@ -421,6 +426,7 @@ class CategoryController extends Controller return $entries; } + /** * @param Category $category * diff --git a/app/Http/Controllers/Chart/AccountController.php b/app/Http/Controllers/Chart/AccountController.php index e0e18773b8..345f0a6295 100644 --- a/app/Http/Controllers/Chart/AccountController.php +++ b/app/Http/Controllers/Chart/AccountController.php @@ -35,6 +35,7 @@ use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Support\CacheProperties; +use Illuminate\Http\JsonResponse; use Illuminate\Support\Collection; use Log; use Preferences; @@ -62,9 +63,9 @@ class AccountController extends Controller * * @param AccountRepositoryInterface $repository * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function expenseAccounts(AccountRepositoryInterface $repository) + public function expenseAccounts(AccountRepositoryInterface $repository): JsonResponse { $start = clone session('start', Carbon::now()->startOfMonth()); $end = clone session('end', Carbon::now()->endOfMonth()); @@ -99,14 +100,15 @@ class AccountController extends Controller return response()->json($data); } + /** * @param Account $account * @param Carbon $start * @param Carbon $end * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function expenseBudget(Account $account, Carbon $start, Carbon $end) + public function expenseBudget(Account $account, Carbon $start, Carbon $end): JsonResponse { $cache = new CacheProperties; $cache->addProperty($account->id); @@ -146,9 +148,9 @@ class AccountController extends Controller * @param AccountRepositoryInterface $repository * @param Account $account * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function expenseBudgetAll(AccountRepositoryInterface $repository, Account $account) + public function expenseBudgetAll(AccountRepositoryInterface $repository, Account $account): JsonResponse { $start = $repository->oldestJournalDate($account); $end = Carbon::now(); @@ -156,14 +158,15 @@ class AccountController extends Controller return $this->expenseBudget($account, $start, $end); } + /** * @param Account $account * @param Carbon $start * @param Carbon $end * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function expenseCategory(Account $account, Carbon $start, Carbon $end) + public function expenseCategory(Account $account, Carbon $start, Carbon $end): JsonResponse { $cache = new CacheProperties; $cache->addProperty($account->id); @@ -203,9 +206,9 @@ class AccountController extends Controller * @param AccountRepositoryInterface $repository * @param Account $account * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function expenseCategoryAll(AccountRepositoryInterface $repository, Account $account) + public function expenseCategoryAll(AccountRepositoryInterface $repository, Account $account): JsonResponse { $start = $repository->oldestJournalDate($account); $end = Carbon::now(); @@ -218,9 +221,9 @@ class AccountController extends Controller * * @param AccountRepositoryInterface $repository * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function frontpage(AccountRepositoryInterface $repository) + public function frontpage(AccountRepositoryInterface $repository): JsonResponse { $start = clone session('start', Carbon::now()->startOfMonth()); $end = clone session('end', Carbon::now()->endOfMonth()); @@ -238,14 +241,15 @@ class AccountController extends Controller return response()->json($this->accountBalanceChart($accounts, $start, $end)); } + /** * @param Account $account * @param Carbon $start * @param Carbon $end * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function incomeCategory(Account $account, Carbon $start, Carbon $end) + public function incomeCategory(Account $account, Carbon $start, Carbon $end): JsonResponse { $cache = new CacheProperties; $cache->addProperty($account->id); @@ -285,9 +289,9 @@ class AccountController extends Controller * @param AccountRepositoryInterface $repository * @param Account $account * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function incomeCategoryAll(AccountRepositoryInterface $repository, Account $account) + public function incomeCategoryAll(AccountRepositoryInterface $repository, Account $account): JsonResponse { $start = $repository->oldestJournalDate($account); $end = Carbon::now(); @@ -295,15 +299,16 @@ class AccountController extends Controller return $this->incomeCategory($account, $start, $end); } + /** * @param Account $account * @param Carbon $start * * @param Carbon $end * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function period(Account $account, Carbon $start, Carbon $end) + public function period(Account $account, Carbon $start, Carbon $end): JsonResponse { $cache = new CacheProperties; $cache->addProperty('chart.account.period'); @@ -367,21 +372,22 @@ class AccountController extends Controller * @param Carbon $end * @param Collection $accounts * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function report(Collection $accounts, Carbon $start, Carbon $end) + public function report(Collection $accounts, Carbon $start, Carbon $end): JsonResponse { return response()->json($this->accountBalanceChart($accounts, $start, $end)); } + /** * Shows the balances for all the user's revenue accounts. * * @param AccountRepositoryInterface $repository * - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ - public function revenueAccounts(AccountRepositoryInterface $repository) + public function revenueAccounts(AccountRepositoryInterface $repository): JsonResponse { $start = clone session('start', Carbon::now()->startOfMonth()); $end = clone session('end', Carbon::now()->endOfMonth()); @@ -417,6 +423,7 @@ class AccountController extends Controller return response()->json($data); } + /** * @param Collection $accounts * @param Carbon $start diff --git a/app/Http/Controllers/Chart/BillController.php b/app/Http/Controllers/Chart/BillController.php index b145249092..ef4f696550 100644 --- a/app/Http/Controllers/Chart/BillController.php +++ b/app/Http/Controllers/Chart/BillController.php @@ -49,6 +49,7 @@ class BillController extends Controller $this->generator = app(GeneratorInterface::class); } + /** * Shows all bills and whether or not they've been paid this month (pie chart). * @@ -81,6 +82,7 @@ class BillController extends Controller return response()->json($data); } + /** * @param JournalCollectorInterface $collector * @param Bill $bill diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php index 1da549de38..0e2079c960 100644 --- a/app/Http/Controllers/Chart/BudgetController.php +++ b/app/Http/Controllers/Chart/BudgetController.php @@ -42,7 +42,6 @@ use Steam; /** * Class BudgetController. * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) // can't realy be helped. */ class BudgetController extends Controller { @@ -69,6 +68,7 @@ class BudgetController extends Controller ); } + /** * @param Budget $budget * @@ -124,10 +124,10 @@ class BudgetController extends Controller return response()->json($data); } + /** * Shows the amount left in a specific budget limit. * - * @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's exactly five. * * @param Budget $budget * @param BudgetLimit $budgetLimit @@ -172,6 +172,7 @@ class BudgetController extends Controller return response()->json($data); } + /** * @param Budget $budget * @param BudgetLimit|null $budgetLimit @@ -216,6 +217,7 @@ class BudgetController extends Controller return response()->json($data); } + /** * @param Budget $budget * @param BudgetLimit|null $budgetLimit @@ -262,6 +264,7 @@ class BudgetController extends Controller return response()->json($data); } + /** * @param Budget $budget * @param BudgetLimit|null $budgetLimit @@ -307,12 +310,10 @@ class BudgetController extends Controller return response()->json($data); } + /** * Shows a budget list with spent/left/overspent. * - * @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's exactly five. - * @SuppressWarnings(PHPMD.ExcessiveMethodLength) // 46 lines, I'm fine with this. - * * @return \Symfony\Component\HttpFoundation\Response */ public function frontpage() @@ -361,8 +362,8 @@ class BudgetController extends Controller return response()->json($data); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** - * @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's exactly five. * * @param Budget $budget * @param Carbon $start @@ -406,6 +407,7 @@ class BudgetController extends Controller return response()->json($data); } + /** * @param Collection $accounts * @param Carbon $start @@ -514,8 +516,8 @@ class BudgetController extends Controller return $return; } + /** @noinspection MoreThanThreeArgumentsInspection */ /** - * @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's 6 but ok. * * @param Collection $limits * @param Budget $budget @@ -550,7 +552,6 @@ class BudgetController extends Controller } /** - * @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's exactly five. * * Returns an array with the following values: * 0 => diff --git a/app/Http/Controllers/Chart/BudgetReportController.php b/app/Http/Controllers/Chart/BudgetReportController.php index 6f433c0ad2..d769bb5c4a 100644 --- a/app/Http/Controllers/Chart/BudgetReportController.php +++ b/app/Http/Controllers/Chart/BudgetReportController.php @@ -66,6 +66,7 @@ class BudgetReportController extends Controller ); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $budgets @@ -90,6 +91,7 @@ class BudgetReportController extends Controller return response()->json($data); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $budgets @@ -114,6 +116,7 @@ class BudgetReportController extends Controller return response()->json($data); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $budgets @@ -197,6 +200,7 @@ class BudgetReportController extends Controller return response()->json($data); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * Returns the budget limits belonging to the given budget and valid on the given day. * @@ -225,6 +229,7 @@ class BudgetReportController extends Controller return $set; } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $budgets diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index 130c482aea..d7f5cfb2c9 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -51,6 +51,7 @@ class CategoryController extends Controller $this->generator = app(GeneratorInterface::class); } + /** * Show an overview for a category for all time, per month/week/year. * @@ -116,6 +117,7 @@ class CategoryController extends Controller return response()->json($data); } + /** * @param CategoryRepositoryInterface $repository * @param AccountRepositoryInterface $accountRepository @@ -156,16 +158,17 @@ class CategoryController extends Controller return response()->json($data); } + + /** @noinspection MoreThanThreeArgumentsInspection */ /** - * @param CategoryRepositoryInterface $repository - * @param Category $category - * @param Collection $accounts - * @param Carbon $start - * @param Carbon $end + * @param Category $category + * @param Collection $accounts + * @param Carbon $start + * @param Carbon $end * * @return \Illuminate\Http\JsonResponse|mixed */ - public function reportPeriod(CategoryRepositoryInterface $repository, Category $category, Collection $accounts, Carbon $start, Carbon $end) + public function reportPeriod(Category $category, Collection $accounts, Carbon $start, Carbon $end) { $cache = new CacheProperties; $cache->addProperty($start); @@ -176,10 +179,11 @@ class CategoryController extends Controller if ($cache->has()) { return $cache->get(); // @codeCoverageIgnore } - $expenses = $repository->periodExpenses(new Collection([$category]), $accounts, $start, $end); - $income = $repository->periodIncome(new Collection([$category]), $accounts, $start, $end); - $periods = app('navigation')->listOfPeriods($start, $end); - $chartData = [ + $repository = app(CategoryRepositoryInterface::class); + $expenses = $repository->periodExpenses(new Collection([$category]), $accounts, $start, $end); + $income = $repository->periodIncome(new Collection([$category]), $accounts, $start, $end); + $periods = app('navigation')->listOfPeriods($start, $end); + $chartData = [ [ 'label' => (string)trans('firefly.spent'), 'entries' => [], @@ -214,15 +218,15 @@ class CategoryController extends Controller return response()->json($data); } + /** - * @param CategoryRepositoryInterface $repository - * @param Collection $accounts - * @param Carbon $start - * @param Carbon $end + * @param Collection $accounts + * @param Carbon $start + * @param Carbon $end * * @return \Illuminate\Http\JsonResponse|mixed */ - public function reportPeriodNoCategory(CategoryRepositoryInterface $repository, Collection $accounts, Carbon $start, Carbon $end) + public function reportPeriodNoCategory(Collection $accounts, Carbon $start, Carbon $end) { $cache = new CacheProperties; $cache->addProperty($start); @@ -232,10 +236,11 @@ class CategoryController extends Controller if ($cache->has()) { return $cache->get(); // @codeCoverageIgnore } - $expenses = $repository->periodExpensesNoCategory($accounts, $start, $end); - $income = $repository->periodIncomeNoCategory($accounts, $start, $end); - $periods = app('navigation')->listOfPeriods($start, $end); - $chartData = [ + $repository = app(CategoryRepositoryInterface::class); + $expenses = $repository->periodExpensesNoCategory($accounts, $start, $end); + $income = $repository->periodIncomeNoCategory($accounts, $start, $end); + $periods = app('navigation')->listOfPeriods($start, $end); + $chartData = [ [ 'label' => (string)trans('firefly.spent'), 'entries' => [], @@ -270,31 +275,30 @@ class CategoryController extends Controller } /** - * @param CategoryRepositoryInterface $repository * @param Category $category * @param $date * * @return \Symfony\Component\HttpFoundation\Response */ - public function specificPeriod(CategoryRepositoryInterface $repository, Category $category, Carbon $date) + public function specificPeriod(Category $category, Carbon $date) { $range = Preferences::get('viewRange', '1M')->data; $start = app('navigation')->startOfPeriod($date, $range); $end = app('navigation')->endOfPeriod($date, $range); - $data = $this->makePeriodChart($repository, $category, $start, $end); + $data = $this->makePeriodChart($category, $start, $end); return response()->json($data); } + /** - * @param CategoryRepositoryInterface $repository - * @param Category $category - * @param Carbon $start - * @param Carbon $end + * @param Category $category + * @param Carbon $start + * @param Carbon $end * * @return array */ - private function makePeriodChart(CategoryRepositoryInterface $repository, Category $category, Carbon $start, Carbon $end) + private function makePeriodChart(Category $category, Carbon $start, Carbon $end) { $cache = new CacheProperties; $cache->addProperty($start); @@ -302,14 +306,16 @@ class CategoryController extends Controller $cache->addProperty($category->id); $cache->addProperty('chart.category.period-chart'); - /** @var AccountRepositoryInterface $accountRepository */ - $accountRepository = app(AccountRepositoryInterface::class); - $accounts = $accountRepository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET]); if ($cache->has()) { return $cache->get(); // @codeCoverageIgnore } + /** @var AccountRepositoryInterface $accountRepository */ + $accountRepository = app(AccountRepositoryInterface::class); + $accounts = $accountRepository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET]); + $repository = app(CategoryRepositoryInterface::class); + // chart data $chartData = [ [ diff --git a/app/Http/Controllers/Chart/CategoryReportController.php b/app/Http/Controllers/Chart/CategoryReportController.php index 116fdce7d2..03b4180ad9 100644 --- a/app/Http/Controllers/Chart/CategoryReportController.php +++ b/app/Http/Controllers/Chart/CategoryReportController.php @@ -62,6 +62,7 @@ class CategoryReportController extends Controller ); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $categories @@ -83,6 +84,7 @@ class CategoryReportController extends Controller return response()->json($data); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $categories @@ -107,6 +109,7 @@ class CategoryReportController extends Controller return response()->json($data); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $categories @@ -131,6 +134,7 @@ class CategoryReportController extends Controller return response()->json($data); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $categories @@ -155,6 +159,8 @@ class CategoryReportController extends Controller return response()->json($data); } + + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $categories @@ -260,6 +266,7 @@ class CategoryReportController extends Controller return response()->json($data); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $categories @@ -282,6 +289,7 @@ class CategoryReportController extends Controller return $collector->getJournals(); } + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Collection $accounts * @param Collection $categories diff --git a/app/Http/Controllers/Chart/ExpenseReportController.php b/app/Http/Controllers/Chart/ExpenseReportController.php index 3848afe95f..7b44de228c 100644 --- a/app/Http/Controllers/Chart/ExpenseReportController.php +++ b/app/Http/Controllers/Chart/ExpenseReportController.php @@ -18,6 +18,7 @@ * You should have received a copy of the GNU General Public License * along with Firefly III. If not, see . */ +/** @noinspection MoreThanThreeArgumentsInspection */ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Chart; diff --git a/app/Http/Controllers/Chart/TagReportController.php b/app/Http/Controllers/Chart/TagReportController.php index 552aa239a1..9fc5406a03 100644 --- a/app/Http/Controllers/Chart/TagReportController.php +++ b/app/Http/Controllers/Chart/TagReportController.php @@ -18,6 +18,7 @@ * You should have received a copy of the GNU General Public License * along with Firefly III. If not, see . */ +/** @noinspection MoreThanThreeArgumentsInspection */ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Chart; diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 0ecaf69901..3a9eaf8d48 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -145,6 +145,7 @@ class Controller extends BaseController return TransactionType::OPENING_BALANCE === $journal->transactionType->type; } + /** * @param TransactionJournal $journal * @@ -157,7 +158,7 @@ class Controller extends BaseController /** @var Transaction $transaction */ foreach ($transactions as $transaction) { $account = $transaction->account; - if (in_array($account->accountType->type, $valid, true)) { + if (\in_array($account->accountType->type, $valid, true)) { return redirect(route('accounts.show', [$account->id])); } } diff --git a/app/Http/Controllers/CurrencyController.php b/app/Http/Controllers/CurrencyController.php index 67d62ea22f..7600f44082 100644 --- a/app/Http/Controllers/CurrencyController.php +++ b/app/Http/Controllers/CurrencyController.php @@ -63,6 +63,7 @@ class CurrencyController extends Controller ); } + /** * @param Request $request * @@ -97,7 +98,7 @@ class CurrencyController extends Controller public function defaultCurrency(Request $request, TransactionCurrency $currency) { Preferences::set('currencyPreference', $currency->code); - Preferences::mark(); + app('preferences')->mark(); $request->session()->flash('success', trans('firefly.new_default_currency', ['name' => $currency->name])); Cache::forget('FFCURRENCYSYMBOL'); @@ -106,6 +107,7 @@ class CurrencyController extends Controller return redirect(route('currencies.index')); } + /** * @param Request $request * @param TransactionCurrency $currency @@ -135,6 +137,7 @@ class CurrencyController extends Controller return view('currencies.delete', compact('currency', 'subTitle')); } + /** * @param Request $request * @param TransactionCurrency $currency @@ -163,6 +166,7 @@ class CurrencyController extends Controller return redirect($this->getPreviousUri('currencies.delete.uri')); } + /** * @param Request $request * @param TransactionCurrency $currency @@ -195,7 +199,7 @@ class CurrencyController extends Controller /** * @param Request $request * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(Request $request) { @@ -222,6 +226,7 @@ class CurrencyController extends Controller return view('currencies.index', compact('currencies', 'defaultCurrency', 'isOwner')); } + /** * @param CurrencyFormRequest $request * @@ -252,6 +257,7 @@ class CurrencyController extends Controller return redirect($this->getPreviousUri('currencies.create.uri')); } + /** * @param CurrencyFormRequest $request * @param TransactionCurrency $currency @@ -271,7 +277,7 @@ class CurrencyController extends Controller $data = $request->getCurrencyData(); $currency = $this->repository->update($currency, $data); $request->session()->flash('success', trans('firefly.updated_currency', ['name' => $currency->name])); - Preferences::mark(); + app('preferences')->mark(); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart diff --git a/app/Http/Controllers/DebugController.php b/app/Http/Controllers/DebugController.php index 3ec6ee504d..9aca4ef65e 100644 --- a/app/Http/Controllers/DebugController.php +++ b/app/Http/Controllers/DebugController.php @@ -33,7 +33,6 @@ use Illuminate\Http\Request; use Illuminate\Routing\Route; use Log; use Monolog\Handler\RotatingFileHandler; -use Preferences; use Route as RouteFacade; /** @@ -73,7 +72,7 @@ class DebugController extends Controller */ public function flush(Request $request) { - Preferences::mark(); + app('preferences')->mark(); $request->session()->forget(['start', 'end', '_previous', 'viewRange', 'range', 'is_custom_range']); Log::debug('Call cache:clear...'); Artisan::call('cache:clear'); @@ -235,7 +234,7 @@ class DebugController extends Controller */ protected function errorReporting(int $value): string { - $array = [ + $array = [ -1 => 'ALL errors', E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED => 'E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED', E_ALL => 'E_ALL', @@ -244,11 +243,12 @@ class DebugController extends Controller E_ALL & ~E_NOTICE & ~E_STRICT => 'E_ALL & ~E_NOTICE & ~E_STRICT', E_COMPILE_ERROR | E_RECOVERABLE_ERROR | E_ERROR | E_CORE_ERROR => 'E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR', ]; + $result = (string)$value; if (isset($array[$value])) { - return $array[$value]; + $result = $array[$value]; } - return (string)$value; // @codeCoverageIgnore + return $result; } /** diff --git a/app/Http/Controllers/ExportController.php b/app/Http/Controllers/ExportController.php index a6836ba004..27c3e655a7 100644 --- a/app/Http/Controllers/ExportController.php +++ b/app/Http/Controllers/ExportController.php @@ -32,7 +32,6 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\ExportJob\ExportJobRepositoryInterface; use Illuminate\Http\Response as LaravelResponse; use Preferences; -use View; /** * Class ExportController. @@ -107,7 +106,7 @@ class ExportController extends Controller /** * @param ExportJobRepositoryInterface $jobs * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(ExportJobRepositoryInterface $jobs) { diff --git a/app/Http/Controllers/Import/IndexController.php b/app/Http/Controllers/Import/IndexController.php index 4853c13e7f..f657afe4e2 100644 --- a/app/Http/Controllers/Import/IndexController.php +++ b/app/Http/Controllers/Import/IndexController.php @@ -30,7 +30,6 @@ use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface; use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Http\Response as LaravelResponse; use Log; -use View; /** * Class FileController. @@ -180,7 +179,7 @@ class IndexController extends Controller /** * General import index. * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index() { diff --git a/app/Http/Controllers/Json/AutoCompleteController.php b/app/Http/Controllers/Json/AutoCompleteController.php index 87a8204244..caad1fdf63 100644 --- a/app/Http/Controllers/Json/AutoCompleteController.php +++ b/app/Http/Controllers/Json/AutoCompleteController.php @@ -160,6 +160,7 @@ class AutoCompleteController extends Controller return response()->json($return); } + /** * @param JournalCollectorInterface $collector * @param TransactionJournal $except diff --git a/app/Http/Controllers/Json/BoxController.php b/app/Http/Controllers/Json/BoxController.php index 8c8750cefc..0fd31941a4 100644 --- a/app/Http/Controllers/Json/BoxController.php +++ b/app/Http/Controllers/Json/BoxController.php @@ -41,6 +41,7 @@ use FireflyIII\Support\CacheProperties; */ class BoxController extends Controller { + /** * @param BudgetRepositoryInterface $repository * @@ -92,6 +93,7 @@ class BoxController extends Controller return response()->json($return); } + /** * @param CurrencyRepositoryInterface $repository * @@ -173,6 +175,7 @@ class BoxController extends Controller return response()->json($response); } + /** * @param BillRepositoryInterface $repository * @@ -208,6 +211,7 @@ class BoxController extends Controller return response()->json($return); } + /** * @param AccountRepositoryInterface $repository * diff --git a/app/Http/Controllers/Json/ExchangeController.php b/app/Http/Controllers/Json/ExchangeController.php index 34b8eeddd6..8e3eb16ac9 100644 --- a/app/Http/Controllers/Json/ExchangeController.php +++ b/app/Http/Controllers/Json/ExchangeController.php @@ -35,6 +35,7 @@ use Log; */ class ExchangeController extends Controller { + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param Request $request * @param TransactionCurrency $fromCurrency diff --git a/app/Http/Controllers/Json/IntroController.php b/app/Http/Controllers/Json/IntroController.php index be974afb74..96a7a14aa7 100644 --- a/app/Http/Controllers/Json/IntroController.php +++ b/app/Http/Controllers/Json/IntroController.php @@ -31,16 +31,15 @@ use Log; class IntroController { /** - * Get the intro steps. There are currently no specific routes with an outro step. - * - * @param string $route - * @param string $specificPage + * @param string $route + * @param string|null $specificPage * * @return \Illuminate\Http\JsonResponse */ - public function getIntroSteps(string $route, string $specificPage = '') + public function getIntroSteps(string $route, string $specificPage = null) { Log::debug(sprintf('getIntroSteps for route "%s" and page "%s"', $route, $specificPage)); + $specificPage = $specificPage ?? ''; $steps = $this->getBasicSteps($route); $specificSteps = $this->getSpecificSteps($route, $specificPage); if (0 === \count($specificSteps)) { @@ -90,15 +89,16 @@ class IntroController } /** - * @param string $route - * @param string $specialPage + * @param string $route + * @param string|null $specialPage * * @return \Illuminate\Http\JsonResponse */ - public function postEnable(string $route, string $specialPage = '') + public function postEnable(string $route, string $specialPage = null) { - $route = str_replace('.', '_', $route); - $key = 'shown_demo_' . $route; + $specialPage = $specialPage ?? ''; + $route = str_replace('.', '_', $route); + $key = 'shown_demo_' . $route; if ('' !== $specialPage) { $key .= '_' . $specialPage; } @@ -109,14 +109,15 @@ class IntroController } /** - * @param string $route - * @param string $specialPage + * @param string $route + * @param string|null $specialPage * * @return \Illuminate\Http\JsonResponse */ - public function postFinished(string $route, string $specialPage = '') + public function postFinished(string $route, string $specialPage = null) { - $key = 'shown_demo_' . $route; + $specialPage = $specialPage ?? ''; + $key = 'shown_demo_' . $route; if ('' !== $specialPage) { $key .= '_' . $specialPage; } diff --git a/app/Http/Controllers/NewUserController.php b/app/Http/Controllers/NewUserController.php index cf3d0223e0..2ef441b1c2 100644 --- a/app/Http/Controllers/NewUserController.php +++ b/app/Http/Controllers/NewUserController.php @@ -109,7 +109,7 @@ class NewUserController extends Controller // store currency preference: Preferences::set('currencyPreference', $currency->code); - Preferences::mark(); + app('preferences')->mark(); // set default optional fields: $visibleFields = [ @@ -126,7 +126,7 @@ class NewUserController extends Controller Preferences::set('transaction_journal_optional_fields', $visibleFields); session()->flash('success', (string)trans('firefly.stored_new_accounts_new_user')); - Preferences::mark(); + app('preferences')->mark(); return redirect(route('index')); } diff --git a/app/Http/Controllers/PiggyBankController.php b/app/Http/Controllers/PiggyBankController.php index fbfbf94505..2bfb9230d6 100644 --- a/app/Http/Controllers/PiggyBankController.php +++ b/app/Http/Controllers/PiggyBankController.php @@ -37,7 +37,6 @@ use Illuminate\Support\Collection; use Log; use Preferences; use Symfony\Component\HttpFoundation\ParameterBag; -use View; /** * Class PiggyBankController. @@ -78,7 +77,7 @@ class PiggyBankController extends Controller * * @param PiggyBank $piggyBank * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function add(PiggyBank $piggyBank) { @@ -104,7 +103,7 @@ class PiggyBankController extends Controller * * @param PiggyBank $piggyBank * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function addMobile(PiggyBank $piggyBank) { @@ -145,7 +144,7 @@ class PiggyBankController extends Controller /** * @param PiggyBank $piggyBank * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function delete(PiggyBank $piggyBank) { @@ -165,7 +164,7 @@ class PiggyBankController extends Controller public function destroy(PiggyBank $piggyBank) { session()->flash('success', (string)trans('firefly.deleted_piggy_bank', ['name' => $piggyBank->name])); - Preferences::mark(); + app('preferences')->mark(); $this->piggyRepos->destroy($piggyBank); return redirect($this->getPreviousUri('piggy-banks.delete.uri')); @@ -174,7 +173,7 @@ class PiggyBankController extends Controller /** * @param PiggyBank $piggyBank * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(PiggyBank $piggyBank) { @@ -212,7 +211,7 @@ class PiggyBankController extends Controller /** * @param Request $request * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(Request $request) { @@ -286,7 +285,7 @@ class PiggyBankController extends Controller ['amount' => app('amount')->formatAnything($currency, $amount, false), 'name' => $piggyBank->name] ) ); - Preferences::mark(); + app('preferences')->mark(); return redirect(route('piggy-banks.index')); } @@ -326,7 +325,7 @@ class PiggyBankController extends Controller ['amount' => app('amount')->formatAnything($currency, $amount, false), 'name' => $piggyBank->name] ) ); - Preferences::mark(); + app('preferences')->mark(); return redirect(route('piggy-banks.index')); } @@ -347,7 +346,7 @@ class PiggyBankController extends Controller /** * @param PiggyBank $piggyBank * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function remove(PiggyBank $piggyBank) { @@ -367,7 +366,7 @@ class PiggyBankController extends Controller * * @param PiggyBank $piggyBank * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function removeMobile(PiggyBank $piggyBank) { @@ -400,7 +399,7 @@ class PiggyBankController extends Controller /** * @param PiggyBank $piggyBank * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function show(PiggyBank $piggyBank) { @@ -431,17 +430,19 @@ class PiggyBankController extends Controller $piggyBank = $this->piggyRepos->store($data); session()->flash('success', (string)trans('firefly.stored_piggy_bank', ['name' => $piggyBank->name])); - Preferences::mark(); + app('preferences')->mark(); + + $redirect = redirect($this->getPreviousUri('piggy-banks.create.uri')); if (1 === (int)$request->get('create_another')) { // @codeCoverageIgnoreStart session()->put('piggy-banks.create.fromStore', true); - return redirect(route('piggy-banks.create'))->withInput(); + $redirect = redirect(route('piggy-banks.create'))->withInput(); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('piggy-banks.create.uri')); + return $redirect; } /** @@ -456,16 +457,18 @@ class PiggyBankController extends Controller $piggyBank = $this->piggyRepos->update($piggyBank, $data); session()->flash('success', (string)trans('firefly.updated_piggy_bank', ['name' => $piggyBank->name])); - Preferences::mark(); + app('preferences')->mark(); + + $redirect = redirect($this->getPreviousUri('piggy-banks.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart session()->put('piggy-banks.edit.fromUpdate', true); - return redirect(route('piggy-banks.edit', [$piggyBank->id])); + $redirect = redirect(route('piggy-banks.edit', [$piggyBank->id])); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('piggy-banks.edit.uri')); + return $redirect; } } diff --git a/app/Http/Controllers/PreferencesController.php b/app/Http/Controllers/PreferencesController.php index 734c1d301f..8a3c280ab9 100644 --- a/app/Http/Controllers/PreferencesController.php +++ b/app/Http/Controllers/PreferencesController.php @@ -26,7 +26,6 @@ use FireflyIII\Models\AccountType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use Illuminate\Http\Request; use Preferences; -use View; /** * Class PreferencesController. @@ -53,7 +52,7 @@ class PreferencesController extends Controller /** * @param AccountRepositoryInterface $repository * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(AccountRepositoryInterface $repository) { @@ -141,7 +140,7 @@ class PreferencesController extends Controller Preferences::set('transaction_journal_optional_fields', $optionalTj); session()->flash('success', (string)trans('firefly.saved_preferences')); - Preferences::mark(); + app('preferences')->mark(); return redirect(route('preferences.index')); } diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index e7cbbf9f46..8076bbd8ec 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -44,7 +44,6 @@ use Laravel\Passport\Passport; use Log; use phpseclib\Crypt\RSA; use Preferences; -use View; /** * Class ProfileController. @@ -73,7 +72,7 @@ class ProfileController extends Controller } /** - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function changeEmail() { @@ -86,7 +85,7 @@ class ProfileController extends Controller } /** - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function changePassword() { @@ -100,7 +99,7 @@ class ProfileController extends Controller /** * View that generates a 2FA code for the user. * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function code() { @@ -149,7 +148,7 @@ class ProfileController extends Controller } /** - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function deleteAccount() { @@ -199,7 +198,7 @@ class ProfileController extends Controller } /** - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index() { @@ -302,7 +301,6 @@ class ProfileController extends Controller * @param TokenFormRequest $request * * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector - * @SuppressWarnings(PHPMD.UnusedFormalParameter) // it's unused but the class does some validation. */ public function postCode(TokenFormRequest $request) { @@ -310,7 +308,7 @@ class ProfileController extends Controller Preferences::set('twoFactorAuthSecret', session()->get('two-factor-secret')); session()->flash('success', (string)trans('firefly.saved_preferences')); - Preferences::mark(); + app('preferences')->mark(); return redirect(route('profile.index')); } diff --git a/app/Http/Controllers/Recurring/CreateController.php b/app/Http/Controllers/Recurring/CreateController.php index 817f6f73dd..559ad1b444 100644 --- a/app/Http/Controllers/Recurring/CreateController.php +++ b/app/Http/Controllers/Recurring/CreateController.php @@ -113,6 +113,7 @@ class CreateController extends Controller ); } + /** * @param RecurrenceFormRequest $request * @@ -126,16 +127,16 @@ class CreateController extends Controller $request->session()->flash('success', (string)trans('firefly.stored_new_recurrence', ['title' => $recurrence->title])); app('preferences')->mark(); - + $redirect = redirect($this->getPreviousUri('recurring.create.uri')); if (1 === (int)$request->get('create_another')) { // set value so create routine will not overwrite URL: $request->session()->put('recurring.create.fromStore', true); - return redirect(route('recurring.create'))->withInput(); + $redirect = redirect(route('recurring.create'))->withInput(); } // redirect to previous URL. - return redirect($this->getPreviousUri('recurring.create.uri')); + return $redirect; } diff --git a/app/Http/Controllers/Recurring/EditController.php b/app/Http/Controllers/Recurring/EditController.php index e78b8a820f..6438361472 100644 --- a/app/Http/Controllers/Recurring/EditController.php +++ b/app/Http/Controllers/Recurring/EditController.php @@ -153,16 +153,16 @@ class EditController extends Controller $request->session()->flash('success', (string)trans('firefly.updated_recurrence', ['title' => $recurrence->title])); app('preferences')->mark(); - + $redirect = redirect($this->getPreviousUri('recurrences.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // set value so edit routine will not overwrite URL: $request->session()->put('recurrences.edit.fromUpdate', true); - return redirect(route('recurring.edit', [$recurrence->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('recurring.edit', [$recurrence->id]))->withInput(['return_to_edit' => 1]); } // redirect to previous URL. - return redirect($this->getPreviousUri('recurrences.edit.uri')); + return $redirect; } diff --git a/app/Http/Controllers/Report/AccountController.php b/app/Http/Controllers/Report/AccountController.php index c7c8ff447f..8e29812af5 100644 --- a/app/Http/Controllers/Report/AccountController.php +++ b/app/Http/Controllers/Report/AccountController.php @@ -33,6 +33,7 @@ use Illuminate\Support\Collection; */ class AccountController extends Controller { + /** * @param Collection $accounts * @param Carbon $start diff --git a/app/Http/Controllers/Report/BalanceController.php b/app/Http/Controllers/Report/BalanceController.php index 3b31be87de..992845aa09 100644 --- a/app/Http/Controllers/Report/BalanceController.php +++ b/app/Http/Controllers/Report/BalanceController.php @@ -33,17 +33,18 @@ use Illuminate\Support\Collection; */ class BalanceController extends Controller { + /** - * @param BalanceReportHelperInterface $helper - * @param Collection $accounts - * @param Carbon $start - * @param Carbon $end + * @param Collection $accounts + * @param Carbon $start + * @param Carbon $end * * @return mixed|string * @throws \Throwable */ - public function general(BalanceReportHelperInterface $helper, Collection $accounts, Carbon $start, Carbon $end) + public function general(Collection $accounts, Carbon $start, Carbon $end) { + // chart properties for cache: $cache = new CacheProperties; $cache->addProperty($start); @@ -53,7 +54,7 @@ class BalanceController extends Controller if ($cache->has()) { return $cache->get(); // @codeCoverageIgnore } - + $helper = app(BalanceReportHelperInterface::class); $balance = $helper->getBalanceReport($accounts, $start, $end); $result = view('reports.partials.balance', compact('balance'))->render(); diff --git a/app/Http/Controllers/Report/BudgetController.php b/app/Http/Controllers/Report/BudgetController.php index 7a129f3fa7..44ba71d683 100644 --- a/app/Http/Controllers/Report/BudgetController.php +++ b/app/Http/Controllers/Report/BudgetController.php @@ -34,16 +34,16 @@ use Illuminate\Support\Collection; */ class BudgetController extends Controller { + /** - * @param BudgetReportHelperInterface $helper - * @param Collection $accounts - * @param Carbon $start - * @param Carbon $end + * @param Collection $accounts + * @param Carbon $start + * @param Carbon $end * * @return mixed|string * @throws \Throwable */ - public function general(BudgetReportHelperInterface $helper, Collection $accounts, Carbon $start, Carbon $end) + public function general(Collection $accounts, Carbon $start, Carbon $end) { // chart properties for cache: $cache = new CacheProperties; @@ -54,7 +54,7 @@ class BudgetController extends Controller if ($cache->has()) { return $cache->get(); // @codeCoverageIgnore } - + $helper = app(BudgetReportHelperInterface::class); $budgets = $helper->getBudgetReport($start, $end, $accounts); $result = view('reports.partials.budgets', compact('budgets'))->render(); @@ -63,6 +63,7 @@ class BudgetController extends Controller return $result; } + /** * @param Collection $accounts * @param Carbon $start diff --git a/app/Http/Controllers/Report/CategoryController.php b/app/Http/Controllers/Report/CategoryController.php index 5b182a8e7e..6df7eec8e3 100644 --- a/app/Http/Controllers/Report/CategoryController.php +++ b/app/Http/Controllers/Report/CategoryController.php @@ -34,6 +34,7 @@ use Illuminate\Support\Collection; */ class CategoryController extends Controller { + /** * @param Collection $accounts * @param Carbon $start @@ -66,6 +67,7 @@ class CategoryController extends Controller return $result; } + /** * @param Collection $accounts * @@ -99,6 +101,7 @@ class CategoryController extends Controller return $result; } + /** * @param Collection $accounts * @param Carbon $start diff --git a/app/Http/Controllers/Report/ExpenseController.php b/app/Http/Controllers/Report/ExpenseController.php index 4869ac785e..2a23efb99a 100644 --- a/app/Http/Controllers/Report/ExpenseController.php +++ b/app/Http/Controllers/Report/ExpenseController.php @@ -18,6 +18,7 @@ * You should have received a copy of the GNU General Public License * along with Firefly III. If not, see . */ +/** @noinspection MoreThanThreeArgumentsInspection */ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Report; @@ -58,6 +59,7 @@ class ExpenseController extends Controller ); } + /** * Generates the overview per budget. * @@ -104,6 +106,7 @@ class ExpenseController extends Controller return $result; } + /** * Generates the overview per category (spent and earned). * @@ -160,6 +163,7 @@ class ExpenseController extends Controller return $result; } + /** * Overview of spending * @@ -206,6 +210,7 @@ class ExpenseController extends Controller // for period, get spent and earned for each account (by name) } + /** * @param Collection $accounts * @param Collection $expense diff --git a/app/Http/Controllers/Report/OperationsController.php b/app/Http/Controllers/Report/OperationsController.php index 2164c57749..fc0777852e 100644 --- a/app/Http/Controllers/Report/OperationsController.php +++ b/app/Http/Controllers/Report/OperationsController.php @@ -33,16 +33,37 @@ use Illuminate\Support\Collection; */ class OperationsController extends Controller { + + /** @var AccountTaskerInterface */ + private $tasker; + /** - * @param AccountTaskerInterface $tasker - * @param Collection $accounts - * @param Carbon $start - * @param Carbon $end + * + */ + public function __construct() + { + parent::__construct(); + + // translations: + $this->middleware( + function ($request, $next) { + $this->tasker = app(AccountTaskerInterface::class); + + return $next($request); + } + ); + } + + + /** + * @param Collection $accounts + * @param Carbon $start + * @param Carbon $end * * @return mixed|string * @throws \Throwable */ - public function expenses(AccountTaskerInterface $tasker, Collection $accounts, Carbon $start, Carbon $end) + public function expenses(Collection $accounts, Carbon $start, Carbon $end) { // chart properties for cache: $cache = new CacheProperties; @@ -53,7 +74,7 @@ class OperationsController extends Controller if ($cache->has()) { return $cache->get(); // @codeCoverageIgnore } - $entries = $tasker->getExpenseReport($start, $end, $accounts); + $entries = $this->tasker->getExpenseReport($start, $end, $accounts); $type = 'expense-entry'; $result = view('reports.partials.income-expenses', compact('entries', 'type'))->render(); $cache->store($result); @@ -62,15 +83,14 @@ class OperationsController extends Controller } /** - * @param AccountTaskerInterface $tasker - * @param Collection $accounts - * @param Carbon $start - * @param Carbon $end + * @param Collection $accounts + * @param Carbon $start + * @param Carbon $end * * @return string * @throws \Throwable */ - public function income(AccountTaskerInterface $tasker, Collection $accounts, Carbon $start, Carbon $end) + public function income(Collection $accounts, Carbon $start, Carbon $end) { // chart properties for cache: $cache = new CacheProperties; @@ -81,7 +101,7 @@ class OperationsController extends Controller if ($cache->has()) { return $cache->get(); // @codeCoverageIgnore } - $entries = $tasker->getIncomeReport($start, $end, $accounts); + $entries = $this->tasker->getIncomeReport($start, $end, $accounts); $type = 'income-entry'; $result = view('reports.partials.income-expenses', compact('entries', 'type'))->render(); @@ -91,15 +111,14 @@ class OperationsController extends Controller } /** - * @param AccountTaskerInterface $tasker - * @param Collection $accounts - * @param Carbon $start - * @param Carbon $end + * @param Collection $accounts + * @param Carbon $start + * @param Carbon $end * * @return mixed|string * @throws \Throwable */ - public function operations(AccountTaskerInterface $tasker, Collection $accounts, Carbon $start, Carbon $end) + public function operations(Collection $accounts, Carbon $start, Carbon $end) { // chart properties for cache: $cache = new CacheProperties; @@ -111,8 +130,8 @@ class OperationsController extends Controller return $cache->get(); // @codeCoverageIgnore } - $incomes = $tasker->getIncomeReport($start, $end, $accounts); - $expenses = $tasker->getExpenseReport($start, $end, $accounts); + $incomes = $this->tasker->getIncomeReport($start, $end, $accounts); + $expenses = $this->tasker->getExpenseReport($start, $end, $accounts); $incomeSum = array_sum( array_map( function ($item) { diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index b1e5c00242..0b88b9599c 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -18,6 +18,8 @@ * You should have received a copy of the GNU General Public License * along with Firefly III. If not, see . */ +/** @noinspection CallableParameterUseCaseInTypeContextInspection */ +/** @noinspection MoreThanThreeArgumentsInspection */ declare(strict_types=1); namespace FireflyIII\Http\Controllers; @@ -256,7 +258,7 @@ class ReportController extends Controller /** * @param AccountRepositoryInterface $repository * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(AccountRepositoryInterface $repository) { @@ -307,7 +309,6 @@ class ReportController extends Controller * @return RedirectResponse|\Illuminate\Routing\Redirector * * @throws \FireflyIII\Exceptions\FireflyException - * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function postIndex(ReportFormRequest $request) { @@ -329,19 +330,19 @@ class ReportController extends Controller return redirect(route('reports.index')); } - if (0 === $request->getCategoryList()->count() && 'category' === $reportType) { + if ('category' === $reportType && 0 === $request->getCategoryList()->count()) { session()->flash('error', trans('firefly.select_more_than_one_category')); return redirect(route('reports.index')); } - if (0 === $request->getBudgetList()->count() && 'budget' === $reportType) { + if ('budget' === $reportType && 0 === $request->getBudgetList()->count()) { session()->flash('error', trans('firefly.select_more_than_one_budget')); return redirect(route('reports.index')); } - if (0 === $request->getTagList()->count() && 'tag' === $reportType) { + if ('tag' === $reportType && 0 === $request->getTagList()->count()) { session()->flash('error', trans('firefly.select_more_than_one_tag')); return redirect(route('reports.index')); diff --git a/app/Http/Controllers/RuleController.php b/app/Http/Controllers/RuleController.php index 655a4ae34d..67050297c9 100644 --- a/app/Http/Controllers/RuleController.php +++ b/app/Http/Controllers/RuleController.php @@ -42,9 +42,7 @@ use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Collection; use Log; -use Preferences; use Throwable; -use View; /** * Class RuleController. @@ -88,8 +86,7 @@ class RuleController extends Controller * @param Request $request * @param RuleGroup $ruleGroup * - * @return View - * + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function create(Request $request, RuleGroup $ruleGroup) { @@ -158,7 +155,7 @@ class RuleController extends Controller * * @param Rule $rule * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function delete(Rule $rule) { @@ -183,7 +180,7 @@ class RuleController extends Controller $this->ruleRepos->destroy($rule); session()->flash('success', trans('firefly.deleted_rule', ['title' => $title])); - Preferences::mark(); + app('preferences')->mark(); return redirect($this->getPreviousUri('rules.delete.uri')); } @@ -204,8 +201,7 @@ class RuleController extends Controller * @param Request $request * @param Rule $rule * - * @return View - * + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(Request $request, Rule $rule) { @@ -288,7 +284,7 @@ class RuleController extends Controller } /** - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index() { @@ -356,7 +352,7 @@ class RuleController extends Controller $data = $request->getRuleData(); $rule = $this->ruleRepos->store($data); session()->flash('success', trans('firefly.stored_new_rule', ['title' => $rule->title])); - Preferences::mark(); + app('preferences')->mark(); // redirect to show bill. if ('true' === $request->get('return_to_bill') && (int)$request->get('bill_id') > 0) { @@ -368,16 +364,16 @@ class RuleController extends Controller return redirect($this->getPreviousUri('bills.create.uri')); // @codeCoverageIgnore } + $redirect = redirect($this->getPreviousUri('rules.create.uri')); if (1 === (int)$request->get('create_another')) { // @codeCoverageIgnoreStart session()->put('rules.create.fromStore', true); - - return redirect(route('rules.create', [$data['rule_group_id']]))->withInput(); + $redirect = redirect(route('rules.create', [$data['rule_group_id']]))->withInput(); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('rules.create.uri')); + return $redirect; } /** @@ -529,17 +525,17 @@ class RuleController extends Controller $this->ruleRepos->update($rule, $data); session()->flash('success', trans('firefly.updated_rule', ['title' => $rule->title])); - Preferences::mark(); - + app('preferences')->mark(); + $redirect = redirect($this->getPreviousUri('rules.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart session()->put('rules.edit.fromUpdate', true); - return redirect(route('rules.edit', [$rule->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('rules.edit', [$rule->id]))->withInput(['return_to_edit' => 1]); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('rules.edit.uri')); + return $redirect; } /** diff --git a/app/Http/Controllers/RuleGroupController.php b/app/Http/Controllers/RuleGroupController.php index 27d3005ee5..a0c20b3d37 100644 --- a/app/Http/Controllers/RuleGroupController.php +++ b/app/Http/Controllers/RuleGroupController.php @@ -30,8 +30,6 @@ use FireflyIII\Models\RuleGroup; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; use Illuminate\Http\Request; -use Preferences; -use View; /** * Class RuleGroupController. @@ -56,7 +54,7 @@ class RuleGroupController extends Controller } /** - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function create() { @@ -75,7 +73,7 @@ class RuleGroupController extends Controller /** * @param RuleGroup $ruleGroup * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function delete(RuleGroup $ruleGroup) { @@ -102,7 +100,7 @@ class RuleGroupController extends Controller $repository->destroy($ruleGroup, $moveTo); session()->flash('success', (string)trans('firefly.deleted_rule_group', ['title' => $title])); - Preferences::mark(); + app('preferences')->mark(); return redirect($this->getPreviousUri('rule-groups.delete.uri')); } @@ -183,7 +181,7 @@ class RuleGroupController extends Controller /** * @param RuleGroup $ruleGroup * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function selectTransactions(RuleGroup $ruleGroup) { @@ -206,17 +204,18 @@ class RuleGroupController extends Controller $ruleGroup = $repository->store($data); session()->flash('success', (string)trans('firefly.created_new_rule_group', ['title' => $ruleGroup->title])); - Preferences::mark(); + app('preferences')->mark(); + $redirect = redirect($this->getPreviousUri('rule-groups.create.uri')); if (1 === (int)$request->get('create_another')) { // @codeCoverageIgnoreStart session()->put('rule-groups.create.fromStore', true); - return redirect(route('rule-groups.create'))->withInput(); + $redirect = redirect(route('rule-groups.create'))->withInput(); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('rule-groups.create.uri')); + return $redirect; } /** @@ -250,17 +249,17 @@ class RuleGroupController extends Controller $repository->update($ruleGroup, $data); session()->flash('success', (string)trans('firefly.updated_rule_group', ['title' => $ruleGroup->title])); - Preferences::mark(); - + app('preferences')->mark(); + $redirect = redirect($this->getPreviousUri('rule-groups.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart session()->put('rule-groups.edit.fromUpdate', true); - return redirect(route('rule-groups.edit', [$ruleGroup->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('rule-groups.edit', [$ruleGroup->id]))->withInput(['return_to_edit' => 1]); // @codeCoverageIgnoreEnd } // redirect to previous URL. - return redirect($this->getPreviousUri('rule-groups.edit.uri')); + return $redirect; } } diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php index 4baf91f083..cdea90db85 100644 --- a/app/Http/Controllers/SearchController.php +++ b/app/Http/Controllers/SearchController.php @@ -26,7 +26,6 @@ use FireflyIII\Support\CacheProperties; use FireflyIII\Support\Search\SearchInterface; use Illuminate\Http\Request; use Illuminate\Support\Collection; -use View; /** * Class SearchController. @@ -54,7 +53,7 @@ class SearchController extends Controller * @param Request $request * @param SearchInterface $searcher * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(Request $request, SearchInterface $searcher) { diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php index 247ef130e3..c67193287e 100644 --- a/app/Http/Controllers/TagController.php +++ b/app/Http/Controllers/TagController.php @@ -63,9 +63,7 @@ class TagController extends Controller } /** - * Create a new tag. - * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function create() { @@ -86,7 +84,7 @@ class TagController extends Controller * * @param Tag $tag * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function delete(Tag $tag) { @@ -119,7 +117,7 @@ class TagController extends Controller * * @param Tag $tag * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(Tag $tag) { @@ -136,11 +134,11 @@ class TagController extends Controller } /** - * View all tags. + * Edit a tag. * * @param TagRepositoryInterface $repository * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(TagRepositoryInterface $repository) { @@ -164,16 +162,16 @@ class TagController extends Controller } /** - * @param Request $request - * @param TagRepositoryInterface $repository - * @param Tag $tag - * @param string $moment + * @param Request $request + * @param Tag $tag + * @param string|null $moment * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function show(Request $request, TagRepositoryInterface $repository, Tag $tag, string $moment = '') + public function show(Request $request, Tag $tag, string $moment = null) { // default values: + $moment = $moment ?? ''; $subTitle = $tag->tag; $subTitleIcon = 'fa-tag'; $page = (int)$request->get('page'); @@ -187,7 +185,7 @@ class TagController extends Controller // prep for "all" view. if ('all' === $moment) { $subTitle = trans('firefly.all_journals_for_tag', ['tag' => $tag->tag]); - $start = $repository->firstUseDate($tag); + $start = $this->repository->firstUseDate($tag); $end = new Carbon; $path = route('tags.show', [$tag->id, 'all']); } @@ -225,7 +223,7 @@ class TagController extends Controller $transactions = $collector->getPaginatedJournals(); $transactions->setPath($path); - $sums = $repository->sumsOfTag($tag, $start, $end); + $sums = $this->repository->sumsOfTag($tag, $start, $end); return view('tags.show', compact('tag', 'sums', 'periods', 'subTitle', 'subTitleIcon', 'transactions', 'start', 'end', 'moment')); } @@ -243,15 +241,17 @@ class TagController extends Controller session()->flash('success', (string)trans('firefly.created_tag', ['tag' => $data['tag']])); app('preferences')->mark(); + $redirect = redirect($this->getPreviousUri('tags.create.uri')); if (1 === (int)$request->get('create_another')) { // @codeCoverageIgnoreStart session()->put('tags.create.fromStore', true); - return redirect(route('tags.create'))->withInput(); + $redirect = redirect(route('tags.create'))->withInput(); // @codeCoverageIgnoreEnd } - return redirect($this->getPreviousUri('tags.create.uri')); + return $redirect; + } /** @@ -268,16 +268,17 @@ class TagController extends Controller session()->flash('success', (string)trans('firefly.updated_tag', ['tag' => $data['tag']])); app('preferences')->mark(); + $redirect = redirect($this->getPreviousUri('tags.edit.uri')); if (1 === (int)$request->get('return_to_edit')) { // @codeCoverageIgnoreStart session()->put('tags.edit.fromUpdate', true); - return redirect(route('tags.edit', [$tag->id]))->withInput(['return_to_edit' => 1]); + $redirect = redirect(route('tags.edit', [$tag->id]))->withInput(['return_to_edit' => 1]); // @codeCoverageIgnoreEnd } // redirect to previous URL. - return redirect($this->getPreviousUri('tags.edit.uri')); + return $redirect; } /** diff --git a/app/Http/Controllers/Transaction/BulkController.php b/app/Http/Controllers/Transaction/BulkController.php index 3c49398d12..a2648b35e1 100644 --- a/app/Http/Controllers/Transaction/BulkController.php +++ b/app/Http/Controllers/Transaction/BulkController.php @@ -32,8 +32,6 @@ use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use Illuminate\Support\Collection; use Log; -use Preferences; -use View; /** * Class BulkController @@ -45,7 +43,7 @@ class BulkController extends Controller /** - * + * BulkController constructor. */ public function __construct() { @@ -65,7 +63,7 @@ class BulkController extends Controller /** * @param Collection $journals * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(Collection $journals) { @@ -129,7 +127,7 @@ class BulkController extends Controller } } - Preferences::mark(); + app('preferences')->mark(); $request->session()->flash('success', trans('firefly.mass_edited_transactions_success', ['amount' => $count])); // redirect to previous URL: diff --git a/app/Http/Controllers/Transaction/ConvertController.php b/app/Http/Controllers/Transaction/ConvertController.php index 6a4b644244..c6f45d7790 100644 --- a/app/Http/Controllers/Transaction/ConvertController.php +++ b/app/Http/Controllers/Transaction/ConvertController.php @@ -61,6 +61,7 @@ class ConvertController extends Controller ); } + /** * @param TransactionType $destinationType * @param TransactionJournal $journal @@ -109,6 +110,7 @@ class ConvertController extends Controller ); } + /** * @param Request $request * @param TransactionType $destinationType @@ -124,6 +126,7 @@ class ConvertController extends Controller // @codeCoverageIgnoreStart if ($this->isOpeningBalance($journal)) { Log::debug('Journal is opening balance, return to account.'); + return $this->redirectToAccount($journal); } // @codeCoverageIgnoreEnd @@ -160,6 +163,7 @@ class ConvertController extends Controller return redirect(route('transactions.show', [$journal->id])); } + /** * @param TransactionJournal $journal * @param TransactionType $destinationType @@ -215,6 +219,7 @@ class ConvertController extends Controller return $destination; } + /** * @param TransactionJournal $journal * @param TransactionType $destinationType diff --git a/app/Http/Controllers/Transaction/LinkController.php b/app/Http/Controllers/Transaction/LinkController.php index 686b73c082..eca642a990 100644 --- a/app/Http/Controllers/Transaction/LinkController.php +++ b/app/Http/Controllers/Transaction/LinkController.php @@ -29,7 +29,6 @@ use FireflyIII\Models\TransactionJournalLink; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; use Log; -use Preferences; use URL; /** @@ -86,7 +85,7 @@ class LinkController extends Controller $this->repository->destroyLink($link); session()->flash('success', (string)trans('firefly.deleted_link')); - Preferences::mark(); + app('preferences')->mark(); return redirect((string)session('journal_links.delete.uri')); } diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php index ae043d9c19..cebd47ef29 100644 --- a/app/Http/Controllers/Transaction/MassController.php +++ b/app/Http/Controllers/Transaction/MassController.php @@ -37,7 +37,6 @@ use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Transformers\TransactionTransformer; use Illuminate\Support\Collection; use Illuminate\View\View as IlluminateView; -use Preferences; use Symfony\Component\HttpFoundation\ParameterBag; /** @@ -109,7 +108,7 @@ class MassController extends Controller ++$count; } - Preferences::mark(); + app('preferences')->mark(); session()->flash('success', trans('firefly.mass_deleted_transactions_success', ['amount' => $count])); // redirect to previous URL: @@ -241,7 +240,7 @@ class MassController extends Controller } } } - Preferences::mark(); + app('preferences')->mark(); session()->flash('success', trans('firefly.mass_edited_transactions_success', ['amount' => $count])); // redirect to previous URL: diff --git a/app/Http/Controllers/Transaction/SingleController.php b/app/Http/Controllers/Transaction/SingleController.php index d0358b7a8b..261119e15b 100644 --- a/app/Http/Controllers/Transaction/SingleController.php +++ b/app/Http/Controllers/Transaction/SingleController.php @@ -135,14 +135,14 @@ class SingleController extends Controller } /** - * @param Request $request - * @param string $what + * @param Request $request + * @param string|null $what * - * @return View + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function create(Request $request, string $what = TransactionType::DEPOSIT) + public function create(Request $request, string $what = null) { - $what = strtolower($what); + $what = strtolower($what ?? TransactionType::DEPOSIT); $what = (string)($request->old('what') ?? $what); $budgets = ExpandedForm::makeSelectListWithEmpty($this->budgets->getActiveBudgets()); $preFilled = session()->has('preFilled') ? session('preFilled') : []; @@ -220,7 +220,7 @@ class SingleController extends Controller $this->repository->destroy($transactionJournal); - Preferences::mark(); + app('preferences')->mark(); return redirect($this->getPreviousUri('transactions.delete.uri')); } @@ -296,7 +296,7 @@ class SingleController extends Controller // amounts for withdrawals and deposits: // amount, native_amount, source_amount, destination_amount - if (($journal->isWithdrawal() || $journal->isDeposit()) && null !== $pTransaction->foreign_amount) { + if (null !== $pTransaction->foreign_amount && ($journal->isWithdrawal() || $journal->isDeposit())) { $preFilled['amount'] = $pTransaction->foreign_amount; $preFilled['currency'] = $pTransaction->foreignCurrency; } @@ -355,7 +355,7 @@ class SingleController extends Controller event(new StoredTransactionJournal($journal, $data['piggy_bank_id'])); session()->flash('success', (string)trans('firefly.stored_journal', ['description' => $journal->description])); - Preferences::mark(); + app('preferences')->mark(); // @codeCoverageIgnoreStart if (true === $createAnother) { @@ -412,7 +412,7 @@ class SingleController extends Controller $type = strtolower($this->repository->getTransactionType($journal)); session()->flash('success', (string)trans('firefly.updated_' . $type, ['description' => $data['description']])); - Preferences::mark(); + app('preferences')->mark(); // @codeCoverageIgnoreStart if (1 === (int)$request->get('return_to_edit')) { diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index d1c67291aa..471eac4562 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -18,6 +18,8 @@ * You should have received a copy of the GNU General Public License * along with Firefly III. If not, see . */ +/** @noinspection CallableParameterUseCaseInTypeContextInspection */ +/** @noinspection MoreThanThreeArgumentsInspection */ declare(strict_types=1); namespace FireflyIII\Http\Controllers; @@ -71,13 +73,12 @@ class TransactionController extends Controller /** * Index for a range of transactions. * - * @param Request $request - * @param string $what - * @param Carbon $start - * @param Carbon $end - * - * @return View + * @param Request $request + * @param string $what + * @param Carbon|null $start + * @param Carbon|null $end * + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index(Request $request, string $what, Carbon $start = null, Carbon $end = null) { @@ -189,7 +190,7 @@ class TransactionController extends Controller } } } - Preferences::mark(); + app('preferences')->mark(); return response()->json([true]); } diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index 4e8408129c..0689d4b65e 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -73,6 +73,7 @@ class Authenticate return $next($request); } + /** * Determine if the user is logged in to any of the given guards. * diff --git a/app/Http/Middleware/AuthenticateTwoFactor.php b/app/Http/Middleware/AuthenticateTwoFactor.php index 3e5715377e..af3d68a4b1 100644 --- a/app/Http/Middleware/AuthenticateTwoFactor.php +++ b/app/Http/Middleware/AuthenticateTwoFactor.php @@ -51,6 +51,7 @@ class AuthenticateTwoFactor $this->auth = $auth; } + /** * @param $request * @param Closure $next diff --git a/app/Http/Middleware/Sandstorm.php b/app/Http/Middleware/Sandstorm.php index f992852ce8..8e9b3eb8f1 100644 --- a/app/Http/Middleware/Sandstorm.php +++ b/app/Http/Middleware/Sandstorm.php @@ -48,7 +48,6 @@ class Sandstorm * @return mixed * * @throws FireflyException - * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function handle(Request $request, Closure $next, $guard = null) { diff --git a/app/Http/Middleware/StartFireflySession.php b/app/Http/Middleware/StartFireflySession.php index 4cb809999a..77e90c55f6 100644 --- a/app/Http/Middleware/StartFireflySession.php +++ b/app/Http/Middleware/StartFireflySession.php @@ -41,7 +41,7 @@ class StartFireflySession extends StartSession { $uri = $request->fullUrl(); $strpos = strpos($uri, 'jscript'); - if ('GET' === $request->method() && $request->route() && !$request->ajax() && false === $strpos) { + if (false === $strpos && 'GET' === $request->method() && $request->route() && !$request->ajax()) { $session->setPreviousUrl($uri); } } diff --git a/app/Http/Requests/AccountFormRequest.php b/app/Http/Requests/AccountFormRequest.php index 289be2b07b..85d717990a 100644 --- a/app/Http/Requests/AccountFormRequest.php +++ b/app/Http/Requests/AccountFormRequest.php @@ -33,7 +33,7 @@ class AccountFormRequest extends Request /** * @return bool */ - public function authorize() + public function authorize(): bool { // Only allow logged in users return auth()->check(); @@ -66,7 +66,7 @@ class AccountFormRequest extends Request /** * @return array */ - public function rules() + public function rules(): array { $accountRoles = implode(',', config('firefly.accountRoles')); $types = implode(',', array_keys(config('firefly.subTitlesByIdentifier'))); diff --git a/tests/Feature/Controllers/Admin/UpdateControllerTest.php b/tests/Feature/Controllers/Admin/UpdateControllerTest.php index 4b17eaf5cd..0d9212bb35 100644 --- a/tests/Feature/Controllers/Admin/UpdateControllerTest.php +++ b/tests/Feature/Controllers/Admin/UpdateControllerTest.php @@ -151,11 +151,10 @@ class UpdateControllerTest extends TestCase $falseConfig = new Configuration; $falseConfig->data = false; FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig); + FireflyConfig::shouldReceive('set')->withArgs(['last_update_check', Mockery::any()])->once()->andReturn(new Configuration); $version = config('firefly.version') . '-alpha'; - $releases = [ - new Release(['id' => 'x', 'title' => $version, 'content' => '', 'updated' => new Carbon]), - ]; + $releases = []; $updater = $this->mock(UpdateRequest::class); $updater->shouldReceive('call')->andThrow(FireflyException::class, 'Something broke.'); $updater->shouldReceive('getReleases')->andReturn($releases);