From 67ffbf68fd07db0f856c582731607c975742cecd Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Mon, 16 Feb 2026 12:21:36 +0530 Subject: [PATCH 1/3] Updated fillable order in model file --- app/Models/ProductCharacteristicsMaster.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/Models/ProductCharacteristicsMaster.php b/app/Models/ProductCharacteristicsMaster.php index ecf6a3e..931c04c 100644 --- a/app/Models/ProductCharacteristicsMaster.php +++ b/app/Models/ProductCharacteristicsMaster.php @@ -5,23 +5,22 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; -use Illuminate\Database\Eloquent\Factories\HasFactory; class ProductCharacteristicsMaster extends Model { - use SoftDeletes; + use SoftDeletes; protected $fillable = [ 'plant_id', - 'line_id', 'item_id', + 'line_id', 'work_group_master_id', 'machine_id', + 'characteristics_type', 'name', 'inspection_type', - 'characteristics_type', - 'upper', 'lower', + 'upper', 'middle', 'created_at', 'updated_at', From 7c086ceb282cde06378facaf3222ca490340aea8 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Mon, 16 Feb 2026 12:22:23 +0530 Subject: [PATCH 2/3] Commented unwanted mount function --- .../EditProductCharacteristicsMaster.php | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/app/Filament/Resources/ProductCharacteristicsMasterResource/Pages/EditProductCharacteristicsMaster.php b/app/Filament/Resources/ProductCharacteristicsMasterResource/Pages/EditProductCharacteristicsMaster.php index d480f4a..616477f 100644 --- a/app/Filament/Resources/ProductCharacteristicsMasterResource/Pages/EditProductCharacteristicsMaster.php +++ b/app/Filament/Resources/ProductCharacteristicsMasterResource/Pages/EditProductCharacteristicsMaster.php @@ -15,27 +15,30 @@ class EditProductCharacteristicsMaster extends EditRecord return 'Edit Characteristics'; // This will replace the "New product characteristics master" } - public function mount(int|string $record): void - { - parent::mount($record); + // public function mount(int|string $record): void + // { + // parent::mount($record); - $model = $this->getRecord(); // actual model instance + // $model = $this->getRecord(); // actual model instance - // Step 1: Fill the actual saved fields first - $this->form->fill([ - 'plant_id' => $model->plant_id, - 'line_id' => $model->line_id, - 'item_id' => $model->item_id, - 'machine_id' => $model->machine_id, - 'name' => $model->name, - 'type' => $model->type, - 'upper' => $model->upper, - 'lower' => $model->lower, - 'middle' => $model->middle, - 'work_group_master_id' => optional($model->machine)->work_group_master_id, - ]); - - } + // // Step 1: Fill the actual saved fields first + // $this->form->fill([ + // 'plant_id' => $model->plant_id, + // 'item_id' => $model->item_id, + // 'line_id' => $model->line_id, + // 'machine_id' => $model->machine_id, + // 'name' => $model->name, + // 'characteristics_type' => $model->characteristics_type, + // 'inspection_type' => $model->inspection_type, + // // 'type' => $model->type, + // 'upper' => $model->upper, + // 'lower' => $model->lower, + // 'middle' => $model->middle, + // 'created_by' => $model->created_by, + // 'updated_by' => $model->updated_by, + // 'work_group_master_id' => optional($model->machine)->work_group_master_id, + // ]); + // } protected function getHeaderActions(): array { From 018c51b75b1ac4e29d4090d5299706b0e5693947 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Mon, 16 Feb 2026 12:39:29 +0530 Subject: [PATCH 3/3] Added id column in hidden and updated_by name updated on every control afterStateUpdated and searchable() method added on select controls --- .../ProductCharacteristicsMasterResource.php | 49 +++++++++++++++++-- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/app/Filament/Resources/ProductCharacteristicsMasterResource.php b/app/Filament/Resources/ProductCharacteristicsMasterResource.php index 2396211..f8b713d 100644 --- a/app/Filament/Resources/ProductCharacteristicsMasterResource.php +++ b/app/Filament/Resources/ProductCharacteristicsMasterResource.php @@ -43,11 +43,15 @@ class ProductCharacteristicsMasterResource extends Resource Forms\Components\Select::make('plant_id') ->label('Plant') ->relationship('plant', 'name') + ->searchable() ->options(function (callable $get) { $userHas = Filament::auth()->user()->plant_id; return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray(); }) + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->reactive() ->required(), Forms\Components\Select::make('item_id') @@ -63,10 +67,14 @@ class ProductCharacteristicsMasterResource extends Resource return \App\Models\Item::where('plant_id', $plantId)->pluck('code', 'id'); }) + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->required(), Forms\Components\Select::make('line_id') ->label('Line') ->reactive() + ->searchable() ->options(function (callable $get) { $plantId = $get('plant_id'); if (empty($plantId)) { @@ -77,10 +85,10 @@ class ProductCharacteristicsMasterResource extends Resource }) ->afterStateUpdated(function ($state, callable $set, callable $get) { $set('machine_id', null); - if (! $get('work_group_master_id')) { $set('machine_id', null); } + $set('updated_by', Filament::auth()->user()?->name); }) ->required(), // ->relationship('line', 'name'), @@ -88,6 +96,7 @@ class ProductCharacteristicsMasterResource extends Resource ->label('Group Work Center') ->required() ->reactive() + ->searchable() ->options(function (callable $get) { if (! $get('plant_id') || ! $get('line_id')) { return []; @@ -107,6 +116,7 @@ class ProductCharacteristicsMasterResource extends Resource ->disabled(fn (Get $get) => ! empty($get('id'))) ->afterStateUpdated(function ($state, callable $set, callable $get) { $lineId = $get('line_id'); + $set('updated_by', Filament::auth()->user()?->name); if (! $lineId) { $set('mGroupWorkError', 'Please select a line first.'); $set('machine_id', null); @@ -133,8 +143,8 @@ class ProductCharacteristicsMasterResource extends Resource Forms\Components\Select::make('machine_id') ->label('Work Center') // ->relationship('machine', 'name'), - ->searchable() ->reactive() + ->searchable() ->options(function (callable $get) { $plantId = $get('plant_id'); $lineId = $get('line_id'); @@ -153,6 +163,7 @@ class ProductCharacteristicsMasterResource extends Resource if (! $get('plant_id') || ! $get('line_id') || ! $get('work_group_master_id')) { $set('machine_id', null); } + $set('updated_by', Filament::auth()->user()?->name); }) ->required(), Forms\Components\Select::make('characteristics_type') @@ -162,16 +173,30 @@ class ProductCharacteristicsMasterResource extends Resource 'Process' => 'Process', ]) ->reactive() + ->searchable() + // ->preload() + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->required(), Forms\Components\TextInput::make('name') - ->label('Name'), + ->label('Name') + ->reactive() + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }), Forms\Components\Select::make('inspection_type') ->label('Inspection Type') + ->searchable() ->options([ 'Visual' => 'Visual', 'Value' => 'Value', ]) ->reactive() + // ->preload() + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->required(), // Forms\Components\Select::make('result') // ->label('Visual Type') @@ -197,7 +222,11 @@ class ProductCharacteristicsMasterResource extends Resource ->default(0.0) ->minValue(0.0) ->maxValue(fn (Get $get) => $get('upper') ?? PHP_INT_MAX) - ->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($state + $get('upper')) / 2)) + // ->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($state + $get('upper')) / 2)) + ->afterStateUpdated(function ($state, callable $set, callable $get) { + $set('middle', ($state + $get('upper')) / 2); + $set('updated_by', Filament::auth()->user()?->name); + }) ->visible(fn (callable $get) => $get('inspection_type') == 'Value'), Forms\Components\TextInput::make('upper') ->label('Upper') @@ -206,7 +235,11 @@ class ProductCharacteristicsMasterResource extends Resource ->default(0.0) ->minValue(fn (Get $get) => $get('lower') ?? 0) ->maxValue(PHP_INT_MAX) - ->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($get('lower') + $state) / 2)) + // ->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($get('lower') + $state) / 2)) + ->afterStateUpdated(function ($state, callable $set, callable $get) { + $set('middle', ($get('lower') + $state) / 2); + $set('updated_by', Filament::auth()->user()?->name); + }) ->visible(fn (callable $get) => $get('inspection_type') == 'Value'), Forms\Components\TextInput::make('middle') ->label('Middle') @@ -228,12 +261,18 @@ class ProductCharacteristicsMasterResource extends Resource // }; // }) ->dehydrateStateUsing(fn ($state, Get $get) => ($get('lower') + $get('upper')) / 2) + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->visible(fn (callable $get) => $get('inspection_type') == 'Value'), Forms\Components\Hidden::make('created_by') ->label('Created By') ->default(Filament::auth()->user()?->name), Forms\Components\Hidden::make('updated_by') ->label('Updated By'), + Forms\Components\TextInput::make('id') + ->hidden() + ->readOnly(), ]); }