Updates
This commit is contained in:
		| @@ -387,4 +387,52 @@ class AjaxController extends AbstractController | ||||
|  | ||||
|         return $res; | ||||
|     } | ||||
|  | ||||
|     #[Route('/save-settings', name: 'app_save_settings', methods: ['POST'])] | ||||
|     public function saveSettings(Request $req, EntityManagerInterface $emi): Response | ||||
|     { | ||||
|         $data = json_decode($req->getContent()); | ||||
|         /** @var User $user */ | ||||
|         $user = $this->getUser(); | ||||
|  | ||||
|         if (!$user) { | ||||
|             return new Response(json_encode([ | ||||
|                 'msg' => 'No User' | ||||
|             ])); | ||||
|         } | ||||
|  | ||||
|         if (!$data->saveInterval) { | ||||
|             $data->saveInterval = 15; | ||||
|         } | ||||
|  | ||||
|         if (!$data->saveReferences) { | ||||
|             $data->saveReferences = true; | ||||
|         } | ||||
|  | ||||
|         if (!$data->noteTextSize) { | ||||
|             $data->noteTextSize = 12; | ||||
|         } | ||||
|  | ||||
|         if (!$data->trackSaveSize) { | ||||
|             $data->trackSaveSize = false; | ||||
|         } | ||||
|  | ||||
|         $meta = $user->getMetaData(); | ||||
|         $meta['saveInterval'] = $data->saveInterval; | ||||
|         $meta['saveReferences'] = $data->saveReferences; | ||||
|         $meta['noteTextSize'] = $data->noteTextSize; | ||||
|         $meta['trackSaveSize'] = $data->trackSaveSize; | ||||
|         $meta['saveTimeout'] = $data->saveTimeout; | ||||
|         $meta['save-failure-count'] = $data->saveFailureCount; | ||||
|         $user->setMetaData($meta); | ||||
|         $emi->persist($user); | ||||
|         $emi->flush(); | ||||
|  | ||||
|         $res = new Response(); | ||||
|         $res->setContent(json_encode([ | ||||
|             'msg' => 'Settings Saved' | ||||
|         ])); | ||||
|  | ||||
|         return $res; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -3,7 +3,6 @@ | ||||
| namespace App\Controller; | ||||
|  | ||||
| use App\Entity\Note; | ||||
| use App\Entity\Reference; | ||||
| use App\Entity\User; | ||||
| use Doctrine\ORM\EntityManagerInterface; | ||||
| use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; | ||||
| @@ -11,7 +10,6 @@ use Symfony\Component\HttpFoundation\Request; | ||||
| use Symfony\Component\HttpFoundation\Response; | ||||
| use Symfony\Component\Routing\Attribute\Route; | ||||
| use Symfony\Component\Security\Http\Attribute\CurrentUser; | ||||
| use Symfony\Component\Uid\Uuid; | ||||
|  | ||||
| class DefaultController extends AbstractController | ||||
| { | ||||
| @@ -30,11 +28,13 @@ class DefaultController extends AbstractController | ||||
|         $this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY'); | ||||
|         $last4Notes = $emi->getRepository(Note::class)->getLast4Notes($user); | ||||
|         $openNotes = $emi->getRepository(Note::class)->reverseNoteSort($user); | ||||
|         $meta = $user->getMetaData(); | ||||
|  | ||||
|         return $this->render('default/home.html.twig', [ | ||||
|             'last4Notes' => $last4Notes, | ||||
|             'reverseNoteSort' => $openNotes, | ||||
|             'isAdmin' => $this->isGranted('ROLE_ADMIN'), | ||||
|             'meta' => $meta, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
| @@ -44,6 +44,31 @@ class DefaultController extends AbstractController | ||||
|         return $this->render('default/cheat-sheet.html.twig'); | ||||
|     } | ||||
|  | ||||
|     #[Route('/profile', name: 'app_profile')] | ||||
|     public function profile(): Response | ||||
|     { | ||||
|         /** @var User $user */ | ||||
|         $user = $this->getUser(); | ||||
|         $meta = $user->getMetaData(); | ||||
|         if (!$meta) { | ||||
|             $meta = [ | ||||
|                 'saveInterval' => 15, | ||||
|                 'saveReferences' => 'checked', | ||||
|                 'noteTextSize' => 12, | ||||
|                 'trackSaveSize' => null, | ||||
|                 'saveFailureCount' => 3, | ||||
|                 'saveTimeout' => 5, | ||||
|             ]; | ||||
|         } else { | ||||
|             $meta['saveReferences'] = $meta['saveReferences'] ? 'checked' : null; | ||||
|             $meta['trackSaveSize'] = $meta['trackSaveSize'] ? 'checked' : null; | ||||
|         } | ||||
|  | ||||
|         return $this->render('default/profile.html.twig', [ | ||||
|             'meta' => $meta, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     #[Route('/reference-editor', name: 'app_reference_editor')] | ||||
|     public function referenceEditor(EntityManagerInterface $emi): Response | ||||
|     { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user