diff --git a/assets/calendar.js b/assets/calendar.js index 2c181f4f9616c46c618513b83da39d82c31cbdac..346a21787cc8eddf456e2113f4fb133e4f8c5982 100644 --- a/assets/calendar.js +++ b/assets/calendar.js @@ -12,7 +12,9 @@ const { default: consolaGlobalInstance } = require('consola'); var Calendar = require('tui-calendar'); /* CommonJS */ - +var UserLevel = 0; +document.getElementById("userLvl").innerHTML = UserLevel; +console.log(UserLevel); $(function () { var calendar = new Calendar('#calendar', { @@ -50,6 +52,19 @@ $(function () { }); } + console.log($("#btn-yes-feedback")) + $("#btn-yes-feedback").on('click', function (event) { + $.ajax({ + type: "POST", + url: "/calendar/send_click", + success: function (data) { + console.log(data); + UserLevel = data.score; + document.getElementById("userLvl").innerHTML = parseInt(UserLevel, 10); + } + }) + }) + calendar.on('beforeCreateSchedule', function (event) { var scheduleData = event // var calendarId = '1'; diff --git a/src/Controller/CalendarController.php b/src/Controller/CalendarController.php index 3e7257a56d92af709fcc7658548e21d6b1b6d344..83b8f3a59a5d2192f332ef4728238a64a2b05d0e 100644 --- a/src/Controller/CalendarController.php +++ b/src/Controller/CalendarController.php @@ -27,8 +27,7 @@ class CalendarController extends AbstractController public function calendarReceive() { $user = $this->getUser(); - if (!$user || !$user instanceof User) - { + if (!$user || !$user instanceof User) { throw new \LogicException("The calendar could not be sent because there are no existing user."); } @@ -45,8 +44,7 @@ class CalendarController extends AbstractController /** @var User */ $user = $this->getUser(); - if (!$user || !$user instanceof User) - { + if (!$user || !$user instanceof User) { throw new \LogicException("The calendar could not be sent because there are no existing user."); } @@ -55,23 +53,21 @@ class CalendarController extends AbstractController return new Response("all good"); } - + #[Route('/calendar/send_click', name: 'calendar_send_click')] #[IsGranted('ROLE_USER')] public function calendarSendClick(EntityManagerInterface $manager) { /** @var User */ $user = $this->getUser(); - if (!$user || !$user instanceof User) - { + if (!$user || !$user instanceof User) { throw new \LogicException("The button could not be pressed because there are no existing user."); } - $completionCunter = $user->getCompletionCounter(); - $user->setCompletionCounter($completionCunter++); + $completionCounter = $user->getCompletionCounter(); + $user->setCompletionCounter(++$completionCounter); $manager->flush(); - return new JsonResponse(["score", $user->calculateScore()]); + return new JsonResponse(["score" => $user->calculateScore(), "counter"=>$completionCounter]); } - } diff --git a/src/Entity/User.php b/src/Entity/User.php index a68769476890f21b7c3431d58e040e1c0d3f5010..74b1f44c59a29cc2ca0455525761234a014ce2f1 100644 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -142,6 +142,13 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface public function calculateScore(): ?float { + if ($this->completionCounter == 0) + { + return 0; + } + else + { return log($this->completionCounter); + } } } diff --git a/templates/calendar/index.html.twig b/templates/calendar/index.html.twig index d0e2aca54bf75faa8c8b13bf74ea3c0e894792eb..c897c0c7bcf5394009c6becb4291db1cf67d62c2 100644 --- a/templates/calendar/index.html.twig +++ b/templates/calendar/index.html.twig @@ -32,7 +32,7 @@ </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">No, I haven't</button> - <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Yes, I have!</button> + <button type="button" id="btn-yes-feedback" class="btn btn-primary" data-bs-dismiss="modal">Yes, I have!</button> </div> </div> @@ -46,6 +46,7 @@ jusqu'au <span id="dateEnd"></span> </h4> + <h5>Niveau du joueur :<span id='userLvl'></span></h5> </div> <div id="calendarList"></div> </body>