createForm(SpecialAgreementsType::class, $disposition, ['hx_post' => $request->getUri()]); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $this->entityManager->persist($disposition); $this->entityManager->remove($application); $this->entityManager->flush(); // Update staffing status of related assignment $disposition->getAssignment()->updateStaffingStatus(); $this->entityManager->flush(); $this->eventDispatcher->dispatch(new DispositionCreatedEvent($disposition), DispositionCreatedEvent::NAME); $this->addFlash('success', 'Teamer:in wurde eingeteilt'); $this->logger->info('Create disposition', [ 'disposition_id' => $disposition->getId(), 'teamer' => (string) $application->getTeamer(), ]); $redirectUrl = $this->generateUrl('app_administrative_assignment_detail', [ 'uuid' => $application->getAssignment()->getUuid(), ]); return new HxRedirectResponse($redirectUrl); } return $this->render('admin/application/modal_dispose.html.twig', [ 'application' => $application, 'form' => $form->createView(), ]); } }