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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -41,7 +41,7 @@ class StartFireflySession extends StartSession
{
$uri = $request->fullUrl();
$strpos = strpos($uri, 'jscript');
if ('GET' === $request->method() && $request->route() && !$request->ajax() && false === $strpos) {
if (false === $strpos && 'GET' === $request->method() && $request->route() && !$request->ajax()) {
$session->setPreviousUrl($uri);
}
}

View File

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

View File

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