fix(ui): fix filter state handling in Filament resources and remove soft deletes

Handle array-based filter states in CustomerCreditResource and
ShipmentChecklistResource to ensure correct query execution.
Also remove SoftDeletes trait from ShipmentChecklist model.
This commit is contained in:
Kazem Alghasi 2026-09-03 08:01:00 +03:30
parent 02c29db696
commit eda3110ac1
3 changed files with 10 additions and 4 deletions

View File

@ -134,11 +134,16 @@ class CustomerCreditResource extends Resource
'has_available' => 'باقیمانده', 'has_available' => 'باقیمانده',
]) ])
->query(function ($query, $filter) { ->query(function ($query, $filter) {
match ($filter->getState()) { $state = $filter->getState();
if (is_array($state)) {
$state = $state['value'] ?? null;
}
match ($state) {
'has_limit' => $query->where('credit_limit', '>', 0), 'has_limit' => $query->where('credit_limit', '>', 0),
'no_limit' => $query->where('credit_limit', 0), 'no_limit' => $query->where('credit_limit', 0),
'has_used' => $query->where('credit_used', '>', 0), 'has_used' => $query->where('credit_used', '>', 0),
'has_available' => $query->whereRaw('credit_limit - credit_used > 0'), 'has_available' => $query->whereRaw('credit_limit - credit_used > 0'),
default => null,
}; };
}), }),
]) ])

View File

@ -128,9 +128,11 @@ class ShipmentChecklistResource extends Resource
'pending' => 'در انتظار', 'pending' => 'در انتظار',
]) ])
->query(function ($query, $filter) { ->query(function ($query, $filter) {
match ($filter->getState()) { $state = is_array($filter->getState()) ? ($filter->getState()['value'] ?? null) : $filter->getState();
match ($state) {
'completed' => $query->where('is_completed', true), 'completed' => $query->where('is_completed', true),
'pending' => $query->where('is_completed', false), 'pending' => $query->where('is_completed', false),
default => null,
}; };
}), }),
Tables\Filters\SelectFilter::make('status') Tables\Filters\SelectFilter::make('status')

View File

@ -4,11 +4,10 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class ShipmentChecklist extends Model class ShipmentChecklist extends Model
{ {
use HasFactory, SoftDeletes; use HasFactory;
protected $fillable = [ protected $fillable = [
'shipment_id', 'shipment_id',