refactor: Replace hardcoded role checks with RoleEnum for consistency across cooperation and journalist actions
This commit is contained in:
parent
b522b4ff6f
commit
3ba104c1a1
@ -4,6 +4,7 @@
|
||||
|
||||
use App\Enums\MediaClassification;
|
||||
use App\Enums\MediaType;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Company;
|
||||
use App\Models\PartnerMedia;
|
||||
@ -56,7 +57,7 @@ class Media extends Page
|
||||
|
||||
public function mount(): void
|
||||
{
|
||||
if (auth()->user()->hasRole('Perusahaan') && ! auth()->user()->company) {
|
||||
if (auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && ! auth()->user()->company) {
|
||||
$this->restricted = true;
|
||||
|
||||
return;
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Actions\Cooperation;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Resources\Manage\Cooperations\CooperationResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Cooperation;
|
||||
@ -55,10 +56,9 @@ protected function setUp(): void
|
||||
}
|
||||
})
|
||||
->visible(function (Cooperation $record): bool {
|
||||
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $user || ! $user->hasRole('Perusahaan')) {
|
||||
if (! $user || ! $user->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Actions\Cooperation;
|
||||
|
||||
use App\Enums\CooperationStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Cooperation;
|
||||
use Filament\Actions\Action;
|
||||
@ -65,7 +66,7 @@ protected function setUp(): void
|
||||
->visible(function (Cooperation $record): bool {
|
||||
$user = auth()->user();
|
||||
|
||||
return $user && ! $user->hasRole('Perusahaan')
|
||||
return $user && ! $user->hasRole(RoleEnum::PERUSAHAAN->value)
|
||||
&& $record->status === CooperationStatus::PAYMENT;
|
||||
});
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Enums\CooperationStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Resources\Manage\Cooperations\CooperationResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Cooperation;
|
||||
@ -102,7 +103,7 @@ protected function setUp(): void
|
||||
->visible(function (Cooperation $record): bool {
|
||||
$user = auth()->user();
|
||||
|
||||
return $user && ! $user->hasRole('Perusahaan')
|
||||
return $user && ! $user->hasRole(RoleEnum::PERUSAHAAN->value)
|
||||
&& ! $record->taskAssignment()->exists()
|
||||
&& $record->status === CooperationStatus::ASSIGNMENT;
|
||||
})
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Enums\CooperationStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Cooperation;
|
||||
use Filament\Actions\Action;
|
||||
@ -32,7 +33,7 @@ protected function setUp(): void
|
||||
->visible(function (Cooperation $record): bool {
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $user || $user->hasRole('Perusahaan') || $record->status !== CooperationStatus::VERIFICATION) {
|
||||
if (! $user || $user->hasRole(RoleEnum::PERUSAHAAN->value) || $record->status !== CooperationStatus::VERIFICATION) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Actions\Cooperation;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Cooperation;
|
||||
use App\Models\User;
|
||||
@ -50,7 +51,7 @@ protected function setUp(): void
|
||||
->visible(function (Cooperation $record): bool {
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $user || ! $user->hasRole('Perusahaan')) {
|
||||
if (! $user || ! $user->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Actions\Cooperation;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Resources\Manage\Cooperations\CooperationResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Cooperation;
|
||||
@ -119,7 +120,7 @@ protected function setUp(): void
|
||||
->visible(function (Cooperation $record): bool {
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $user->hasRole('Perusahaan')) {
|
||||
if (! $user->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Actions\Proposal;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Resources\Manage\Cooperations\CooperationResource;
|
||||
use App\Models\CooperationProposal;
|
||||
use App\Models\User;
|
||||
@ -46,6 +47,6 @@ protected function setUp(): void
|
||||
]));
|
||||
}
|
||||
})
|
||||
->visible(fn (CooperationProposal $record): bool => ! auth()->user()->hasRole('Perusahaan') && $record->status === ApprovalStatus::PENDING);
|
||||
->visible(fn (CooperationProposal $record): bool => ! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && $record->status === ApprovalStatus::PENDING);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Actions\Proposal;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Resources\Manage\Cooperations\CooperationResource;
|
||||
use App\Models\CooperationProposal;
|
||||
use App\Models\User;
|
||||
@ -56,7 +57,7 @@ protected function setUp(): void
|
||||
]));
|
||||
}
|
||||
})
|
||||
->visible(fn (CooperationProposal $record): bool => ! auth()->user()->hasRole('Perusahaan') && $record->status === ApprovalStatus::PENDING)
|
||||
->visible(fn (CooperationProposal $record): bool => ! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && $record->status === ApprovalStatus::PENDING)
|
||||
->modalWidth(Width::Large);
|
||||
}
|
||||
}
|
||||
|
||||
@ -66,7 +66,7 @@ public static function table(Table $table): Table
|
||||
{
|
||||
return CooperationsTable::configure($table)
|
||||
->modifyQueryUsing(function (Builder $query): Builder {
|
||||
if (auth()->user()->hasRole('Perusahaan')) {
|
||||
if (auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
$query->whereHas('cooperationMedia', function (Builder $subQuery): void {
|
||||
$subQuery->whereHas('partnerMedia', function (Builder $mediaQuery): void {
|
||||
$mediaQuery->whereHas('company', function (Builder $companyQuery): void {
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Pages;
|
||||
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Resources\Manage\Cooperations\CooperationResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
@ -16,7 +17,7 @@ protected function getHeaderActions(): array
|
||||
{
|
||||
$actions = [];
|
||||
|
||||
if (! auth()->user()->hasRole('Perusahaan')) {
|
||||
if (! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
$actions[] = CreateAction::make()
|
||||
->label('Tambah');
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Resources\Manage\Cooperations\RelationManagers;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Resources\Manage\Cooperations\Actions\Media\PayAction;
|
||||
use App\Models\CooperationMedia;
|
||||
use Filament\Actions\ViewAction;
|
||||
@ -23,7 +24,7 @@ class CooperationMediaRelationManager extends RelationManager
|
||||
|
||||
public static function canViewForRecord(Model $ownerRecord, string $pageClass): bool
|
||||
{
|
||||
return ! auth()->user()->hasRole('Perusahaan');
|
||||
return auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value);
|
||||
}
|
||||
|
||||
public static function getBadge(Model $ownerRecord, string $pageClass): ?string
|
||||
|
||||
@ -44,7 +44,7 @@ public static function canViewForRecord(Model $ownerRecord, string $pageClass):
|
||||
|
||||
public static function getBadge(Model $ownerRecord, string $pageClass): ?string
|
||||
{
|
||||
if (auth()->user()->hasRole('Perusahaan')) {
|
||||
if (auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -59,7 +59,7 @@ public function table(Table $table): Table
|
||||
TextColumn::make('partnerMedia.name')
|
||||
->label('Media')
|
||||
->searchable()
|
||||
->visible(! auth()->user()->hasRole('Perusahaan')),
|
||||
->visible(! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)),
|
||||
|
||||
TextColumn::make('e_catalog')
|
||||
->label('E-Catalog')
|
||||
@ -111,7 +111,7 @@ public function table(Table $table): Table
|
||||
->modifyQueryUsing(function ($query) {
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $user->hasRole('Perusahaan')) {
|
||||
if (! $user->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
return $query;
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ public function infolist(Schema $infolist): Schema
|
||||
->schema([
|
||||
TextEntry::make('partnerMedia.name')
|
||||
->label('Media')
|
||||
->visible(! auth()->user()->hasRole('Perusahaan')),
|
||||
->visible(! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)),
|
||||
|
||||
TextEntry::make('status')
|
||||
->label('Status')
|
||||
|
||||
@ -171,7 +171,7 @@ public function table(Table $table): Table
|
||||
->visible(function (): bool {
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $user || ! $user->hasRole('Perusahaan')) {
|
||||
if (! $user || ! $user->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Tables;
|
||||
|
||||
use App\Enums\ApprovalStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Actions\Cheerful\DeleteAction;
|
||||
use App\Filament\Actions\Cheerful\EditAction;
|
||||
use App\Filament\Actions\DefaultBulkActions;
|
||||
@ -41,7 +42,7 @@ public static function configure(Table $table): Table
|
||||
->limitList(3)
|
||||
->expandableLimitedList()
|
||||
->badge()
|
||||
->visible(! auth()->user()->hasRole('Perusahaan')),
|
||||
->visible(! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)),
|
||||
|
||||
TextColumn::make('initial_submission_date')
|
||||
->label('Tgl Pengajuan Awal')
|
||||
@ -85,12 +86,12 @@ public static function configure(Table $table): Table
|
||||
Belum Menanggapi: {$record->pending_count}<br>
|
||||
Total: {$totalCount}";
|
||||
})
|
||||
->visible(! auth()->user()->hasRole('Perusahaan')),
|
||||
->visible(! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)),
|
||||
|
||||
TextColumn::make('status_tanggapan')
|
||||
->label('Tanggapan')
|
||||
->getStateUsing(function (Cooperation $record): ?ApprovalStatus {
|
||||
if (auth()->user()->hasRole('Perusahaan')) {
|
||||
if (auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
$cooperationMedia = $record->cooperationMedia()
|
||||
->whereHas('partnerMedia', function (Builder $query): void {
|
||||
$query->whereHas('company', function (Builder $subQuery): void {
|
||||
@ -105,7 +106,7 @@ public static function configure(Table $table): Table
|
||||
return null;
|
||||
})
|
||||
->badge()
|
||||
->visible(auth()->user()->hasRole('Perusahaan')),
|
||||
->visible(auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)),
|
||||
|
||||
TextColumn::make('payment_amount')
|
||||
->label('Jumlah Pembayaran')
|
||||
@ -149,10 +150,10 @@ public static function configure(Table $table): Table
|
||||
CompleteCooperationAction::make('completeCooperation'),
|
||||
|
||||
EditAction::make()
|
||||
->visible(fn (): bool => ! auth()->user()->hasRole('Perusahaan')),
|
||||
->visible(fn (): bool => ! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)),
|
||||
|
||||
DeleteAction::make()
|
||||
->visible(fn (): bool => ! auth()->user()->hasRole('Perusahaan')),
|
||||
->visible(fn (): bool => ! auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)),
|
||||
])
|
||||
->toolbarActions([
|
||||
BulkActionGroup::make([
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Journalists\Actions;
|
||||
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Enums\VerificationStatus;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use Filament\Actions\DeleteAction;
|
||||
@ -20,7 +21,7 @@ protected function setUp(): void
|
||||
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $user->hasRole('Perusahaan')) {
|
||||
if (! $user->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Journalists\Actions;
|
||||
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Enums\VerificationStatus;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Journalist;
|
||||
@ -93,10 +94,9 @@ protected function setUp(): void
|
||||
return $record;
|
||||
})
|
||||
->visible(function (): bool {
|
||||
|
||||
$user = auth()->user();
|
||||
|
||||
if (! $user->hasRole('Perusahaan')) {
|
||||
if (! $user->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Journalists;
|
||||
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Actions\Cheerful\ForceDeleteAction;
|
||||
use App\Filament\Actions\Cheerful\RestoreAction;
|
||||
use App\Filament\Columns\TimestampColumns;
|
||||
@ -187,17 +188,17 @@ public static function table(Table $table): Table
|
||||
->defaultSort('created_at', 'desc')
|
||||
->deferFilters(false)
|
||||
->modifyQueryUsing(function (Builder $query): void {
|
||||
if (auth()->user()->hasRole('Perusahaan') && ! auth()->user()->company?->partnerMedia) {
|
||||
if (auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && ! auth()->user()->company?->partnerMedia) {
|
||||
$query->whereRaw('1 = 0');
|
||||
}
|
||||
|
||||
$query->when(auth()->user()->hasRole('Perusahaan'), function (Builder $q): Builder {
|
||||
$query->when(auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value), function (Builder $q): Builder {
|
||||
return $q->whereHas('partnerMedia.company', function (Builder $q): void {
|
||||
$q->where('user_id', auth()->id());
|
||||
});
|
||||
});
|
||||
})
|
||||
->when(auth()->user()->hasRole('Perusahaan') && ! auth()->user()->company?->partnerMedia, function (Table $table): Table {
|
||||
->when(auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && ! auth()->user()->company?->partnerMedia, function (Table $table): Table {
|
||||
return $table
|
||||
->emptyStateHeading('Akses Dibatasi')
|
||||
->emptyStateDescription('Mohon lengkapi data Media Anda terlebih dahulu.')
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Journalists\Pages;
|
||||
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Enums\VerificationStatus;
|
||||
use App\Filament\Actions\Cheerful\CreateAction;
|
||||
use App\Filament\Resources\Manage\Journalists\JournalistResource;
|
||||
@ -18,7 +19,7 @@ class ManageJournalists extends ManageRecords
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
if (auth()->user()->hasRole('Perusahaan') && ! auth()->user()->company?->partnerMedia) {
|
||||
if (auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && ! auth()->user()->company?->partnerMedia) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user