74 lines
2.1 KiB
PHP
74 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace LaraBB\Forum\UI\Web\Requests;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Http\RedirectResponse;
|
|
|
|
/**
|
|
* Class Update
|
|
* @package LaraBB\Forum\UI\Web\Requests
|
|
*/
|
|
class Update extends FormRequest
|
|
{
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function authorize(): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'uuid' => 'required|uuid|exists:forums,uuid',
|
|
'title' => 'required|max:255',
|
|
'category' => 'required|exists:categories,uuid',
|
|
'slug' => 'required|max:255',
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function messages(): array
|
|
{
|
|
return [
|
|
'uuid.required' => 'Es wurde keine UUID übergeben.',
|
|
'uuid.uuid' => 'Die übergebene UUID ist ungültig.',
|
|
'uuid.exists' => 'Das zu bearbeitende Forum existiert nicht.',
|
|
'category.required' => 'Bitte wählen Sie eine Kategorie aus!',
|
|
'category.exists' => 'Die angegebene Kategorie existiert nicht.',
|
|
'title.required' => 'Bitte geben Sie einen Titel für das neue Forum an!',
|
|
'title.max' => 'Der angegebene Titel ist zu lang (max. :max Zeichen).',
|
|
'slug.required' => 'Bitte geben Sie eine URL zum Forum an!',
|
|
'slug.max' => 'Die angegebene URL ist zu lang (max. :max Zeichen).'
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @return RedirectResponse
|
|
*/
|
|
public function success(): RedirectResponse
|
|
{
|
|
return redirect()->route('admin.forums-edit', [$this->post('uuid')])->with([
|
|
'success' => 'Das Forum wurde erfolgreich bearbeitet.',
|
|
'alert-options' => 'aside'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* @return RedirectResponse
|
|
*/
|
|
public function failed(): RedirectResponse
|
|
{
|
|
return redirect()->route('admin.forums.edit', [$this->post('uuid')])->with([
|
|
'error' => 'Das Forum konnte aufgrund einer technischen Störung nicht erstellt werden.'
|
|
])->withInput();
|
|
}
|
|
}
|