Clean up form requests

This commit is contained in:
James Cole
2020-10-24 07:55:09 +02:00
parent ab4bcd3703
commit dbc878950c
33 changed files with 265 additions and 211 deletions

View File

@@ -26,14 +26,16 @@ use FireflyIII\Models\Account;
use FireflyIII\Models\Location; use FireflyIII\Models\Location;
use FireflyIII\Rules\UniqueIban; use FireflyIII\Rules\UniqueIban;
use FireflyIII\Support\Request\AppendsLocationData; use FireflyIII\Support\Request\AppendsLocationData;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class AccountFormRequest. * Class AccountFormRequest.
*/ */
class AccountFormRequest extends LoggedInRequest class AccountFormRequest extends FormRequest
{ {
use ConvertsDataTypes, AppendsLocationData; use ConvertsDataTypes, AppendsLocationData, ChecksLogin;
/** /**
* Get all data. * Get all data.

View File

@@ -22,16 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class AttachmentFormRequest. * Class AttachmentFormRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class AttachmentFormRequest extends LoggedInRequest class AttachmentFormRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.

View File

@@ -22,14 +22,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class BillStoreRequest. * Class BillStoreRequest.
*/ */
class BillStoreRequest extends LoggedInRequest class BillStoreRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.

View File

@@ -23,14 +23,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Models\Bill; use FireflyIII\Models\Bill;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class BillUpdateRequest. * Class BillUpdateRequest.
*/ */
class BillUpdateRequest extends LoggedInRequest class BillUpdateRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.

View File

@@ -23,17 +23,19 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Models\Budget; use FireflyIII\Models\Budget;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use FireflyIII\Validation\AutoBudget\ValidatesAutoBudgetRequest; use FireflyIII\Validation\AutoBudget\ValidatesAutoBudgetRequest;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator; use Illuminate\Validation\Validator;
/** /**
* @codeCoverageIgnore * @codeCoverageIgnore
* Class BudgetFormUpdateRequest * Class BudgetFormUpdateRequest
*/ */
class BudgetFormUpdateRequest extends LoggedInRequest class BudgetFormUpdateRequest extends FormRequest
{ {
use ConvertsDataTypes, ValidatesAutoBudgetRequest; use ConvertsDataTypes, ValidatesAutoBudgetRequest, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.

View File

@@ -22,13 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class BudgetIncomeRequest. * Class BudgetIncomeRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class BudgetIncomeRequest extends LoggedInRequest class BudgetIncomeRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
* *

View File

@@ -22,14 +22,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class MassEditBulkJournalRequest. * Class MassEditBulkJournalRequest.
*/ */
class BulkEditJournalRequest extends LoggedInRequest class BulkEditJournalRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.

View File

@@ -23,14 +23,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Models\Category; use FireflyIII\Models\Category;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class CategoryFormRequest. * Class CategoryFormRequest.
*/ */
class CategoryFormRequest extends LoggedInRequest class CategoryFormRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Get information for the controller. * Get information for the controller.

View File

@@ -22,13 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class ConfigurationRequest. * Class ConfigurationRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class ConfigurationRequest extends LoggedInRequest class ConfigurationRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.
* *

View File

@@ -23,14 +23,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class CurrencyFormRequest. * Class CurrencyFormRequest.
*/ */
class CurrencyFormRequest extends LoggedInRequest class CurrencyFormRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.

View File

@@ -22,13 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class DeleteAccountFormRequest. * Class DeleteAccountFormRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class DeleteAccountFormRequest extends LoggedInRequest class DeleteAccountFormRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
* *

View File

@@ -22,13 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class EmailFormRequest. * Class EmailFormRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class EmailFormRequest extends LoggedInRequest class EmailFormRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
* *

View File

@@ -23,14 +23,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Models\LinkType; use FireflyIII\Models\LinkType;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class JournalLink. * Class JournalLink.
*/ */
class JournalLinkRequest extends LoggedInRequest class JournalLinkRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.
@@ -42,7 +44,7 @@ class JournalLinkRequest extends LoggedInRequest
$return = []; $return = [];
$linkType = $this->get('link_type'); $linkType = $this->get('link_type');
$parts = explode('_', $linkType); $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['transaction_journal_id'] = $this->integer('opposing');
$return['notes'] = $this->string('notes'); $return['notes'] = $this->string('notes');
$return['direction'] = $parts[1]; $return['direction'] = $parts[1];

View File

@@ -22,11 +22,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class LinkTypeFormRequest. * Class LinkTypeFormRequest.
*/ */
class LinkTypeFormRequest extends LoggedInRequest class LinkTypeFormRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
* *

View File

@@ -1,43 +0,0 @@
<?php
/**
* LoggedInRequest.php
* Copyright (c) 2019 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
/**
* Class LoggedInRequest.
*/
class LoggedInRequest extends FormRequest
{
/**
* Verify the request.
*
* @return bool
*/
public function authorize(): bool
{
// Only allow logged in users
return auth()->check();
}
}

View File

@@ -22,13 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class MassDeleteJournalRequest. * Class MassDeleteJournalRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class MassDeleteJournalRequest extends LoggedInRequest class MassDeleteJournalRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
* *

View File

@@ -22,13 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class MassEditJournalRequest. * Class MassEditJournalRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class MassEditJournalRequest extends LoggedInRequest class MassEditJournalRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
* *

View File

@@ -22,16 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class NewUserFormRequest. * Class NewUserFormRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class NewUserFormRequest extends LoggedInRequest class NewUserFormRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.

View File

@@ -23,14 +23,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Models\ObjectGroup; use FireflyIII\Models\ObjectGroup;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class ObjectGroupFormRequest. * Class ObjectGroupFormRequest.
*/ */
class ObjectGroupFormRequest extends LoggedInRequest class ObjectGroupFormRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.

View File

@@ -22,14 +22,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class PiggyBankStoreRequest. * Class PiggyBankStoreRequest.
*/ */
class PiggyBankStoreRequest extends LoggedInRequest class PiggyBankStoreRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.

View File

@@ -23,14 +23,16 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Models\PiggyBank; use FireflyIII\Models\PiggyBank;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class PiggyBankFormRequest. * Class PiggyBankFormRequest.
*/ */
class PiggyBankUpdateRequest extends LoggedInRequest class PiggyBankUpdateRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.

View File

@@ -22,13 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class ProfileFormRequest. * Class ProfileFormRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class ProfileFormRequest extends LoggedInRequest class ProfileFormRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
* *

View File

@@ -24,15 +24,17 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Rules\ValidJournals; use FireflyIII\Rules\ValidJournals;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
use Log; use Log;
/** /**
* Class ReconciliationStoreRequest * Class ReconciliationStoreRequest
*/ */
class ReconciliationStoreRequest extends LoggedInRequest class ReconciliationStoreRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Returns the data required by the controller. * Returns the data required by the controller.

View File

@@ -29,24 +29,26 @@ use FireflyIII\Models\Recurrence;
use FireflyIII\Models\TransactionType; use FireflyIII\Models\TransactionType;
use FireflyIII\Rules\ValidRecurrenceRepetitionType; use FireflyIII\Rules\ValidRecurrenceRepetitionType;
use FireflyIII\Rules\ValidRecurrenceRepetitionValue; use FireflyIII\Rules\ValidRecurrenceRepetitionValue;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use FireflyIII\Validation\AccountValidator; use FireflyIII\Validation\AccountValidator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator; use Illuminate\Validation\Validator;
use Log; use Log;
/** /**
* Class RecurrenceFormRequest * Class RecurrenceFormRequest
*/ */
class RecurrenceFormRequest extends LoggedInRequest class RecurrenceFormRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Get the data required by the controller. * Get the data required by the controller.
* *
* @return array
* @throws FireflyException * @throws FireflyException
* *
* @return array
*/ */
public function getAll(): array public function getAll(): array
{ {
@@ -125,12 +127,48 @@ class RecurrenceFormRequest extends LoggedInRequest
} }
/** /**
* The rules for this request. * Parses repetition data.
*
* @throws FireflyException
* *
* @return array * @return array
*/ */
private function parseRepetitionData(): array
{
$value = $this->string('repetition_type');
$return = [
'type' => '',
'moment' => '',
];
if ('daily' === $value) {
$return['type'] = $value;
}
//monthly,17
//ndom,3,7
if (in_array(substr($value, 0, 6), ['yearly', 'weekly'])) {
$return['type'] = substr($value, 0, 6);
$return['moment'] = substr($value, 7);
}
if (0 === strpos($value, 'monthly')) {
$return['type'] = substr($value, 0, 7);
$return['moment'] = substr($value, 8);
}
if (0 === strpos($value, 'ndom')) {
$return['type'] = substr($value, 0, 4);
$return['moment'] = substr($value, 5);
}
return $return;
}
/**
* The rules for this request.
*
* @return array
* @throws FireflyException
*
*/
public function rules(): array public function rules(): array
{ {
$today = today(config('app.timezone')); $today = today(config('app.timezone'));
@@ -216,6 +254,23 @@ class RecurrenceFormRequest extends LoggedInRequest
return $rules; return $rules;
} }
/**
* Configure the validator instance with special rules for after the basic validation rules.
*
* @param Validator $validator
*
* @return void
*/
public function withValidator(Validator $validator): void
{
$validator->after(
function (Validator $validator) {
// validate all account info
$this->validateAccountInformation($validator);
}
);
}
/** /**
* Validates the given account information. Switches on given transaction type. * Validates the given account information. Switches on given transaction type.
* *
@@ -243,16 +298,16 @@ class RecurrenceFormRequest extends LoggedInRequest
default: default:
throw new FireflyException(sprintf('Cannot handle transaction type "%s"', $this->string('transaction_type'))); // @codeCoverageIgnore throw new FireflyException(sprintf('Cannot handle transaction type "%s"', $this->string('transaction_type'))); // @codeCoverageIgnore
case 'withdrawal': case 'withdrawal':
$sourceId = (int) $data['source_id']; $sourceId = (int)$data['source_id'];
$destinationId = (int) $data['withdrawal_destination_id']; $destinationId = (int)$data['withdrawal_destination_id'];
break; break;
case 'deposit': case 'deposit':
$sourceId = (int) $data['deposit_source_id']; $sourceId = (int)$data['deposit_source_id'];
$destinationId = (int) $data['destination_id']; $destinationId = (int)$data['destination_id'];
break; break;
case 'transfer': case 'transfer':
$sourceId = (int) $data['source_id']; $sourceId = (int)$data['source_id'];
$destinationId = (int) $data['destination_id']; $destinationId = (int)$data['destination_id'];
break; break;
} }
@@ -262,7 +317,7 @@ class RecurrenceFormRequest extends LoggedInRequest
// do something with result: // do something with result:
if (false === $validSource) { 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('source_id', $message);
$validator->errors()->add('deposit_source_id', $message); $validator->errors()->add('deposit_source_id', $message);
@@ -273,64 +328,11 @@ class RecurrenceFormRequest extends LoggedInRequest
$validDestination = $accountValidator->validateDestination($destinationId, null, null); $validDestination = $accountValidator->validateDestination($destinationId, null, null);
// do something with result: // do something with result:
if (false === $validDestination) { 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('destination_id', $message);
$validator->errors()->add('withdrawal_destination_id', $message); $validator->errors()->add('withdrawal_destination_id', $message);
return; return;
} }
} }
/**
* Configure the validator instance with special rules for after the basic validation rules.
*
* @param Validator $validator
*
* @return void
*/
public function withValidator(Validator $validator): void
{
$validator->after(
function (Validator $validator) {
// validate all account info
$this->validateAccountInformation($validator);
}
);
}
/**
* Parses repetition data.
*
* @return array
*/
private function parseRepetitionData(): array
{
$value = $this->string('repetition_type');
$return = [
'type' => '',
'moment' => '',
];
if ('daily' === $value) {
$return['type'] = $value;
}
//monthly,17
//ndom,3,7
if (in_array(substr($value, 0, 6), ['yearly', 'weekly'])) {
$return['type'] = substr($value, 0, 6);
$return['moment'] = substr($value, 7);
}
if (0 === strpos($value, 'monthly')) {
$return['type'] = substr($value, 0, 7);
$return['moment'] = substr($value, 8);
}
if (0 === strpos($value, 'ndom')) {
$return['type'] = substr($value, 0, 4);
$return['moment'] = substr($value, 5);
}
return $return;
}
} }

View File

@@ -29,14 +29,18 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface; use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\Repositories\Tag\TagRepositoryInterface; use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Log; use Log;
/** /**
* Class CategoryFormRequest. * Class CategoryFormRequest.
*/ */
class ReportFormRequest extends LoggedInRequest class ReportFormRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Validate list of accounts. * Validate list of accounts.
* *
@@ -51,7 +55,7 @@ class ReportFormRequest extends LoggedInRequest
$collection = new Collection; $collection = new Collection;
if (is_array($set)) { if (is_array($set)) {
foreach ($set as $accountId) { foreach ($set as $accountId) {
$account = $repository->findNull((int) $accountId); $account = $repository->findNull((int)$accountId);
if (null !== $account) { if (null !== $account) {
$collection->push($account); $collection->push($account);
} }
@@ -74,7 +78,7 @@ class ReportFormRequest extends LoggedInRequest
$collection = new Collection; $collection = new Collection;
if (is_array($set)) { if (is_array($set)) {
foreach ($set as $budgetId) { foreach ($set as $budgetId) {
$budget = $repository->findNull((int) $budgetId); $budget = $repository->findNull((int)$budgetId);
if (null !== $budget) { if (null !== $budget) {
$collection->push($budget); $collection->push($budget);
} }
@@ -97,7 +101,7 @@ class ReportFormRequest extends LoggedInRequest
$collection = new Collection; $collection = new Collection;
if (is_array($set)) { if (is_array($set)) {
foreach ($set as $categoryId) { foreach ($set as $categoryId) {
$category = $repository->findNull((int) $categoryId); $category = $repository->findNull((int)$categoryId);
if (null !== $category) { if (null !== $category) {
$collection->push($category); $collection->push($category);
} }
@@ -120,7 +124,7 @@ class ReportFormRequest extends LoggedInRequest
$collection = new Collection; $collection = new Collection;
if (is_array($set)) { if (is_array($set)) {
foreach ($set as $accountId) { foreach ($set as $accountId) {
$account = $repository->findNull((int) $accountId); $account = $repository->findNull((int)$accountId);
if (null !== $account) { if (null !== $account) {
$collection->push($account); $collection->push($account);
} }
@@ -133,15 +137,15 @@ class ReportFormRequest extends LoggedInRequest
/** /**
* Validate end date. * Validate end date.
* *
* @throws FireflyException
* @return Carbon * @return Carbon
* *
* @throws FireflyException
*/ */
public function getEndDate(): Carbon public function getEndDate(): Carbon
{ {
$date = today(config('app.timezone')); $date = today(config('app.timezone'));
$range = $this->get('daterange'); $range = $this->get('daterange');
$parts = explode(' - ', (string) $range); $parts = explode(' - ', (string)$range);
if (2 === count($parts)) { if (2 === count($parts)) {
try { try {
$date = new Carbon($parts[1]); $date = new Carbon($parts[1]);
@@ -161,15 +165,15 @@ class ReportFormRequest extends LoggedInRequest
/** /**
* Validate start date. * Validate start date.
* *
* @throws FireflyException
* @return Carbon * @return Carbon
* *
* @throws FireflyException
*/ */
public function getStartDate(): Carbon public function getStartDate(): Carbon
{ {
$date = today(config('app.timezone')); $date = today(config('app.timezone'));
$range = $this->get('daterange'); $range = $this->get('daterange');
$parts = explode(' - ', (string) $range); $parts = explode(' - ', (string)$range);
if (2 === count($parts)) { if (2 === count($parts)) {
try { try {
$date = new Carbon($parts[0]); $date = new Carbon($parts[0]);
@@ -205,7 +209,7 @@ class ReportFormRequest extends LoggedInRequest
$collection->push($tag); $collection->push($tag);
continue; continue;
} }
$tag = $repository->findNull((int) $tagTag); $tag = $repository->findNull((int)$tagTag);
if (null !== $tag) { if (null !== $tag) {
$collection->push($tag); $collection->push($tag);
continue; continue;

View File

@@ -23,15 +23,17 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Models\Rule; use FireflyIII\Models\Rule;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use FireflyIII\Support\Request\GetRuleConfiguration; use FireflyIII\Support\Request\GetRuleConfiguration;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class RuleFormRequest. * Class RuleFormRequest.
*/ */
class RuleFormRequest extends LoggedInRequest class RuleFormRequest extends FormRequest
{ {
use ConvertsDataTypes, GetRuleConfiguration; use ConvertsDataTypes, GetRuleConfiguration, ChecksLogin;
/** /**
* Get all data for controller. * Get all data for controller.
@@ -54,6 +56,48 @@ class RuleFormRequest extends LoggedInRequest
]; ];
} }
/**
* @return array
*/
private function getRuleTriggerData(): array
{
$return = [];
$triggerData = $this->get('triggers');
if (is_array($triggerData)) {
foreach ($triggerData as $trigger) {
$stopProcessing = $trigger['stop_processing'] ?? '0';
$return[] = [
'type' => $trigger['type'] ?? 'invalid',
'value' => $trigger['value'] ?? '',
'stop_processing' => 1 === (int)$stopProcessing,
];
}
}
return $return;
}
/**
* @return array
*/
private function getRuleActionData(): array
{
$return = [];
$actionData = $this->get('actions');
if (is_array($actionData)) {
foreach ($actionData as $action) {
$stopProcessing = $action['stop_processing'] ?? '0';
$return[] = [
'type' => $action['type'] ?? 'invalid',
'value' => $action['value'] ?? '',
'stop_processing' => 1 === (int)$stopProcessing,
];
}
}
return $return;
}
/** /**
* Rules for this request. * Rules for this request.
* *
@@ -93,46 +137,4 @@ class RuleFormRequest extends LoggedInRequest
return $rules; return $rules;
} }
/**
* @return array
*/
private function getRuleActionData(): array
{
$return = [];
$actionData = $this->get('actions');
if (is_array($actionData)) {
foreach ($actionData as $action) {
$stopProcessing = $action['stop_processing'] ?? '0';
$return[] = [
'type' => $action['type'] ?? 'invalid',
'value' => $action['value'] ?? '',
'stop_processing' => 1 === (int) $stopProcessing,
];
}
}
return $return;
}
/**
* @return array
*/
private function getRuleTriggerData(): array
{
$return = [];
$triggerData = $this->get('triggers');
if (is_array($triggerData)) {
foreach ($triggerData as $trigger) {
$stopProcessing = $trigger['stop_processing'] ?? '0';
$return[] = [
'type' => $trigger['type'] ?? 'invalid',
'value' => $trigger['value'] ?? '',
'stop_processing' => 1 === (int) $stopProcessing,
];
}
}
return $return;
}
} }

View File

@@ -24,14 +24,16 @@ namespace FireflyIII\Http\Requests;
use FireflyIII\Models\RuleGroup; use FireflyIII\Models\RuleGroup;
use FireflyIII\Rules\IsBoolean; use FireflyIII\Rules\IsBoolean;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class RuleGroupFormRequest. * Class RuleGroupFormRequest.
*/ */
class RuleGroupFormRequest extends LoggedInRequest class RuleGroupFormRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Get all data for controller. * Get all data for controller.

View File

@@ -23,14 +23,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class SelectTransactionsRequest. * Class SelectTransactionsRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class SelectTransactionsRequest extends LoggedInRequest class SelectTransactionsRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
* *

View File

@@ -25,14 +25,16 @@ namespace FireflyIII\Http\Requests;
use FireflyIII\Models\Location; use FireflyIII\Models\Location;
use FireflyIII\Models\Tag; use FireflyIII\Models\Tag;
use FireflyIII\Support\Request\AppendsLocationData; use FireflyIII\Support\Request\AppendsLocationData;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class TagFormRequest. * Class TagFormRequest.
*/ */
class TagFormRequest extends LoggedInRequest class TagFormRequest extends FormRequest
{ {
use ConvertsDataTypes, AppendsLocationData; use ConvertsDataTypes, AppendsLocationData, ChecksLogin;
/** /**
* Get all data for controller. * Get all data for controller.

View File

@@ -22,16 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\GetRuleConfiguration; use FireflyIII\Support\Request\GetRuleConfiguration;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class TestRuleFormRequest. * Class TestRuleFormRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class TestRuleFormRequest extends LoggedInRequest class TestRuleFormRequest extends FormRequest
{ {
use GetRuleConfiguration; use GetRuleConfiguration, ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
@@ -43,6 +45,7 @@ class TestRuleFormRequest extends LoggedInRequest
{ {
// fixed // fixed
$validTriggers = $this->getTriggers(); $validTriggers = $this->getTriggers();
return [ return [
'rule-trigger.*' => 'required|min:1|in:' . implode(',', $validTriggers), 'rule-trigger.*' => 'required|min:1|in:' . implode(',', $validTriggers),
'rule-trigger-value.*' => 'required|min:1|ruleTriggerValue', 'rule-trigger-value.*' => 'required|min:1|ruleTriggerValue',

View File

@@ -22,13 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class TokenFormRequest. * Class TokenFormRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class TokenFormRequest extends LoggedInRequest class TokenFormRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Rules for this request. * Rules for this request.
* *

View File

@@ -22,16 +22,18 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/** /**
* Class UserFormRequest. * Class UserFormRequest.
* *
* @codeCoverageIgnore * @codeCoverageIgnore
*/ */
class UserFormRequest extends LoggedInRequest class UserFormRequest extends FormRequest
{ {
use ConvertsDataTypes; use ConvertsDataTypes, ChecksLogin;
/** /**
* Get data for controller. * Get data for controller.

View File

@@ -22,6 +22,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Requests; namespace FireflyIII\Http\Requests;
use FireflyIII\Support\Request\ChecksLogin;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
/** /**
@@ -31,6 +32,8 @@ use Illuminate\Foundation\Http\FormRequest;
*/ */
class UserRegistrationRequest extends FormRequest class UserRegistrationRequest extends FormRequest
{ {
use ChecksLogin;
/** /**
* Verify the request. * Verify the request.
* *