feat: pickup selection depending on bus chaperon

This commit is contained in:
Björn Fromme
2024-01-10 18:09:39 +01:00
parent 5b93ce421c
commit cf90ffcd19
13 changed files with 207 additions and 58 deletions
@@ -6,6 +6,7 @@ use App\Controller\Traits\ReturnUrlTrait;
use App\Entity\Disposition;
use App\Entity\Upload;
use App\Entity\User;
use App\Form\TeamerDispositionType;
use App\Model\UploadSessionDto;
use App\Service\Upload\UploadHandler;
use Doctrine\ORM\EntityManagerInterface;
@@ -36,18 +37,21 @@ class DetailController extends AbstractController
#[IsGranted('VIEW', subject: 'disposition')]
public function index(Disposition $disposition, Request $request): Response
{
$isUploadContract = $this->workflow->can($disposition, 'upload_contract');
$isUploadInvoice = $this->workflow->can($disposition, 'upload_invoice');
// Create dummy form without fields to generate POST requests
$form = $this->createFormBuilder()->getForm();
$form = $this->createForm(TeamerDispositionType::class, $disposition, ['enable_pickup' => $isUploadContract]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$uploadSession = $this->uploadHandler->getUploadSession();
if (0 < $uploadSession->getCount()) {
if (true === $this->workflow->can($disposition, 'upload_contract')) {
if (true === $isUploadContract) {
$this->uploadContract($disposition, $uploadSession);
}
if (true === $this->workflow->can($disposition, 'upload_invoice')) {
if (true === $isUploadInvoice) {
$this->uploadInvoice($disposition, $uploadSession);
}
}