40 lines
1.0 KiB
PHP
40 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire\Admin\Client;
|
|
|
|
use Livewire\Component;
|
|
use Livewire\Attributes\On;
|
|
use App\Models\Client;
|
|
use Exception;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class DeleteClient extends Component
|
|
{
|
|
#[On('confirm-delete')]
|
|
public function deleteClient($payload)
|
|
{
|
|
try {
|
|
// Sua lógica de autorização e exclusão (Correta)
|
|
$this->authorize('deleteClient', Auth::user());
|
|
|
|
$deletedClient = Client::findOrFail($payload);
|
|
|
|
if ($deletedClient) {
|
|
$deletedClient->delete();
|
|
}
|
|
|
|
// Sucesso (Dentro do try, onde deve estar)
|
|
$this->dispatch('client-deleted');
|
|
$this->dispatch('notify', message: 'Cliente excluído com sucesso!');
|
|
|
|
} catch (Exception $e) {
|
|
// Tratamento de erro
|
|
$this->dispatch('notify', message: 'Você não possui permissão para realizar essa ação.', type: 'error');
|
|
}
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
return '<div></div>';
|
|
}
|
|
} |