Added crud admin rights to particular users and edit email permission to particular user
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled

This commit is contained in:
dhanabalan
2026-05-30 11:56:57 +05:30
parent 531c627e72
commit 028d985e9f
2 changed files with 27 additions and 11 deletions

View File

@@ -10,6 +10,7 @@ use App\Models\User;
use Filament\Facades\Filament;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Forms\Get;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Actions\ExportAction;
@@ -53,16 +54,19 @@ class UserResource extends Resource
->minLength(3)
// ->reactive()
->live(debounce: 600)
->disabled(fn (Get $get) => ! empty($get('id')) && Filament::auth()->user()?->name != 'Admin' && Filament::auth()->user()?->name != 'Dhanabalan S' && Filament::auth()->user()?->name != 'Ranjith B' && ($get('name') == 'Admin' || $get('name') == 'Dhanabalan S' || $get('name') == 'Ranjith B'))
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('email', $state.'@cripumps.com');
if (Filament::auth()->user()?->name != 'Dhanabalan S') {
$set('email', $state.'@cripumps.com');
}
})
->maxLength(255),
Forms\Components\TextInput::make('email')
->label('Email')
->required()
// ->email()
->unique(ignoreRecord: true)
->required()
->readOnly()
->readOnly(fn () => Filament::auth()->user()?->name != 'Dhanabalan S')
// ->rule(function (callable $get) {
// return Rule::unique('users', 'email')
// ->ignore($get('id')); // Ignore current record during updates
@@ -75,10 +79,11 @@ class UserResource extends Resource
->label('Email Verified At'),
Forms\Components\TextInput::make('password')
->label('Password')
->required()
->password()
->minLength(3)
->revealable()
->required()
->disabled(fn (Get $get) => ! empty($get('id')) && Filament::auth()->user()?->name != 'Admin' && Filament::auth()->user()?->name != 'Dhanabalan S' && Filament::auth()->user()?->name != 'Ranjith B' && ($get('name') == 'Admin' || $get('name') == 'Dhanabalan S' || $get('name') == 'Ranjith B'))
// ->dehydrateStateUsing(fn (string $state): string => Hash::make($state))
->maxLength(255),
// Forms\Components\Select::make('roles')