From fabb759daa23cf9bb38e62561db306f81c3c9cca Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Sat, 27 Jul 2024 21:21:34 +0200 Subject: [PATCH] Update tests, add translations --- server/locale/de/LC_MESSAGES/django.po | 58 +++++++++++------- server/locale/fr/LC_MESSAGES/django.mo | Bin 2619 -> 2743 bytes server/locale/fr/LC_MESSAGES/django.po | 39 ++++++++---- server/locale/it/LC_MESSAGES/django.mo | Bin 2526 -> 2646 bytes server/locale/it/LC_MESSAGES/django.po | 39 ++++++++---- .../tests/test_attendance_export.py | 30 +++++++-- 6 files changed, 111 insertions(+), 55 deletions(-) diff --git a/server/locale/de/LC_MESSAGES/django.po b/server/locale/de/LC_MESSAGES/django.po index 826c9f35..d377dfff 100644 --- a/server/locale/de/LC_MESSAGES/django.po +++ b/server/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 15:24+0200\n" +"POT-Creation-Date: 2024-07-27 20:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -38,32 +38,32 @@ msgstr "" msgid "Nicht bestanden" msgstr "" -#: vbv_lernwelt/assignment/export.py:203 vbv_lernwelt/assignment/export.py:206 -#: vbv_lernwelt/assignment/export.py:207 +#: vbv_lernwelt/assignment/export.py:204 vbv_lernwelt/assignment/export.py:208 +#: vbv_lernwelt/assignment/export.py:209 msgid "Keine Daten" msgstr "" -#: vbv_lernwelt/core/admin.py:32 +#: vbv_lernwelt/core/admin.py:38 vbv_lernwelt/sso/admin.py:83 msgid "Personal info" msgstr "" -#: vbv_lernwelt/core/admin.py:34 +#: vbv_lernwelt/core/admin.py:40 msgid "Permissions" msgstr "" -#: vbv_lernwelt/core/admin.py:45 +#: vbv_lernwelt/core/admin.py:51 msgid "Important dates" msgstr "" -#: vbv_lernwelt/core/admin.py:47 +#: vbv_lernwelt/core/admin.py:53 msgid "Profile" msgstr "" -#: vbv_lernwelt/core/admin.py:62 +#: vbv_lernwelt/core/admin.py:70 msgid "Organisation" msgstr "" -#: vbv_lernwelt/core/admin.py:75 +#: vbv_lernwelt/core/admin.py:83 vbv_lernwelt/sso/admin.py:86 msgid "Additional data" msgstr "" @@ -87,31 +87,31 @@ msgstr "" msgid "Lehrgang-Seite" msgstr "" -#: vbv_lernwelt/course/models.py:272 +#: vbv_lernwelt/course/models.py:278 msgid "Teilnehmer" msgstr "" -#: vbv_lernwelt/course/models.py:273 +#: vbv_lernwelt/course/models.py:279 msgid "Experte/Trainer" msgstr "" -#: vbv_lernwelt/course/models.py:332 +#: vbv_lernwelt/course/models.py:339 msgid "Dokumente im Circle ein/aus" msgstr "" -#: vbv_lernwelt/course/models.py:336 +#: vbv_lernwelt/course/models.py:343 msgid "Lernmentor-Funktion ein/aus" msgstr "" -#: vbv_lernwelt/course/models.py:340 +#: vbv_lernwelt/course/models.py:347 msgid "Kompetenzweise ein/aus" msgstr "" -#: vbv_lernwelt/course/models.py:343 +#: vbv_lernwelt/course/models.py:350 msgid "Versicherungsvermittler-Lehrgang" msgstr "" -#: vbv_lernwelt/course/models.py:344 +#: vbv_lernwelt/course/models.py:351 msgid "ÜK-Lehrgang" msgstr "" @@ -119,31 +119,43 @@ msgstr "" msgid "export_anwesenheit" msgstr "" -#: vbv_lernwelt/course_session/services/export_attendance.py:92 +#: vbv_lernwelt/course_session/services/export_attendance.py:86 +msgid "Optionale Anwesenheit" +msgstr "" + +#: vbv_lernwelt/course_session/services/export_attendance.py:96 msgid "Anwesenheit" msgstr "" -#: vbv_lernwelt/course_session/services/export_attendance.py:116 +#: vbv_lernwelt/course_session/services/export_attendance.py:119 +msgid "Ja" +msgstr "" + +#: vbv_lernwelt/course_session/services/export_attendance.py:119 +msgid "Nein" +msgstr "" + +#: vbv_lernwelt/course_session/services/export_attendance.py:128 msgid "Anwesend" msgstr "" -#: vbv_lernwelt/course_session/services/export_attendance.py:116 +#: vbv_lernwelt/course_session/services/export_attendance.py:128 msgid "Nicht anwesend" msgstr "" -#: vbv_lernwelt/course_session/services/export_attendance.py:123 +#: vbv_lernwelt/course_session/services/export_attendance.py:135 msgid "Vorname" msgstr "" -#: vbv_lernwelt/course_session/services/export_attendance.py:124 +#: vbv_lernwelt/course_session/services/export_attendance.py:136 msgid "Nachname" msgstr "" -#: vbv_lernwelt/course_session/services/export_attendance.py:125 +#: vbv_lernwelt/course_session/services/export_attendance.py:137 msgid "Email" msgstr "Email" -#: vbv_lernwelt/course_session/services/export_attendance.py:126 +#: vbv_lernwelt/course_session/services/export_attendance.py:138 msgid "Lehrvertragsnummer" msgstr "" diff --git a/server/locale/fr/LC_MESSAGES/django.mo b/server/locale/fr/LC_MESSAGES/django.mo index ce61e8a72769e42ae28aef9a3d86d6a038be81e4..57810233a1dc8e67621a4022cb8761f6c74a6e9b 100644 GIT binary patch delta 802 zcmXxiKS&!<9Ki8k?_x~TSZkWpYOOu%A5ajnIMl&Gv4bLwRw$)Z@CYY4&`U6vItT{3 zi9^9qT5%H`vWVhPT5*t+4o-II;LypTR0LPIet&0t+9%kW2nC==uwc;}vS0m?;v%B;FM% zN;8vs9&}?82T>QMuomCobDYI?+`th$#4*%pZ($rea2u!b7(20*T|UH7Y{VJV1PU1E z{ZeG28(7CS+`?h1@B?)tVRoT^s7KvU69ciO4K>3q4C6CoPcn#PCPVlXC#v_^>hCKU zU+wDVSOu~KG%FO}7FCR?bKW%Bw-+Og*B RbYb4NefPby-(MRw{{v?!RY3p% delta 674 zcmY+?ze@sP7{KvI&$_J4GJjM`W!c~mK{N#6aG^v~L(mXGOGbl;(Gau<4Gqx{9Q6l8 zLo@^;RNxY{)Ed=N1T76xLsJleeILD{UhaKA_nf}(`@GNHMW_-iz63l6LW?>52S@17 zE(Th`Ez*MP*oIr^#T{(Iee~g>6Cb1g?-T=gjynGqJMa$u_}X}0luvF<9(>~@x($(G zoWf~b##ubVMSRBu&Ui%TF^8J)753m8MzDsOXoM^^kvQtc6Bx%dTCSqVDmR+pNpoXD z2{oY#vW8rvp6CX-m{)j$B|1?3~9{ZDDL6{`^zOaOXz3T z8s;#A4_Lq`$4KCwV+jX|ACal@g?h4@qn}-)!~>{rQIiVODcrwC!KK*Cz`T0NG+SLz z%cZ4c|N6puYHj+BbkTzv(E8{hx>n\n" "Language-Team: LANGUAGE \n" @@ -95,23 +95,23 @@ msgstr "" msgid "Experte/Trainer" msgstr "" -#: vbv_lernwelt/course/models.py:338 +#: vbv_lernwelt/course/models.py:339 msgid "Dokumente im Circle ein/aus" msgstr "" -#: vbv_lernwelt/course/models.py:342 +#: vbv_lernwelt/course/models.py:343 msgid "Lernmentor-Funktion ein/aus" msgstr "" -#: vbv_lernwelt/course/models.py:346 +#: vbv_lernwelt/course/models.py:347 msgid "Kompetenzweise ein/aus" msgstr "" -#: vbv_lernwelt/course/models.py:349 +#: vbv_lernwelt/course/models.py:350 msgid "Versicherungsvermittler-Lehrgang" msgstr "" -#: vbv_lernwelt/course/models.py:350 +#: vbv_lernwelt/course/models.py:351 msgid "ÜK-Lehrgang" msgstr "" @@ -119,31 +119,44 @@ msgstr "" msgid "export_anwesenheit" msgstr "export_presence" -#: vbv_lernwelt/course_session/services/export_attendance.py:92 +#: vbv_lernwelt/course_session/services/export_attendance.py:86 +#| msgid "Anwesenheit" +msgid "Optionale Anwesenheit" +msgstr "Présence facultative" + +#: vbv_lernwelt/course_session/services/export_attendance.py:96 msgid "Anwesenheit" msgstr "Présence" -#: vbv_lernwelt/course_session/services/export_attendance.py:117 +#: vbv_lernwelt/course_session/services/export_attendance.py:119 +msgid "Ja" +msgstr "Oui" + +#: vbv_lernwelt/course_session/services/export_attendance.py:119 +msgid "Nein" +msgstr "Non" + +#: vbv_lernwelt/course_session/services/export_attendance.py:128 msgid "Anwesend" msgstr "Présent" -#: vbv_lernwelt/course_session/services/export_attendance.py:117 +#: vbv_lernwelt/course_session/services/export_attendance.py:128 msgid "Nicht anwesend" msgstr "Pas présent" -#: vbv_lernwelt/course_session/services/export_attendance.py:124 +#: vbv_lernwelt/course_session/services/export_attendance.py:135 msgid "Vorname" msgstr "Prénom" -#: vbv_lernwelt/course_session/services/export_attendance.py:125 +#: vbv_lernwelt/course_session/services/export_attendance.py:136 msgid "Nachname" msgstr "Nom de famille" -#: vbv_lernwelt/course_session/services/export_attendance.py:126 +#: vbv_lernwelt/course_session/services/export_attendance.py:137 msgid "Email" msgstr "E-mail" -#: vbv_lernwelt/course_session/services/export_attendance.py:127 +#: vbv_lernwelt/course_session/services/export_attendance.py:138 msgid "Lehrvertragsnummer" msgstr "Numéro de contrat d'apprentissage" diff --git a/server/locale/it/LC_MESSAGES/django.mo b/server/locale/it/LC_MESSAGES/django.mo index 9cd960ba104f8242c39253523e57dd8031e5d563..a046bd9415926ec35a412e4d2314c0f5562689d1 100644 GIT binary patch delta 777 zcmX}qKS*0q6vy$?7fsq4|MZ!p{!LSjlsMW&u^Ad1)Ww2BMG(yJpebz(X@cMqaCG$H zprC_Lir~gac+R7{v~=iuKXy z+{O(4!WqeHs%y&mfn5)IE@`-qYAvoRouZ8y8JndZ?G5la1?(wpD&Q1c8{ub@F|;D zXMm1MJBDoB`Uo`*R?}oUV>O1D`hK(#&ei$}wZR7U?@Mc`LaLUIqKhT# zrJ!FgrOv6Fct()qLyOQ05^*Bte|FN&Y}P+;Mgv|h@BeiY(YZn?x026(@)B?JtKJtc p|G~?Zs<+NfATa;?&_4@~`<v?p*0PC}!dhc|H5sZo{{hq_N^t-H delta 689 zcmY+?JxD@P6u|N0)6%}pEGsKCGq9yaD3Bl}`j{HpT0+Pm60;8oTAXT(KyrwtaH%n& zL6-&>*PxcdXeo#qS|h0c(KpnEdw=&lulJsN-n(~KyE0Xm?L=q;X8*<@{n5feOB*5% z+`<;z$0j_)20X?#%$ac>b=@Vp@EZ016>P^_?7-*x^Nf5lvGd>yC(*Eq1TcazT)_oA z$7OuS5uCG$EMXEg;T!D57xdr{YN8&p)I|KK2Zzy*GZ?dEMAn#Sh8K->uS`qG9#TfV zQ3Y8lcV_&6KH^u@3pf~B(TN%lGH3!p)P2S=f?*6|8s|A*a!mB5Pq>G}WD~+ujAI%5 zaFpG~a2hqRZ&Ldgv7HU!&lX(T!MFD_Jv=L#cRS6|28jy-dL;UG=IUYwmaWu7;*h!>TC7LZ6\n" "Language-Team: LANGUAGE \n" @@ -95,23 +95,23 @@ msgstr "" msgid "Experte/Trainer" msgstr "" -#: vbv_lernwelt/course/models.py:338 +#: vbv_lernwelt/course/models.py:339 msgid "Dokumente im Circle ein/aus" msgstr "" -#: vbv_lernwelt/course/models.py:342 +#: vbv_lernwelt/course/models.py:343 msgid "Lernmentor-Funktion ein/aus" msgstr "" -#: vbv_lernwelt/course/models.py:346 +#: vbv_lernwelt/course/models.py:347 msgid "Kompetenzweise ein/aus" msgstr "" -#: vbv_lernwelt/course/models.py:349 +#: vbv_lernwelt/course/models.py:350 msgid "Versicherungsvermittler-Lehrgang" msgstr "" -#: vbv_lernwelt/course/models.py:350 +#: vbv_lernwelt/course/models.py:351 msgid "ÜK-Lehrgang" msgstr "" @@ -119,31 +119,44 @@ msgstr "" msgid "export_anwesenheit" msgstr "esportazione_presenza" -#: vbv_lernwelt/course_session/services/export_attendance.py:92 +#: vbv_lernwelt/course_session/services/export_attendance.py:86 +#| msgid "Anwesenheit" +msgid "Optionale Anwesenheit" +msgstr "Presenza opzionale" + +#: vbv_lernwelt/course_session/services/export_attendance.py:96 msgid "Anwesenheit" msgstr "Presenza" -#: vbv_lernwelt/course_session/services/export_attendance.py:117 +#: vbv_lernwelt/course_session/services/export_attendance.py:119 +msgid "Ja" +msgstr "Sì" + +#: vbv_lernwelt/course_session/services/export_attendance.py:119 +msgid "Nein" +msgstr "No" + +#: vbv_lernwelt/course_session/services/export_attendance.py:128 msgid "Anwesend" msgstr "Presente" -#: vbv_lernwelt/course_session/services/export_attendance.py:117 +#: vbv_lernwelt/course_session/services/export_attendance.py:128 msgid "Nicht anwesend" msgstr "Non presente" -#: vbv_lernwelt/course_session/services/export_attendance.py:124 +#: vbv_lernwelt/course_session/services/export_attendance.py:135 msgid "Vorname" msgstr "Nome" -#: vbv_lernwelt/course_session/services/export_attendance.py:125 +#: vbv_lernwelt/course_session/services/export_attendance.py:136 msgid "Nachname" msgstr "Cognome" -#: vbv_lernwelt/course_session/services/export_attendance.py:126 +#: vbv_lernwelt/course_session/services/export_attendance.py:137 msgid "Email" msgstr "Email" -#: vbv_lernwelt/course_session/services/export_attendance.py:127 +#: vbv_lernwelt/course_session/services/export_attendance.py:138 msgid "Lehrvertragsnummer" msgstr "Numero di contratto di tirocinio" diff --git a/server/vbv_lernwelt/course_session/tests/test_attendance_export.py b/server/vbv_lernwelt/course_session/tests/test_attendance_export.py index 350ffaa4..eb217f4b 100644 --- a/server/vbv_lernwelt/course_session/tests/test_attendance_export.py +++ b/server/vbv_lernwelt/course_session/tests/test_attendance_export.py @@ -8,7 +8,7 @@ from vbv_lernwelt.core.constants import TEST_STUDENT1_USER_ID, TEST_STUDENT2_USE from vbv_lernwelt.core.create_default_users import create_default_users from vbv_lernwelt.core.models import User from vbv_lernwelt.course.creators.test_course import create_test_course -from vbv_lernwelt.course.models import CourseSession +from vbv_lernwelt.course.models import CourseSession, CourseSessionUser from vbv_lernwelt.course_session.services.export_attendance import export_attendance @@ -42,6 +42,11 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student1 = User.objects.get(id=TEST_STUDENT1_USER_ID) self.test_student1.additional_json_data = {"Lehrvertragsnummer": 1234567890} self.test_student1.save() + csu1 = CourseSessionUser.objects.get( + user=self.test_student1, course_session=self.course_session_be + ) + csu1.optional_attendance = True + csu1.save() self.test_student2 = User.objects.get(id=TEST_STUDENT2_USER_ID) self.test_student2.additional_json_data = {"Lehrvertragsnummer": 1987654321} self.test_student2.save() @@ -64,6 +69,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student1.last_name, self.test_student1.email, self.test_student1.additional_json_data["Lehrvertragsnummer"], + "Ja", "Anwesend", ], [ @@ -71,6 +77,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student2.last_name, self.test_student2.email, self.test_student2.additional_json_data["Lehrvertragsnummer"], + "Nein", "Nicht anwesend", ], [ @@ -78,6 +85,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student3.last_name, self.test_student3.email, None, + "Nein", "Nicht anwesend", ], ] @@ -95,6 +103,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): "Nachname", "Email", "Lehrvertragsnummer", + "Optionale Anwesenheit", f"Anwesenheit {csac.get_circle().title} {csac.due_date.start.strftime('%d.%m.%Y')}", ] @@ -103,7 +112,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.assertEqual(len(wb.sheetnames), 1) self.assertEqual(wb.sheetnames[0], "Test Bern 2022 a") - self._check_export(wb, self.expected_data_be, 4, 5) + self._check_export(wb, self.expected_data_be, 4, 6) def test_attendance_export_multiple_cs(self): self.attendance_course_zh.attendance_user_list = [ @@ -123,6 +132,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student2.last_name, self.test_student2.email, self.test_student2.additional_json_data["Lehrvertragsnummer"], + "Nein", "Anwesend", ], ] @@ -136,10 +146,10 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.assertEqual(wb.sheetnames[0], "Test Bern 2022 a") self.assertEqual(wb.sheetnames[1], "Test Zürich 2022 a") - self._check_export(wb, self.expected_data_be, 4, 5) + self._check_export(wb, self.expected_data_be, 4, 6) wb.active = wb["Test Zürich 2022 a"] - self._check_export(wb, expected_data_zh, 2, 5) + self._check_export(wb, expected_data_zh, 2, 6) def test_french_export(self): activate("fr") @@ -150,6 +160,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): "Nom de famille", "E-mail", "Numéro de contrat d'apprentissage", + "Présence facultative", f"Présence {self.attendance_course_be.get_circle().title} {self.attendance_course_be.due_date.start.strftime('%d.%m.%Y')}", ] @@ -160,6 +171,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student1.last_name, self.test_student1.email, self.test_student1.additional_json_data["Lehrvertragsnummer"], + "Oui", "Présent", ], [ @@ -167,6 +179,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student2.last_name, self.test_student2.email, self.test_student2.additional_json_data["Lehrvertragsnummer"], + "Non", "Pas présent", ], [ @@ -174,10 +187,11 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student3.last_name, self.test_student3.email, None, + "Non", "Pas présent", ], ] - self._check_export(wb, expected_data_be, 4, 5) + self._check_export(wb, expected_data_be, 4, 6) def test_italian_export(self): activate("it") @@ -188,6 +202,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): "Cognome", "Email", "Numero di contratto di tirocinio", + "Presenza opzionale", f"Presenza {self.attendance_course_be.get_circle().title} {self.attendance_course_be.due_date.start.strftime('%d.%m.%Y')}", ] @@ -198,6 +213,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student1.last_name, self.test_student1.email, self.test_student1.additional_json_data["Lehrvertragsnummer"], + "Sì", "Presente", ], [ @@ -205,6 +221,7 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student2.last_name, self.test_student2.email, self.test_student2.additional_json_data["Lehrvertragsnummer"], + "No", "Non presente", ], [ @@ -212,7 +229,8 @@ class AttendanceExportTestCase(ExportBaseTestCase): self.test_student3.last_name, self.test_student3.email, None, + "No", "Non presente", ], ] - self._check_export(wb, expected_data_be, 4, 5) + self._check_export(wb, expected_data_be, 4, 6)