Fix prepopulated uuids

This commit is contained in:
Ryan Prather 2024-05-16 18:53:53 -04:00
parent 9e7e84a4fc
commit 3e278c27fa
2 changed files with 19 additions and 14 deletions

View File

@ -98,8 +98,8 @@ class AjaxController extends AbstractController
$user = $this->getUser(); $user = $this->getUser();
$speaker = new Speaker(); $speaker = new Speaker();
$speaker->setName($data->speakerName); $speaker->setName($data->speakerName)
$speaker->setUser($user); ->setUser($user);
$emi->persist($speaker); $emi->persist($speaker);
$emi->flush(); $emi->flush();
@ -139,8 +139,8 @@ class AjaxController extends AbstractController
$user = $this->getUser(); $user = $this->getUser();
$series = new Series(); $series = new Series();
$series->setName($data->seriesName); $series->setName($data->seriesName)
$series->setUser($user); ->setUser($user);
$emi->persist($series); $emi->persist($series);
$emi->flush(); $emi->flush();
@ -267,22 +267,28 @@ class AjaxController extends AbstractController
public function saveNote(Request $req, EntityManagerInterface $emi): Response public function saveNote(Request $req, EntityManagerInterface $emi): Response
{ {
$data = json_decode($req->getContent()); $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(); $note = new Note();
$uuid = Uuid::fromString($data->id); $newNote = true;
$note->setId($uuid); $note->setUser($this->getUser());
} }
$refs = json_decode(json_encode($data->refs), true); $refs = json_decode(json_encode($data->refs), true);
$series = $emi->getRepository(Series::class)->find($data->series); $series = $emi->getRepository(Series::class)->find($data->series);
$speaker = $emi->getRepository(Speaker::class)->find($data->speaker); $speaker = $emi->getRepository(Speaker::class)->find($data->speaker);
$user = $this->getUser();
$note->setUser($user) /** @var Note $note */
->setTitle($data->title) $note->setTitle($data->title)
->setDate(new DateTime($data->date)) ->setDate(new DateTime($data->date))
->setSeries($series) ->setSeries($series)
->setSpeaker($speaker) ->setSpeaker($speaker)
@ -296,7 +302,8 @@ class AjaxController extends AbstractController
$res = new Response(); $res = new Response();
$res->setContent(json_encode([ $res->setContent(json_encode([
'msg' => 'saved', 'msg' => 'saved',
'id' => $note->getId() 'id' => $note->getId(),
'new' => $newNote,
])); ]));
return $res; return $res;

View File

@ -26,11 +26,9 @@ class DefaultController extends AbstractController
{ {
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY'); $this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY');
$last4Notes = $emi->getRepository(Note::class)->getLast4Notes($user); $last4Notes = $emi->getRepository(Note::class)->getLast4Notes($user);
$uuid = Uuid::v4();
return $this->render('default/home.html.twig', [ return $this->render('default/home.html.twig', [
'last4Notes' => $last4Notes, 'last4Notes' => $last4Notes,
'id' => $uuid,
'isAdmin' => $this->isGranted('ROLE_ADMIN'), 'isAdmin' => $this->isGranted('ROLE_ADMIN'),
]); ]);
} }