feat: Add empty state icons and descriptions to Filament relation managers, update CooperationMedia payment relationship to HasOne, and adjust media manager visibility.
This commit is contained in:
parent
c4347f980e
commit
693d1f001c
@ -12,6 +12,7 @@
|
||||
use Filament\Resources\RelationManagers\RelationManager;
|
||||
use Filament\Schemas\Components\Grid;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
@ -24,7 +25,7 @@ class CooperationMediaRelationManager extends RelationManager
|
||||
|
||||
public static function canViewForRecord(Model $ownerRecord, string $pageClass): bool
|
||||
{
|
||||
return auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value);
|
||||
return ! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value);
|
||||
}
|
||||
|
||||
public static function getBadge(Model $ownerRecord, string $pageClass): ?string
|
||||
@ -57,7 +58,8 @@ public function table(Table $table): Table
|
||||
ViewAction::make()
|
||||
->visible(fn (CooperationMedia $record): bool => $record->status === ApprovalStatus::ACCEPTED && $record->payment()->exists()),
|
||||
])
|
||||
->recordAction(null);
|
||||
->emptyStateIcon(Heroicon::Newspaper)
|
||||
->emptyStateDescription('Tidak ada media yang diikutsertakan.');
|
||||
}
|
||||
|
||||
public function infolist(Schema $infolist): Schema
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
use Filament\Resources\RelationManagers\RelationManager;
|
||||
use Filament\Schemas\Components\Grid;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
@ -107,6 +108,8 @@ public function table(Table $table): Table
|
||||
),
|
||||
]),
|
||||
])
|
||||
->emptyStateIcon(Heroicon::DocumentText)
|
||||
->emptyStateDescription('Tidak ada proposal yang diajukan.')
|
||||
->modifyQueryUsing(function ($query) {
|
||||
$user = auth()->user();
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
use Filament\Resources\RelationManagers\RelationManager;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Enums\Width;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
@ -188,6 +189,8 @@ public function table(Table $table): Table
|
||||
->count() < $taskAssignment->report_amount;
|
||||
}),
|
||||
])
|
||||
->toolbarActions([]);
|
||||
->toolbarActions([])
|
||||
->emptyStateIcon(Heroicon::InboxArrowDown)
|
||||
->emptyStateDescription('Tidak ada laporan yang diajukan.');
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\RelationManagers\RelationManager;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
@ -102,6 +103,8 @@ public function table(Table $table): Table
|
||||
->success()
|
||||
),
|
||||
]),
|
||||
]);
|
||||
])
|
||||
->emptyStateIcon(Heroicon::ArchiveBoxXMark)
|
||||
->emptyStateDescription('Tidak ada penugasan yang ditugaskan.');
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||
use Illuminate\Database\Eloquent\Relations\MorphMany;
|
||||
use Illuminate\Database\Eloquent\Relations\Pivot;
|
||||
use Spatie\MediaLibrary\HasMedia;
|
||||
@ -57,9 +57,9 @@ public function partnerMedia(): BelongsTo
|
||||
return $this->belongsTo(PartnerMedia::class);
|
||||
}
|
||||
|
||||
public function payments(): HasMany
|
||||
public function payment(): HasOne
|
||||
{
|
||||
return $this->hasMany(CooperationPayment::class, 'cooperation_media_id');
|
||||
return $this->hasOne(CooperationPayment::class, 'cooperation_media_id');
|
||||
}
|
||||
|
||||
public function rejectionReasons(): MorphMany
|
||||
|
||||
Loading…
Reference in New Issue
Block a user