trainingRepository->getList(); $allSeasonStatus = $teamer->isAllSeason(); $form = $this->createStatusForm($teamer); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $this->entityManager->flush(); $this->addFlash('success', 'Der Status wurde aktualisiert'); $this->logger->info('Update teamer status to '.$teamer->getStatus(), [ 'teamer' => $teamer->getFullName(), ]); if ($teamer->isAllSeason() !== $allSeasonStatus) { $this->addFlash('info', 'Der Saisonteamer:innern-Status wurde '.($teamer->isAllSeason() ? 'hinzugefügt' : 'entfernt')); $logMessage = $teamer->isAllSeason() ? 'Assign all-season status' : 'Remove all-season status'; $this->logger->info($logMessage, [ 'teamer' => $teamer->getFullName(), ]); } return $this->redirectToRoute('app_admin_teamer_skills', [ 'uuid' => $teamer->getUuid(), 'r' => $request->query->get('r'), ]); } return $this->render('admin/teamer/skills.html.twig', [ 'teamer' => $teamer, 'trainings' => $trainings, 'form' => $form->createView(), ]); } private function createStatusForm(Teamer $teamer): FormInterface { return $this ->createFormBuilder($teamer) ->add('status', ChoiceType::class, [ 'label' => 'Status', 'choices' => [ 'Neuteamer:in' => Teamer::STATUS_NEW, 'Bestandsteamer:in' => Teamer::STATUS_EXISTING, ], ]) ->add('allSeason', CheckboxType::class, [ 'label' => 'Saisonteamer:in', 'required' => false, ]) ->add('allowOverlappingApplications', CheckboxType::class, [ 'label' => 'Überlappende Bewerbungen erlauben', 'required' => false, ]) ->getForm(); } }