Various code cleanup.

This commit is contained in:
James Cole 2018-07-08 12:08:53 +02:00
parent 2f2f907ffe
commit b315882f58
56 changed files with 465 additions and 396 deletions

View File

@ -18,6 +18,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>. * along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @noinspection CallableParameterUseCaseInTypeContextInspection */
declare(strict_types=1); declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Account; namespace FireflyIII\Http\Controllers\Account;
@ -44,8 +45,6 @@ use Preferences;
/** /**
* Class ReconcileController. * Class ReconcileController.
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/ */
class ReconcileController extends Controller class ReconcileController extends Controller
{ {
@ -113,6 +112,7 @@ class ReconcileController extends Controller
)->with('data', $preFilled); )->with('data', $preFilled);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Request $request * @param Request $request
* @param Account $account * @param Account $account
@ -246,9 +246,9 @@ class ReconcileController extends Controller
return view('accounts.reconcile.show', compact('journal', 'subTitle', 'transaction', 'account')); return view('accounts.reconcile.show', compact('journal', 'subTitle', 'transaction', 'account'));
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param ReconciliationStoreRequest $request * @param ReconciliationStoreRequest $request
* @param JournalRepositoryInterface $repository
* @param Account $account * @param Account $account
* @param Carbon $start * @param Carbon $start
* @param Carbon $end * @param Carbon $end
@ -256,14 +256,14 @@ class ReconcileController extends Controller
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
* @throws FireflyException * @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()'); Log::debug('In ReconcileController::submit()');
$data = $request->getAll(); $data = $request->getAll();
/** @var Transaction $transaction */ /** @var Transaction $transaction */
foreach ($data['transactions'] as $transactionId) { foreach ($data['transactions'] as $transactionId) {
$repository->reconcileById((int)$transactionId); $this->repository->reconcileById((int)$transactionId);
} }
Log::debug('Reconciled all transactions.'); Log::debug('Reconciled all transactions.');
@ -322,11 +322,11 @@ class ReconcileController extends Controller
'notes' => implode(', ', $data['transactions']), 'notes' => implode(', ', $data['transactions']),
]; ];
$repository->store($journalData); $this->repository->store($journalData);
} }
Log::debug('End of routine.'); Log::debug('End of routine.');
Preferences::mark(); app('preferences')->mark();
session()->flash('success', trans('firefly.reconciliation_stored')); session()->flash('success', trans('firefly.reconciliation_stored'));

View File

