feat: Filter location and sub-location selections in issue management forms to only display active records.

This commit is contained in:
Yoga Pangestu 2026-01-29 21:38:08 +07:00
parent ac36fe3051
commit 94f1a06b44
4 changed files with 18 additions and 6 deletions

View File

@ -19,8 +19,4 @@ ### Steps:
3. **Generate & Commit**: Generate a professional message following [Conventional Commits](https://www.conventionalcommits.org/) and execute the commit.
```bash
git commit -m "<ai_generated_message>"
```
4. **Push**: Optionally push the changes.
```bash
git push
```

View File

@ -35,7 +35,7 @@ public static function configure(Schema $schema): Schema
->schema([
Select::make('location_id')
->label('Lokus')
->relationship('location', 'name')
->relationship('location', 'name', fn (Builder $query): Builder => $query->active())
->searchable()
->preload()
->live()
@ -46,7 +46,7 @@ public static function configure(Schema $schema): Schema
Select::make('sub_location_id')
->label('Sub Lokus')
->relationship('subLocation', 'name', fn (Builder $query, Get $get): Builder => $query->where('location_id', $get('location_id')))
->relationship('subLocation', 'name', fn (Builder $query, Get $get): Builder => $query->active()->where('location_id', $get('location_id')))
->searchable()
->preload()
->required(),

View File

@ -3,6 +3,8 @@
namespace App\Models;
use App\Enums\IsActive;
use Illuminate\Database\Eloquent\Attributes\Scope;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
@ -23,6 +25,12 @@ protected function casts(): array
];
}
#[Scope]
protected function active(Builder $query): void
{
$query->where('is_active', IsActive::ACTIVE);
}
public function issueManagements(): HasMany
{
return $this->hasMany(IssueManagement::class);

View File

@ -3,6 +3,8 @@
namespace App\Models;
use App\Enums\IsActive;
use Illuminate\Database\Eloquent\Attributes\Scope;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
@ -24,6 +26,12 @@ protected function casts(): array
];
}
#[Scope]
protected function active(Builder $query): void
{
$query->where('is_active', IsActive::ACTIVE);
}
public function issueManagements(): HasMany
{
return $this->hasMany(IssueManagement::class);