diff --git a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationMediaRelationManager.php b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationMediaRelationManager.php index c558615..c008eb8 100644 --- a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationMediaRelationManager.php +++ b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationMediaRelationManager.php @@ -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 diff --git a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationProposalRelationManager.php b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationProposalRelationManager.php index 756344d..6b4225d 100644 --- a/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationProposalRelationManager.php +++ b/app/Filament/Resources/Manage/Cooperations/RelationManagers/CooperationProposalRelationManager.php @@ -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(); diff --git a/app/Filament/Resources/Manage/Cooperations/RelationManagers/ReportRelationManager.php b/app/Filament/Resources/Manage/Cooperations/RelationManagers/ReportRelationManager.php index 80c4b1f..1941ada 100644 --- a/app/Filament/Resources/Manage/Cooperations/RelationManagers/ReportRelationManager.php +++ b/app/Filament/Resources/Manage/Cooperations/RelationManagers/ReportRelationManager.php @@ -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.'); } } diff --git a/app/Filament/Resources/Manage/Cooperations/RelationManagers/TaskAssignmentRelationManager.php b/app/Filament/Resources/Manage/Cooperations/RelationManagers/TaskAssignmentRelationManager.php index ae955ca..6c6a645 100644 --- a/app/Filament/Resources/Manage/Cooperations/RelationManagers/TaskAssignmentRelationManager.php +++ b/app/Filament/Resources/Manage/Cooperations/RelationManagers/TaskAssignmentRelationManager.php @@ -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.'); } } diff --git a/app/Models/CooperationMedia.php b/app/Models/CooperationMedia.php index 890be45..abf35fb 100644 --- a/app/Models/CooperationMedia.php +++ b/app/Models/CooperationMedia.php @@ -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