37 lines
1.3 KiB
PHP
37 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Resources\UserResource\Pages;
|
|
|
|
use App\Admin\Resources\UserResource;
|
|
use Filament\Actions;
|
|
use Filament\Resources\Pages\EditRecord;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class EditUser extends EditRecord
|
|
{
|
|
protected static string $resource = UserResource::class;
|
|
|
|
protected function getHeaderActions(): array
|
|
{
|
|
return [
|
|
Actions\Action::make('tickets')
|
|
->label('All Tickets')
|
|
->icon('ri-customer-service-fill')
|
|
->url(fn ($record) => "/admin/tickets?tableSearch={$record->email}&activeTab=all", true)
|
|
->openUrlInNewTab(),
|
|
Actions\DeleteAction::make()
|
|
->icon('ri-delete-back-2-fill')
|
|
->label('Delete User')
|
|
->hidden(fn ($record) => Auth::user()->id == $record->id),
|
|
Actions\Action::make('impersonate')
|
|
->label('Impersonate User')
|
|
->icon('heroicon-s-user-circle')
|
|
->action(function ($record) {
|
|
session()->put('impersonating', $record->id);
|
|
$this->redirect('/dashboard');
|
|
})
|
|
->hidden(fn ($record) => Auth::user()->hasPermission('impersonate', $record) == false || Auth::user()->id == $record->id),
|
|
];
|
|
}
|
|
}
|