diff --git a/assets/calendar.js b/assets/calendar.js index 09eb15669fcce21cfc5f55db6df2b2cdc1586200..6d19e3812f15ce448fc85c472d9ed3cbbe23e366 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', { @@ -56,6 +58,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 e1ee7a4cdd7e0a7363104ee276a455cc391a0180..efe755d7dd401c146ffe8a0bcb2e820785873413 100644 --- a/templates/calendar/index.html.twig +++ b/templates/calendar/index.html.twig @@ -32,6 +32,8 @@ to <span id="dateEnd"></span> </h4> + <h5>Your Level : <span id='userLvl'></span> + </h5> </div> <div class="col"> @@ -40,15 +42,15 @@ </p> <form id="planForm"> <div class="row"> - <input placeholder="Task to do" required class="form-control mb-1" type="text" id="taskPlan"/> - <input placeholder="Hours of work" required class="form-control mb-1" type="number" id="hoursPlan"/> - <label for="deadlinePlan">Deadline</label> - <input required class="form-control mb-1" type="date" id="deadlinePlan"/> + <input placeholder="Task to do" required class="form-control mb-1" type="text" id="taskPlan"/> + <input placeholder="Hours of work" required class="form-control mb-1" type="number" id="hoursPlan"/> + <label for="deadlinePlan">Deadline</label> + <input required class="form-control mb-1" type="date" id="deadlinePlan"/> </div> <div class="row"> - <button class="btn btn-primary col" type="submit">Plan</button> - <button id="clearPlanButton" class="btn btn-danger col" type="button">Clear</button> + <button class="btn btn-primary col" type="submit">Plan</button> + <button id="clearPlanButton" class="btn btn-danger col" type="button">Clear</button> </div> </form> </div> @@ -68,7 +70,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>