Refactored plant selection logic and added 'updated_by' tracking in ProcessOrderResource form #297
@@ -48,13 +48,13 @@ class ProcessOrderResource extends Resource
|
|||||||
->schema([
|
->schema([
|
||||||
Forms\Components\Select::make('plant_id')
|
Forms\Components\Select::make('plant_id')
|
||||||
->label('Plant')
|
->label('Plant')
|
||||||
->reactive()
|
|
||||||
->relationship('plant', 'name')
|
->relationship('plant', 'name')
|
||||||
->options(function (callable $get) {
|
->options(function (callable $get) {
|
||||||
$userHas = Filament::auth()->user()->plant_id;
|
$userHas = Filament::auth()->user()->plant_id;
|
||||||
|
|
||||||
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::pluck('name', 'id')->toArray();
|
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray();
|
||||||
})
|
})
|
||||||
|
->reactive()
|
||||||
->afterStateUpdated(function ($state, $set, callable $get, $livewire) {
|
->afterStateUpdated(function ($state, $set, callable $get, $livewire) {
|
||||||
$plantId = $get('plant_id');
|
$plantId = $get('plant_id');
|
||||||
$set('coil_number', null);
|
$set('coil_number', null);
|
||||||
@@ -65,6 +65,7 @@ class ProcessOrderResource extends Resource
|
|||||||
$set('coilNumberError', null);
|
$set('coilNumberError', null);
|
||||||
$set('sfgNumberError', null);
|
$set('sfgNumberError', null);
|
||||||
}
|
}
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
})
|
})
|
||||||
->extraAttributes(fn ($get) => [
|
->extraAttributes(fn ($get) => [
|
||||||
'class' => $get('poPlantError') ? 'border-red-500' : '',
|
'class' => $get('poPlantError') ? 'border-red-500' : '',
|
||||||
@@ -74,7 +75,6 @@ class ProcessOrderResource extends Resource
|
|||||||
->required(),
|
->required(),
|
||||||
Forms\Components\Select::make('line_id')
|
Forms\Components\Select::make('line_id')
|
||||||
->label('Line')
|
->label('Line')
|
||||||
->reactive()
|
|
||||||
->options(function (callable $get) {
|
->options(function (callable $get) {
|
||||||
$plantId = $get('plant_id');
|
$plantId = $get('plant_id');
|
||||||
if (empty($plantId)) {
|
if (empty($plantId)) {
|
||||||
@@ -83,6 +83,7 @@ class ProcessOrderResource extends Resource
|
|||||||
|
|
||||||
return Line::where('plant_id', $plantId)->pluck('name', 'id');
|
return Line::where('plant_id', $plantId)->pluck('name', 'id');
|
||||||
})
|
})
|
||||||
|
->reactive()
|
||||||
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
$set('item_id', null);
|
$set('item_id', null);
|
||||||
$set('item_description', null);
|
$set('item_description', null);
|
||||||
@@ -92,13 +93,13 @@ class ProcessOrderResource extends Resource
|
|||||||
$set('received_quantity', null);
|
$set('received_quantity', null);
|
||||||
$set('sfg_number', null);
|
$set('sfg_number', null);
|
||||||
$set('machine_name', null);
|
$set('machine_name', null);
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
})
|
})
|
||||||
->required(),
|
->required(),
|
||||||
Forms\Components\Select::make('item_id')
|
Forms\Components\Select::make('item_id')
|
||||||
->label('Item Code')
|
->label('Item Code')
|
||||||
// ->relationship('item', 'id')
|
// ->relationship('item', 'id')
|
||||||
// ->required(),
|
// ->required(),
|
||||||
->reactive()
|
|
||||||
->searchable()
|
->searchable()
|
||||||
->options(function (callable $get) {
|
->options(function (callable $get) {
|
||||||
$plantId = $get('plant_id');
|
$plantId = $get('plant_id');
|
||||||
@@ -108,6 +109,7 @@ class ProcessOrderResource extends Resource
|
|||||||
|
|
||||||
return Item::where('plant_id', $plantId)->pluck('code', 'id');
|
return Item::where('plant_id', $plantId)->pluck('code', 'id');
|
||||||
})
|
})
|
||||||
|
->reactive()
|
||||||
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
$plantId = $get('plant_id');
|
$plantId = $get('plant_id');
|
||||||
$itemId = $get('item_id');
|
$itemId = $get('item_id');
|
||||||
@@ -133,6 +135,7 @@ class ProcessOrderResource extends Resource
|
|||||||
$set('item_description', null);
|
$set('item_description', null);
|
||||||
$set('item_uom', null);
|
$set('item_uom', null);
|
||||||
}
|
}
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
})
|
})
|
||||||
->required(),
|
->required(),
|
||||||
|
|
||||||
@@ -150,8 +153,10 @@ class ProcessOrderResource extends Resource
|
|||||||
$set('item_description', null);
|
$set('item_description', null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
}),
|
}),
|
||||||
|
|
||||||
Forms\Components\TextInput::make('item_uom')
|
Forms\Components\TextInput::make('item_uom')
|
||||||
->label('UOM')
|
->label('UOM')
|
||||||
->readOnly()
|
->readOnly()
|
||||||
@@ -167,13 +172,10 @@ class ProcessOrderResource extends Resource
|
|||||||
$set('item_uom', null);
|
$set('item_uom', null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
}),
|
}),
|
||||||
|
|
||||||
Forms\Components\TextInput::make('id')
|
|
||||||
->hidden()
|
|
||||||
->readOnly(),
|
|
||||||
// ->readOnly(true),
|
|
||||||
|
|
||||||
Forms\Components\TextInput::make('process_order')
|
Forms\Components\TextInput::make('process_order')
|
||||||
->label('Process Order')
|
->label('Process Order')
|
||||||
->reactive()
|
->reactive()
|
||||||
@@ -188,6 +190,7 @@ class ProcessOrderResource extends Resource
|
|||||||
$set('coilNumberError', null);
|
$set('coilNumberError', null);
|
||||||
$set('sfgNumberError', null);
|
$set('sfgNumberError', null);
|
||||||
}
|
}
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
})
|
})
|
||||||
->rule(function (callable $get) {
|
->rule(function (callable $get) {
|
||||||
return function (string $attribute, $value, \Closure $fail) use ($get) {
|
return function (string $attribute, $value, \Closure $fail) use ($get) {
|
||||||
@@ -255,6 +258,7 @@ class ProcessOrderResource extends Resource
|
|||||||
$set('coilNumberError', null);
|
$set('coilNumberError', null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
})
|
})
|
||||||
->extraAttributes(fn ($get) => [
|
->extraAttributes(fn ($get) => [
|
||||||
'class' => $get('coilNumberError') ? 'border-red-500' : '',
|
'class' => $get('coilNumberError') ? 'border-red-500' : '',
|
||||||
@@ -264,13 +268,27 @@ class ProcessOrderResource extends Resource
|
|||||||
->required(),
|
->required(),
|
||||||
Forms\Components\TextInput::make('order_quantity')
|
Forms\Components\TextInput::make('order_quantity')
|
||||||
->label('Order Quantity')
|
->label('Order Quantity')
|
||||||
->required(),
|
->default('1.000')
|
||||||
|
->required()
|
||||||
|
->reactive()
|
||||||
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
|
}),
|
||||||
Forms\Components\TextInput::make('received_quantity')
|
Forms\Components\TextInput::make('received_quantity')
|
||||||
->label('Received Quantity')
|
->label('Received Quantity')
|
||||||
->default('0')
|
->default('0.000')
|
||||||
->required(),
|
->required()
|
||||||
|
->reactive()
|
||||||
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
|
}),
|
||||||
Forms\Components\TextInput::make('scrap_quantity')
|
Forms\Components\TextInput::make('scrap_quantity')
|
||||||
->label('Scrap Quantity'),
|
->label('Scrap Quantity')
|
||||||
|
->default('0.000')
|
||||||
|
->reactive()
|
||||||
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
|
}),
|
||||||
Forms\Components\TextInput::make('sfg_number')
|
Forms\Components\TextInput::make('sfg_number')
|
||||||
->label('SFG Number')
|
->label('SFG Number')
|
||||||
->reactive()
|
->reactive()
|
||||||
@@ -297,6 +315,7 @@ class ProcessOrderResource extends Resource
|
|||||||
$set('sfgNumberError', null);
|
$set('sfgNumberError', null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
})
|
})
|
||||||
->extraAttributes(fn ($get) => [
|
->extraAttributes(fn ($get) => [
|
||||||
'class' => $get('sfgNumberError') ? 'border-red-500' : '',
|
'class' => $get('sfgNumberError') ? 'border-red-500' : '',
|
||||||
@@ -304,10 +323,27 @@ class ProcessOrderResource extends Resource
|
|||||||
->hint(fn ($get) => $get('sfgNumberError') ? $get('sfgNumberError') : null)
|
->hint(fn ($get) => $get('sfgNumberError') ? $get('sfgNumberError') : null)
|
||||||
->hintColor('danger'),
|
->hintColor('danger'),
|
||||||
Forms\Components\TextInput::make('machine_name')
|
Forms\Components\TextInput::make('machine_name')
|
||||||
->label('Machine ID'),
|
->label('Machine ID')
|
||||||
Forms\Components\TextInput::make('rework_status')
|
->reactive()
|
||||||
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
|
}),
|
||||||
|
Forms\Components\Select::make('rework_status')
|
||||||
->label('Rework Status')
|
->label('Rework Status')
|
||||||
->default(0),
|
->default(0)
|
||||||
|
->reactive()
|
||||||
|
->options([0 => 'No', 1 => 'Yes'])
|
||||||
|
->reactive()
|
||||||
|
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
|
||||||
|
// if ($get('id') && $get('rework_status') == 1) {
|
||||||
|
// $set('rework_status', 1);
|
||||||
|
// }
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
|
})
|
||||||
|
->visible(function () {
|
||||||
|
return Filament::auth()->user()->hasRole('Super Admin'); // || Filament::auth()->user()->can('update process order rework status')
|
||||||
|
})
|
||||||
|
->required(),
|
||||||
Forms\Components\FileUpload::make('attachment')
|
Forms\Components\FileUpload::make('attachment')
|
||||||
->label('PDF Upload')
|
->label('PDF Upload')
|
||||||
->acceptedFileTypes(['application/pdf'])
|
->acceptedFileTypes(['application/pdf'])
|
||||||
@@ -327,6 +363,7 @@ class ProcessOrderResource extends Resource
|
|||||||
})
|
})
|
||||||
->action(function ($get, callable $set) {
|
->action(function ($get, callable $set) {
|
||||||
$uploadedFiles = $get('attachment');
|
$uploadedFiles = $get('attachment');
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
|
|
||||||
if (is_array($uploadedFiles) && count($uploadedFiles) > 0) {
|
if (is_array($uploadedFiles) && count($uploadedFiles) > 0) {
|
||||||
$uploaded = reset($uploadedFiles);
|
$uploaded = reset($uploadedFiles);
|
||||||
@@ -415,8 +452,9 @@ class ProcessOrderResource extends Resource
|
|||||||
->visible(function () {
|
->visible(function () {
|
||||||
return Filament::auth()->user()->can('view process order packing slip');
|
return Filament::auth()->user()->can('view process order packing slip');
|
||||||
})
|
})
|
||||||
->action(function ($get) {
|
->action(function ($get, callable $set) {
|
||||||
$equipmentNumber = $get('process_order');
|
$equipmentNumber = $get('process_order');
|
||||||
|
$set('updated_by', Filament::auth()->user()?->name);
|
||||||
|
|
||||||
if (! $equipmentNumber) {
|
if (! $equipmentNumber) {
|
||||||
Notification::make()
|
Notification::make()
|
||||||
@@ -448,54 +486,16 @@ class ProcessOrderResource extends Resource
|
|||||||
|
|
||||||
return response()->download(Storage::disk('local')->path($fileToDownload));
|
return response()->download(Storage::disk('local')->path($fileToDownload));
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// Action::make('removeAttachment')
|
|
||||||
// ->label('Remove PDF')
|
|
||||||
// ->action(function ($get) {
|
|
||||||
// $equipmentNumber = $get('process_order');
|
|
||||||
|
|
||||||
// if (!$equipmentNumber) {
|
|
||||||
// Notification::make()
|
|
||||||
// ->title('No process order entered')
|
|
||||||
// ->danger()
|
|
||||||
// ->send();
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Get all files from uploads/temp
|
|
||||||
// $files = Storage::disk('local')->files('uploads/ProcessOrder');
|
|
||||||
|
|
||||||
// $fileToDelete = null;
|
|
||||||
// foreach ($files as $file) {
|
|
||||||
// if (str_contains($file, $equipmentNumber)) {
|
|
||||||
// $fileToDelete = $file;
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (!$fileToDelete) {
|
|
||||||
// Notification::make()
|
|
||||||
// ->title('PDF not found for this process order')
|
|
||||||
// ->danger()
|
|
||||||
// ->send();
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Delete the matched file
|
|
||||||
// Storage::disk('local')->delete($fileToDelete);
|
|
||||||
|
|
||||||
// Notification::make()
|
|
||||||
// ->title('PDF removed successfully')
|
|
||||||
// ->body("File for process order {$equipmentNumber} has been deleted.")
|
|
||||||
// ->success()
|
|
||||||
// ->send();
|
|
||||||
// }),
|
|
||||||
]),
|
]),
|
||||||
Forms\Components\Hidden::make('created_by')
|
Forms\Components\Hidden::make('created_by')
|
||||||
->label('Created By')
|
->label('Created By')
|
||||||
->default(Filament::auth()->user()?->name),
|
->default(Filament::auth()->user()?->name),
|
||||||
Forms\Components\Hidden::make('updated_by')
|
Forms\Components\Hidden::make('updated_by')
|
||||||
|
->label('Updated By')
|
||||||
->default(Filament::auth()->user()?->name),
|
->default(Filament::auth()->user()?->name),
|
||||||
|
Forms\Components\TextInput::make('id')
|
||||||
|
->hidden()
|
||||||
|
->readOnly(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -616,7 +616,7 @@ class ProcessOrderResource extends Resource
|
|||||||
->options(function (callable $get) {
|
->options(function (callable $get) {
|
||||||
$userHas = Filament::auth()->user()->plant_id;
|
$userHas = Filament::auth()->user()->plant_id;
|
||||||
|
|
||||||
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::pluck('name', 'id')->toArray();
|
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray();
|
||||||
})
|
})
|
||||||
->reactive()
|
->reactive()
|
||||||
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
||||||
@@ -765,7 +765,7 @@ class ProcessOrderResource extends Resource
|
|||||||
->options(function (callable $get) {
|
->options(function (callable $get) {
|
||||||
$userHas = Filament::auth()->user()->plant_id;
|
$userHas = Filament::auth()->user()->plant_id;
|
||||||
|
|
||||||
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::pluck('name', 'id')->toArray();
|
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray();
|
||||||
})
|
})
|
||||||
->required()
|
->required()
|
||||||
->reactive()
|
->reactive()
|
||||||
|
|||||||
Reference in New Issue
Block a user