@ -18,6 +18,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>. * along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @noinspection CallableParameterUseCaseInTypeContextInspection */
declare(strict_types=1); declare(strict_types=1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
@ -45,7 +46,6 @@ use View;
/** /**
* Class AccountController. * Class AccountController.
* *
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/ */
class AccountController extends Controller class AccountController extends Controller
{ {
@ -76,13 +76,14 @@ class AccountController extends Controller
} }
/** /**
* @param Request $request * @param Request $request
* @param string $what * @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(); $defaultCurrency = app('amount')->getDefaultCurrency();
$subTitleIcon = config('firefly.subIconsByIdentifier.' . $what); $subTitleIcon = config('firefly.subIconsByIdentifier.' . $what);
$subTitle = trans('firefly.make_new_' . $what . '_account'); $subTitle = trans('firefly.make_new_' . $what . '_account');
@ -106,7 +107,7 @@ class AccountController extends Controller
/** /**
* @param Account $account * @param Account $account
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function delete(Account $account) public function delete(Account $account)
{ {
@ -137,25 +138,17 @@ class AccountController extends Controller
$this->repository->destroy($account, $moveTo); $this->repository->destroy($account, $moveTo);
$request->session()->flash('success', (string)trans('firefly.' . $typeName . '_deleted', ['name' => $name])); $request->session()->flash('success', (string)trans('firefly.' . $typeName . '_deleted', ['name' => $name]));
Preferences::mark(); app('preferences')->mark();
return redirect($this->getPreviousUri('accounts.delete.uri')); return redirect($this->getPreviousUri('accounts.delete.uri'));
} }
/** /**
* Edit an account.
*
* @param Request $request * @param Request $request
* @param Account $account * @param Account $account
*
* @param AccountRepositoryInterface $repository * @param AccountRepositoryInterface $repository
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // long and complex but not that excessively so.
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*
*/ */
public function edit(Request $request, Account $account, AccountRepositoryInterface $repository) public function edit(Request $request, Account $account, AccountRepositoryInterface $repository)
{ {
@ -214,7 +207,7 @@ class AccountController extends Controller
* @param Request $request * @param Request $request
* @param string $what * @param string $what
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(Request $request, string $what) 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')); return view('accounts.index', compact('what', 'subTitleIcon', 'subTitle', 'page', 'accounts'));
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* Show an account. * Show an account.
* *
@ -312,6 +307,7 @@ class AccountController extends Controller
); );
} }
/** /**
* Show an account. * Show an account.
* *
@ -364,7 +360,7 @@ class AccountController extends Controller
$data = $request->getAccountData(); $data = $request->getAccountData();
$account = $this->repository->store($data); $account = $this->repository->store($data);
$request->session()->flash('success', (string)trans('firefly.stored_new_account', ['name' => $account->name])); $request->session()->flash('success', (string)trans('firefly.stored_new_account', ['name' => $account->name]));
Preferences::mark(); app('preferences')->mark();
// update preferences if necessary: // update preferences if necessary:
$frontPage = Preferences::get('frontPageAccounts', [])->data; $frontPage = Preferences::get('frontPageAccounts', [])->data;
@ -374,16 +370,16 @@ class AccountController extends Controller
Preferences::set('frontPageAccounts', $frontPage); Preferences::set('frontPageAccounts', $frontPage);
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
// redirect to previous URL.
$redirect = redirect($this->getPreviousUri('accounts.create.uri'));
if (1 === (int)$request->get('create_another')) { if (1 === (int)$request->get('create_another')) {
// set value so create routine will not overwrite URL: // set value so create routine will not overwrite URL:
$request->session()->put('accounts.create.fromStore', true); $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;
return redirect($this->getPreviousUri('accounts.create.uri'));
} }
/** /**
@ -398,17 +394,17 @@ class AccountController extends Controller
$this->repository->update($account, $data); $this->repository->update($account, $data);
$request->session()->flash('success', (string)trans('firefly.updated_account', ['name' => $account->name])); $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')) { if (1 === (int)$request->get('return_to_edit')) {
// set value so edit routine will not overwrite URL: // set value so edit routine will not overwrite URL:
$request->session()->put('accounts.edit.fromUpdate', true); $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;
return redirect($this->getPreviousUri('accounts.edit.uri'));
} }
/** /**
@ -419,13 +415,15 @@ class AccountController extends Controller
*/ */
protected function isInArray(array $array, int $entryId) protected function isInArray(array $array, int $entryId)
{ {
$result = '0';
if (isset($array[$entryId])) { 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) * 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 * 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 * @return Collection
* *
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/ */
private function getPeriodOverview(Account $account, ?Carbon $date): Collection private function getPeriodOverview(Account $account, ?Carbon $date): Collection
{ {

View File

@ -28,9 +28,7 @@ use FireflyIII\Http\Middleware\IsDemoUser;
use FireflyIII\Http\Middleware\IsSandStormUser; use FireflyIII\Http\Middleware\IsSandStormUser;
use FireflyIII\Http\Requests\ConfigurationRequest; use FireflyIII\Http\Requests\ConfigurationRequest;
use FireflyIII\Support\Facades\FireflyConfig; use FireflyIII\Support\Facades\FireflyConfig;
use Preferences;
use Redirect; use Redirect;
use View;
/** /**
* Class ConfigurationController. * Class ConfigurationController.
@ -57,7 +55,7 @@ class ConfigurationController extends Controller
} }
/** /**
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index() public function index()
{ {
@ -92,7 +90,7 @@ class ConfigurationController extends Controller
// flash message // flash message
session()->flash('success', (string)trans('firefly.configuration_updated')); session()->flash('success', (string)trans('firefly.configuration_updated'));
Preferences::mark(); app('preferences')->mark();
return Redirect::route('admin.configuration.index'); return Redirect::route('admin.configuration.index');
} }

View File

@ -28,7 +28,6 @@ use FireflyIII\Http\Requests\LinkTypeFormRequest;
use FireflyIII\Models\LinkType; use FireflyIII\Models\LinkType;
use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Preferences;
use View; use View;
/** /**
@ -116,7 +115,7 @@ class LinkController extends Controller
$repository->destroy($linkType, $moveTo); $repository->destroy($linkType, $moveTo);
$request->session()->flash('success', (string)trans('firefly.deleted_link_type', ['name' => $name])); $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')); return redirect($this->getPreviousUri('link_types.delete.uri'));
} }
@ -194,16 +193,16 @@ class LinkController extends Controller
]; ];
$linkType = $repository->store($data); $linkType = $repository->store($data);
$request->session()->flash('success', (string)trans('firefly.stored_new_link_type', ['name' => $linkType->name])); $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')) { if (1 === (int)$request->get('create_another')) {
// set value so create routine will not overwrite URL: // set value so create routine will not overwrite URL:
$request->session()->put('link_types.create.fromStore', true); $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. // 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); $repository->update($linkType, $data);
$request->session()->flash('success', (string)trans('firefly.updated_link_type', ['name' => $linkType->name])); $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')) { if (1 === (int)$request->get('return_to_edit')) {
// set value so edit routine will not overwrite URL: // set value so edit routine will not overwrite URL:
$request->session()->put('link_types.edit.fromUpdate', true); $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. // redirect to previous URL.
return redirect($this->getPreviousUri('link_types.edit.uri')); return $redirect;
} }
} }

View File

@ -30,7 +30,6 @@ use FireflyIII\Repositories\User\UserRepositoryInterface;
use FireflyIII\User; use FireflyIII\User;
use Log; use Log;
use Preferences; use Preferences;
use View;
/** /**
* Class UserController. * Class UserController.
@ -85,7 +84,7 @@ class UserController extends Controller
/** /**
* @param User $user * @param User $user
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function edit(User $user) public function edit(User $user)
{ {
@ -110,7 +109,7 @@ class UserController extends Controller
/** /**
* @param UserRepositoryInterface $repository * @param UserRepositoryInterface $repository
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(UserRepositoryInterface $repository) public function index(UserRepositoryInterface $repository)
{ {
@ -182,17 +181,17 @@ class UserController extends Controller
$repository->updateEmail($user, $data['email']); $repository->updateEmail($user, $data['email']);
session()->flash('success', (string)trans('firefly.updated_user', ['email' => $user->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')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->put('users.edit.fromUpdate', true); 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 // @codeCoverageIgnoreEnd
} }
// redirect to previous URL. // redirect to previous URL.
return redirect($this->getPreviousUri('users.edit.uri')); return $redirect;
} }
} }

View File

@ -26,15 +26,13 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Requests\AttachmentFormRequest; use FireflyIII\Http\Requests\AttachmentFormRequest;
use FireflyIII\Models\Attachment; use FireflyIII\Models\Attachment;
use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface; use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Response as LaravelResponse; use Illuminate\Http\Response as LaravelResponse;
use Preferences;
use View;
/** /**
* Class AttachmentController. * Class AttachmentController.
* *
* @SuppressWarnings(PHPMD.CouplingBetweenObjects) // it's 13.
*/ */
class AttachmentController extends Controller class AttachmentController extends Controller
{ {
@ -63,7 +61,7 @@ class AttachmentController extends Controller
/** /**
* @param Attachment $attachment * @param Attachment $attachment
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function delete(Attachment $attachment) public function delete(Attachment $attachment)
{ {
@ -88,7 +86,7 @@ class AttachmentController extends Controller
$this->repository->destroy($attachment); $this->repository->destroy($attachment);
$request->session()->flash('success', (string)trans('firefly.attachment_deleted', ['name' => $name])); $request->session()->flash('success', (string)trans('firefly.attachment_deleted', ['name' => $name]));
Preferences::mark(); app('preferences')->mark();
return redirect($this->getPreviousUri('attachments.delete.uri')); return redirect($this->getPreviousUri('attachments.delete.uri'));
} }
@ -128,7 +126,7 @@ class AttachmentController extends Controller
* @param Request $request * @param Request $request
* @param Attachment $attachment * @param Attachment $attachment
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function edit(Request $request, Attachment $attachment) public function edit(Request $request, Attachment $attachment)
{ {
@ -169,35 +167,36 @@ class AttachmentController extends Controller
* @param AttachmentFormRequest $request * @param AttachmentFormRequest $request
* @param Attachment $attachment * @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(); $data = $request->getAttachmentData();
$this->repository->update($attachment, $data); $this->repository->update($attachment, $data);
$request->session()->flash('success', (string)trans('firefly.attachment_updated', ['name' => $attachment->filename])); $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')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
$request->session()->put('attachments.edit.fromUpdate', true); $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 // @codeCoverageIgnoreEnd
} }
// redirect to previous URL. // redirect to previous URL.
return redirect($this->getPreviousUri('attachments.edit.uri')); return $redirect;
} }
/** /**
* @param Attachment $attachment * @param Attachment $attachment
* *
* @return \Illuminate\Http\Response * @return LaravelResponse
* @throws FireflyException * @throws FireflyException
*/ */
public function view(Attachment $attachment) public function view(Attachment $attachment): LaravelResponse
{ {
if ($this->repository->exists($attachment)) { if ($this->repository->exists($attachment)) {
$content = $this->repository->getContent($attachment); $content = $this->repository->getContent($attachment);

View File

@ -42,7 +42,6 @@ class TwoFactorController extends Controller
* *
* @throws FireflyException * @throws FireflyException
* *
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/ */
public function index(Request $request) public function index(Request $request)
{ {
@ -90,7 +89,6 @@ class TwoFactorController extends Controller
* @param CookieJar $cookieJar * @param CookieJar $cookieJar
* *
* @return mixed * @return mixed
* @SuppressWarnings(PHPMD.UnusedFormalParameter) // it's unused but the class does some validation.
*/ */
public function postIndex(TokenFormRequest $request, CookieJar $cookieJar) public function postIndex(TokenFormRequest $request, CookieJar $cookieJar)
{ {

View File

@ -80,7 +80,7 @@ class BillController extends Controller
/** /**
* @param Request $request * @param Request $request
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function create(Request $request) public function create(Request $request)
{ {
@ -105,7 +105,7 @@ class BillController extends Controller
/** /**
* @param Bill $bill * @param Bill $bill
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function delete(Bill $bill) public function delete(Bill $bill)
{ {
@ -128,7 +128,7 @@ class BillController extends Controller
$this->billRepository->destroy($bill); $this->billRepository->destroy($bill);
$request->session()->flash('success', (string)trans('firefly.deleted_bill', ['name' => $name])); $request->session()->flash('success', (string)trans('firefly.deleted_bill', ['name' => $name]));
Preferences::mark(); app('preferences')->mark();
return redirect($this->getPreviousUri('bills.delete.uri')); return redirect($this->getPreviousUri('bills.delete.uri'));
} }
@ -137,7 +137,7 @@ class BillController extends Controller
* @param Request $request * @param Request $request
* @param Bill $bill * @param Bill $bill
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function edit(Request $request, Bill $bill) 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() public function index()
{ {
@ -225,29 +225,29 @@ class BillController extends Controller
*/ */
public function rescan(Request $request, Bill $bill) 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')); $request->session()->flash('warning', (string)trans('firefly.cannot_scan_inactive_bill'));
return redirect(URL::previous());
} }
$set = $this->billRepository->getRulesForBill($bill); if (true === $bill->active) {
$total = 0; $set = $this->billRepository->getRulesForBill($bill);
foreach ($set as $rule) { $total = 0;
// simply fire off all rules? foreach ($set as $rule) {
/** @var TransactionMatcher $matcher */ // simply fire off all rules?
$matcher = app(TransactionMatcher::class); /** @var TransactionMatcher $matcher */
$matcher->setLimit(100000); // large upper limit $matcher = app(TransactionMatcher::class);
$matcher->setRange(100000); // large upper limit $matcher->setLimit(100000); // large upper limit
$matcher->setRule($rule); $matcher->setRange(100000); // large upper limit
$matchingTransactions = $matcher->findTransactionsByRule(); $matcher->setRule($rule);
$total += $matchingTransactions->count(); $matchingTransactions = $matcher->findTransactionsByRule();
$this->billRepository->linkCollectionToBill($bill, $matchingTransactions); $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()); return redirect(URL::previous());
} }
@ -255,7 +255,7 @@ class BillController extends Controller
* @param Request $request * @param Request $request
* @param Bill $bill * @param Bill $bill
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function show(Request $request, Bill $bill) 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')); return view('bills.show', compact('transactions', 'rules', 'yearAverage', 'overallAverage', 'year', 'object', 'bill', 'subTitle'));
} }
/** /**
* @param BillFormRequest $request * @param BillFormRequest $request
* *
@ -307,7 +308,7 @@ class BillController extends Controller
return redirect(route('bills.create'))->withInput(); return redirect(route('bills.create'))->withInput();
} }
$request->session()->flash('success', (string)trans('firefly.stored_new_bill', ['name' => $bill->name])); $request->session()->flash('success', (string)trans('firefly.stored_new_bill', ['name' => $bill->name]));
Preferences::mark(); app('preferences')->mark();
/** @var array $files */ /** @var array $files */
$files = $request->hasFile('attachments') ? $request->file('attachments') : null; $files = $request->hasFile('attachments') ? $request->file('attachments') : null;
@ -355,7 +356,7 @@ class BillController extends Controller
$bill = $this->billRepository->update($bill, $billData); $bill = $this->billRepository->update($bill, $billData);
$request->session()->flash('success', (string)trans('firefly.updated_bill', ['name' => $bill->name])); $request->session()->flash('success', (string)trans('firefly.updated_bill', ['name' => $bill->name]));
Preferences::mark(); app('preferences')->mark();
/** @var array $files */ /** @var array $files */
$files = $request->hasFile('attachments') ? $request->file('attachments') : null; $files = $request->hasFile('attachments') ? $request->file('attachments') : null;
@ -365,15 +366,16 @@ class BillController extends Controller
if (\count($this->attachments->getMessages()->get('attachments')) > 0) { if (\count($this->attachments->getMessages()->get('attachments')) > 0) {
$request->session()->flash('info', $this->attachments->getMessages()->get('attachments')); // @codeCoverageIgnore $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')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
$request->session()->put('bills.edit.fromUpdate', true); $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 // @codeCoverageIgnoreEnd
} }
return redirect($this->getPreviousUri('bills.edit.uri')); return $redirect;
} }
} }

View File

@ -44,8 +44,6 @@ use View;
/** /**
* Class BudgetController. * Class BudgetController.
* *
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
* @SuppressWarnings(PHPMD.TooManyPublicMethods)
*/ */
class BudgetController extends Controller class BudgetController extends Controller
{ {
@ -139,7 +137,7 @@ class BudgetController extends Controller
); );
} }
Preferences::mark(); app('preferences')->mark();
return response()->json( return response()->json(
[ [
@ -161,7 +159,7 @@ class BudgetController extends Controller
/** /**
* @param Request $request * @param Request $request
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function create(Request $request) public function create(Request $request)
{ {
@ -178,7 +176,7 @@ class BudgetController extends Controller
/** /**
* @param Budget $budget * @param Budget $budget
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function delete(Budget $budget) public function delete(Budget $budget)
{ {
@ -201,7 +199,7 @@ class BudgetController extends Controller
$name = $budget->name; $name = $budget->name;
$this->repository->destroy($budget); $this->repository->destroy($budget);
$request->session()->flash('success', (string)trans('firefly.deleted_budget', ['name' => $name])); $request->session()->flash('success', (string)trans('firefly.deleted_budget', ['name' => $name]));
Preferences::mark(); app('preferences')->mark();
return redirect($this->getPreviousUri('budgets.delete.uri')); return redirect($this->getPreviousUri('budgets.delete.uri'));
} }
@ -210,7 +208,7 @@ class BudgetController extends Controller
* @param Request $request * @param Request $request
* @param Budget $budget * @param Budget $budget
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function edit(Request $request, Budget $budget) public function edit(Request $request, Budget $budget)
{ {
@ -236,10 +234,7 @@ class BudgetController extends Controller
* @param Request $request * @param Request $request
* @param string|null $moment * @param string|null $moment
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity) complex because of while loop
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/ */
public function index(Request $request, string $moment = null) public function index(Request $request, string $moment = null)
{ {
@ -339,10 +334,10 @@ class BudgetController extends Controller
); );
} }
/** /**
* @param Carbon $start * @param Carbon $start
* @param Carbon $end * @param Carbon $end
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* *
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
@ -420,16 +415,14 @@ class BudgetController extends Controller
/** /**
* @param Request $request * @param Request $request
* @param JournalRepositoryInterface $repository * @param JournalRepositoryInterface $repository
* @param string $moment * @param string|null $moment
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/ */
public function noBudget(Request $request, JournalRepositoryInterface $repository, string $moment = '') public function noBudget(Request $request, JournalRepositoryInterface $repository, string $moment = null)
{ {
// default values: // default values:
$moment = $moment ?? '';
$range = Preferences::get('viewRange', '1M')->data; $range = Preferences::get('viewRange', '1M')->data;
$start = null; $start = null;
$end = null; $end = null;
@ -492,7 +485,7 @@ class BudgetController extends Controller
$page = 0 === $request->integer('page') ? 1 : $request->integer('page'); $page = 0 === $request->integer('page') ? 1 : $request->integer('page');
$this->repository->cleanupBudgets(); $this->repository->cleanupBudgets();
$this->repository->setAvailableBudget($defaultCurrency, $start, $end, $amount); $this->repository->setAvailableBudget($defaultCurrency, $start, $end, $amount);
Preferences::mark(); app('preferences')->mark();
return redirect(route('budgets.index', [$start->format('Y-m-d')]) . '?page=' . $page); return redirect(route('budgets.index', [$start->format('Y-m-d')]) . '?page=' . $page);
} }
@ -501,7 +494,7 @@ class BudgetController extends Controller
* @param Request $request * @param Request $request
* @param Budget $budget * @param Budget $budget
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function show(Request $request, Budget $budget) public function show(Request $request, Budget $budget)
{ {
@ -530,8 +523,7 @@ class BudgetController extends Controller
* @param Budget $budget * @param Budget $budget
* @param BudgetLimit $budgetLimit * @param BudgetLimit $budgetLimit
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*
* @throws FireflyException * @throws FireflyException
*/ */
public function showByBudgetLimit(Request $request, Budget $budget, BudgetLimit $budgetLimit) public function showByBudgetLimit(Request $request, Budget $budget, BudgetLimit $budgetLimit)
@ -576,19 +568,22 @@ class BudgetController extends Controller
$budget = $this->repository->store($data); $budget = $this->repository->store($data);
$this->repository->cleanupBudgets(); $this->repository->cleanupBudgets();
$request->session()->flash('success', (string)trans('firefly.stored_new_budget', ['name' => $budget->name])); $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')) { if (1 === (int)$request->get('create_another')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
$request->session()->put('budgets.create.fromStore', true); $request->session()->put('budgets.create.fromStore', true);
return redirect(route('budgets.create'))->withInput(); $redirect = redirect(route('budgets.create'))->withInput();
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
return redirect($this->getPreviousUri('budgets.create.uri')); return $redirect;
} }
/** /**
* @param BudgetFormRequest $request * @param BudgetFormRequest $request
* @param Budget $budget * @param Budget $budget
@ -602,17 +597,19 @@ class BudgetController extends Controller
$request->session()->flash('success', (string)trans('firefly.updated_budget', ['name' => $budget->name])); $request->session()->flash('success', (string)trans('firefly.updated_budget', ['name' => $budget->name]));
$this->repository->cleanupBudgets(); $this->repository->cleanupBudgets();
Preferences::mark(); app('preferences')->mark();
$redirect = redirect($this->getPreviousUri('budgets.edit.uri'));
if (1 === (int)$request->get('return_to_edit')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
$request->session()->put('budgets.edit.fromUpdate', true); $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 // @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')); return view('budgets.income', compact('available', 'start', 'end', 'page'));
} }
/** /**
* @param Budget $budget * @param Budget $budget
* @param Carbon $start * @param Carbon $start
@ -665,6 +663,7 @@ class BudgetController extends Controller
return $set; return $set;
} }
/** /**
* @return Collection * @return Collection
*/ */

View File

@ -39,7 +39,6 @@ use Illuminate\Support\Collection;
use Log; use Log;
use Preferences; use Preferences;
use Steam; use Steam;
use View;
/** /**
* Class CategoryController. * Class CategoryController.
@ -54,7 +53,7 @@ class CategoryController extends Controller
private $repository; private $repository;
/** /**
* * CategoryController constructor.
*/ */
public function __construct() public function __construct()
{ {
@ -76,7 +75,7 @@ class CategoryController extends Controller
/** /**
* @param Request $request * @param Request $request
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function create(Request $request) public function create(Request $request)
{ {
@ -92,7 +91,7 @@ class CategoryController extends Controller
/** /**
* @param Category $category * @param Category $category
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function delete(Category $category) public function delete(Category $category)
{ {
@ -116,7 +115,7 @@ class CategoryController extends Controller
$this->repository->destroy($category); $this->repository->destroy($category);
$request->session()->flash('success', (string)trans('firefly.deleted_category', ['name' => $name])); $request->session()->flash('success', (string)trans('firefly.deleted_category', ['name' => $name]));
Preferences::mark(); app('preferences')->mark();
return redirect($this->getPreviousUri('categories.delete.uri')); return redirect($this->getPreviousUri('categories.delete.uri'));
} }
@ -125,7 +124,7 @@ class CategoryController extends Controller
* @param Request $request * @param Request $request
* @param Category $category * @param Category $category
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function edit(Request $request, Category $category) public function edit(Request $request, Category $category)
{ {
@ -167,14 +166,15 @@ class CategoryController extends Controller
} }
/** /**
* @param Request $request * @param Request $request
* @param string $moment * @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: // default values:
$moment = $moment ?? '';
$range = Preferences::get('viewRange', '1M')->data; $range = Preferences::get('viewRange', '1M')->data;
$start = null; $start = null;
$end = null; $end = null;
@ -224,16 +224,16 @@ class CategoryController extends Controller
} }
/** /**
* @param Request $request * @param Request $request
* @param CategoryRepositoryInterface $repository * @param Category $category
* @param Category $category * @param string|null $moment
* @param string $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: // default values:
$moment = $moment ?? '';
$subTitle = $category->name; $subTitle = $category->name;
$subTitleIcon = 'fa-bar-chart'; $subTitleIcon = 'fa-bar-chart';
$page = (int)$request->get('page'); $page = (int)$request->get('page');
@ -247,7 +247,7 @@ class CategoryController extends Controller
// prep for "all" view. // prep for "all" view.
if ('all' === $moment) { if ('all' === $moment) {
$subTitle = trans('firefly.all_journals_for_category', ['name' => $category->name]); $subTitle = trans('firefly.all_journals_for_category', ['name' => $category->name]);
$first = $repository->firstUseDate($category); $first = $this->repository->firstUseDate($category);
/** @var Carbon $start */ /** @var Carbon $start */
$start = $first ?? new Carbon; $start = $first ?? new Carbon;
$end = new Carbon; $end = new Carbon;
@ -255,7 +255,7 @@ class CategoryController extends Controller
} }
// prep for "specific date" view. // 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); $start = app('navigation')->startOfPeriod(new Carbon($moment), $range);
$end = app('navigation')->endOfPeriod($start, $range); $end = app('navigation')->endOfPeriod($start, $range);
$subTitle = trans( $subTitle = trans(
@ -304,19 +304,21 @@ class CategoryController extends Controller
$category = $repository->store($data); $category = $repository->store($data);
$request->session()->flash('success', (string)trans('firefly.stored_category', ['name' => $category->name])); $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')) { if (1 === (int)$request->get('create_another')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
$request->session()->put('categories.create.fromStore', true); $request->session()->put('categories.create.fromStore', true);
return redirect(route('categories.create'))->withInput(); $redirect = redirect(route('categories.create'))->withInput();
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
return redirect(route('categories.index')); return $redirect;
} }
/** /**
* @param CategoryFormRequest $request * @param CategoryFormRequest $request
* @param CategoryRepositoryInterface $repository * @param CategoryRepositoryInterface $repository
@ -330,19 +332,22 @@ class CategoryController extends Controller
$repository->update($category, $data); $repository->update($category, $data);
$request->session()->flash('success', (string)trans('firefly.updated_category', ['name' => $category->name])); $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')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
$request->session()->put('categories.edit.fromUpdate', true); $request->session()->put('categories.edit.fromUpdate', true);
return redirect(route('categories.edit', [$category->id])); $redirect = redirect(route('categories.edit', [$category->id]));
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
return redirect($this->getPreviousUri('categories.edit.uri')); return $redirect;
} }
/** /**
* @param Carbon $theDate * @param Carbon $theDate
* *
@ -421,6 +426,7 @@ class CategoryController extends Controller
return $entries; return $entries;
} }
/** /**
* @param Category $category * @param Category $category
* *

View File

@ -35,6 +35,7 @@ use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Support\CacheProperties; use FireflyIII\Support\CacheProperties;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Log; use Log;
use Preferences; use Preferences;
@ -62,9 +63,9 @@ class AccountController extends Controller
* *
* @param AccountRepositoryInterface $repository * @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()); $start = clone session('start', Carbon::now()->startOfMonth());
$end = clone session('end', Carbon::now()->endOfMonth()); $end = clone session('end', Carbon::now()->endOfMonth());
@ -99,14 +100,15 @@ class AccountController extends Controller
return response()->json($data); return response()->json($data);
} }
/** /**
* @param Account $account * @param Account $account
* @param Carbon $start * @param Carbon $start
* @param Carbon $end * @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 = new CacheProperties;
$cache->addProperty($account->id); $cache->addProperty($account->id);
@ -146,9 +148,9 @@ class AccountController extends Controller
* @param AccountRepositoryInterface $repository * @param AccountRepositoryInterface $repository
* @param Account $account * @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); $start = $repository->oldestJournalDate($account);
$end = Carbon::now(); $end = Carbon::now();
@ -156,14 +158,15 @@ class AccountController extends Controller
return $this->expenseBudget($account, $start, $end); return $this->expenseBudget($account, $start, $end);
} }
/** /**
* @param Account $account * @param Account $account
* @param Carbon $start * @param Carbon $start
* @param Carbon $end * @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 = new CacheProperties;
$cache->addProperty($account->id); $cache->addProperty($account->id);
@ -203,9 +206,9 @@ class AccountController extends Controller
* @param AccountRepositoryInterface $repository * @param AccountRepositoryInterface $repository
* @param Account $account * @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); $start = $repository->oldestJournalDate($account);
$end = Carbon::now(); $end = Carbon::now();
@ -218,9 +221,9 @@ class AccountController extends Controller
* *
* @param AccountRepositoryInterface $repository * @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()); $start = clone session('start', Carbon::now()->startOfMonth());
$end = clone session('end', Carbon::now()->endOfMonth()); $end = clone session('end', Carbon::now()->endOfMonth());
@ -238,14 +241,15 @@ class AccountController extends Controller
return response()->json($this->accountBalanceChart($accounts, $start, $end)); return response()->json($this->accountBalanceChart($accounts, $start, $end));
} }
/** /**
* @param Account $account * @param Account $account
* @param Carbon $start * @param Carbon $start
* @param Carbon $end * @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 = new CacheProperties;
$cache->addProperty($account->id); $cache->addProperty($account->id);
@ -285,9 +289,9 @@ class AccountController extends Controller
* @param AccountRepositoryInterface $repository * @param AccountRepositoryInterface $repository
* @param Account $account * @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); $start = $repository->oldestJournalDate($account);
$end = Carbon::now(); $end = Carbon::now();
@ -295,15 +299,16 @@ class AccountController extends Controller
return $this->incomeCategory($account, $start, $end); return $this->incomeCategory($account, $start, $end);
} }
/** /**
* @param Account $account * @param Account $account
* @param Carbon $start * @param Carbon $start
* *
* @param Carbon $end * @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 = new CacheProperties;
$cache->addProperty('chart.account.period'); $cache->addProperty('chart.account.period');
@ -367,21 +372,22 @@ class AccountController extends Controller
* @param Carbon $end * @param Carbon $end
* @param Collection $accounts * @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)); return response()->json($this->accountBalanceChart($accounts, $start, $end));
} }
/** /**
* Shows the balances for all the user's revenue accounts. * Shows the balances for all the user's revenue accounts.
* *
* @param AccountRepositoryInterface $repository * @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()); $start = clone session('start', Carbon::now()->startOfMonth());
$end = clone session('end', Carbon::now()->endOfMonth()); $end = clone session('end', Carbon::now()->endOfMonth());
@ -417,6 +423,7 @@ class AccountController extends Controller
return response()->json($data); return response()->json($data);
} }
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Carbon $start * @param Carbon $start

View File

@ -49,6 +49,7 @@ class BillController extends Controller
$this->generator = app(GeneratorInterface::class); $this->generator = app(GeneratorInterface::class);
} }
/** /**
* Shows all bills and whether or not they've been paid this month (pie chart). * 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); return response()->json($data);
} }
/** /**
* @param JournalCollectorInterface $collector * @param JournalCollectorInterface $collector
* @param Bill $bill * @param Bill $bill

View File

@ -42,7 +42,6 @@ use Steam;
/** /**
* Class BudgetController. * Class BudgetController.
* *
* @SuppressWarnings(PHPMD.CouplingBetweenObjects) // can't realy be helped.
*/ */
class BudgetController extends Controller class BudgetController extends Controller
{ {
@ -69,6 +68,7 @@ class BudgetController extends Controller
); );
} }
/** /**
* @param Budget $budget * @param Budget $budget
* *
@ -124,10 +124,10 @@ class BudgetController extends Controller
return response()->json($data); return response()->json($data);
} }
/** /**
* Shows the amount left in a specific budget limit. * Shows the amount left in a specific budget limit.
* *
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's exactly five.
* *
* @param Budget $budget * @param Budget $budget
* @param BudgetLimit $budgetLimit * @param BudgetLimit $budgetLimit
@ -172,6 +172,7 @@ class BudgetController extends Controller
return response()->json($data); return response()->json($data);
} }
/** /**
* @param Budget $budget * @param Budget $budget
* @param BudgetLimit|null $budgetLimit * @param BudgetLimit|null $budgetLimit
@ -216,6 +217,7 @@ class BudgetController extends Controller
return response()->json($data); return response()->json($data);
} }
/** /**
* @param Budget $budget * @param Budget $budget
* @param BudgetLimit|null $budgetLimit * @param BudgetLimit|null $budgetLimit
@ -262,6 +264,7 @@ class BudgetController extends Controller
return response()->json($data); return response()->json($data);
} }
/** /**
* @param Budget $budget * @param Budget $budget
* @param BudgetLimit|null $budgetLimit * @param BudgetLimit|null $budgetLimit
@ -307,12 +310,10 @@ class BudgetController extends Controller
return response()->json($data); return response()->json($data);
} }
/** /**
* Shows a budget list with spent/left/overspent. * 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 * @return \Symfony\Component\HttpFoundation\Response
*/ */
public function frontpage() public function frontpage()
@ -361,8 +362,8 @@ class BudgetController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's exactly five.
* *
* @param Budget $budget * @param Budget $budget
* @param Carbon $start * @param Carbon $start
@ -406,6 +407,7 @@ class BudgetController extends Controller
return response()->json($data); return response()->json($data);
} }
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Carbon $start * @param Carbon $start
@ -514,8 +516,8 @@ class BudgetController extends Controller
return $return; return $return;
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's 6 but ok.
* *
* @param Collection $limits * @param Collection $limits
* @param Budget $budget * @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: * Returns an array with the following values:
* 0 => * 0 =>

View File

@ -66,6 +66,7 @@ class BudgetReportController extends Controller
); );
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $budgets * @param Collection $budgets
@ -90,6 +91,7 @@ class BudgetReportController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $budgets * @param Collection $budgets
@ -114,6 +116,7 @@ class BudgetReportController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $budgets * @param Collection $budgets
@ -197,6 +200,7 @@ class BudgetReportController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* Returns the budget limits belonging to the given budget and valid on the given day. * 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; return $set;
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $budgets * @param Collection $budgets

