From bf841ad5c6f2951a20e9fa8a6e371c991f56aafe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20Tr=C3=B6ger?= Date: Tue, 7 Oct 2025 15:47:59 +0200 Subject: [PATCH] updated sonarqube + fixed first issues --- Backend/Dockerfile | 2 +- Backend/static/script.js | 49 +++++++++++++----------------------- DB/initdb/01_schema.sql | 0 DB/initdb/02_sample_data.sql | 0 DB/initdb/03_create_user.sh | 0 sonar-project.properties | 9 ++++--- 6 files changed, 24 insertions(+), 36 deletions(-) mode change 100644 => 100755 DB/initdb/01_schema.sql mode change 100644 => 100755 DB/initdb/02_sample_data.sql mode change 100644 => 100755 DB/initdb/03_create_user.sh diff --git a/Backend/Dockerfile b/Backend/Dockerfile index c9ef35d..3443313 100644 --- a/Backend/Dockerfile +++ b/Backend/Dockerfile @@ -13,7 +13,7 @@ RUN go mod download && go mod verify COPY . . RUN go build -o server . -FROM alpine +FROM alpine:3.22 RUN apk add --no-cache tzdata WORKDIR /app COPY --from=build /app/server /app/server diff --git a/Backend/static/script.js b/Backend/static/script.js index 176e4f8..2253687 100644 --- a/Backend/static/script.js +++ b/Backend/static/script.js @@ -1,5 +1,5 @@ function clearEditState() { - for (e of document.querySelectorAll(".edit")) { + for (let e of document.querySelectorAll(".edit")) { e.classList.remove("edit"); } toggleAbsenceEdit(false); @@ -8,11 +8,9 @@ function clearEditState() { function editWorkday(element, event, id, isWorkDay) { console.log("editWorkday called", isWorkDay); event.preventDefault(); - var form = document.getElementById(id); + const form = document.getElementById(id); if (form == null) { - form = element - .closest(".grid-sub") - .querySelector(".all-booking-component > form"); + form = element.closest(".grid-sub").querySelector(".all-booking-component > form"); } clearEditState(); @@ -22,37 +20,26 @@ function editWorkday(element, event, id, isWorkDay) { if (isWorkDay) { element.classList.add("edit"); if (element.classList.contains("edit")) { - form.querySelectorAll("input, select").forEach((input) => { + for (let input of form.querySelectorAll("input, select")) { input.disabled = false; - }); + } } else { form.submit(); } } else { - var absenceForm = document.getElementById("absence_form"); + const absenceForm = document.getElementById("absence_form"); - if (id != 0) { - syncFields(form, absenceForm, [ - "date_from", - "date_to", - "aw_type", - "aw_id", - ]); + if (id == 0) { + absenceForm.querySelector("[name=date_from]").value = form.id.replace("time-", ""); + absenceForm.querySelector("[name=date_to]").value = form.id.replace("time-", ""); } else { - absenceForm.querySelector("[name=date_from]").value = form.id.replace( - "time-", - "", - ); - absenceForm.querySelector("[name=date_to]").value = form.id.replace( - "time-", - "", - ); + syncFields(form, absenceForm, ["date_from", "date_to", "aw_type", "aw_id"]); } } } function toggleAbsenceEdit(state) { - var form = document.getElementById("absence_form"); + const form = document.getElementById("absence_form"); if (state) { form.classList.remove("hidden"); form.scrollIntoView({ @@ -66,22 +53,22 @@ function toggleAbsenceEdit(state) { } function syncFields(from, to, fieldsToSync) { - fieldsToSync.forEach((name) => { - const src = from.querySelector(`[name=${name}]`); - const target = to.querySelector(`[name=${name}]`); + for (let field of fieldsToSync) { + const src = from.querySelector(`[name=${field}]`); + const target = to.querySelector(`[name=${field}]`); if (!src || !target) return; target.value = src.value; - }); + } } function navigateWeek(element, event, direction) { - var dateInput = element.closest("form").querySelector("input[type=date]"); - var date = dateInput.valueAsDate; + const dateInput = element.closest("form").querySelector("input[type=date]"); + const date = dateInput.valueAsDate; date.setDate(date.getDate() + 7 * direction); date.setHours(10); dateInput.valueAsDate = date; } function logoutUser() { - fetch("/user/logout", {}).then(() => window.location.reload()); + fetch("/user/logout", {}).then(() => globalThis.location.reload()); } diff --git a/DB/initdb/01_schema.sql b/DB/initdb/01_schema.sql old mode 100644 new mode 100755 diff --git a/DB/initdb/02_sample_data.sql b/DB/initdb/02_sample_data.sql old mode 100644 new mode 100755 diff --git a/DB/initdb/03_create_user.sh b/DB/initdb/03_create_user.sh old mode 100644 new mode 100755 diff --git a/sonar-project.properties b/sonar-project.properties index 9ef4c3e..8ac01a7 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,8 +1,9 @@ -sonar.projectKey=Arbeitszeitmessung +sonar.projectKey=arbeitszeitmessung +sonar.projectBaseDir=Backend sonar.sources=. -sonar.exclusions=**/*_test.go +sonar.exclusions=**/*_test.go, **/*_templ.go sonar.tests=. sonar.test.inclusions=**/*_test.go -sonar.go.tests.reportPaths=Backend/.test/report.json -sonar.go.coverage.reportPaths=Backend/.test/coverage.out +sonar.go.tests.reportPaths=.test/report.json +sonar.go.coverage.reportPaths=.test/coverage.out