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\Resources\RelationManagers\RelationManager;
|
||||||
use Filament\Schemas\Components\Grid;
|
use Filament\Schemas\Components\Grid;
|
||||||
use Filament\Schemas\Schema;
|
use Filament\Schemas\Schema;
|
||||||
|
use Filament\Support\Icons\Heroicon;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
@ -24,7 +25,7 @@ class CooperationMediaRelationManager extends RelationManager
|
|||||||
|
|
||||||
public static function canViewForRecord(Model $ownerRecord, string $pageClass): bool
|
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
|
public static function getBadge(Model $ownerRecord, string $pageClass): ?string
|
||||||
@ -57,7 +58,8 @@ public function table(Table $table): Table
|
|||||||
ViewAction::make()
|
ViewAction::make()
|
||||||
->visible(fn (CooperationMedia $record): bool => $record->status === ApprovalStatus::ACCEPTED && $record->payment()->exists()),
|
->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
|
public function infolist(Schema $infolist): Schema
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
use Filament\Resources\RelationManagers\RelationManager;
|
use Filament\Resources\RelationManagers\RelationManager;
|
||||||
use Filament\Schemas\Components\Grid;
|
use Filament\Schemas\Components\Grid;
|
||||||
use Filament\Schemas\Schema;
|
use Filament\Schemas\Schema;
|
||||||
|
use Filament\Support\Icons\Heroicon;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
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) {
|
->modifyQueryUsing(function ($query) {
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,7 @@
|
|||||||
use Filament\Resources\RelationManagers\RelationManager;
|
use Filament\Resources\RelationManagers\RelationManager;
|
||||||
use Filament\Schemas\Schema;
|
use Filament\Schemas\Schema;
|
||||||
use Filament\Support\Enums\Width;
|
use Filament\Support\Enums\Width;
|
||||||
|
use Filament\Support\Icons\Heroicon;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
@ -188,6 +189,8 @@ public function table(Table $table): Table
|
|||||||
->count() < $taskAssignment->report_amount;
|
->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\Actions\DeleteBulkAction;
|
||||||
use Filament\Notifications\Notification;
|
use Filament\Notifications\Notification;
|
||||||
use Filament\Resources\RelationManagers\RelationManager;
|
use Filament\Resources\RelationManagers\RelationManager;
|
||||||
|
use Filament\Support\Icons\Heroicon;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
@ -102,6 +103,8 @@ public function table(Table $table): Table
|
|||||||
->success()
|
->success()
|
||||||
),
|
),
|
||||||
]),
|
]),
|
||||||
]);
|
])
|
||||||
|
->emptyStateIcon(Heroicon::ArchiveBoxXMark)
|
||||||
|
->emptyStateDescription('Tidak ada penugasan yang ditugaskan.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
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\MorphMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\Pivot;
|
use Illuminate\Database\Eloquent\Relations\Pivot;
|
||||||
use Spatie\MediaLibrary\HasMedia;
|
use Spatie\MediaLibrary\HasMedia;
|
||||||
@ -57,9 +57,9 @@ public function partnerMedia(): BelongsTo
|
|||||||
return $this->belongsTo(PartnerMedia::class);
|
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
|
public function rejectionReasons(): MorphMany
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user