Compare commits
No commits in common. "59f5f87dad1eebaf8cf70d2169d82f49e8c13d81" and "f04138f51aacc41a96b927c136da23a6f644c10b" have entirely different histories.
59f5f87dad
...
f04138f51a
@ -66,6 +66,10 @@ protected function setUp(): void
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! $record->taskAssignment()->exists()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$cooperationMedia = $record->cooperationMedia()
|
$cooperationMedia = $record->cooperationMedia()
|
||||||
->whereHas('partnerMedia.company', function (Builder $query): void {
|
->whereHas('partnerMedia.company', function (Builder $query): void {
|
||||||
$query->where('user_id', auth()->id());
|
$query->where('user_id', auth()->id());
|
||||||
|
|||||||
@ -59,6 +59,10 @@ protected function setUp(): void
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! $record->taskAssignment()->exists()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$cooperationMedia = $record->cooperationMedia()
|
$cooperationMedia = $record->cooperationMedia()
|
||||||
->whereHas('partnerMedia.company', function ($query) {
|
->whereHas('partnerMedia.company', function ($query) {
|
||||||
$query->where('user_id', auth()->id());
|
$query->where('user_id', auth()->id());
|
||||||
|
|||||||
@ -1,73 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Filament\Resources\Manage\Cooperations\Actions\Report;
|
|
||||||
|
|
||||||
use App\Enums\ApprovalStatus;
|
|
||||||
use App\Enums\RoleEnum;
|
|
||||||
use App\Filament\Actions\Cheerful\EditAction;
|
|
||||||
use App\Filament\Support\CheerfulNotification;
|
|
||||||
use App\Models\Report;
|
|
||||||
use Filament\Forms\Components\DatePicker;
|
|
||||||
use Filament\Forms\Components\SpatieMediaLibraryFileUpload;
|
|
||||||
use Filament\Forms\Components\Textarea;
|
|
||||||
use Filament\Forms\Components\TextInput;
|
|
||||||
|
|
||||||
class EditReportAction extends EditAction
|
|
||||||
{
|
|
||||||
public static function getDefaultName(): ?string
|
|
||||||
{
|
|
||||||
return 'edit_report';
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function setUp(): void
|
|
||||||
{
|
|
||||||
parent::setUp();
|
|
||||||
|
|
||||||
$this
|
|
||||||
->modalWidth('lg')
|
|
||||||
->schema([
|
|
||||||
TextInput::make('title')
|
|
||||||
->label('Judul')
|
|
||||||
->placeholder('Dirgahayu Purwakarta')
|
|
||||||
->required()
|
|
||||||
->autocomplete(false),
|
|
||||||
|
|
||||||
DatePicker::make('publication_date')
|
|
||||||
->label('Tanggal Publikasi')
|
|
||||||
->native(false)
|
|
||||||
->displayFormat('l, d F Y')
|
|
||||||
->required(),
|
|
||||||
|
|
||||||
TextInput::make('link')
|
|
||||||
->label('Tautan')
|
|
||||||
->placeholder('https://example.com')
|
|
||||||
->maxLength(255)
|
|
||||||
->url()
|
|
||||||
->required()
|
|
||||||
->autocomplete(false),
|
|
||||||
|
|
||||||
Textarea::make('description')
|
|
||||||
->label('Deskripsi')
|
|
||||||
->placeholder('....')
|
|
||||||
->required()
|
|
||||||
->autocomplete(false),
|
|
||||||
|
|
||||||
SpatieMediaLibraryFileUpload::make('image')
|
|
||||||
->label('Gambar')
|
|
||||||
->disk(config('filesystems.default'))
|
|
||||||
->acceptedFileTypes(['image/*'])
|
|
||||||
->maxSize(1024 * 3)
|
|
||||||
->collection('reports')
|
|
||||||
->image()
|
|
||||||
->helperText('Format yang diterima: JPEG, PNG, GIF, WEBP. Ukuran maksimum: 3 MB.')
|
|
||||||
->required(),
|
|
||||||
])
|
|
||||||
->successNotification(
|
|
||||||
fn () => CheerfulNotification::success(
|
|
||||||
CheerfulNotification::getByKey('cooperation.report_sent_success'),
|
|
||||||
CheerfulNotification::getByKey('cooperation.report_sent_desc')
|
|
||||||
)
|
|
||||||
)
|
|
||||||
->visible(fn (Report $record): bool => auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && $record->status === ApprovalStatus::PENDING);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -49,6 +49,6 @@ protected function setUp(): void
|
|||||||
)->output();
|
)->output();
|
||||||
}, str($record->title)->slug().'.pdf');
|
}, str($record->title)->slug().'.pdf');
|
||||||
})
|
})
|
||||||
->visible(fn () => auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value, RoleEnum::PERUSAHAAN->value]));
|
->visible(fn () => auth()->user()->hasRole([RoleEnum::ADMINISTRATOR->value, RoleEnum::DEVELOPER->value]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,12 +2,9 @@
|
|||||||
|
|
||||||
namespace App\Filament\Resources\Manage\Cooperations\RelationManagers;
|
namespace App\Filament\Resources\Manage\Cooperations\RelationManagers;
|
||||||
|
|
||||||
use App\Enums\ApprovalStatus;
|
|
||||||
use App\Enums\RoleEnum;
|
use App\Enums\RoleEnum;
|
||||||
use App\Filament\Actions\Cheerful\DeleteAction;
|
|
||||||
use App\Filament\Columns\RowIndexColumn;
|
use App\Filament\Columns\RowIndexColumn;
|
||||||
use App\Filament\Resources\Manage\Cooperations\Actions\Report\AcceptAction;
|
use App\Filament\Resources\Manage\Cooperations\Actions\Report\AcceptAction;
|
||||||
use App\Filament\Resources\Manage\Cooperations\Actions\Report\EditReportAction;
|
|
||||||
use App\Filament\Resources\Manage\Cooperations\Actions\Report\ExportAllReportsPdfAction;
|
use App\Filament\Resources\Manage\Cooperations\Actions\Report\ExportAllReportsPdfAction;
|
||||||
use App\Filament\Resources\Manage\Cooperations\Actions\Report\ExportReportPdfAction;
|
use App\Filament\Resources\Manage\Cooperations\Actions\Report\ExportReportPdfAction;
|
||||||
use App\Filament\Resources\Manage\Cooperations\Actions\Report\RejectAction;
|
use App\Filament\Resources\Manage\Cooperations\Actions\Report\RejectAction;
|
||||||
@ -101,17 +98,6 @@ public function table(Table $table): Table
|
|||||||
->recordActions([
|
->recordActions([
|
||||||
ExportReportPdfAction::make(),
|
ExportReportPdfAction::make(),
|
||||||
|
|
||||||
EditReportAction::make(),
|
|
||||||
|
|
||||||
DeleteAction::make()
|
|
||||||
->successNotification(
|
|
||||||
fn () => CheerfulNotification::success(
|
|
||||||
CheerfulNotification::getByKey('cooperation.report_sent_success'),
|
|
||||||
CheerfulNotification::getByKey('cooperation.report_sent_desc')
|
|
||||||
)
|
|
||||||
)
|
|
||||||
->visible(fn (Report $record): bool => auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value) && $record->status === ApprovalStatus::PENDING),
|
|
||||||
|
|
||||||
AcceptAction::make(),
|
AcceptAction::make(),
|
||||||
|
|
||||||
RejectAction::make(),
|
RejectAction::make(),
|
||||||
|
|||||||
@ -11,9 +11,6 @@
|
|||||||
use App\Filament\Support\CheerfulNotification;
|
use App\Filament\Support\CheerfulNotification;
|
||||||
use Filament\Actions\BulkActionGroup;
|
use Filament\Actions\BulkActionGroup;
|
||||||
use Filament\Actions\DeleteBulkAction;
|
use Filament\Actions\DeleteBulkAction;
|
||||||
use Filament\Forms\Components\DatePicker;
|
|
||||||
use Filament\Forms\Components\Textarea;
|
|
||||||
use Filament\Forms\Components\TextInput;
|
|
||||||
use Filament\Resources\RelationManagers\RelationManager;
|
use Filament\Resources\RelationManagers\RelationManager;
|
||||||
use Filament\Support\Icons\Heroicon;
|
use Filament\Support\Icons\Heroicon;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
@ -28,11 +25,6 @@ class TaskAssignmentRelationManager extends RelationManager
|
|||||||
|
|
||||||
protected static bool $shouldSkipAuthorization = true;
|
protected static bool $shouldSkipAuthorization = true;
|
||||||
|
|
||||||
public function isReadOnly(): bool
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function canViewForRecord(Model $ownerRecord, string $pageClass): bool
|
public static function canViewForRecord(Model $ownerRecord, string $pageClass): bool
|
||||||
{
|
{
|
||||||
if (auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
if (auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value)) {
|
||||||
@ -72,35 +64,6 @@ public function table(Table $table): Table
|
|||||||
->headerActions([
|
->headerActions([
|
||||||
CreateAction::make()
|
CreateAction::make()
|
||||||
->label('Buat Media Order')
|
->label('Buat Media Order')
|
||||||
->modalWidth('md')
|
|
||||||
->schema([
|
|
||||||
DatePicker::make('start_date')
|
|
||||||
->label('Tanggal Mulai')
|
|
||||||
->native(false)
|
|
||||||
->displayFormat('l, d F Y')
|
|
||||||
->required(),
|
|
||||||
|
|
||||||
DatePicker::make('end_date')
|
|
||||||
->label('Tanggal Selesai')
|
|
||||||
->native(false)
|
|
||||||
->displayFormat('l, d F Y')
|
|
||||||
->required()
|
|
||||||
->afterOrEqual('start_date'),
|
|
||||||
|
|
||||||
TextInput::make('report_amount')
|
|
||||||
->label('Jumlah Bukti Tayang')
|
|
||||||
->numeric()
|
|
||||||
->minValue(1)
|
|
||||||
->required()
|
|
||||||
->autocomplete(false),
|
|
||||||
|
|
||||||
Textarea::make('task_description')
|
|
||||||
->label('Deskripsi Tugas')
|
|
||||||
->required()
|
|
||||||
->rows(4)
|
|
||||||
->placeholder('...')
|
|
||||||
->autocomplete(false),
|
|
||||||
])
|
|
||||||
->visible(function (): bool {
|
->visible(function (): bool {
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
@ -130,35 +93,6 @@ public function table(Table $table): Table
|
|||||||
])
|
])
|
||||||
->recordActions([
|
->recordActions([
|
||||||
EditAction::make()
|
EditAction::make()
|
||||||
->modalWidth('md')
|
|
||||||
->schema([
|
|
||||||
DatePicker::make('start_date')
|
|
||||||
->label('Tanggal Mulai')
|
|
||||||
->native(false)
|
|
||||||
->displayFormat('l, d F Y')
|
|
||||||
->required(),
|
|
||||||
|
|
||||||
DatePicker::make('end_date')
|
|
||||||
->label('Tanggal Selesai')
|
|
||||||
->native(false)
|
|
||||||
->displayFormat('l, d F Y')
|
|
||||||
->required()
|
|
||||||
->afterOrEqual('start_date'),
|
|
||||||
|
|
||||||
TextInput::make('report_amount')
|
|
||||||
->label('Jumlah Bukti Tayang')
|
|
||||||
->numeric()
|
|
||||||
->minValue(1)
|
|
||||||
->required()
|
|
||||||
->autocomplete(false),
|
|
||||||
|
|
||||||
Textarea::make('task_description')
|
|
||||||
->label('Deskripsi Tugas')
|
|
||||||
->required()
|
|
||||||
->rows(4)
|
|
||||||
->placeholder('...')
|
|
||||||
->autocomplete(false),
|
|
||||||
])
|
|
||||||
->successNotification(
|
->successNotification(
|
||||||
fn () => CheerfulNotification::success(
|
fn () => CheerfulNotification::success(
|
||||||
CheerfulNotification::getByKey('cooperation.assignment_updated'),
|
CheerfulNotification::getByKey('cooperation.assignment_updated'),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user