From c566fbc5921d67b1023af7576ad4e48aaf638c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Tom=C3=A1s?= Date: Thu, 14 Sep 2023 11:01:40 +0100 Subject: [PATCH] Fixed critical bug when exams take place throughout all day Updated base URL of Google Calendar API and removed outdated link parameters --- js/examsCalendar.js | 23 ++++++++++++++++------- manifest.json | 2 +- manifest_v3.json | 2 +- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/js/examsCalendar.js b/js/examsCalendar.js index 061dda4..3bc5e35 100644 --- a/js/examsCalendar.js +++ b/js/examsCalendar.js @@ -49,25 +49,34 @@ function parseRow(row){ else epoca = ""; tempDate = row[0].innerText.split("/"); - tempHours = row[3].innerText.split(":") + tempHours = row[3].innerText.split(":"); + data = new Date(); data.setDate(tempDate[0]); data.setMonth(tempDate[1]-1); data.setFullYear(tempDate[2]); - data.setHours(tempHours[0],tempHours[1],0); + //Handle cases where the exam takes place throughout all day + if (tempHours.length == 2) + data.setHours(tempHours[0],tempHours[1],0); + else + data.setHours(0,0,0); //Create link - link = new URL("https://www.google.com/calendar/render"); + link = new URL("https://calendar.google.com/calendar/render"); link.searchParams.append("action", "TEMPLATE"); link.searchParams.append("text", "[" + disciplina + "] Exame " + epoca); + datestart = data.toISOString().replace(/-|:|\.\d\d\d/g,""); - data.setHours(data.getHours() + 2); - dateend = data.toISOString().replace(/-|:|\.\d\d\d/g,""); + if (tempHours.length == 2){ + data.setHours(data.getHours() + 2); + dateend = data.toISOString().replace(/-|:|\.\d\d\d/g,""); + } else { + dateend = datestart = datestart.split("T")[0]; + } + link.searchParams.append("dates", datestart + "/" + dateend) link.searchParams.append("details", obs); link.searchParams.append("location", sala); - link.searchParams.append("sf", "true"); - link.searchParams.append("output", "xml"); //Insert link to create event in table var newNode = document.createElement("td"); diff --git a/manifest.json b/manifest.json index 3941bc0..b3b718c 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "PACO UA Extension", - "version": "0.41", + "version": "0.42", "description": "Extensão que adiciona funcionalidades extra ao PACO (Portal Académico Online da Universidade de Aveiro)", diff --git a/manifest_v3.json b/manifest_v3.json index b60d6de..69c7def 100644 --- a/manifest_v3.json +++ b/manifest_v3.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "PACO UA Extension", - "version": "0.41", + "version": "0.42", "description": "Extensão que adiciona funcionalidades extra ao PACO (Portal Académico Online da Universidade de Aveiro)",