feat: decouple logic using events
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Controller\Administrative\Document;
|
||||
|
||||
use App\Controller\Traits\ReturnUrlTrait;
|
||||
use App\Entity\Upload;
|
||||
use App\Event\DocumentConfirmedEvent;
|
||||
use App\Event\DocumentRejectedEvent;
|
||||
use App\Form\DocumentCheckType;
|
||||
use App\Htmx\HxRedirectResponse;
|
||||
@@ -46,16 +47,20 @@ class CheckController extends AbstractController
|
||||
switch ($formData->getStatus()) {
|
||||
case Upload::STATUS_CHECKED:
|
||||
$this->confirmDocument($document, 'confirm_contract', Upload::STATUS_CHECKED, $formData);
|
||||
// Contract confirmed: Update staffing status of related assignment
|
||||
$document->getDisposition()->getAssignment()->updateStaffingStatus();
|
||||
$this->entityManager->flush();
|
||||
$this->eventDispatcher->dispatch(
|
||||
new DocumentConfirmedEvent($document),
|
||||
DocumentConfirmedEvent::NAME
|
||||
);
|
||||
break;
|
||||
case Upload::STATUS_PAID:
|
||||
$this->confirmDocument($document, 'confirm_invoice', Upload::STATUS_PAID, $formData);
|
||||
break;
|
||||
case Upload::STATUS_REJECTED:
|
||||
$this->rejectDocument($document, $formData->getComment());
|
||||
$this->eventDispatcher->dispatch(new DocumentRejectedEvent($formData), DocumentRejectedEvent::NAME);
|
||||
$this->eventDispatcher->dispatch(
|
||||
new DocumentRejectedEvent($formData),
|
||||
DocumentRejectedEvent::NAME
|
||||
);
|
||||
break;
|
||||
default:
|
||||
$document
|
||||
|
||||
Reference in New Issue
Block a user