From 3e278c27fa5a9810548f9b56ab68dba0be0dd219 Mon Sep 17 00:00:00 2001 From: Ryan Prather Date: Thu, 16 May 2024 18:53:53 -0400 Subject: [PATCH] Fix prepopulated uuids --- src/Controller/AjaxController.php | 31 +++++++++++++++++----------- src/Controller/DefaultController.php | 2 -- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/Controller/AjaxController.php b/src/Controller/AjaxController.php index dc43131..2b4c14d 100644 --- a/src/Controller/AjaxController.php +++ b/src/Controller/AjaxController.php @@ -98,8 +98,8 @@ class AjaxController extends AbstractController $user = $this->getUser(); $speaker = new Speaker(); - $speaker->setName($data->speakerName); - $speaker->setUser($user); + $speaker->setName($data->speakerName) + ->setUser($user); $emi->persist($speaker); $emi->flush(); @@ -139,8 +139,8 @@ class AjaxController extends AbstractController $user = $this->getUser(); $series = new Series(); - $series->setName($data->seriesName); - $series->setUser($user); + $series->setName($data->seriesName) + ->setUser($user); $emi->persist($series); $emi->flush(); @@ -267,22 +267,28 @@ class AjaxController extends AbstractController public function saveNote(Request $req, EntityManagerInterface $emi): Response { $data = json_decode($req->getContent()); - $note = $emi->getRepository(Note::class)->find($data->id); + $newNote = false; + if (isset($data->id) && $data->id) { + /** @var Note|array $note */ + $note = $emi->getRepository(Note::class)->findBy(['id' => $data->id, 'user' => $this->getUser()]); - if (!$note) { + if (is_array($note) && count($note) > 0) { + /** @var Note $note */ + $note = $note[0]; + } + } else { $note = new Note(); - $uuid = Uuid::fromString($data->id); - $note->setId($uuid); + $newNote = true; + $note->setUser($this->getUser()); } $refs = json_decode(json_encode($data->refs), true); $series = $emi->getRepository(Series::class)->find($data->series); $speaker = $emi->getRepository(Speaker::class)->find($data->speaker); - $user = $this->getUser(); - $note->setUser($user) - ->setTitle($data->title) + /** @var Note $note */ + $note->setTitle($data->title) ->setDate(new DateTime($data->date)) ->setSeries($series) ->setSpeaker($speaker) @@ -296,7 +302,8 @@ class AjaxController extends AbstractController $res = new Response(); $res->setContent(json_encode([ 'msg' => 'saved', - 'id' => $note->getId() + 'id' => $note->getId(), + 'new' => $newNote, ])); return $res; diff --git a/src/Controller/DefaultController.php b/src/Controller/DefaultController.php index b66e192..dc3f6fe 100644 --- a/src/Controller/DefaultController.php +++ b/src/Controller/DefaultController.php @@ -26,11 +26,9 @@ class DefaultController extends AbstractController { $this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY'); $last4Notes = $emi->getRepository(Note::class)->getLast4Notes($user); - $uuid = Uuid::v4(); return $this->render('default/home.html.twig', [ 'last4Notes' => $last4Notes, - 'id' => $uuid, 'isAdmin' => $this->isGranted('ROLE_ADMIN'), ]); }