- 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).
42 lines
1.3 KiB
PHP
42 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests\Repuve;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
class PackageUpdateRequest extends FormRequest
|
|
{
|
|
public function authorize(): bool
|
|
{
|
|
return auth()->user()->can('packages.edit');
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'lot' => ['sometimes', 'string'],
|
|
'box_number' => ['sometimes', 'integer'],
|
|
'starting_page' => ['sometimes', 'integer', 'min:1'],
|
|
'ending_page' => ['sometimes', 'integer', 'min:1', 'gte:starting_page'],
|
|
];
|
|
}
|
|
|
|
public function messages(): array
|
|
{
|
|
return [
|
|
'lot.required' => 'El lote es requerido',
|
|
|
|
'box_number.required' => 'El número de caja es requerido',
|
|
|
|
'starting_page.required' => 'La página inicial es requerida',
|
|
'starting_page.integer' => 'La página inicial debe ser un número',
|
|
'starting_page.min' => 'La página inicial debe ser al menos 1',
|
|
|
|
'ending_page.required' => 'La página final es requerida',
|
|
'ending_page.integer' => 'La página final debe ser un número',
|
|
'ending_page.min' => 'La página final debe ser al menos 1',
|
|
'ending_page.gte' => 'La página final debe ser mayor o igual a la página inicial',
|
|
];
|
|
}
|
|
}
|