diff --git a/app/Filament/Resources/RfqTransporterBidResource.php b/app/Filament/Resources/RfqTransporterBidResource.php index f53110f..71bf471 100644 --- a/app/Filament/Resources/RfqTransporterBidResource.php +++ b/app/Filament/Resources/RfqTransporterBidResource.php @@ -49,7 +49,30 @@ class RfqTransporterBidResource extends Resource ->schema([ Forms\Components\Select::make('request_quotation_id') ->label('RFQ Number') - ->relationship('requestQuotation', 'rfq_number') + // ->relationship('requestQuotation', 'rfq_number') + ->relationship( + 'requestQuotation', + 'rfq_number', + function (Builder $query) { + + $userName = Filament::auth()->user()?->name; + + $masterIds = \App\Models\SpotRateTransportMaster::whereRaw( + "user_name::jsonb @> ?", + [json_encode([$userName])] + ) + ->pluck('id') + ->unique() + ->toArray(); + + if (empty($masterIds)) { + $query->whereRaw('1 = 0'); + return; + } + + $query->whereIn('spot_rate_transport_master_id', $masterIds); + } + ) ->reactive() // ->disabled(fn ($record) => !Filament::auth()->user()?->hasAnyRole(['Super Admin', 'TransporterBidSupervisor'])) ->disabled(fn ($record) => @@ -173,80 +196,107 @@ class RfqTransporterBidResource extends Resource }), Tables\Columns\TextColumn::make('requestQuotation.rfq_number') ->label('RFQ Number') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.pickup_address') ->label('PickUp Address') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.delivery_address') ->label('Delivery Address') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.type_of_vehicle') ->label('Type Of Vehicle') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.weight') ->label('Weight') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.volumetrice_size_inch') ->label('Volumetrice Size Inch') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.no_of_vehicle') ->label('No Of Vehicle') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.product_name') ->label('Product Name') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.pick_and_delivery') ->label('Pick And Delivery') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.payment_term') ->label('Payment Term') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.paid_topay') ->label('Paid Today') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.loading_by') ->label('Loading By') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.unloading_by') ->label('Unloading By') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.special_type') ->label('Special Type') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.rfq_date_time') ->label('RFQ DateTime') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.require_date_time') ->label('RFQ Require DateTime') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('requestQuotation.rfq_rec_on_or_before') ->label('RFQ Rec On Or Before') + ->searchable() ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('created_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('created_by') + ->label('Created By') + ->searchable() + ->alignCenter() + ->sortable(), Tables\Columns\TextColumn::make('updated_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('updated_by') + ->label('Updated By') + ->searchable() + ->alignCenter() + ->sortable(), Tables\Columns\TextColumn::make('deleted_at') ->dateTime() ->sortable()