View File

@ -51,6 +51,7 @@ class CategoryController extends Controller
$this->generator = app(GeneratorInterface::class); $this->generator = app(GeneratorInterface::class);
} }
/** /**
* Show an overview for a category for all time, per month/week/year. * 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); return response()->json($data);
} }
/** /**
* @param CategoryRepositoryInterface $repository * @param CategoryRepositoryInterface $repository
* @param AccountRepositoryInterface $accountRepository * @param AccountRepositoryInterface $accountRepository
@ -156,16 +158,17 @@ class CategoryController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param CategoryRepositoryInterface $repository * @param Category $category
* @param Category $category * @param Collection $accounts
* @param Collection $accounts * @param Carbon $start
* @param Carbon $start * @param Carbon $end
* @param Carbon $end
* *
* @return \Illuminate\Http\JsonResponse|mixed * @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 = new CacheProperties;
$cache->addProperty($start); $cache->addProperty($start);
@ -176,10 +179,11 @@ class CategoryController extends Controller
if ($cache->has()) { if ($cache->has()) {
return $cache->get(); // @codeCoverageIgnore return $cache->get(); // @codeCoverageIgnore
} }
$expenses = $repository->periodExpenses(new Collection([$category]), $accounts, $start, $end); $repository = app(CategoryRepositoryInterface::class);
$income = $repository->periodIncome(new Collection([$category]), $accounts, $start, $end); $expenses = $repository->periodExpenses(new Collection([$category]), $accounts, $start, $end);
$periods = app('navigation')->listOfPeriods($start, $end); $income = $repository->periodIncome(new Collection([$category]), $accounts, $start, $end);
$chartData = [ $periods = app('navigation')->listOfPeriods($start, $end);
$chartData = [
[ [
'label' => (string)trans('firefly.spent'), 'label' => (string)trans('firefly.spent'),
'entries' => [], 'entries' => [],
@ -214,15 +218,15 @@ class CategoryController extends Controller
return response()->json($data); return response()->json($data);
} }
/** /**
* @param CategoryRepositoryInterface $repository * @param Collection $accounts
* @param Collection $accounts * @param Carbon $start
* @param Carbon $start * @param Carbon $end
* @param Carbon $end
* *
* @return \Illuminate\Http\JsonResponse|mixed * @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 = new CacheProperties;
$cache->addProperty($start); $cache->addProperty($start);
@ -232,10 +236,11 @@ class CategoryController extends Controller
if ($cache->has()) { if ($cache->has()) {
return $cache->get(); // @codeCoverageIgnore return $cache->get(); // @codeCoverageIgnore
} }
$expenses = $repository->periodExpensesNoCategory($accounts, $start, $end); $repository = app(CategoryRepositoryInterface::class);
$income = $repository->periodIncomeNoCategory($accounts, $start, $end); $expenses = $repository->periodExpensesNoCategory($accounts, $start, $end);
$periods = app('navigation')->listOfPeriods($start, $end); $income = $repository->periodIncomeNoCategory($accounts, $start, $end);
$chartData = [ $periods = app('navigation')->listOfPeriods($start, $end);
$chartData = [
[ [
'label' => (string)trans('firefly.spent'), 'label' => (string)trans('firefly.spent'),
'entries' => [], 'entries' => [],
@ -270,31 +275,30 @@ class CategoryController extends Controller
} }
/** /**
* @param CategoryRepositoryInterface $repository
* @param Category $category * @param Category $category
* @param $date * @param $date
* *
* @return \Symfony\Component\HttpFoundation\Response * @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; $range = Preferences::get('viewRange', '1M')->data;
$start = app('navigation')->startOfPeriod($date, $range); $start = app('navigation')->startOfPeriod($date, $range);
$end = app('navigation')->endOfPeriod($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); return response()->json($data);
} }
/** /**
* @param CategoryRepositoryInterface $repository * @param Category $category
* @param Category $category * @param Carbon $start
* @param Carbon $start * @param Carbon $end
* @param Carbon $end
* *
* @return array * @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 = new CacheProperties;
$cache->addProperty($start); $cache->addProperty($start);
@ -302,14 +306,16 @@ class CategoryController extends Controller
$cache->addProperty($category->id); $cache->addProperty($category->id);
$cache->addProperty('chart.category.period-chart'); $cache->addProperty('chart.category.period-chart');
/** @var AccountRepositoryInterface $accountRepository */
$accountRepository = app(AccountRepositoryInterface::class);
$accounts = $accountRepository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET]);
if ($cache->has()) { if ($cache->has()) {
return $cache->get(); // @codeCoverageIgnore return $cache->get(); // @codeCoverageIgnore
} }
/** @var AccountRepositoryInterface $accountRepository */
$accountRepository = app(AccountRepositoryInterface::class);
$accounts = $accountRepository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET]);
$repository = app(CategoryRepositoryInterface::class);
// chart data // chart data
$chartData = [ $chartData = [
[ [

View File

@ -62,6 +62,7 @@ class CategoryReportController extends Controller
); );
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $categories * @param Collection $categories
@ -83,6 +84,7 @@ class CategoryReportController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $categories * @param Collection $categories
@ -107,6 +109,7 @@ class CategoryReportController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $categories * @param Collection $categories
@ -131,6 +134,7 @@ class CategoryReportController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $categories * @param Collection $categories
@ -155,6 +159,8 @@ class CategoryReportController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $categories * @param Collection $categories
@ -260,6 +266,7 @@ class CategoryReportController extends Controller
return response()->json($data); return response()->json($data);
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $categories * @param Collection $categories
@ -282,6 +289,7 @@ class CategoryReportController extends Controller
return $collector->getJournals(); return $collector->getJournals();
} }
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $categories * @param Collection $categories

