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; namespace App\Filament\Resources;
use App\Filament\Exports\RequestCharacteristicExporter;
use App\Filament\Resources\RequestCharacteristicResource\Pages; use App\Filament\Resources\RequestCharacteristicResource\Pages;
use App\Models\CharacteristicApproverMaster; use App\Models\CharacteristicApproverMaster;
use App\Models\Item; use App\Models\Item;
@@ -15,6 +16,8 @@ use Filament\Forms\Get;
use Filament\Forms\Set; use Filament\Forms\Set;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Tables; use Filament\Tables;
use Filament\Tables\Actions\ExportAction;
use Filament\Tables\Actions\ImportAction;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
@@ -140,6 +143,9 @@ class RequestCharacteristicResource extends Resource
$set('aufnr', null); $set('aufnr', null);
$set('updated_by', Filament::auth()->user()?->name); $set('updated_by', Filament::auth()->user()?->name);
}) })
->default(function () {
return optional(RequestCharacteristic::latest()->first())->item_id ?? [];
})
->disabled(fn ($get) => self::isFieldDisabled($get)), ->disabled(fn ($get) => self::isFieldDisabled($get)),
Forms\Components\TextInput::make('aufnr') Forms\Components\TextInput::make('aufnr')
->label('Aufnr') ->label('Aufnr')
@@ -148,6 +154,9 @@ class RequestCharacteristicResource extends Resource
->afterStateUpdated(function ($state, callable $set, callable $get) { ->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name); $set('updated_by', Filament::auth()->user()?->name);
}) })
->default(function () {
return optional(RequestCharacteristic::latest()->first())->aufnr ?? '';
})
->disabled(fn ($get) => self::isFieldDisabled($get)), ->disabled(fn ($get) => self::isFieldDisabled($get)),
Forms\Components\Select::make('machine_name') Forms\Components\Select::make('machine_name')
->label('Machines') ->label('Machines')
@@ -162,14 +171,29 @@ class RequestCharacteristicResource extends Resource
return []; 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) { ->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('characteristic_approver_master_id', null); $set('characteristic_approver_master_id', null);
// dd($get('characteristic_approver_master_id'));
$set('updated_by', Filament::auth()->user()?->name); $set('updated_by', Filament::auth()->user()?->name);
}) })
->default(function () { ->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) { ->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
if ($get('id')) { if ($get('id')) {
@@ -188,8 +212,8 @@ class RequestCharacteristicResource extends Resource
}) })
->required(), ->required(),
Forms\Components\Select::make('characteristic_approver_master_id') Forms\Components\Select::make('characteristic_approver_master_id')
->label('Master Characteristic') ->label('Master Characteristic Field')
->relationship('characteristicApproverMaster', 'characteristic_field') // ->relationship('characteristicApproverMaster', 'characteristic_field')
->reactive() ->reactive()
->nullable() ->nullable()
->searchable() ->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'); 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) { ->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name); $set('updated_by', Filament::auth()->user()?->name);
}) })
@@ -219,6 +246,7 @@ class RequestCharacteristicResource extends Resource
->afterStateUpdated(function ($state, callable $set, callable $get) { ->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name); $set('updated_by', Filament::auth()->user()?->name);
}) })
->required()
->disabled(fn ($get) => self::isFieldDisabled($get)), ->disabled(fn ($get) => self::isFieldDisabled($get)),
Forms\Components\TextInput::make('current_value') Forms\Components\TextInput::make('current_value')
->label('Current Value') ->label('Current Value')
@@ -250,6 +278,7 @@ class RequestCharacteristicResource extends Resource
Forms\Components\Select::make('approver_status1') Forms\Components\Select::make('approver_status1')
->label('Approver Status') ->label('Approver Status')
->reactive() ->reactive()
->live()
->options([ ->options([
'Approved' => 'Approved', 'Approved' => 'Approved',
'Hold' => 'Hold', 'Hold' => 'Hold',
@@ -313,6 +342,7 @@ class RequestCharacteristicResource extends Resource
default => 'Updated At', default => 'Updated At',
}) })
->reactive() ->reactive()
->live()
->afterStateUpdated(function ($state, callable $set, callable $get) { ->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name); $set('updated_by', Filament::auth()->user()?->name);
}) })
@@ -814,6 +844,22 @@ class RequestCharacteristicResource extends Resource
Tables\Actions\ForceDeleteBulkAction::make(), Tables\Actions\ForceDeleteBulkAction::make(),
Tables\Actions\RestoreBulkAction::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');
}),
]); ]);
} }