- 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).
49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php namespace App\Http\Requests\Roles;
|
|
/**
|
|
* @copyright (c) 2025 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
|
|
*/
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Support\Str;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
/**
|
|
* Actualizar rol
|
|
*
|
|
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
|
*
|
|
* @version 1.0.0
|
|
*/
|
|
class RoleUpdateRequest extends FormRequest
|
|
{
|
|
/**
|
|
* Determinar si el usuario está autorizado para realizar esta solicitud
|
|
*/
|
|
public function authorize(): bool
|
|
{
|
|
return auth()->user()->can('roles.edit');
|
|
}
|
|
|
|
/**
|
|
* Obtener las reglas de validación que se aplican a la solicitud
|
|
*/
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'description' => ['required', 'string', Rule::unique('roles')->ignore($this->route('role'))],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Después de la validación
|
|
*/
|
|
protected function passedValidation()
|
|
{
|
|
if(!in_array($this->route('role')->id, [1, 2])) {
|
|
$this->merge([
|
|
'name' => Str::slug($this->description),
|
|
]);
|
|
}
|
|
}
|
|
}
|