43 lines
1.1 KiB
PHP
43 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire\Ui\System\Modal;
|
|
|
|
use App\Models\User;
|
|
use LivewireUI\Modal\ModalComponent;
|
|
|
|
class UserDeleteModal extends ModalComponent
|
|
{
|
|
public int $userId;
|
|
public string $userName = '';
|
|
|
|
public function mount(int $userId): void
|
|
{
|
|
$user = User::findOrFail($userId);
|
|
$this->userId = $userId;
|
|
$this->userName = $user->name;
|
|
}
|
|
|
|
public function delete(): void
|
|
{
|
|
if ($this->userId === auth()->id()) {
|
|
$this->dispatch('toast', type: 'error', badge: 'Benutzer',
|
|
title: 'Fehler', text: 'Du kannst deinen eigenen Account nicht löschen.', duration: 5000);
|
|
$this->closeModal();
|
|
return;
|
|
}
|
|
|
|
User::findOrFail($this->userId)->delete();
|
|
|
|
$this->dispatch('toast', type: 'done', badge: 'Benutzer',
|
|
title: 'Gelöscht', text: "Benutzer <b>{$this->userName}</b> wurde entfernt.", duration: 4000);
|
|
|
|
$this->dispatch('$refresh');
|
|
$this->closeModal();
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
return view('livewire.ui.system.modal.user-delete-modal');
|
|
}
|
|
}
|