- Se agregó autorización basada en permisos en múltiples Requests. - Nuevos Requests para motivos de cancelación y tags con validación y autorización. - Se añadieron métodos de roles al modelo User (isDeveloper, isAdmin, isPrimary). - Se actualizó el acceso a Telescope usando validación por roles. - Mejora en el manejo de excepciones de autorización. - Actualización de RoleSeeder con nuevas convenciones de permisos. - Actualización de dependencias (composer.lock).
40 lines
1.0 KiB
PHP
40 lines
1.0 KiB
PHP
<?php namespace App\Http\Requests\Repuve;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
class CatalogCancellationReasonUpdateRequest extends FormRequest
|
|
{
|
|
|
|
public function authorize(): bool
|
|
{
|
|
return auth()->user()->can('catalogs.cancellation_reasons.edit');
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'name' => ['required', 'string'],
|
|
'description' => ['nullable', 'string'],
|
|
'applies_to' => ['required', 'in:cancelacion,sustitucion,ambos'],
|
|
];
|
|
}
|
|
|
|
public function messages(): array
|
|
{
|
|
return [
|
|
'name.required' => 'El nombre es obligatorio.',
|
|
'applies_to.required' => 'El tipo de aplicación es obligatorio.',
|
|
'applies_to.in' => 'El tipo de aplicación debe ser: cancelacion, sustitucion o ambos.',
|
|
];
|
|
}
|
|
|
|
public function attributes(): array
|
|
{
|
|
return [
|
|
'name' => 'nombre',
|
|
'description' => 'descripción',
|
|
'applies_to' => 'aplica a',
|
|
];
|
|
}
|
|
}
|