Enhance RequestCharacteristicResource form with default values and export action
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 15s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 14s
Laravel Larastan / larastan (pull_request) Failing after 6m21s
Laravel Pint / pint (pull_request) Successful in 5m51s

This commit is contained in:
dhanabalan
2026-01-28 15:34:57 +05:30
parent 7b6762c2a1
commit 7b7d953b79

View File

@@ -2,6 +2,7 @@
namespace App\Filament\Resources;
use App\Filament\Exports\RequestCharacteristicExporter;
use App\Filament\Resources\RequestCharacteristicResource\Pages;
use App\Models\CharacteristicApproverMaster;
use App\Models\Item;
@@ -15,6 +16,8 @@ use Filament\Forms\Get;
use Filament\Forms\Set;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Actions\ExportAction;
use Filament\Tables\Actions\ImportAction;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -140,6 +143,9 @@ class RequestCharacteristicResource extends Resource
$set('aufnr', null);
$set('updated_by', Filament::auth()->user()?->name);
})
->default(function () {
return optional(RequestCharacteristic::latest()->first())->item_id ?? [];
})
->disabled(fn ($get) => self::isFieldDisabled($get)),
Forms\Components\TextInput::make('aufnr')
->label('Aufnr')
@@ -148,6 +154,9 @@ class RequestCharacteristicResource extends Resource
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
->default(function () {
return optional(RequestCharacteristic::latest()->first())->aufnr ?? '';
})
->disabled(fn ($get) => self::isFieldDisabled($get)),
Forms\Components\Select::make('machine_name')
->label('Machines')
@@ -162,14 +171,29 @@ class RequestCharacteristicResource extends Resource
return [];
}
return CharacteristicApproverMaster::where('plant_id', $plantId)->where('machine_id', $machineId)->pluck('machine_name', 'id')->unique();
return CharacteristicApproverMaster::where('plant_id', $plantId)->where('machine_id', $machineId)->pluck('machine_name', 'machine_name')->unique();
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('characteristic_approver_master_id', null);
// dd($get('characteristic_approver_master_id'));
$set('updated_by', Filament::auth()->user()?->name);
})
->default(function () {
return optional(RequestCharacteristic::latest()->first())->characteristic_approver_master_id ?? [];
$machineName = '';
$reqId = RequestCharacteristic::latest()->first()?->characteristic_approver_master_id;
if ($reqId) {
$reqMac = CharacteristicApproverMaster::where('id', $reqId)->first()?->machine_name;
if ($reqMac) {
$machineName = $reqMac;
} else {
$machineName = null;
}
} else {
$machineName = null;
}
// return optional(RequestCharacteristic::latest()->first())->characteristic_approver_master_id ?? [];
return $machineName ?? [];
})
->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
if ($get('id')) {
@@ -188,8 +212,8 @@ class RequestCharacteristicResource extends Resource
})
->required(),
Forms\Components\Select::make('characteristic_approver_master_id')
->label('Master Characteristic')
->relationship('characteristicApproverMaster', 'characteristic_field')
->label('Master Characteristic Field')
// ->relationship('characteristicApproverMaster', 'characteristic_field')
->reactive()
->nullable()
->searchable()
@@ -204,6 +228,9 @@ class RequestCharacteristicResource extends Resource
return CharacteristicApproverMaster::where('plant_id', $plantId)->where('machine_id', $machineId)->where('machine_name', $machineName)->pluck('characteristic_field', 'id');
})
->default(function () {
return optional(RequestCharacteristic::latest()->first())->characteristic_approver_master_id ?? [];
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
@@ -219,6 +246,7 @@ class RequestCharacteristicResource extends Resource
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required()
->disabled(fn ($get) => self::isFieldDisabled($get)),
Forms\Components\TextInput::make('current_value')
->label('Current Value')
@@ -250,6 +278,7 @@ class RequestCharacteristicResource extends Resource
Forms\Components\Select::make('approver_status1')
->label('Approver Status')
->reactive()
->live()
->options([
'Approved' => 'Approved',
'Hold' => 'Hold',
@@ -313,6 +342,7 @@ class RequestCharacteristicResource extends Resource
default => 'Updated At',
})
->reactive()
->live()
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
@@ -814,6 +844,22 @@ class RequestCharacteristicResource extends Resource
Tables\Actions\ForceDeleteBulkAction::make(),
Tables\Actions\RestoreBulkAction::make(),
]),
])
->headerActions([
// ImportAction::make()
// ->label('Import Request Characteristics')
// ->color('warning')
// ->importer(RequestCharacteristicImporter::class)
// ->visible(function () {
// return Filament::auth()->user()->can('view import request characteristic');
// }),
ExportAction::make()
->label('Export Request Characteristics')
->color('warning')
->exporter(RequestCharacteristicExporter::class)
->visible(function () {
return Filament::auth()->user()->can('view export request characteristic');
}),
]);
}