From 24129ab69cb5377a4b530d8175dd7d65afc7d9ae Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 17 Mar 2020 15:02:57 +0100 Subject: [PATCH] Code cleanup that (hopefully) matches style CI --- app/Http/Middleware/Authenticate.php | 25 +- app/Http/Middleware/Binder.php | 9 +- app/Http/Middleware/InstallationId.php | 8 +- app/Http/Middleware/Installer.php | 30 +- app/Http/Middleware/InterestingMessage.php | 10 +- app/Http/Middleware/IsAdmin.php | 6 +- app/Http/Middleware/IsDemoUser.php | 6 +- app/Http/Middleware/IsSandStormUser.php | 10 +- app/Http/Middleware/Range.php | 12 +- .../Middleware/RedirectIfAuthenticated.php | 7 +- app/Http/Middleware/Sandstorm.php | 10 +- app/Http/Middleware/SecureHeaders.php | 11 +- app/Http/Middleware/StartFireflySession.php | 10 +- app/Http/Middleware/TrustProxies.php | 2 +- app/Http/Requests/AccountFormRequest.php | 4 +- app/Http/Requests/JournalLinkRequest.php | 2 +- app/Http/Requests/RecurrenceFormRequest.php | 20 +- app/Http/Requests/ReportFormRequest.php | 62 ++-- app/Http/Requests/Request.php | 271 +++++++++--------- app/Http/Requests/RuleFormRequest.php | 4 +- app/Http/Requests/TagFormRequest.php | 4 +- 21 files changed, 266 insertions(+), 257 deletions(-) diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index f961a7f8d9..87e9e2cc0c 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -29,6 +29,7 @@ use FireflyIII\Exceptions\FireflyException; use Illuminate\Auth\AuthenticationException; use Illuminate\Contracts\Auth\Factory as Auth; use Illuminate\Database\QueryException; +use Illuminate\Http\Request; /** * Class Authenticate @@ -38,14 +39,14 @@ class Authenticate /** * The authentication factory instance. * - * @var \Illuminate\Contracts\Auth\Factory + * @var Auth */ protected $auth; /** * Create a new middleware instance. * - * @param \Illuminate\Contracts\Auth\Factory $auth + * @param Auth $auth * * @return void */ @@ -57,14 +58,14 @@ class Authenticate /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param string[] ...$guards - * - * @return mixed + * @param Request $request + * @param Closure $next + * @param string[] ...$guards * * @throws AuthenticationException * @throws FireflyException + * @return mixed + * */ public function handle($request, Closure $next, ...$guards) { @@ -78,11 +79,11 @@ class Authenticate * Determine if the user is logged in to any of the given guards. * * @param $request - * @param array $guards + * @param array $guards * - * @return mixed * @throws AuthenticationException * @throws FireflyException + * @return mixed */ protected function authenticate($request, array $guards) { @@ -96,10 +97,10 @@ class Authenticate // do an extra check on user object. /** @noinspection PhpUndefinedMethodInspection */ $user = $this->auth->authenticate(); - if (1 === (int)$user->blocked) { - $message = (string)trans('firefly.block_account_logout'); + if (1 === (int) $user->blocked) { + $message = (string) trans('firefly.block_account_logout'); if ('email_changed' === $user->blocked_code) { - $message = (string)trans('firefly.email_changed_logout'); + $message = (string) trans('firefly.email_changed_logout'); } app('session')->flash('logoutMessage', $message); /** @noinspection PhpUndefinedMethodInspection */ diff --git a/app/Http/Middleware/Binder.php b/app/Http/Middleware/Binder.php index 399cc4b416..3785604353 100644 --- a/app/Http/Middleware/Binder.php +++ b/app/Http/Middleware/Binder.php @@ -25,6 +25,7 @@ namespace FireflyIII\Http\Middleware; use Closure; use FireflyIII\Support\Domain; use Illuminate\Contracts\Auth\Factory as Auth; +use Illuminate\Http\Request; use Illuminate\Routing\Route; /** @@ -35,7 +36,7 @@ class Binder /** * The authentication factory instance. * - * @var \Illuminate\Contracts\Auth\Factory + * @var Auth */ protected $auth; /** @@ -48,7 +49,7 @@ class Binder /** * Binder constructor. * - * @param \Illuminate\Contracts\Auth\Factory $auth + * @param Auth $auth */ public function __construct(Auth $auth) { @@ -60,8 +61,8 @@ class Binder /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * * @return mixed * diff --git a/app/Http/Middleware/InstallationId.php b/app/Http/Middleware/InstallationId.php index 5e7848de6b..8e326da273 100644 --- a/app/Http/Middleware/InstallationId.php +++ b/app/Http/Middleware/InstallationId.php @@ -41,21 +41,21 @@ class InstallationId * @param \Illuminate\Http\Request $request * @param Closure $next * - * @return mixed - * * @throws FireflyException * + * @return mixed + * */ public function handle($request, Closure $next) { $config = app('fireflyconfig')->get('installation_id', null); if (null === $config) { $uuid5 = Uuid::uuid5(Uuid::NAMESPACE_URL, 'firefly-iii.org'); - $uniqueId = (string)$uuid5; + $uniqueId = (string) $uuid5; Log::info(sprintf('Created Firefly III installation ID %s', $uniqueId)); app('fireflyconfig')->set('installation_id', $uniqueId); } return $next($request); } -} \ No newline at end of file +} diff --git a/app/Http/Middleware/Installer.php b/app/Http/Middleware/Installer.php index 7b28bbce1f..01bf1100c9 100644 --- a/app/Http/Middleware/Installer.php +++ b/app/Http/Middleware/Installer.php @@ -29,6 +29,7 @@ use DB; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Support\System\OAuthKeys; use Illuminate\Database\QueryException; +use Illuminate\Http\Request; use Log; /** @@ -42,13 +43,13 @@ class Installer /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * - * @return mixed + * @param Request $request + * @param Closure $next * * @throws FireflyException * + * @return mixed + * */ public function handle($request, Closure $next) { @@ -107,8 +108,8 @@ class Installer /** * Check if the tables are created and accounted for. * - * @return bool * @throws FireflyException + * @return bool */ private function hasNoTables(): bool { @@ -127,14 +128,12 @@ class Installer Log::warning('There are no Firefly III tables present. Redirect to migrate routine.'); return true; - } throw new FireflyException(sprintf('Could not access the database: %s', $message)); } Log::debug('Everything seems OK with the tables.'); return false; - } /** @@ -145,12 +144,14 @@ class Installer private function oldDBVersion(): bool { // older version in config than database? - $configVersion = (int)config('firefly.db_version'); - $dbVersion = (int)app('fireflyconfig')->getFresh('db_version', 1)->data; + $configVersion = (int) config('firefly.db_version'); + $dbVersion = (int) app('fireflyconfig')->getFresh('db_version', 1)->data; if ($configVersion > $dbVersion) { Log::warning( sprintf( - 'The current configured version (%d) is older than the required version (%d). Redirect to migrate routine.', $dbVersion, $configVersion + 'The current configured version (%d) is older than the required version (%d). Redirect to migrate routine.', + $dbVersion, + $configVersion ) ); @@ -169,12 +170,14 @@ class Installer private function oldVersion(): bool { // version compare thing. - $configVersion = (string)config('firefly.version'); - $dbVersion = (string)app('fireflyconfig')->getFresh('ff3_version', '1.0')->data; + $configVersion = (string) config('firefly.version'); + $dbVersion = (string) app('fireflyconfig')->getFresh('ff3_version', '1.0')->data; if (1 === version_compare($configVersion, $dbVersion)) { Log::warning( sprintf( - 'The current configured Firefly III version (%s) is older than the required version (%s). Redirect to migrate routine.', $dbVersion, $configVersion + 'The current configured Firefly III version (%s) is older than the required version (%s). Redirect to migrate routine.', + $dbVersion, + $configVersion ) ); @@ -184,5 +187,4 @@ class Installer return false; } - } diff --git a/app/Http/Middleware/InterestingMessage.php b/app/Http/Middleware/InterestingMessage.php index f84db776b6..e0fb80cf63 100644 --- a/app/Http/Middleware/InterestingMessage.php +++ b/app/Http/Middleware/InterestingMessage.php @@ -38,8 +38,8 @@ class InterestingMessage /** * Flashes the user an interesting message if the URL parameters warrant it. * - * @param Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * * @return mixed * @@ -85,7 +85,7 @@ class InterestingMessage // send message about newly created transaction group. /** @var TransactionGroup $group */ - $group = auth()->user()->transactionGroups()->with(['transactionJournals', 'transactionJournals.transactionType'])->find((int)$transactionGroupId); + $group = auth()->user()->transactionGroups()->with(['transactionJournals', 'transactionJournals.transactionType'])->find((int) $transactionGroupId); if (null === $group) { return; @@ -101,12 +101,12 @@ class InterestingMessage $title = $count > 1 ? $group->title : $journal->description; if ('created' === $message) { session()->flash('success_uri', route('transactions.show', [$transactionGroupId])); - session()->flash('success', (string)trans('firefly.stored_journal', ['description' => $title])); + session()->flash('success', (string) trans('firefly.stored_journal', ['description' => $title])); } if ('updated' === $message) { $type = strtolower($journal->transactionType->type); session()->flash('success_uri', route('transactions.show', [$transactionGroupId])); - session()->flash('success', (string)trans(sprintf('firefly.updated_%s', $type), ['description' => $title])); + session()->flash('success', (string) trans(sprintf('firefly.updated_%s', $type), ['description' => $title])); } } diff --git a/app/Http/Middleware/IsAdmin.php b/app/Http/Middleware/IsAdmin.php index df87ecd1e6..8386c3fe93 100644 --- a/app/Http/Middleware/IsAdmin.php +++ b/app/Http/Middleware/IsAdmin.php @@ -36,9 +36,9 @@ class IsAdmin /** * Handle an incoming request. Must be admin. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param string|null $guard + * @param Request $request + * @param Closure $next + * @param string|null $guard * * @return mixed */ diff --git a/app/Http/Middleware/IsDemoUser.php b/app/Http/Middleware/IsDemoUser.php index 62b773fb06..8d419b4bc0 100644 --- a/app/Http/Middleware/IsDemoUser.php +++ b/app/Http/Middleware/IsDemoUser.php @@ -36,8 +36,8 @@ class IsDemoUser /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * * @return mixed */ @@ -53,7 +53,7 @@ class IsDemoUser $repository = app(UserRepositoryInterface::class); if ($repository->hasRole($user, 'demo')) { Log::info('User is a demo user.'); - $request->session()->flash('info', (string)trans('firefly.not_available_demo_user')); + $request->session()->flash('info', (string) trans('firefly.not_available_demo_user')); $current = $request->url(); $previous = $request->session()->previousUrl(); if ($current !== $previous) { diff --git a/app/Http/Middleware/IsSandStormUser.php b/app/Http/Middleware/IsSandStormUser.php index 9ad68c59cb..dc5065d8e8 100644 --- a/app/Http/Middleware/IsSandStormUser.php +++ b/app/Http/Middleware/IsSandStormUser.php @@ -35,9 +35,9 @@ class IsSandStormUser /** * Handle an incoming request. May not be a limited user (ie. Sandstorm env. or demo user). * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param string|null $guard + * @param Request $request + * @param Closure $next + * @param string|null $guard * * @return mixed */ @@ -48,8 +48,8 @@ class IsSandStormUser return $next($request); } - if (1 === (int)getenv('SANDSTORM')) { - app('session')->flash('warning', (string)trans('firefly.sandstorm_not_available')); + if (1 === (int) getenv('SANDSTORM')) { + app('session')->flash('warning', (string) trans('firefly.sandstorm_not_available')); return response()->redirectTo(route('index')); } diff --git a/app/Http/Middleware/Range.php b/app/Http/Middleware/Range.php index 915b275c0b..b73748412b 100644 --- a/app/Http/Middleware/Range.php +++ b/app/Http/Middleware/Range.php @@ -36,8 +36,8 @@ class Range /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param Closure $next + * @param Request $request + * @param Closure $next * * @return mixed */ @@ -77,7 +77,7 @@ class Range $lang = $pref->data; App::setLocale($lang); Carbon::setLocale(substr($lang, 0, 2)); - $locale = explode(',', (string)trans('config.locale')); + $locale = explode(',', (string) trans('config.locale')); $locale = array_map('trim', $locale); setlocale(LC_TIME, $locale); @@ -89,12 +89,12 @@ class Range } // save some formats: - $monthAndDayFormat = (string)trans('config.month_and_day'); - $dateTimeFormat = (string)trans('config.date_time'); + $monthAndDayFormat = (string) trans('config.month_and_day'); + $dateTimeFormat = (string) trans('config.date_time'); $defaultCurrency = app('amount')->getDefaultCurrency(); // also format for moment JS: - $madMomentJS = (string)trans('config.month_and_day_moment_js'); + $madMomentJS = (string) trans('config.month_and_day_moment_js'); app('view')->share('madMomentJS', $madMomentJS); app('view')->share('monthAndDayFormat', $monthAndDayFormat); diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php index 07db56c63e..9b17c7f49a 100644 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Middleware; use Closure; +use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; /** @@ -35,9 +36,9 @@ class RedirectIfAuthenticated /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param string|null $guard + * @param Request $request + * @param Closure $next + * @param string|null $guard * * @return mixed */ diff --git a/app/Http/Middleware/Sandstorm.php b/app/Http/Middleware/Sandstorm.php index 96ce85bfa1..3a2dae74f8 100644 --- a/app/Http/Middleware/Sandstorm.php +++ b/app/Http/Middleware/Sandstorm.php @@ -39,16 +39,16 @@ class Sandstorm * Detects if is using Sandstorm, and responds by logging the user * in and/or creating an account. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param string|null $guard + * @param Request $request + * @param Closure $next + * @param string|null $guard * * @return mixed */ public function handle(Request $request, Closure $next, $guard = null) { // is in Sandstorm environment? - $sandstorm = 1 === (int)getenv('SANDSTORM'); + $sandstorm = 1 === (int) getenv('SANDSTORM'); app('view')->share('SANDSTORM', $sandstorm); if (!$sandstorm) { return $next($request); @@ -58,7 +58,7 @@ class Sandstorm if (Auth::guard($guard)->guest()) { /** @var UserRepositoryInterface $repository */ $repository = app(UserRepositoryInterface::class); - $userId = (string)$request->header('X-Sandstorm-User-Id'); + $userId = (string) $request->header('X-Sandstorm-User-Id'); // catch anonymous: $userId = '' === $userId ? 'anonymous' : $userId; diff --git a/app/Http/Middleware/SecureHeaders.php b/app/Http/Middleware/SecureHeaders.php index 2274174070..820e01b994 100644 --- a/app/Http/Middleware/SecureHeaders.php +++ b/app/Http/Middleware/SecureHeaders.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Middleware; use Closure; +use Exception; use Illuminate\Http\Request; /** @@ -35,11 +36,11 @@ class SecureHeaders /** * Handle an incoming request. * - * @param \Illuminate\Http\Request $request - * @param \Closure $next + * @param Request $request + * @param Closure $next * + * @throws Exception * @return mixed - * @throws \Exception */ public function handle(Request $request, Closure $next) { @@ -105,8 +106,8 @@ class SecureHeaders */ private function getTrackingScriptSource(): string { - if ('' !== (string)config('firefly.tracker_site_id') && '' !== (string)config('firefly.tracker_url')) { - return (string)config('firefly.tracker_url'); + if ('' !== (string) config('firefly.tracker_site_id') && '' !== (string) config('firefly.tracker_url')) { + return (string) config('firefly.tracker_url'); } return ''; diff --git a/app/Http/Middleware/StartFireflySession.php b/app/Http/Middleware/StartFireflySession.php index 91b3f09367..b8102a32b4 100644 --- a/app/Http/Middleware/StartFireflySession.php +++ b/app/Http/Middleware/StartFireflySession.php @@ -22,6 +22,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Middleware; +use Illuminate\Contracts\Session\Session; use Illuminate\Http\Request; use Illuminate\Session\Middleware\StartSession; use Log; @@ -36,8 +37,8 @@ class StartFireflySession extends StartSession /** * Store the current URL for the request if necessary. * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Contracts\Session\Session $session + * @param Request $request + * @param Session $session */ protected function storeCurrentUrl(Request $request, $session): void { @@ -45,12 +46,13 @@ class StartFireflySession extends StartSession $isScriptPage = strpos($uri, 'jscript'); $isDeletePage = strpos($uri, 'delete'); $isLoginPage = strpos($uri, '/login'); - $isJsonPage = strpos($uri, '/json'); + $isJsonPage = strpos($uri, '/json'); // also stop remembering "delete" URL's. if (false === $isScriptPage && false === $isDeletePage - && false === $isLoginPage && false === $isJsonPage + && false === $isLoginPage + && false === $isJsonPage && 'GET' === $request->method() && !$request->ajax()) { $session->setPreviousUrl($uri); diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php index 67336284f9..4be207df25 100644 --- a/app/Http/Middleware/TrustProxies.php +++ b/app/Http/Middleware/TrustProxies.php @@ -43,7 +43,7 @@ class TrustProxies extends Middleware */ public function __construct(Repository $config) { - $trustedProxies = (string)config('firefly.trusted_proxies'); + $trustedProxies = (string) config('firefly.trusted_proxies'); $this->proxies = explode(',', $trustedProxies); if ('**' === $trustedProxies) { $this->proxies = '**'; diff --git a/app/Http/Requests/AccountFormRequest.php b/app/Http/Requests/AccountFormRequest.php index 1a40b91c22..0ad9dd03e2 100644 --- a/app/Http/Requests/AccountFormRequest.php +++ b/app/Http/Requests/AccountFormRequest.php @@ -112,10 +112,10 @@ class AccountFormRequest extends Request 'what' => 'in:' . $types, 'interest_period' => 'in:daily,monthly,yearly', ]; - $rules = Location::requestRules($rules); + $rules = Location::requestRules($rules); if ('liabilities' === $this->get('objectType')) { - $rules['opening_balance'] = ['numeric', 'required','max:1000000000']; + $rules['opening_balance'] = ['numeric', 'required', 'max:1000000000']; $rules['opening_balance_date'] = 'date|required'; } diff --git a/app/Http/Requests/JournalLinkRequest.php b/app/Http/Requests/JournalLinkRequest.php index 4c0a65279c..7d5de5438a 100644 --- a/app/Http/Requests/JournalLinkRequest.php +++ b/app/Http/Requests/JournalLinkRequest.php @@ -51,7 +51,7 @@ class JournalLinkRequest extends Request $return = []; $linkType = $this->get('link_type'); $parts = explode('_', $linkType); - $return['link_type_id'] = (int)$parts[0]; + $return['link_type_id'] = (int) $parts[0]; $return['transaction_journal_id'] = $this->integer('opposing'); $return['notes'] = $this->string('notes'); $return['direction'] = $parts[1]; diff --git a/app/Http/Requests/RecurrenceFormRequest.php b/app/Http/Requests/RecurrenceFormRequest.php index 86ccc64d93..b3345ddefb 100644 --- a/app/Http/Requests/RecurrenceFormRequest.php +++ b/app/Http/Requests/RecurrenceFormRequest.php @@ -53,9 +53,9 @@ class RecurrenceFormRequest extends Request /** * Get the data required by the controller. * - * @return array * @throws FireflyException * + * @return array */ public function getAll(): array { @@ -136,9 +136,9 @@ class RecurrenceFormRequest extends Request /** * The rules for this request. * - * @return array * @throws FireflyException * + * @return array */ public function rules(): array { @@ -250,16 +250,16 @@ class RecurrenceFormRequest extends Request default: throw new FireflyException(sprintf('Cannot handle transaction type "%s"', $this->string('transaction_type'))); // @codeCoverageIgnore case 'withdrawal': - $sourceId = (int)$data['source_id']; - $destinationId = (int)$data['withdrawal_destination_id']; + $sourceId = (int) $data['source_id']; + $destinationId = (int) $data['withdrawal_destination_id']; break; case 'deposit': - $sourceId = (int)$data['deposit_source_id']; - $destinationId = (int)$data['destination_id']; + $sourceId = (int) $data['deposit_source_id']; + $destinationId = (int) $data['destination_id']; break; case 'transfer': - $sourceId = (int)$data['source_id']; - $destinationId = (int)$data['destination_id']; + $sourceId = (int) $data['source_id']; + $destinationId = (int) $data['destination_id']; break; } @@ -269,7 +269,7 @@ class RecurrenceFormRequest extends Request // do something with result: if (false === $validSource) { - $message = (string)trans('validation.generic_invalid_source'); + $message = (string) trans('validation.generic_invalid_source'); $validator->errors()->add('source_id', $message); $validator->errors()->add('deposit_source_id', $message); @@ -280,7 +280,7 @@ class RecurrenceFormRequest extends Request $validDestination = $accountValidator->validateDestination($destinationId, null); // do something with result: if (false === $validDestination) { - $message = (string)trans('validation.generic_invalid_destination'); + $message = (string) trans('validation.generic_invalid_destination'); $validator->errors()->add('destination_id', $message); $validator->errors()->add('withdrawal_destination_id', $message); diff --git a/app/Http/Requests/ReportFormRequest.php b/app/Http/Requests/ReportFormRequest.php index 2b6d62059f..150698d1e2 100644 --- a/app/Http/Requests/ReportFormRequest.php +++ b/app/Http/Requests/ReportFormRequest.php @@ -62,7 +62,7 @@ class ReportFormRequest extends Request $collection = new Collection; if (is_array($set)) { foreach ($set as $accountId) { - $account = $repository->findNull((int)$accountId); + $account = $repository->findNull((int) $accountId); if (null !== $account) { $collection->push($account); } @@ -85,7 +85,7 @@ class ReportFormRequest extends Request $collection = new Collection; if (is_array($set)) { foreach ($set as $budgetId) { - $budget = $repository->findNull((int)$budgetId); + $budget = $repository->findNull((int) $budgetId); if (null !== $budget) { $collection->push($budget); } @@ -108,7 +108,7 @@ class ReportFormRequest extends Request $collection = new Collection; if (is_array($set)) { foreach ($set as $categoryId) { - $category = $repository->findNull((int)$categoryId); + $category = $repository->findNull((int) $categoryId); if (null !== $category) { $collection->push($category); } @@ -118,18 +118,41 @@ class ReportFormRequest extends Request return $collection; } + /** + * Validate list of accounts which exist twice in system. + * + * @return Collection + */ + public function getDoubleList(): Collection + { + /** @var AccountRepositoryInterface $repository */ + $repository = app(AccountRepositoryInterface::class); + $set = $this->get('double'); + $collection = new Collection; + if (is_array($set)) { + foreach ($set as $accountId) { + $account = $repository->findNull((int) $accountId); + if (null !== $account) { + $collection->push($account); + } + } + } + + return $collection; + } + /** * Validate end date. * + * @throws FireflyException * @return Carbon * - * @throws FireflyException */ public function getEndDate(): Carbon { $date = new Carbon; $range = $this->get('daterange'); - $parts = explode(' - ', (string)$range); + $parts = explode(' - ', (string) $range); if (2 === count($parts)) { try { $date = new Carbon($parts[1]); @@ -146,41 +169,18 @@ class ReportFormRequest extends Request return $date; } - /** - * Validate list of accounts which exist twice in system. - * - * @return Collection - */ - public function getDoubleList(): Collection - { - /** @var AccountRepositoryInterface $repository */ - $repository = app(AccountRepositoryInterface::class); - $set = $this->get('double'); - $collection = new Collection; - if (is_array($set)) { - foreach ($set as $accountId) { - $account = $repository->findNull((int)$accountId); - if (null !== $account) { - $collection->push($account); - } - } - } - - return $collection; - } - /** * Validate start date. * + * @throws FireflyException * @return Carbon * - * @throws FireflyException */ public function getStartDate(): Carbon { $date = new Carbon; $range = $this->get('daterange'); - $parts = explode(' - ', (string)$range); + $parts = explode(' - ', (string) $range); if (2 === count($parts)) { try { $date = new Carbon($parts[0]); @@ -216,7 +216,7 @@ class ReportFormRequest extends Request $collection->push($tag); continue; } - $tag = $repository->findNull((int)$tagTag); + $tag = $repository->findNull((int) $tagTag); if (null !== $tag) { $collection->push($tag); continue; diff --git a/app/Http/Requests/Request.php b/app/Http/Requests/Request.php index a5e4e20408..670e48ab05 100644 --- a/app/Http/Requests/Request.php +++ b/app/Http/Requests/Request.php @@ -124,7 +124,7 @@ class Request extends FormRequest return null; } - return (float)$res; + return (float) $res; } /** @@ -136,7 +136,7 @@ class Request extends FormRequest */ public function integer(string $field): int { - return (int)$this->get($field); + return (int) $this->get($field); } /** @@ -155,60 +155,7 @@ class Request extends FormRequest return null; } - return (int)$string; - } - - /** - * Return integer value, or NULL when it's not set. - * - * @param string $field - * - * @return int|null - */ - public function nullableInteger(string $field): ?int - { - if (!$this->has($field)) { - return null; - } - - $value = (string)$this->get($field); - if ('' === $value) { - return null; - } - - return (int)$value; - } - - /** - * Return string value, or NULL if empty. - * - * @param string $field - * - * @return string|null - */ - public function nullableString(string $field): ?string - { - if (!$this->has($field)) { - return null; - } - $res = trim(app('steam')->cleanString((string)($this->get($field) ?? ''))); - if ('' === $res) { - return null; - } - - return $res; - } - - /** - * Return string value. - * - * @param string $field - * - * @return string - */ - public function string(string $field): string - { - return app('steam')->cleanString((string)($this->get($field) ?? '')); + return (int) $string; } /** @@ -220,41 +167,7 @@ class Request extends FormRequest */ public function nlString(string $field): string { - return app('steam')->nlCleanString((string)($this->get($field) ?? '')); - } - - - /** - * Return string value, but keep newlines, or NULL if empty. - * - * @param string $field - * - * @return string - */ - public function nullableNlString(string $field): ?string - { - if (!$this->has($field)) { - return null; - } - return app('steam')->nlCleanString((string)($this->get($field) ?? '')); - } - - /** - * Parse and clean a string. - * - * @param string|null $string - * - * @return string|null - */ - public function stringFromValue(?string $string): ?string - { - if (null === $string) { - return null; - } - $result = app('steam')->cleanString($string); - - return '' === $result ? null : $result; - + return app('steam')->nlCleanString((string) ($this->get($field) ?? '')); } /** @@ -276,59 +189,90 @@ class Request extends FormRequest } /** - * Return date or NULL. + * Return integer value, or NULL when it's not set. * * @param string $field * - * @return Carbon|null + * @return int|null */ - protected function date(string $field): ?Carbon + public function nullableInteger(string $field): ?int { - $result = null; - try { - $result = $this->get($field) ? new Carbon($this->get($field)) : null; - } catch (Exception $e) { - Log::debug(sprintf('Exception when parsing date. Not interesting: %s', $e->getMessage())); + if (!$this->has($field)) { + return null; } - return $result; + $value = (string) $this->get($field); + if ('' === $value) { + return null; + } + + return (int) $value; } /** - * Return date time or NULL. + * Return string value, but keep newlines, or NULL if empty. * * @param string $field * - * @return Carbon|null + * @return string */ - protected function dateTime(string $field): ?Carbon + public function nullableNlString(string $field): ?string { - if (null === $this->get($field)) { - return null; - } - $value = (string)$this->get($field); - if (10 === strlen($value)) { - // probably a date format. - try { - $result = Carbon::createFromFormat('Y-m-d', $value); - } catch (InvalidDateException $e) { - Log::error(sprintf('"%s" is not a valid date: %s', $value, $e->getMessage())); - - return null; - } - - return $result; - } - // is an atom string, I hope? - try { - $result = Carbon::parse($value); - } catch (InvalidDateException $e) { - Log::error(sprintf('"%s" is not a valid date or time: %s', $value, $e->getMessage())); - + if (!$this->has($field)) { return null; } - return $result; + return app('steam')->nlCleanString((string) ($this->get($field) ?? '')); + } + + /** + * Return string value, or NULL if empty. + * + * @param string $field + * + * @return string|null + */ + public function nullableString(string $field): ?string + { + if (!$this->has($field)) { + return null; + } + $res = trim(app('steam')->cleanString((string) ($this->get($field) ?? ''))); + if ('' === $res) { + return null; + } + + return $res; + } + + /** + * Return string value. + * + * @param string $field + * + * @return string + */ + public function string(string $field): string + { + return app('steam')->cleanString((string) ($this->get($field) ?? '')); + } + + /** + * Parse and clean a string. + * + * @param string|null $string + * + * @return string|null + */ + public function stringFromValue(?string $string): ?string + { + if (null === $string) { + return null; + } + $result = app('steam')->cleanString($string); + + return '' === $result ? null : $result; + } /** @@ -374,9 +318,9 @@ class Request extends FormRequest ) { Log::debug('Method is PUT and all fields present.'); $data['update_location'] = true; - $data['longitude'] = $this->nullableString($longitudeKey); - $data['latitude'] = $this->nullableString($latitudeKey); - $data['zoom_level'] = $this->nullableString($zoomLevelKey); + $data['longitude'] = $this->nullableString($longitudeKey); + $data['latitude'] = $this->nullableString($latitudeKey); + $data['zoom_level'] = $this->nullableString($zoomLevelKey); } if (null === $data['longitude'] || null === $data['latitude'] || null === $data['zoom_level']) { Log::debug('One of the fields is NULL, wont save.'); @@ -389,6 +333,61 @@ class Request extends FormRequest return $data; } + /** + * Return date or NULL. + * + * @param string $field + * + * @return Carbon|null + */ + protected function date(string $field): ?Carbon + { + $result = null; + try { + $result = $this->get($field) ? new Carbon($this->get($field)) : null; + } catch (Exception $e) { + Log::debug(sprintf('Exception when parsing date. Not interesting: %s', $e->getMessage())); + } + + return $result; + } + + /** + * Return date time or NULL. + * + * @param string $field + * + * @return Carbon|null + */ + protected function dateTime(string $field): ?Carbon + { + if (null === $this->get($field)) { + return null; + } + $value = (string) $this->get($field); + if (10 === strlen($value)) { + // probably a date format. + try { + $result = Carbon::createFromFormat('Y-m-d', $value); + } catch (InvalidDateException $e) { + Log::error(sprintf('"%s" is not a valid date: %s', $value, $e->getMessage())); + + return null; + } + + return $result; + } + // is an atom string, I hope? + try { + $result = Carbon::parse($value); + } catch (InvalidDateException $e) { + Log::error(sprintf('"%s" is not a valid date or time: %s', $value, $e->getMessage())); + + return null; + } + + return $result; + } /** * @param Validator $validator @@ -398,27 +397,27 @@ class Request extends FormRequest $data = $validator->getData(); $type = $data['auto_budget_type'] ?? ''; $amount = $data['auto_budget_amount'] ?? ''; - $period = (string)($data['auto_budget_period'] ?? ''); + $period = (string) ($data['auto_budget_period'] ?? ''); $currencyId = $data['auto_budget_currency_id'] ?? ''; $currencyCode = $data['auto_budget_currency_code'] ?? ''; if (is_numeric($type)) { - $type = (int)$type; + $type = (int) $type; } if (0 === $type || 'none' === $type || '' === $type) { return; } // basic float check: if ('' === $amount) { - $validator->errors()->add('auto_budget_amount', (string)trans('validation.amount_required_for_auto_budget')); + $validator->errors()->add('auto_budget_amount', (string) trans('validation.amount_required_for_auto_budget')); } - if (1 !== bccomp((string)$amount, '0')) { - $validator->errors()->add('auto_budget_amount', (string)trans('validation.auto_budget_amount_positive')); + if (1 !== bccomp((string) $amount, '0')) { + $validator->errors()->add('auto_budget_amount', (string) trans('validation.auto_budget_amount_positive')); } if ('' === $period) { - $validator->errors()->add('auto_budget_period', (string)trans('validation.auto_budget_period_mandatory')); + $validator->errors()->add('auto_budget_period', (string) trans('validation.auto_budget_period_mandatory')); } if ('' === $currencyCode && '' === $currencyId) { - $validator->errors()->add('auto_budget_amount', (string)trans('validation.require_currency_info')); + $validator->errors()->add('auto_budget_amount', (string) trans('validation.require_currency_info')); } } diff --git a/app/Http/Requests/RuleFormRequest.php b/app/Http/Requests/RuleFormRequest.php index 43162aecb4..ad0ee86e06 100644 --- a/app/Http/Requests/RuleFormRequest.php +++ b/app/Http/Requests/RuleFormRequest.php @@ -116,7 +116,7 @@ class RuleFormRequest extends Request $return[] = [ 'type' => $action['type'] ?? 'invalid', 'value' => $action['value'] ?? '', - 'stop_processing' => 1 === (int)$stopProcessing, + 'stop_processing' => 1 === (int) $stopProcessing, ]; } } @@ -137,7 +137,7 @@ class RuleFormRequest extends Request $return[] = [ 'type' => $trigger['type'] ?? 'invalid', 'value' => $trigger['value'] ?? '', - 'stop_processing' => 1 === (int)$stopProcessing, + 'stop_processing' => 1 === (int) $stopProcessing, ]; } } diff --git a/app/Http/Requests/TagFormRequest.php b/app/Http/Requests/TagFormRequest.php index 5d7ed76a7a..e6d1180b97 100644 --- a/app/Http/Requests/TagFormRequest.php +++ b/app/Http/Requests/TagFormRequest.php @@ -53,6 +53,7 @@ class TagFormRequest extends Request 'date' => $this->date('date'), 'description' => $this->string('description'), ]; + return $this->appendLocationData($data, 'location'); } @@ -74,12 +75,13 @@ class TagFormRequest extends Request $tagRule = 'required|min:1|uniqueObjectForUser:tags,tag,' . $tag->id; } - $rules= [ + $rules = [ 'tag' => $tagRule, 'id' => $idRule, 'description' => 'min:1|nullable', 'date' => 'date|nullable', ]; + return Location::requestRules($rules); } }