Files
sirpremiumv2/app/Http/Livewire/ShowRoles.php
T
2024-07-12 10:53:59 -05:00

108 lines
2.5 KiB
PHP
Executable File

<?php
namespace App\Http\Livewire;
use App\Models\Role;
use Livewire\Component;
use Jantinnerezo\LivewireAlert\LivewireAlert;
class ShowRoles extends Component
{
use LivewireAlert;
public $editar= false;
public $nombre;
public $add;
public $ro;
public function render()
{
$consulta_roles = Role::withCount('usuarios')->get();
//dd($consulta_roles);
return view('livewire.show-roles',['roles'=>$consulta_roles]);
}
public function editar($id){
$this->nombre = Role::find($id)->nombre;
$this->ro = $id;
$this->editar = true;
}
public function crear(){
if (!empty($this->nombre)) {
$crear_rol = new Role;
$crear_rol->nombre = $this->nombre;
$crear_rol->save();
$this->alert('success', 'Rol creado correctamente!', [
'position' => 'top'
]);
$this->add = false;
}else{
$this->alert('warning', 'Campo Nombre sin diligenciar!', [
'position' => 'top'
]);
}
}
public function eliminar($id)
{
$this->ro = $id;
$this->alert('warning', '¿Eliminar rol?', [
'position' => 'center',
'timer' => '10000',
'toast' => false,
'text' => 'Esta seguro',
'showConfirmButton' => true,
'onConfirmed' => 'confirmed',
'showDenyButton' => false,
'onDenied' => '',
'showCancelButton' => true,
'onDismissed' => '',
'cancelButtonText' => 'Salir',
'confirmButtonText' => 'Si',
'customClass' => [
'confirmButton' => 'bg-green-500',
'denyButton' => 'bg-red-500',
'cancelButton' => 'bg-gray-500',
]
]);
}
public function getListeners()
{
return [
'confirmed'
];
}
public function confirmed()
{
$eliminar= Role::find($this->ro)->delete();
$this->alert('success', 'Rol eliminado!', [
'position' => 'top'
]);
}
public function limpiarInputAdd(){
$this->editar= false;
$this->add = false;
}
public function actualizar(){
$eliminar= Role::find($this->ro);
//dd($eliminar);
$eliminar->update(['nombre'=>$this->nombre]);
$this->alert('success', 'Rol actualizado!', [
'position' => 'top'
]);
$this->editar=false;
}
}