View File

@ -18,6 +18,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>. * along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @noinspection MoreThanThreeArgumentsInspection */
declare(strict_types=1); declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Chart; namespace FireflyIII\Http\Controllers\Chart;

View File

@ -18,6 +18,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>. * along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @noinspection MoreThanThreeArgumentsInspection */
declare(strict_types=1); declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Chart; namespace FireflyIII\Http\Controllers\Chart;

View File

@ -145,6 +145,7 @@ class Controller extends BaseController
return TransactionType::OPENING_BALANCE === $journal->transactionType->type; return TransactionType::OPENING_BALANCE === $journal->transactionType->type;
} }
/** /**
* @param TransactionJournal $journal * @param TransactionJournal $journal
* *
@ -157,7 +158,7 @@ class Controller extends BaseController
/** @var Transaction $transaction */ /** @var Transaction $transaction */
foreach ($transactions as $transaction) { foreach ($transactions as $transaction) {
$account = $transaction->account; $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])); return redirect(route('accounts.show', [$account->id]));
} }
} }

View File

@ -63,6 +63,7 @@ class CurrencyController extends Controller
); );
} }
/** /**
* @param Request $request * @param Request $request
* *
@ -97,7 +98,7 @@ class CurrencyController extends Controller
public function defaultCurrency(Request $request, TransactionCurrency $currency) public function defaultCurrency(Request $request, TransactionCurrency $currency)
{ {
Preferences::set('currencyPreference', $currency->code); Preferences::set('currencyPreference', $currency->code);
Preferences::mark(); app('preferences')->mark();
$request->session()->flash('success', trans('firefly.new_default_currency', ['name' => $currency->name])); $request->session()->flash('success', trans('firefly.new_default_currency', ['name' => $currency->name]));
Cache::forget('FFCURRENCYSYMBOL'); Cache::forget('FFCURRENCYSYMBOL');
@ -106,6 +107,7 @@ class CurrencyController extends Controller
return redirect(route('currencies.index')); return redirect(route('currencies.index'));
} }
/** /**
* @param Request $request * @param Request $request
* @param TransactionCurrency $currency * @param TransactionCurrency $currency
@ -135,6 +137,7 @@ class CurrencyController extends Controller
return view('currencies.delete', compact('currency', 'subTitle')); return view('currencies.delete', compact('currency', 'subTitle'));
} }
/** /**
* @param Request $request * @param Request $request
* @param TransactionCurrency $currency * @param TransactionCurrency $currency
@ -163,6 +166,7 @@ class CurrencyController extends Controller
return redirect($this->getPreviousUri('currencies.delete.uri')); return redirect($this->getPreviousUri('currencies.delete.uri'));
} }
/** /**
* @param Request $request * @param Request $request
* @param TransactionCurrency $currency * @param TransactionCurrency $currency
@ -195,7 +199,7 @@ class CurrencyController extends Controller
/** /**
* @param Request $request * @param Request $request
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(Request $request) public function index(Request $request)
{ {
@ -222,6 +226,7 @@ class CurrencyController extends Controller
return view('currencies.index', compact('currencies', 'defaultCurrency', 'isOwner')); return view('currencies.index', compact('currencies', 'defaultCurrency', 'isOwner'));
} }
/** /**
* @param CurrencyFormRequest $request * @param CurrencyFormRequest $request
* *
@ -252,6 +257,7 @@ class CurrencyController extends Controller
return redirect($this->getPreviousUri('currencies.create.uri')); return redirect($this->getPreviousUri('currencies.create.uri'));
} }
/** /**
* @param CurrencyFormRequest $request * @param CurrencyFormRequest $request
* @param TransactionCurrency $currency * @param TransactionCurrency $currency
@ -271,7 +277,7 @@ class CurrencyController extends Controller
$data = $request->getCurrencyData(); $data = $request->getCurrencyData();
$currency = $this->repository->update($currency, $data); $currency = $this->repository->update($currency, $data);
$request->session()->flash('success', trans('firefly.updated_currency', ['name' => $currency->name])); $request->session()->flash('success', trans('firefly.updated_currency', ['name' => $currency->name]));
Preferences::mark(); app('preferences')->mark();
if (1 === (int)$request->get('return_to_edit')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart

View File

@ -33,7 +33,6 @@ use Illuminate\Http\Request;
use Illuminate\Routing\Route; use Illuminate\Routing\Route;
use Log; use Log;
use Monolog\Handler\RotatingFileHandler; use Monolog\Handler\RotatingFileHandler;
use Preferences;
use Route as RouteFacade; use Route as RouteFacade;
/** /**
@ -73,7 +72,7 @@ class DebugController extends Controller
*/ */
public function flush(Request $request) public function flush(Request $request)
{ {
Preferences::mark(); app('preferences')->mark();
$request->session()->forget(['start', 'end', '_previous', 'viewRange', 'range', 'is_custom_range']); $request->session()->forget(['start', 'end', '_previous', 'viewRange', 'range', 'is_custom_range']);
Log::debug('Call cache:clear...'); Log::debug('Call cache:clear...');
Artisan::call('cache:clear'); Artisan::call('cache:clear');
@ -235,7 +234,7 @@ class DebugController extends Controller
*/ */
protected function errorReporting(int $value): string protected function errorReporting(int $value): string
{ {
$array = [ $array = [
-1 => 'ALL errors', -1 => 'ALL errors',
E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED => 'E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED', E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED => 'E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED',
E_ALL => 'E_ALL', 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_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', 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])) { if (isset($array[$value])) {
return $array[$value]; $result = $array[$value];
} }
return (string)$value; // @codeCoverageIgnore return $result;
} }
/** /**

View File

@ -32,7 +32,6 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\ExportJob\ExportJobRepositoryInterface; use FireflyIII\Repositories\ExportJob\ExportJobRepositoryInterface;
use Illuminate\Http\Response as LaravelResponse; use Illuminate\Http\Response as LaravelResponse;
use Preferences; use Preferences;
use View;
/** /**
* Class ExportController. * Class ExportController.
@ -107,7 +106,7 @@ class ExportController extends Controller
/** /**
* @param ExportJobRepositoryInterface $jobs * @param ExportJobRepositoryInterface $jobs
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(ExportJobRepositoryInterface $jobs) public function index(ExportJobRepositoryInterface $jobs)
{ {

View File

@ -30,7 +30,6 @@ use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\Repositories\User\UserRepositoryInterface;
use Illuminate\Http\Response as LaravelResponse; use Illuminate\Http\Response as LaravelResponse;
use Log; use Log;
use View;
/** /**
* Class FileController. * Class FileController.
@ -180,7 +179,7 @@ class IndexController extends Controller
/** /**
* General import index. * General import index.
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index() public function index()
{ {

View File

@ -160,6 +160,7 @@ class AutoCompleteController extends Controller
return response()->json($return); return response()->json($return);
} }
/** /**
* @param JournalCollectorInterface $collector * @param JournalCollectorInterface $collector
* @param TransactionJournal $except * @param TransactionJournal $except

View File

@ -41,6 +41,7 @@ use FireflyIII\Support\CacheProperties;
*/ */
class BoxController extends Controller class BoxController extends Controller
{ {
/** /**
* @param BudgetRepositoryInterface $repository * @param BudgetRepositoryInterface $repository
* *
@ -92,6 +93,7 @@ class BoxController extends Controller
return response()->json($return); return response()->json($return);
} }
/** /**
* @param CurrencyRepositoryInterface $repository * @param CurrencyRepositoryInterface $repository
* *
@ -173,6 +175,7 @@ class BoxController extends Controller
return response()->json($response); return response()->json($response);
} }
/** /**
* @param BillRepositoryInterface $repository * @param BillRepositoryInterface $repository
* *
@ -208,6 +211,7 @@ class BoxController extends Controller
return response()->json($return); return response()->json($return);
} }
/** /**
* @param AccountRepositoryInterface $repository * @param AccountRepositoryInterface $repository
* *

View File

@ -35,6 +35,7 @@ use Log;
*/ */
class ExchangeController extends Controller class ExchangeController extends Controller
{ {
/** @noinspection MoreThanThreeArgumentsInspection */
/** /**
* @param Request $request * @param Request $request
* @param TransactionCurrency $fromCurrency * @param TransactionCurrency $fromCurrency

View File

@ -31,16 +31,15 @@ use Log;
class IntroController class IntroController
{ {
/** /**
* Get the intro steps. There are currently no specific routes with an outro step. * @param string $route
* * @param string|null $specificPage
* @param string $route
* @param string $specificPage
* *
* @return \Illuminate\Http\JsonResponse * @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)); Log::debug(sprintf('getIntroSteps for route "%s" and page "%s"', $route, $specificPage));
$specificPage = $specificPage ?? '';
$steps = $this->getBasicSteps($route); $steps = $this->getBasicSteps($route);
$specificSteps = $this->getSpecificSteps($route, $specificPage); $specificSteps = $this->getSpecificSteps($route, $specificPage);
if (0 === \count($specificSteps)) { if (0 === \count($specificSteps)) {
@ -90,15 +89,16 @@ class IntroController
} }
/** /**
* @param string $route * @param string $route
* @param string $specialPage * @param string|null $specialPage
* *
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\JsonResponse
*/ */
public function postEnable(string $route, string $specialPage = '') public function postEnable(string $route, string $specialPage = null)
{ {
$route = str_replace('.', '_', $route); $specialPage = $specialPage ?? '';
$key = 'shown_demo_' . $route; $route = str_replace('.', '_', $route);
$key = 'shown_demo_' . $route;
if ('' !== $specialPage) { if ('' !== $specialPage) {
$key .= '_' . $specialPage; $key .= '_' . $specialPage;
} }
@ -109,14 +109,15 @@ class IntroController
} }
/** /**
* @param string $route * @param string $route
* @param string $specialPage * @param string|null $specialPage
* *
* @return \Illuminate\Http\JsonResponse * @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) { if ('' !== $specialPage) {
$key .= '_' . $specialPage; $key .= '_' . $specialPage;
} }

View File

@ -109,7 +109,7 @@ class NewUserController extends Controller
// store currency preference: // store currency preference:
Preferences::set('currencyPreference', $currency->code); Preferences::set('currencyPreference', $currency->code);
Preferences::mark(); app('preferences')->mark();
// set default optional fields: // set default optional fields:
$visibleFields = [ $visibleFields = [
@ -126,7 +126,7 @@ class NewUserController extends Controller
Preferences::set('transaction_journal_optional_fields', $visibleFields); Preferences::set('transaction_journal_optional_fields', $visibleFields);
session()->flash('success', (string)trans('firefly.stored_new_accounts_new_user')); session()->flash('success', (string)trans('firefly.stored_new_accounts_new_user'));
Preferences::mark(); app('preferences')->mark();
return redirect(route('index')); return redirect(route('index'));
} }

View File

@ -37,7 +37,6 @@ use Illuminate\Support\Collection;
use Log; use Log;
use Preferences; use Preferences;
use Symfony\Component\HttpFoundation\ParameterBag; use Symfony\Component\HttpFoundation\ParameterBag;
use View;
/** /**
* Class PiggyBankController. * Class PiggyBankController.
@ -78,7 +77,7 @@ class PiggyBankController extends Controller
* *
* @param PiggyBank $piggyBank * @param PiggyBank $piggyBank
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function add(PiggyBank $piggyBank) public function add(PiggyBank $piggyBank)
{ {
@ -104,7 +103,7 @@ class PiggyBankController extends Controller
* *
* @param PiggyBank $piggyBank * @param PiggyBank $piggyBank
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function addMobile(PiggyBank $piggyBank) public function addMobile(PiggyBank $piggyBank)
{ {
@ -145,7 +144,7 @@ class PiggyBankController extends Controller
/** /**
* @param PiggyBank $piggyBank * @param PiggyBank $piggyBank
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function delete(PiggyBank $piggyBank) public function delete(PiggyBank $piggyBank)
{ {
@ -165,7 +164,7 @@ class PiggyBankController extends Controller
public function destroy(PiggyBank $piggyBank) public function destroy(PiggyBank $piggyBank)
{ {
session()->flash('success', (string)trans('firefly.deleted_piggy_bank', ['name' => $piggyBank->name])); session()->flash('success', (string)trans('firefly.deleted_piggy_bank', ['name' => $piggyBank->name]));
Preferences::mark(); app('preferences')->mark();
$this->piggyRepos->destroy($piggyBank); $this->piggyRepos->destroy($piggyBank);
return redirect($this->getPreviousUri('piggy-banks.delete.uri')); return redirect($this->getPreviousUri('piggy-banks.delete.uri'));
@ -174,7 +173,7 @@ class PiggyBankController extends Controller
/** /**
* @param PiggyBank $piggyBank * @param PiggyBank $piggyBank
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function edit(PiggyBank $piggyBank) public function edit(PiggyBank $piggyBank)
{ {
@ -212,7 +211,7 @@ class PiggyBankController extends Controller
/** /**
* @param Request $request * @param Request $request
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(Request $request) public function index(Request $request)
{ {
@ -286,7 +285,7 @@ class PiggyBankController extends Controller
['amount' => app('amount')->formatAnything($currency, $amount, false), 'name' => $piggyBank->name] ['amount' => app('amount')->formatAnything($currency, $amount, false), 'name' => $piggyBank->name]
) )
); );
Preferences::mark(); app('preferences')->mark();
return redirect(route('piggy-banks.index')); return redirect(route('piggy-banks.index'));
} }
@ -326,7 +325,7 @@ class PiggyBankController extends Controller
['amount' => app('amount')->formatAnything($currency, $amount, false), 'name' => $piggyBank->name] ['amount' => app('amount')->formatAnything($currency, $amount, false), 'name' => $piggyBank->name]
) )
); );
Preferences::mark(); app('preferences')->mark();
return redirect(route('piggy-banks.index')); return redirect(route('piggy-banks.index'));
} }
@ -347,7 +346,7 @@ class PiggyBankController extends Controller
/** /**
* @param PiggyBank $piggyBank * @param PiggyBank $piggyBank
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function remove(PiggyBank $piggyBank) public function remove(PiggyBank $piggyBank)
{ {
@ -367,7 +366,7 @@ class PiggyBankController extends Controller
* *
* @param PiggyBank $piggyBank * @param PiggyBank $piggyBank
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function removeMobile(PiggyBank $piggyBank) public function removeMobile(PiggyBank $piggyBank)
{ {
@ -400,7 +399,7 @@ class PiggyBankController extends Controller
/** /**
* @param PiggyBank $piggyBank * @param PiggyBank $piggyBank
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function show(PiggyBank $piggyBank) public function show(PiggyBank $piggyBank)
{ {
@ -431,17 +430,19 @@ class PiggyBankController extends Controller
$piggyBank = $this->piggyRepos->store($data); $piggyBank = $this->piggyRepos->store($data);
session()->flash('success', (string)trans('firefly.stored_piggy_bank', ['name' => $piggyBank->name])); 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')) { if (1 === (int)$request->get('create_another')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->put('piggy-banks.create.fromStore', true); session()->put('piggy-banks.create.fromStore', true);
return redirect(route('piggy-banks.create'))->withInput(); $redirect = redirect(route('piggy-banks.create'))->withInput();
// @codeCoverageIgnoreEnd // @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); $piggyBank = $this->piggyRepos->update($piggyBank, $data);
session()->flash('success', (string)trans('firefly.updated_piggy_bank', ['name' => $piggyBank->name])); 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')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->put('piggy-banks.edit.fromUpdate', true); session()->put('piggy-banks.edit.fromUpdate', true);
return redirect(route('piggy-banks.edit', [$piggyBank->id])); $redirect = redirect(route('piggy-banks.edit', [$piggyBank->id]));
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
return redirect($this->getPreviousUri('piggy-banks.edit.uri')); return $redirect;
} }
} }

View File

@ -26,7 +26,6 @@ use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Preferences; use Preferences;
use View;
/** /**
* Class PreferencesController. * Class PreferencesController.
@ -53,7 +52,7 @@ class PreferencesController extends Controller
/** /**
* @param AccountRepositoryInterface $repository * @param AccountRepositoryInterface $repository
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(AccountRepositoryInterface $repository) public function index(AccountRepositoryInterface $repository)
{ {
@ -141,7 +140,7 @@ class PreferencesController extends Controller
Preferences::set('transaction_journal_optional_fields', $optionalTj); Preferences::set('transaction_journal_optional_fields', $optionalTj);
session()->flash('success', (string)trans('firefly.saved_preferences')); session()->flash('success', (string)trans('firefly.saved_preferences'));
Preferences::mark(); app('preferences')->mark();
return redirect(route('preferences.index')); return redirect(route('preferences.index'));
} }

View File

@ -44,7 +44,6 @@ use Laravel\Passport\Passport;
use Log; use Log;
use phpseclib\Crypt\RSA; use phpseclib\Crypt\RSA;
use Preferences; use Preferences;
use View;
/** /**
* Class ProfileController. * Class ProfileController.
@ -73,7 +72,7 @@ class ProfileController extends Controller
} }
/** /**
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function changeEmail() public function changeEmail()
{ {
@ -86,7 +85,7 @@ class ProfileController extends Controller
} }
/** /**
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function changePassword() public function changePassword()
{ {
@ -100,7 +99,7 @@ class ProfileController extends Controller
/** /**
* View that generates a 2FA code for the user. * View that generates a 2FA code for the user.
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function code() public function code()
{ {
@ -149,7 +148,7 @@ class ProfileController extends Controller
} }
/** /**
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function deleteAccount() public function deleteAccount()
{ {
@ -199,7 +198,7 @@ class ProfileController extends Controller
} }
/** /**
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index() public function index()
{ {
@ -302,7 +301,6 @@ class ProfileController extends Controller
* @param TokenFormRequest $request * @param TokenFormRequest $request
* *
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
* @SuppressWarnings(PHPMD.UnusedFormalParameter) // it's unused but the class does some validation.
*/ */
public function postCode(TokenFormRequest $request) public function postCode(TokenFormRequest $request)
{ {
@ -310,7 +308,7 @@ class ProfileController extends Controller
Preferences::set('twoFactorAuthSecret', session()->get('two-factor-secret')); Preferences::set('twoFactorAuthSecret', session()->get('two-factor-secret'));
session()->flash('success', (string)trans('firefly.saved_preferences')); session()->flash('success', (string)trans('firefly.saved_preferences'));
Preferences::mark(); app('preferences')->mark();
return redirect(route('profile.index')); return redirect(route('profile.index'));
} }

View File

@ -113,6 +113,7 @@ class CreateController extends Controller
); );
} }
/** /**
* @param RecurrenceFormRequest $request * @param RecurrenceFormRequest $request
* *
@ -126,16 +127,16 @@ class CreateController extends Controller
$request->session()->flash('success', (string)trans('firefly.stored_new_recurrence', ['title' => $recurrence->title])); $request->session()->flash('success', (string)trans('firefly.stored_new_recurrence', ['title' => $recurrence->title]));
app('preferences')->mark(); app('preferences')->mark();
$redirect = redirect($this->getPreviousUri('recurring.create.uri'));
if (1 === (int)$request->get('create_another')) { if (1 === (int)$request->get('create_another')) {
// set value so create routine will not overwrite URL: // set value so create routine will not overwrite URL:
$request->session()->put('recurring.create.fromStore', true); $request->session()->put('recurring.create.fromStore', true);
return redirect(route('recurring.create'))->withInput(); $redirect = redirect(route('recurring.create'))->withInput();
} }
// redirect to previous URL. // redirect to previous URL.
return redirect($this->getPreviousUri('recurring.create.uri')); return $redirect;
} }

View File

@ -153,16 +153,16 @@ class EditController extends Controller
$request->session()->flash('success', (string)trans('firefly.updated_recurrence', ['title' => $recurrence->title])); $request->session()->flash('success', (string)trans('firefly.updated_recurrence', ['title' => $recurrence->title]));
app('preferences')->mark(); app('preferences')->mark();
$redirect = redirect($this->getPreviousUri('recurrences.edit.uri'));
if (1 === (int)$request->get('return_to_edit')) { if (1 === (int)$request->get('return_to_edit')) {
// set value so edit routine will not overwrite URL: // set value so edit routine will not overwrite URL:
$request->session()->put('recurrences.edit.fromUpdate', true); $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. // redirect to previous URL.
return redirect($this->getPreviousUri('recurrences.edit.uri')); return $redirect;
} }

View File

@ -33,6 +33,7 @@ use Illuminate\Support\Collection;
*/ */
class AccountController extends Controller class AccountController extends Controller
{ {
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Carbon $start * @param Carbon $start

View File

@ -33,17 +33,18 @@ use Illuminate\Support\Collection;
*/ */
class BalanceController extends Controller class BalanceController extends Controller
{ {
/** /**
* @param BalanceReportHelperInterface $helper * @param Collection $accounts
* @param Collection $accounts * @param Carbon $start
* @param Carbon $start * @param Carbon $end
* @param Carbon $end
* *
* @return mixed|string * @return mixed|string
* @throws \Throwable * @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: // chart properties for cache:
$cache = new CacheProperties; $cache = new CacheProperties;
$cache->addProperty($start); $cache->addProperty($start);
@ -53,7 +54,7 @@ class BalanceController extends Controller
if ($cache->has()) { if ($cache->has()) {
return $cache->get(); // @codeCoverageIgnore return $cache->get(); // @codeCoverageIgnore
} }
$helper = app(BalanceReportHelperInterface::class);
$balance = $helper->getBalanceReport($accounts, $start, $end); $balance = $helper->getBalanceReport($accounts, $start, $end);
$result = view('reports.partials.balance', compact('balance'))->render(); $result = view('reports.partials.balance', compact('balance'))->render();

View File

@ -34,16 +34,16 @@ use Illuminate\Support\Collection;
*/ */
class BudgetController extends Controller class BudgetController extends Controller
{ {
/** /**
* @param BudgetReportHelperInterface $helper * @param Collection $accounts
* @param Collection $accounts * @param Carbon $start
* @param Carbon $start * @param Carbon $end
* @param Carbon $end
* *
* @return mixed|string * @return mixed|string
* @throws \Throwable * @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: // chart properties for cache:
$cache = new CacheProperties; $cache = new CacheProperties;
@ -54,7 +54,7 @@ class BudgetController extends Controller
if ($cache->has()) { if ($cache->has()) {
return $cache->get(); // @codeCoverageIgnore return $cache->get(); // @codeCoverageIgnore
} }
$helper = app(BudgetReportHelperInterface::class);
$budgets = $helper->getBudgetReport($start, $end, $accounts); $budgets = $helper->getBudgetReport($start, $end, $accounts);
$result = view('reports.partials.budgets', compact('budgets'))->render(); $result = view('reports.partials.budgets', compact('budgets'))->render();
@ -63,6 +63,7 @@ class BudgetController extends Controller
return $result; return $result;
} }
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Carbon $start * @param Carbon $start

View File

@ -34,6 +34,7 @@ use Illuminate\Support\Collection;
*/ */
class CategoryController extends Controller class CategoryController extends Controller
{ {
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Carbon $start * @param Carbon $start
@ -66,6 +67,7 @@ class CategoryController extends Controller
return $result; return $result;
} }
/** /**
* @param Collection $accounts * @param Collection $accounts
* *
@ -99,6 +101,7 @@ class CategoryController extends Controller
return $result; return $result;
} }
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Carbon $start * @param Carbon $start

View File

@ -18,6 +18,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>. * along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @noinspection MoreThanThreeArgumentsInspection */
declare(strict_types=1); declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Report; namespace FireflyIII\Http\Controllers\Report;
@ -58,6 +59,7 @@ class ExpenseController extends Controller
); );
} }
/** /**
* Generates the overview per budget. * Generates the overview per budget.
* *
@ -104,6 +106,7 @@ class ExpenseController extends Controller
return $result; return $result;
} }
/** /**
* Generates the overview per category (spent and earned). * Generates the overview per category (spent and earned).
* *
@ -160,6 +163,7 @@ class ExpenseController extends Controller
return $result; return $result;
} }
/** /**
* Overview of spending * Overview of spending
* *
@ -206,6 +210,7 @@ class ExpenseController extends Controller
// for period, get spent and earned for each account (by name) // for period, get spent and earned for each account (by name)
} }
/** /**
* @param Collection $accounts * @param Collection $accounts
* @param Collection $expense * @param Collection $expense

View File

@ -33,16 +33,37 @@ use Illuminate\Support\Collection;
*/ */
class OperationsController extends Controller class OperationsController extends Controller
{ {
/** @var AccountTaskerInterface */
private $tasker;
/** /**
* @param AccountTaskerInterface $tasker *
* @param Collection $accounts */
* @param Carbon $start public function __construct()
* @param Carbon $end {
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 * @return mixed|string
* @throws \Throwable * @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: // chart properties for cache:
$cache = new CacheProperties; $cache = new CacheProperties;
@ -53,7 +74,7 @@ class OperationsController extends Controller
if ($cache->has()) { if ($cache->has()) {
return $cache->get(); // @codeCoverageIgnore return $cache->get(); // @codeCoverageIgnore
} }
$entries = $tasker->getExpenseReport($start, $end, $accounts); $entries = $this->tasker->getExpenseReport($start, $end, $accounts);
$type = 'expense-entry'; $type = 'expense-entry';
$result = view('reports.partials.income-expenses', compact('entries', 'type'))->render(); $result = view('reports.partials.income-expenses', compact('entries', 'type'))->render();
$cache->store($result); $cache->store($result);
@ -62,15 +83,14 @@ class OperationsController extends Controller
} }
/** /**
* @param AccountTaskerInterface $tasker * @param Collection $accounts
* @param Collection $accounts * @param Carbon $start
* @param Carbon $start * @param Carbon $end
* @param Carbon $end
* *
* @return string * @return string
* @throws \Throwable * @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: // chart properties for cache:
$cache = new CacheProperties; $cache = new CacheProperties;
@ -81,7 +101,7 @@ class OperationsController extends Controller
if ($cache->has()) { if ($cache->has()) {
return $cache->get(); // @codeCoverageIgnore return $cache->get(); // @codeCoverageIgnore
} }
$entries = $tasker->getIncomeReport($start, $end, $accounts); $entries = $this->tasker->getIncomeReport($start, $end, $accounts);
$type = 'income-entry'; $type = 'income-entry';
$result = view('reports.partials.income-expenses', compact('entries', 'type'))->render(); $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 Collection $accounts * @param Carbon $start
* @param Carbon $start * @param Carbon $end
* @param Carbon $end
* *
* @return mixed|string * @return mixed|string
* @throws \Throwable * @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: // chart properties for cache:
$cache = new CacheProperties; $cache = new CacheProperties;
@ -111,8 +130,8 @@ class OperationsController extends Controller
return $cache->get(); // @codeCoverageIgnore return $cache->get(); // @codeCoverageIgnore
} }
$incomes = $tasker->getIncomeReport($start, $end, $accounts); $incomes = $this->tasker->getIncomeReport($start, $end, $accounts);
$expenses = $tasker->getExpenseReport($start, $end, $accounts); $expenses = $this->tasker->getExpenseReport($start, $end, $accounts);
$incomeSum = array_sum( $incomeSum = array_sum(
array_map( array_map(
function ($item) { function ($item) {

View File

@ -18,6 +18,8 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>. * along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @noinspection CallableParameterUseCaseInTypeContextInspection */
/** @noinspection MoreThanThreeArgumentsInspection */
declare(strict_types=1); declare(strict_types=1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
@ -256,7 +258,7 @@ class ReportController extends Controller
/** /**
* @param AccountRepositoryInterface $repository * @param AccountRepositoryInterface $repository
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(AccountRepositoryInterface $repository) public function index(AccountRepositoryInterface $repository)
{ {
@ -307,7 +309,6 @@ class ReportController extends Controller
* @return RedirectResponse|\Illuminate\Routing\Redirector * @return RedirectResponse|\Illuminate\Routing\Redirector
* *
* @throws \FireflyIII\Exceptions\FireflyException * @throws \FireflyIII\Exceptions\FireflyException
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/ */
public function postIndex(ReportFormRequest $request) public function postIndex(ReportFormRequest $request)
{ {
@ -329,19 +330,19 @@ class ReportController extends Controller
return redirect(route('reports.index')); 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')); session()->flash('error', trans('firefly.select_more_than_one_category'));
return redirect(route('reports.index')); 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')); session()->flash('error', trans('firefly.select_more_than_one_budget'));
return redirect(route('reports.index')); 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')); session()->flash('error', trans('firefly.select_more_than_one_tag'));
return redirect(route('reports.index')); return redirect(route('reports.index'));

View File

@ -42,9 +42,7 @@ use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Log; use Log;
use Preferences;
use Throwable; use Throwable;
use View;
/** /**
* Class RuleController. * Class RuleController.
@ -88,8 +86,7 @@ class RuleController extends Controller
* @param Request $request * @param Request $request
* @param RuleGroup $ruleGroup * @param RuleGroup $ruleGroup
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*
*/ */
public function create(Request $request, RuleGroup $ruleGroup) public function create(Request $request, RuleGroup $ruleGroup)
{ {
@ -158,7 +155,7 @@ class RuleController extends Controller
* *
* @param Rule $rule * @param Rule $rule
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function delete(Rule $rule) public function delete(Rule $rule)
{ {
@ -183,7 +180,7 @@ class RuleController extends Controller
$this->ruleRepos->destroy($rule); $this->ruleRepos->destroy($rule);
session()->flash('success', trans('firefly.deleted_rule', ['title' => $title])); session()->flash('success', trans('firefly.deleted_rule', ['title' => $title]));
Preferences::mark(); app('preferences')->mark();
return redirect($this->getPreviousUri('rules.delete.uri')); return redirect($this->getPreviousUri('rules.delete.uri'));
} }
@ -204,8 +201,7 @@ class RuleController extends Controller
* @param Request $request * @param Request $request
* @param Rule $rule * @param Rule $rule
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*
*/ */
public function edit(Request $request, Rule $rule) 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() public function index()
{ {
@ -356,7 +352,7 @@ class RuleController extends Controller
$data = $request->getRuleData(); $data = $request->getRuleData();
$rule = $this->ruleRepos->store($data); $rule = $this->ruleRepos->store($data);
session()->flash('success', trans('firefly.stored_new_rule', ['title' => $rule->title])); session()->flash('success', trans('firefly.stored_new_rule', ['title' => $rule->title]));
Preferences::mark(); app('preferences')->mark();
// redirect to show bill. // redirect to show bill.
if ('true' === $request->get('return_to_bill') && (int)$request->get('bill_id') > 0) { 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 return redirect($this->getPreviousUri('bills.create.uri')); // @codeCoverageIgnore
} }
$redirect = redirect($this->getPreviousUri('rules.create.uri'));
if (1 === (int)$request->get('create_another')) { if (1 === (int)$request->get('create_another')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->put('rules.create.fromStore', true); session()->put('rules.create.fromStore', true);
$redirect = redirect(route('rules.create', [$data['rule_group_id']]))->withInput();
return redirect(route('rules.create', [$data['rule_group_id']]))->withInput();
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
return redirect($this->getPreviousUri('rules.create.uri')); return $redirect;
} }
/** /**
@ -529,17 +525,17 @@ class RuleController extends Controller
$this->ruleRepos->update($rule, $data); $this->ruleRepos->update($rule, $data);
session()->flash('success', trans('firefly.updated_rule', ['title' => $rule->title])); 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')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->put('rules.edit.fromUpdate', true); 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 // @codeCoverageIgnoreEnd
} }
return redirect($this->getPreviousUri('rules.edit.uri')); return $redirect;
} }
/** /**

View File

@ -30,8 +30,6 @@ use FireflyIII\Models\RuleGroup;
use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface; use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Preferences;
use View;
/** /**
* Class RuleGroupController. * Class RuleGroupController.
@ -56,7 +54,7 @@ class RuleGroupController extends Controller
} }
/** /**
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function create() public function create()
{ {
@ -75,7 +73,7 @@ class RuleGroupController extends Controller
/** /**
* @param RuleGroup $ruleGroup * @param RuleGroup $ruleGroup
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function delete(RuleGroup $ruleGroup) public function delete(RuleGroup $ruleGroup)
{ {
@ -102,7 +100,7 @@ class RuleGroupController extends Controller
$repository->destroy($ruleGroup, $moveTo); $repository->destroy($ruleGroup, $moveTo);
session()->flash('success', (string)trans('firefly.deleted_rule_group', ['title' => $title])); session()->flash('success', (string)trans('firefly.deleted_rule_group', ['title' => $title]));
Preferences::mark(); app('preferences')->mark();
return redirect($this->getPreviousUri('rule-groups.delete.uri')); return redirect($this->getPreviousUri('rule-groups.delete.uri'));
} }
@ -183,7 +181,7 @@ class RuleGroupController extends Controller
/** /**
* @param RuleGroup $ruleGroup * @param RuleGroup $ruleGroup
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function selectTransactions(RuleGroup $ruleGroup) public function selectTransactions(RuleGroup $ruleGroup)
{ {
@ -206,17 +204,18 @@ class RuleGroupController extends Controller
$ruleGroup = $repository->store($data); $ruleGroup = $repository->store($data);
session()->flash('success', (string)trans('firefly.created_new_rule_group', ['title' => $ruleGroup->title])); 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')) { if (1 === (int)$request->get('create_another')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->put('rule-groups.create.fromStore', true); session()->put('rule-groups.create.fromStore', true);
return redirect(route('rule-groups.create'))->withInput(); $redirect = redirect(route('rule-groups.create'))->withInput();
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
} }
return redirect($this->getPreviousUri('rule-groups.create.uri')); return $redirect;
} }
/** /**
@ -250,17 +249,17 @@ class RuleGroupController extends Controller
$repository->update($ruleGroup, $data); $repository->update($ruleGroup, $data);
session()->flash('success', (string)trans('firefly.updated_rule_group', ['title' => $ruleGroup->title])); 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')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->put('rule-groups.edit.fromUpdate', true); 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 // @codeCoverageIgnoreEnd
} }
// redirect to previous URL. // redirect to previous URL.
return redirect($this->getPreviousUri('rule-groups.edit.uri')); return $redirect;
} }
} }

View File

@ -26,7 +26,6 @@ use FireflyIII\Support\CacheProperties;
use FireflyIII\Support\Search\SearchInterface; use FireflyIII\Support\Search\SearchInterface;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use View;
/** /**
* Class SearchController. * Class SearchController.
@ -54,7 +53,7 @@ class SearchController extends Controller
* @param Request $request * @param Request $request
* @param SearchInterface $searcher * @param SearchInterface $searcher
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(Request $request, SearchInterface $searcher) public function index(Request $request, SearchInterface $searcher)
{ {

View File

@ -63,9 +63,7 @@ class TagController extends Controller
} }
/** /**
* Create a new tag. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*
* @return View
*/ */
public function create() public function create()
{ {
@ -86,7 +84,7 @@ class TagController extends Controller
* *
* @param Tag $tag * @param Tag $tag
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function delete(Tag $tag) public function delete(Tag $tag)
{ {
@ -119,7 +117,7 @@ class TagController extends Controller
* *
* @param Tag $tag * @param Tag $tag
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function edit(Tag $tag) public function edit(Tag $tag)
{ {
@ -136,11 +134,11 @@ class TagController extends Controller
} }
/** /**
* View all tags. * Edit a tag.
* *
* @param TagRepositoryInterface $repository * @param TagRepositoryInterface $repository
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(TagRepositoryInterface $repository) public function index(TagRepositoryInterface $repository)
{ {
@ -164,16 +162,16 @@ class TagController extends Controller
} }
/** /**
* @param Request $request * @param Request $request
* @param TagRepositoryInterface $repository * @param Tag $tag
* @param Tag $tag * @param string|null $moment
* @param string $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: // default values:
$moment = $moment ?? '';
$subTitle = $tag->tag; $subTitle = $tag->tag;
$subTitleIcon = 'fa-tag'; $subTitleIcon = 'fa-tag';
$page = (int)$request->get('page'); $page = (int)$request->get('page');
@ -187,7 +185,7 @@ class TagController extends Controller
// prep for "all" view. // prep for "all" view.
if ('all' === $moment) { if ('all' === $moment) {
$subTitle = trans('firefly.all_journals_for_tag', ['tag' => $tag->tag]); $subTitle = trans('firefly.all_journals_for_tag', ['tag' => $tag->tag]);
$start = $repository->firstUseDate($tag); $start = $this->repository->firstUseDate($tag);
$end = new Carbon; $end = new Carbon;
$path = route('tags.show', [$tag->id, 'all']); $path = route('tags.show', [$tag->id, 'all']);
} }
@ -225,7 +223,7 @@ class TagController extends Controller
$transactions = $collector->getPaginatedJournals(); $transactions = $collector->getPaginatedJournals();
$transactions->setPath($path); $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')); 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']])); session()->flash('success', (string)trans('firefly.created_tag', ['tag' => $data['tag']]));
app('preferences')->mark(); app('preferences')->mark();
$redirect = redirect($this->getPreviousUri('tags.create.uri'));
if (1 === (int)$request->get('create_another')) { if (1 === (int)$request->get('create_another')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->put('tags.create.fromStore', true); session()->put('tags.create.fromStore', true);
return redirect(route('tags.create'))->withInput(); $redirect = redirect(route('tags.create'))->withInput();
// @codeCoverageIgnoreEnd // @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']])); session()->flash('success', (string)trans('firefly.updated_tag', ['tag' => $data['tag']]));
app('preferences')->mark(); app('preferences')->mark();
$redirect = redirect($this->getPreviousUri('tags.edit.uri'));
if (1 === (int)$request->get('return_to_edit')) { if (1 === (int)$request->get('return_to_edit')) {
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
session()->put('tags.edit.fromUpdate', true); 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 // @codeCoverageIgnoreEnd
} }
// redirect to previous URL. // redirect to previous URL.
return redirect($this->getPreviousUri('tags.edit.uri')); return $redirect;
} }
/** /**

View File

@ -32,8 +32,6 @@ use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Log; use Log;
use Preferences;
use View;
/** /**
* Class BulkController * Class BulkController
@ -45,7 +43,7 @@ class BulkController extends Controller
/** /**
* * BulkController constructor.
*/ */
public function __construct() public function __construct()
{ {
@ -65,7 +63,7 @@ class BulkController extends Controller
/** /**
* @param Collection $journals * @param Collection $journals
* *
* @return View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function edit(Collection $journals) 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])); $request->session()->flash('success', trans('firefly.mass_edited_transactions_success', ['amount' => $count]));
// redirect to previous URL: // redirect to previous URL:

View File

@ -61,6 +61,7 @@ class ConvertController extends Controller
); );
} }
/** /**
* @param TransactionType $destinationType * @param TransactionType $destinationType
* @param TransactionJournal $journal * @param TransactionJournal $journal
@ -109,6 +110,7 @@ class ConvertController extends Controller
); );
} }
/** /**
* @param Request $request * @param Request $request
* @param TransactionType $destinationType * @param TransactionType $destinationType
@ -124,6 +126,7 @@ class ConvertController extends Controller
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
if ($this->isOpeningBalance($journal)) { if ($this->isOpeningBalance($journal)) {
Log::debug('Journal is opening balance, return to account.'); Log::debug('Journal is opening balance, return to account.');
return $this->redirectToAccount($journal); return $this->redirectToAccount($journal);
} }
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd
@ -160,6 +163,7 @@ class ConvertController extends Controller
return redirect(route('transactions.show', [$journal->id])); return redirect(route('transactions.show', [$journal->id]));
} }
/** /**
* @param TransactionJournal $journal * @param TransactionJournal $journal
* @param TransactionType $destinationType * @param TransactionType $destinationType
@ -215,6 +219,7 @@ class ConvertController extends Controller
return $destination; return $destination;
} }
/** /**
* @param TransactionJournal $journal * @param TransactionJournal $journal
* @param TransactionType $destinationType * @param TransactionType $destinationType

View File

@ -29,7 +29,6 @@ use FireflyIII\Models\TransactionJournalLink;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface;
use Log; use Log;
use Preferences;
use URL; use URL;
/** /**
@ -86,7 +85,7 @@ class LinkController extends Controller
$this->repository->destroyLink($link); $this->repository->destroyLink($link);
session()->flash('success', (string)trans('firefly.deleted_link')); session()->flash('success', (string)trans('firefly.deleted_link'));
Preferences::mark(); app('preferences')->mark();
return redirect((string)session('journal_links.delete.uri')); return redirect((string)session('journal_links.delete.uri'));
} }

View File

@ -37,7 +37,6 @@ use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Transformers\TransactionTransformer; use FireflyIII\Transformers\TransactionTransformer;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Illuminate\View\View as IlluminateView; use Illuminate\View\View as IlluminateView;
use Preferences;
use Symfony\Component\HttpFoundation\ParameterBag; use Symfony\Component\HttpFoundation\ParameterBag;
/** /**
@ -109,7 +108,7 @@ class MassController extends Controller
++$count; ++$count;
} }
Preferences::mark(); app('preferences')->mark();
session()->flash('success', trans('firefly.mass_deleted_transactions_success', ['amount' => $count])); session()->flash('success', trans('firefly.mass_deleted_transactions_success', ['amount' => $count]));
// redirect to previous URL: // 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])); session()->flash('success', trans('firefly.mass_edited_transactions_success', ['amount' => $count]));
// redirect to previous URL: // redirect to previous URL:

View File

@ -135,14 +135,14 @@ class SingleController extends Controller
} }
/** /**
* @param Request $request * @param Request $request
* @param string $what * @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); $what = (string)($request->old('what') ?? $what);
$budgets = ExpandedForm::makeSelectListWithEmpty($this->budgets->getActiveBudgets()); $budgets = ExpandedForm::makeSelectListWithEmpty($this->budgets->getActiveBudgets());
$preFilled = session()->has('preFilled') ? session('preFilled') : []; $preFilled = session()->has('preFilled') ? session('preFilled') : [];
@ -220,7 +220,7 @@ class SingleController extends Controller
$this->repository->destroy($transactionJournal); $this->repository->destroy($transactionJournal);
Preferences::mark(); app('preferences')->mark();
return redirect($this->getPreviousUri('transactions.delete.uri')); return redirect($this->getPreviousUri('transactions.delete.uri'));
} }
@ -296,7 +296,7 @@ class SingleController extends Controller
// amounts for withdrawals and deposits: // amounts for withdrawals and deposits:
// amount, native_amount, source_amount, destination_amount // 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['amount'] = $pTransaction->foreign_amount;
$preFilled['currency'] = $pTransaction->foreignCurrency; $preFilled['currency'] = $pTransaction->foreignCurrency;
} }
@ -355,7 +355,7 @@ class SingleController extends Controller
event(new StoredTransactionJournal($journal, $data['piggy_bank_id'])); event(new StoredTransactionJournal($journal, $data['piggy_bank_id']));
session()->flash('success', (string)trans('firefly.stored_journal', ['description' => $journal->description])); session()->flash('success', (string)trans('firefly.stored_journal', ['description' => $journal->description]));
Preferences::mark(); app('preferences')->mark();
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
if (true === $createAnother) { if (true === $createAnother) {
@ -412,7 +412,7 @@ class SingleController extends Controller
$type = strtolower($this->repository->getTransactionType($journal)); $type = strtolower($this->repository->getTransactionType($journal));
session()->flash('success', (string)trans('firefly.updated_' . $type, ['description' => $data['description']])); session()->flash('success', (string)trans('firefly.updated_' . $type, ['description' => $data['description']]));
Preferences::mark(); app('preferences')->mark();
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
if (1 === (int)$request->get('return_to_edit')) { if (1 === (int)$request->get('return_to_edit')) {

View File

@ -18,6 +18,8 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>. * along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @noinspection CallableParameterUseCaseInTypeContextInspection */
/** @noinspection MoreThanThreeArgumentsInspection */
declare(strict_types=1); declare(strict_types=1);
namespace FireflyIII\Http\Controllers; namespace FireflyIII\Http\Controllers;
@ -71,13 +73,12 @@ class TransactionController extends Controller
/** /**
* Index for a range of transactions. * Index for a range of transactions.
* *
* @param Request $request * @param Request $request
* @param string $what * @param string $what
* @param Carbon $start * @param Carbon|null $start
* @param Carbon $end * @param Carbon|null $end
*
* @return View
* *
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function index(Request $request, string $what, Carbon $start = null, Carbon $end = null) 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]); return response()->json([true]);
} }

View File

@ -73,6 +73,7 @@ class Authenticate
return $next($request); return $next($request);
} }
/** /**
* Determine if the user is logged in to any of the given guards. * Determine if the user is logged in to any of the given guards.
* *

View File

@ -51,6 +51,7 @@ class AuthenticateTwoFactor
$this->auth = $auth; $this->auth = $auth;
} }
/** /**
* @param $request * @param $request
* @param Closure $next * @param Closure $next

View File

@ -48,7 +48,6 @@ class Sandstorm
* @return mixed * @return mixed
* *
* @throws FireflyException * @throws FireflyException
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/ */
public function handle(Request $request, Closure $next, $guard = null) public function handle(Request $request, Closure $next, $guard = null)
{ {

View File

@ -41,7 +41,7 @@ class StartFireflySession extends StartSession
{ {
$uri = $request->fullUrl(); $uri = $request->fullUrl();
$strpos = strpos($uri, 'jscript'); $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); $session->setPreviousUrl($uri);
} }
} }

View File

@ -33,7 +33,7 @@ class AccountFormRequest extends Request
/** /**
* @return bool * @return bool
*/ */
public function authorize() public function authorize(): bool
{ {
// Only allow logged in users // Only allow logged in users
return auth()->check(); return auth()->check();
@ -66,7 +66,7 @@ class AccountFormRequest extends Request
/** /**
* @return array * @return array
*/ */
public function rules() public function rules(): array
{ {
$accountRoles = implode(',', config('firefly.accountRoles')); $accountRoles = implode(',', config('firefly.accountRoles'));
$types = implode(',', array_keys(config('firefly.subTitlesByIdentifier'))); $types = implode(',', array_keys(config('firefly.subTitlesByIdentifier')));

View File

@ -151,11 +151,10 @@ class UpdateControllerTest extends TestCase
$falseConfig = new Configuration; $falseConfig = new Configuration;
$falseConfig->data = false; $falseConfig->data = false;
FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig); 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'; $version = config('firefly.version') . '-alpha';
$releases = [ $releases = [];
new Release(['id' => 'x', 'title' => $version, 'content' => '', 'updated' => new Carbon]),
];
$updater = $this->mock(UpdateRequest::class); $updater = $this->mock(UpdateRequest::class);
$updater->shouldReceive('call')->andThrow(FireflyException::class, 'Something broke.'); $updater->shouldReceive('call')->andThrow(FireflyException::class, 'Something broke.');
$updater->shouldReceive('getReleases')->andReturn($releases); $updater->shouldReceive('getReleases')->andReturn($releases);