fix home route with parameters - issue #23

This commit is contained in:
Alexis Gousseau 2023-06-26 16:28:23 +02:00
parent 1420bb52e6
commit 8988559c68
6 changed files with 25 additions and 17 deletions

View file

@ -38,6 +38,7 @@ class Kernel extends HttpKernel
\App\Http\Middleware\VerifyCsrfToken::class,
\CodeZero\LocalizedRoutes\Middleware\SetLocale::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\Lang::class,
\App\Http\Middleware\SecureHeaders::class,
],

View file

@ -25,6 +25,9 @@ class Lang
app()->setLocale(session()->get('lang', config('app.locale')));
return $next($request);
}
if (Route::current()->getName() == null && count($request->all()) > 0) {
return redirect()->route('home', $request->all());
}
return $next($request);
}
}

View file

@ -32,14 +32,14 @@ abstract class UpdateMiniCrudRequest extends FormRequest
* Get the validation rules that apply to the request.
*
* @return array
* @phpcs:disable Generic.Metrics.CyclomaticComplexity.TooHigh
* @phpcs:disable Generic.Metrics.NestingLevel.TooHigh
* @phpcs:disable Generic.Metrics.CyclomaticComplexity.MaxExceeded
*/
public function rules()
{
// phpcs:enable
$rules = [];
$data = $this->{$this->modelName}->data ?? null;
$data = $this->{$this->modelName}->data ?? null;
if (!$data and $this->route()->getName() === 'bo.concepts.store') {
$data = Concept::getEmptyData();
}
@ -172,9 +172,11 @@ abstract class UpdateMiniCrudRequest extends FormRequest
* @param string|array $inputTypeValidate
* @param array $input
* @return array
* @phpcs:disable Generic.Metrics.CyclomaticComplexity.TooHigh
*/
public function compileValidate(string|array $inputTypeValidate, array $input): array
{
// phpcs:enable
if (\is_string($inputTypeValidate)) {
$inputTypeValidate = explode('|', $inputTypeValidate);
}
@ -213,8 +215,8 @@ abstract class UpdateMiniCrudRequest extends FormRequest
*/
private function ruleHasToComeFirst(string $rule): int
{
$rule = \collect(\explode(':', $rule, 2))->filter()->first(null, '');
$rules = \collect([
$rule = \collect(\explode(':', $rule, 2))->filter()->first(null, '');
$rules = \collect([
'required_if',
'required_unless', 'required_with', 'required_with_all',
'required_without', 'required_without_all', 'required_with_all',

View file

@ -250,13 +250,17 @@ class Concept extends Model
'label' => "Bloc {$index} - Title",
'inputType' => InputType::string->value,
'value' => $title,
'validate' => ($index > 4 ? "required_if:bloc_{$index}_use_bloc,true" : 'required') . '|min:4|max:100'
'validate' => ($index > 4 ? "required_if:bloc_{$index}_use_bloc,true" : 'required') . '|min:4|max:100'
];
$data["bloc_{$index}_color"] = [
'label' => "Bloc {$index} - Color",
'inputType' => InputType::selectEnum->value,
'value' => $color,
'validate' => [($index > 4 ? "required_if:bloc_{$index}_use_bloc,true" : 'required'), 'integer', new Enum(ColorsEnum::class)]
'validate' => [
($index > 4 ? "required_if:bloc_{$index}_use_bloc,true" : 'required'),
'integer',
new Enum(ColorsEnum::class)
]
];
$data["bloc_{$index}_text"] = [
'label' => "Bloc {$index} - Text",
@ -271,7 +275,7 @@ class Concept extends Model
'alt' => $imgAlt,
'title' => $imgTitle,
'value' => $img,
'validate' => ($index > 4 ? "required_if:bloc_{$index}_use_bloc,true" : '') . '',
'validate' => ($index > 4 ? "required_if:bloc_{$index}_use_bloc,true" : '') . '',
];
$data["bloc_{$index}_video"] = [
@ -294,14 +298,14 @@ class Concept extends Model
];
if ($index > 4) {
$data["bloc_{$index}_title"]['required'] = false;
$data["bloc_{$index}_title"]['validate'] .= '|nullable';
$data["bloc_{$index}_color"]['required'] = false;
$data["bloc_{$index}_text"]['required'] = false;
$data["bloc_{$index}_text"]['validate'] .= '|nullable';
$data["bloc_{$index}_image"]['required'] = false;
$data["bloc_{$index}_image"]['validate'] .= '|nullable';
$data["bloc_{$index}_video"]['required'] = false;
$data["bloc_{$index}_title"]['required'] = false;
$data["bloc_{$index}_title"]['validate'] .= '|nullable';
$data["bloc_{$index}_color"]['required'] = false;
$data["bloc_{$index}_text"]['required'] = false;
$data["bloc_{$index}_text"]['validate'] .= '|nullable';
$data["bloc_{$index}_image"]['required'] = false;
$data["bloc_{$index}_image"]['validate'] .= '|nullable';
$data["bloc_{$index}_video"]['required'] = false;
$data["bloc_{$index}_has_video"]['required'] = false;
}

View file

@ -7,7 +7,6 @@ use App\Lib\Helpers\FileStorageHelper;
use App\Lib\Helpers\ToolboxHelper;
use App\Traits\Models\HasTranslations;
use App\Traits\Models\MiniCrudModel;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;

View file

@ -70,5 +70,4 @@ Route::namespace('\App\Http\Controllers\Fo')->middleware(['throttle:credentials'
});
});
Route::fallback(\CodeZero\LocalizedRoutes\Controllers\FallbackController::class);