diff --git a/src/Controller/AdminPages/BaseAdminController.php b/src/Controller/AdminPages/BaseAdminController.php index 5e524f4d..6ae67200 100644 --- a/src/Controller/AdminPages/BaseAdminController.php +++ b/src/Controller/AdminPages/BaseAdminController.php @@ -43,6 +43,7 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Validator\ConstraintViolationList; +use Symfony\Contracts\Translation\TranslatorInterface; abstract class BaseAdminController extends AbstractController { @@ -52,11 +53,15 @@ abstract class BaseAdminController extends AbstractController protected $twig_template = ''; protected $route_base = ''; - public function __construct() + protected $translator; + + public function __construct(TranslatorInterface $translator) { if ($this->entity_class === '' || $this->form_class === '' || $this->twig_template === '' || $this->route_base === '') { throw new \InvalidArgumentException('You have to override the $entity_class, $form_class, $route_base and $twig_template value in your subclasss!'); } + + $this->translator = $translator; } protected function _edit(NamedDBElement $entity, Request $request, EntityManagerInterface $em) @@ -70,6 +75,9 @@ abstract class BaseAdminController extends AbstractController if ($form->isSubmitted() && $form->isValid()) { $em->persist($entity); $em->flush(); + $this->addFlash('success', $this->translator->trans('entity.edit_flash')); + } elseif ($form->isSubmitted() && ! $form->isValid()) { + $this->addFlash('error', $this->translator->trans('entity.edit_flash.invalid')); } //Rebuild form, so it is based on the updated data. Important for the parent field! @@ -96,9 +104,11 @@ abstract class BaseAdminController extends AbstractController if ($form->isSubmitted() && $form->isValid()) { $em->persist($new_entity); $em->flush(); - //$this->addFlash('success', $translator->trans('part.created_flash')); + $this->addFlash('success', $this->translator->trans('entity.created_flash')); return $this->redirectToRoute($this->route_base . '_edit', ['id' => $new_entity->getID()]); + } elseif ($form->isSubmitted() && ! $form->isValid()) { + $this->addFlash('error', $this->translator->trans('entity.created_flash.invalid')); } //Import form diff --git a/src/Controller/PartController.php b/src/Controller/PartController.php index c04c6174..75a418d2 100644 --- a/src/Controller/PartController.php +++ b/src/Controller/PartController.php @@ -70,7 +70,7 @@ class PartController extends AbstractController * @param EntityManagerInterface $em * @return \Symfony\Component\HttpFoundation\Response */ - public function edit(Part $part, Request $request, EntityManagerInterface $em) + public function edit(Part $part, Request $request, EntityManagerInterface $em, TranslatorInterface $translator) { $this->denyAccessUnlessGranted('edit', $part); @@ -80,7 +80,9 @@ class PartController extends AbstractController if ($form->isSubmitted() && $form->isValid()) { $em->persist($part); $em->flush(); - $this->addFlash('info', 'part.edited_flash'); + $this->addFlash('info', $translator->trans('part.edited_flash')); + } elseif ($form->isSubmitted() && ! $form->isValid()) { + $this->addFlash('error', $translator->trans('part.edited_flash.invalid')); } return $this->render('Parts/edit/edit_part_info.html.twig', @@ -119,6 +121,8 @@ class PartController extends AbstractController $this->addFlash('success', $translator->trans('part.created_flash')); return $this->redirectToRoute('part_edit', ['id' => $new_part->getID()]); + } elseif ($form->isSubmitted() && ! $form->isValid()) { + $this->addFlash('error', $translator->trans('part.created_flash.invalid')); } return $this->render('Parts/edit/new_part.html.twig', diff --git a/src/Entity/Parts/Part.php b/src/Entity/Parts/Part.php index 03115510..741d073e 100644 --- a/src/Entity/Parts/Part.php +++ b/src/Entity/Parts/Part.php @@ -264,7 +264,7 @@ class Part extends AttachmentContainingDBElement /** * @var float|null How much a single part unit weighs in gramms. * @ORM\Column(type="float", nullable=true) - * @Assert\Positive() + * @Assert\PositiveOrZero() */ protected $mass;