diff --git a/app/Filament/Resources/Manage/Cooperations/CooperationResource.php b/app/Filament/Resources/Manage/Cooperations/CooperationResource.php index 2a3aacd..4c894fb 100644 --- a/app/Filament/Resources/Manage/Cooperations/CooperationResource.php +++ b/app/Filament/Resources/Manage/Cooperations/CooperationResource.php @@ -136,9 +136,9 @@ public static function infolist(Schema $schema): Schema ImageEntry::make('banner') ->label('Banner') - ->getStateUsing(fn ($record) => optional($record->getMedia('banners')->sortByDesc('created_at')->first())->getPathRelativeToRoot()) + ->getStateUsing(fn ($record) => optional($record->getMedia('cooperations')->where('custom_properties.doc_type', 'banner')->sortByDesc('created_at')->first())->getPathRelativeToRoot()) ->disk(config('filesystems.default')) - ->visible(fn ($record) => $record->getMedia('banners')->isNotEmpty()), + ->visible(fn ($record) => $record->getMedia('cooperations')->isNotEmpty()), ]), TextEntry::make('description') diff --git a/app/Filament/Resources/Manage/Cooperations/Pages/CreateCooperation.php b/app/Filament/Resources/Manage/Cooperations/Pages/CreateCooperation.php index 46f4513..f473132 100644 --- a/app/Filament/Resources/Manage/Cooperations/Pages/CreateCooperation.php +++ b/app/Filament/Resources/Manage/Cooperations/Pages/CreateCooperation.php @@ -39,6 +39,7 @@ protected function afterCreate(): void } $filePath = collect($data['proposal_template'])->first(); + dd($filePath); $fullPath = Storage::disk(config('filesystems.default'))->path($filePath); diff --git a/app/Filament/Resources/Manage/Cooperations/Pages/EditCooperation.php b/app/Filament/Resources/Manage/Cooperations/Pages/EditCooperation.php index fd2d43d..e5babfa 100644 --- a/app/Filament/Resources/Manage/Cooperations/Pages/EditCooperation.php +++ b/app/Filament/Resources/Manage/Cooperations/Pages/EditCooperation.php @@ -69,8 +69,8 @@ protected function afterSave(): void ->preservingOriginal() ->withCustomProperties([ 'feature' => 'cooperations', - 'date' => now()->toDateString(), 'doc_type' => 'proposal-template', + 'date' => now()->toDateString(), ]) ->toMediaCollection('cooperations'); } diff --git a/app/Filament/Resources/Manage/Cooperations/Schemas/CooperationForm.php b/app/Filament/Resources/Manage/Cooperations/Schemas/CooperationForm.php index 309a316..30a0dfc 100644 --- a/app/Filament/Resources/Manage/Cooperations/Schemas/CooperationForm.php +++ b/app/Filament/Resources/Manage/Cooperations/Schemas/CooperationForm.php @@ -84,7 +84,12 @@ public static function configure(Schema $schema): Schema ->disk(config('filesystems.default')) ->acceptedFileTypes(['image/*']) ->maxSize(1024 * 3) - ->collection('banners') + ->collection('cooperations') + ->customProperties(fn () => [ + 'feature' => 'cooperations', + 'doc_type' => 'banner', + 'date' => now()->toDateString(), + ]) ->image(), AdvancedFileUpload::make('proposal_template') @@ -92,7 +97,7 @@ public static function configure(Schema $schema): Schema ->disk(config('filesystems.default')) ->acceptedFileTypes(['application/pdf']) ->maxSize(1024 * 10) - ->directory('cooperations/templates/'.now()->toDateString()) + ->directory(fn () => 'cooperations/proposal-template/'.now()->toDateString()) ->required(), ]), ]) diff --git a/app/Filament/Resources/Manage/Cooperations/Tables/CooperationsTable.php b/app/Filament/Resources/Manage/Cooperations/Tables/CooperationsTable.php index 73f792e..48b0ed1 100644 --- a/app/Filament/Resources/Manage/Cooperations/Tables/CooperationsTable.php +++ b/app/Filament/Resources/Manage/Cooperations/Tables/CooperationsTable.php @@ -90,9 +90,9 @@ public static function configure(Table $table): Table ->html() ->getStateUsing(function (Cooperation $record) { $record->loadCount([ - 'partnerMedia as approved_count' => fn ($query) => $query->where('cooperations.status', ApprovalStatus::ACCEPTED), - 'partnerMedia as rejected_count' => fn ($query) => $query->where('cooperations.status', ApprovalStatus::REJECTED), - 'partnerMedia as pending_count' => fn ($query) => $query->where('cooperations.status', ApprovalStatus::PENDING), + 'partnerMedia as approved_count' => fn ($query) => $query->where('cooperation_media.status', ApprovalStatus::ACCEPTED), + 'partnerMedia as rejected_count' => fn ($query) => $query->where('cooperation_media.status', ApprovalStatus::REJECTED), + 'partnerMedia as pending_count' => fn ($query) => $query->where('cooperation_media.status', ApprovalStatus::PENDING), ]); $totalCount = $record->partnerMedia()->count(); @@ -241,18 +241,18 @@ public static function configure(Table $table): Table ->url(), Textarea::make('description') - ->label('Deskripsi Proposal') + ->label('Deskripsi') ->autocomplete(false) ->required() ->rows(4) ->placeholder('...'), AdvancedFileUpload::make('proposal_attachment') - ->label('Lampiran Proposal') + ->label('Lampiran') ->disk(config('filesystems.default')) ->acceptedFileTypes(['application/pdf']) ->maxSize(1024 * 10) - ->directory('cooperation/proposal/'.now()->toDateString()) + ->directory(fn () => 'cooperations/proposal-attachment/'.now()->toDateString()) ->required(), ]) ->action(function ($record, array $data) { diff --git a/app/Filament/Resources/Manage/Journalists/JournalistResource.php b/app/Filament/Resources/Manage/Journalists/JournalistResource.php index f8c80fa..ad5f2d4 100644 --- a/app/Filament/Resources/Manage/Journalists/JournalistResource.php +++ b/app/Filament/Resources/Manage/Journalists/JournalistResource.php @@ -60,7 +60,7 @@ public static function form(Schema $schema): Schema 'max_size' => 1024 * 10, 'file_name' => 'press_card_docs', 'accept' => ['application/pdf'], - 'folder' => 'journalists/press-card/', + 'folder' => 'press-card/', ], [ 'title' => 'Sertifikat UKW', @@ -70,7 +70,7 @@ public static function form(Schema $schema): Schema 'max_size' => 1024 * 10, 'file_name' => 'ukw_certificate_docs', 'accept' => ['application/pdf'], - 'folder' => 'journalists/ukw-certificate/', + 'folder' => 'ukw-certificate/', ], ]; @@ -119,6 +119,7 @@ public static function form(Schema $schema): Schema ->hiddenLabel() ->disk(config('filesystems.default')) ->acceptedFileTypes($doc['accept']) + ->directory(fn () => 'journalists/'.$doc['folder'].now()->toDateString()) ->maxSize($doc['max_size']) ->required(), ]) diff --git a/app/Filament/Resources/Monitoring/ContentRecaps/Schemas/ContentRecapForm.php b/app/Filament/Resources/Monitoring/ContentRecaps/Schemas/ContentRecapForm.php index 240e951..81428c4 100644 --- a/app/Filament/Resources/Monitoring/ContentRecaps/Schemas/ContentRecapForm.php +++ b/app/Filament/Resources/Monitoring/ContentRecaps/Schemas/ContentRecapForm.php @@ -82,6 +82,10 @@ public static function configure(Schema $schema): Schema ->acceptedFileTypes(['image/*']) ->maxSize(1024 * 3) ->collection('content-recpaps') + ->customProperties(fn () => [ + 'feature' => 'content-recaps', + 'date' => now()->toDateString(), + ]) ->image() ->required(), ]), diff --git a/app/Filament/Resources/Monitoring/MediaMonitorings/Pages/CreateMediaMonitoring.php b/app/Filament/Resources/Monitoring/MediaMonitorings/Pages/CreateMediaMonitoring.php index f68a113..db2bd03 100644 --- a/app/Filament/Resources/Monitoring/MediaMonitorings/Pages/CreateMediaMonitoring.php +++ b/app/Filament/Resources/Monitoring/MediaMonitorings/Pages/CreateMediaMonitoring.php @@ -24,6 +24,11 @@ protected function getHeaderActions(): array ]; } + protected function getRedirectUrl(): string + { + return $this->getResource()::getUrl('index'); + } + protected function mutateFormDataBeforeCreate(array $data): array { $latestCode = MediaMonitoring::max('code'); diff --git a/app/Filament/Resources/Monitoring/MediaMonitorings/Schemas/MediaMonitoringForm.php b/app/Filament/Resources/Monitoring/MediaMonitorings/Schemas/MediaMonitoringForm.php index a4acff3..7df6a8e 100644 --- a/app/Filament/Resources/Monitoring/MediaMonitorings/Schemas/MediaMonitoringForm.php +++ b/app/Filament/Resources/Monitoring/MediaMonitorings/Schemas/MediaMonitoringForm.php @@ -113,6 +113,10 @@ public static function configure(Schema $schema): Schema ->acceptedFileTypes(['image/*']) ->maxSize(1024 * 3) ->collection('media-monitorings') + ->customProperties(fn () => [ + 'feature' => 'media-monitorings', + 'date' => now()->toDateString(), + ]) ->image() ->required(), ]), diff --git a/app/Filament/Resources/Publication/News/Schemas/NewsForm.php b/app/Filament/Resources/Publication/News/Schemas/NewsForm.php index da8b8a5..a7975f5 100644 --- a/app/Filament/Resources/Publication/News/Schemas/NewsForm.php +++ b/app/Filament/Resources/Publication/News/Schemas/NewsForm.php @@ -96,6 +96,10 @@ public static function configure(Schema $schema): Schema ->acceptedFileTypes(['image/*']) ->maxSize(1024 * 3) ->collection('news') + ->customProperties(fn () => [ + 'feature' => 'news', + 'date' => now()->toDateString(), + ]) ->image() ->required(), ]), diff --git a/app/Models/Cooperation.php b/app/Models/Cooperation.php index b708f7a..e9e700a 100644 --- a/app/Models/Cooperation.php +++ b/app/Models/Cooperation.php @@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Eloquent\Relations\HasManyThrough; use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -52,7 +53,7 @@ public function partnerMedia(): BelongsToMany ->withTimestamps(); } - public function reports(): \Illuminate\Database\Eloquent\Relations\HasManyThrough + public function reports(): HasManyThrough { return $this->hasManyThrough(Report::class, TaskAssignment::class); }