fix: refine task assignment logic and enhance cooperation form with status selection
This commit is contained in:
parent
59b9a8ce92
commit
f04138f51a
@ -109,7 +109,7 @@ protected function setUp(): void
|
||||
|
||||
return $user && ! $user->hasRole(RoleEnum::PERUSAHAAN->value)
|
||||
&& ! $record->taskAssignment()->exists()
|
||||
&& in_array($record->status, [CooperationStatus::PENDING, CooperationStatus::ASSIGNMENT]);
|
||||
&& $record->status === CooperationStatus::ASSIGNMENT;
|
||||
})
|
||||
->modalWidth(Width::Large);
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Cooperations\RelationManagers;
|
||||
|
||||
use App\Enums\CooperationStatus;
|
||||
use App\Enums\RoleEnum;
|
||||
use App\Filament\Actions\Cheerful\CreateAction;
|
||||
use App\Filament\Actions\Cheerful\DeleteAction;
|
||||
@ -79,23 +80,9 @@ public function table(Table $table): Table
|
||||
->accepted()
|
||||
->exists();
|
||||
|
||||
if (! $isPartner) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$hasAcceptedProposal = $cooperation->proposal()->accepted()->exists();
|
||||
|
||||
if (! $hasAcceptedProposal) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$taskAssignment = $cooperation->taskAssignment;
|
||||
|
||||
if (! $taskAssignment) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return $taskAssignment->reports()->count() < $taskAssignment->report_amount;
|
||||
return $isPartner && $hasAcceptedProposal && $cooperation->status === CooperationStatus::ASSIGNMENT;
|
||||
})
|
||||
->successNotification(
|
||||
fn () => CheerfulNotification::success(
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Schemas;
|
||||
|
||||
use App\Enums\CooperationStatus;
|
||||
use App\Enums\NotifStyle;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\PartnerMedia;
|
||||
@ -37,7 +38,7 @@ public static function configure(Schema $schema): Schema
|
||||
->required()
|
||||
->maxLength(200),
|
||||
|
||||
Grid::make(2)
|
||||
Grid::make(3)
|
||||
->schema([
|
||||
DatePicker::make('initial_submission_date')
|
||||
->label('Tanggal Pengajuan Awal')
|
||||
@ -55,6 +56,12 @@ public static function configure(Schema $schema): Schema
|
||||
->required()
|
||||
->afterOrEqual('initial_submission_date')
|
||||
->minDate(fn (Get $get) => $get('initial_submission_date')),
|
||||
|
||||
Select::make('status')
|
||||
->label('Status')
|
||||
->options(CooperationStatus::options())
|
||||
->required()
|
||||
->native(false),
|
||||
]),
|
||||
|
||||
Select::make('partner_media_ids')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user