src/Controller/UserOrdController.php line 19

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\UserOrd;
  4. use App\Form\UserOrdFormType;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Doctrine\Persistence\ManagerRegistry;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. use Symfony\Component\Security\Http\Attribute\IsGranted;
  12. #[IsGranted('ROLE_USER')]
  13. class UserOrdController extends AbstractController
  14. {
  15.     #[Route('/user/ord'name'app_user_ord')]
  16.     public function index(): Response
  17.     {
  18.         $userOrds $this->getUser()->getUserOrd();
  19.         return $this->render('user_ord/index.html.twig', [
  20.             'userOrds' => $userOrds
  21.         ]);
  22.     }
  23.     #[Route('user/ord/create'name'app_user_ord_create')]
  24.     public function create(Request $requestEntityManagerInterface $entityManager): Response
  25.     {
  26.         $userOrd = new UserOrd();
  27.         $form $this->createForm(UserOrdFormType::class, $userOrd);
  28.         $form->handleRequest($request);
  29.         if ($form->isSubmitted() && $form->isValid()) {
  30.             $userOrd->setUser($this->getUser());
  31.             $userOrd->setContractDate(\DateTime::createFromFormat('d/m/Y''11/12/2019'));
  32.             $userOrd->setContractNumber("Договор оферты от 11.12.2019г");
  33.             $userOrd->setContractSubject("org_distribution");
  34.             $userOrd->setContractType("service");
  35.             $userOrd->setVat(true);
  36.             $entityManager->persist($userOrd);
  37.             $entityManager->flush();
  38.             return $this->redirectToRoute('app_user_ord');
  39.         }
  40.         return $this->render('user_ord/form.html.twig', [
  41.             'form' => $form->createView(),
  42.             'userOrd' => $userOrd,
  43.             'createAction' => true
  44.         ]);
  45.     }
  46.     #[Route('/user/ord/{userOrd}'name'app_user_ord_edit')]
  47.     public function edit(Request $requestUserOrd $userOrdEntityManagerInterface $entityManager): Response
  48.     {
  49.         if ($userOrd->getUser() !== $this->getUser()) {
  50.             throw $this->createAccessDeniedException('Нет доступа');
  51.         }
  52.         $form $this->createForm(UserOrdFormType::class, $userOrd);
  53.         $form->handleRequest($request);
  54.         if ($form->isSubmitted() && $form->isValid()) {
  55.             $entityManager->flush();
  56.             return $this->redirectToRoute('app_user_ord');
  57.         }
  58.         return $this->render('user_ord/form.html.twig', [
  59.             'form' => $form->createView(),
  60.             'userOrd' => $userOrd,
  61.             'createAction' => false
  62.         ]);
  63.     }
  64.     #[Route('/user/ord/remove/{userOrd}'name'app_user_ord_remove')]
  65.     public function remove(UserOrd $userOrdEntityManagerInterface $entityManager): Response
  66.     {
  67.         if ($userOrd->getUser() !== $this->getUser()) {
  68.             throw $this->createAccessDeniedException('Нет доступа');
  69.         }
  70.         $entityManager->remove($userOrd);
  71.         $entityManager->flush();
  72.         return $this->redirectToRoute('app_user_ord');
  73.     }
  74. }