Refactor plant selection options across multiple resources to display plants based on the authenticated user's plant ID, ensuring users only see relevant options.

This commit is contained in:
dhanabalan
2025-09-29 16:35:55 +05:30
parent a4afe2f3c7
commit a9803f927f
34 changed files with 208 additions and 32 deletions

View File

@@ -7,6 +7,7 @@ use App\Filament\Imports\TempLiveReadingImporter;
use App\Filament\Resources\TempLiveReadingResource\Pages;
use App\Filament\Resources\TempLiveReadingResource\RelationManagers;
use App\Models\MfmMeter;
use App\Models\Plant;
use App\Models\TempLiveReading;
use Filament\Facades\Filament;
use Filament\Forms;
@@ -38,7 +39,11 @@ class TempLiveReadingResource extends Resource
->label('Plant')
->relationship('plant', 'name')
->reactive()
->required(),
->required()
->options(function (callable $get) {
$userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::pluck('name', 'id')->toArray();
}),
Forms\Components\Select::make('mfm_meter_id')
->label('MFM Meter ID')
->required()
@@ -52,7 +57,7 @@ class TempLiveReadingResource extends Resource
return MfmMeter::where('plant_id', $plantId)
->pluck('sequence', 'id')
->toArray();
}),
}),
Forms\Components\TextInput::make('register_data')
->label('Register Data')
->required(),