From 95efba2c94a97519b64954621feb6fcfcc3ad3bc Mon Sep 17 00:00:00 2001
From: Brieuc Dubois <git@bhasher.com>
Date: Wed, 9 Oct 2024 15:51:13 +0300
Subject: [PATCH] Fix #49

---
 backend/app/schemas.py                             |  8 ++++----
 frontend/src/lang/fr.json                          |  4 +++-
 .../src/lib/components/users/weeklySurvey.svelte   | 14 ++++++--------
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/backend/app/schemas.py b/backend/app/schemas.py
index fdb16f69..634a2f78 100644
--- a/backend/app/schemas.py
+++ b/backend/app/schemas.py
@@ -68,10 +68,10 @@ class ContactCreate(BaseModel):
 
 
 class UserSurveyWeeklyCreate(BaseModel):
-    q1: float
-    q2: float
-    q3: float
-    q4: float
+    q1: float | None = None
+    q2: float | None = None
+    q3: float | None = None
+    q4: float | None = None
 
 
 class Session(BaseModel):
diff --git a/frontend/src/lang/fr.json b/frontend/src/lang/fr.json
index b6cf7887..b1569c9d 100644
--- a/frontend/src/lang/fr.json
+++ b/frontend/src/lang/fr.json
@@ -289,7 +289,9 @@
 		},
 		"language": {
 			"fr": "Français",
-			"en": "Anglais"
+			"en": "Anglais",
+			"fra": "Français",
+			"eng": "Anglais"
 		},
 		"bool": {
 			"true": "Oui",
diff --git a/frontend/src/lib/components/users/weeklySurvey.svelte b/frontend/src/lib/components/users/weeklySurvey.svelte
index 9cb9d267..76790f85 100644
--- a/frontend/src/lib/components/users/weeklySurvey.svelte
+++ b/frontend/src/lib/components/users/weeklySurvey.svelte
@@ -4,10 +4,13 @@
 	import { t } from '$lib/services/i18n';
 	import { user } from '$lib/types/user';
 	import { formatToUTCDate } from '$lib/utils/date';
-	import { toastAlert, toastSuccess, toastWarning } from '$lib/utils/toasts';
+	import { toastAlert, toastSuccess } from '$lib/utils/toasts';
 
 	let open =
-		!$user?.last_survey || $user.last_survey.getTime() + config.WEEKLY_SURVEY_INTERVAL < Date.now();
+		!$user?.is_tutor &&
+		!$user?.is_admin &&
+		(!$user?.last_survey ||
+			$user.last_survey.getTime() + config.WEEKLY_SURVEY_INTERVAL < Date.now());
 
 	async function send() {
 		if (!$user) return;
@@ -17,11 +20,6 @@
 			return value === '-1' ? null : parseFloat(value);
 		});
 
-		if (data.includes(null)) {
-			toastWarning($t('session.modal.weekly.errors.null'));
-			return;
-		}
-
 		const res = await createWeeklySurveyAPI($user.id, data[0]!, data[1]!, data[2]!, data[3]!);
 
 		if (!res) {
@@ -44,7 +42,7 @@
 	tabindex="0"
 	aria-modal="true"
 >
-	<div class="modal-box max-w-none">
+	<div class="modal-box max-w-[800px]">
 		<h2 class="text-xl font-bold mb-4">{$t('session.modal.weekly.title')}</h2>
 		<p>{@html $t('session.modal.weekly.description')}</p>
 		{#each new Array(4) as _, i}
-- 
GitLab