wip: Rename fns, add filename translations

This commit is contained in:
Christian Cueni 2024-06-17 15:50:35 +02:00
parent 0a9a4af5b2
commit 5b60e50ac4
12 changed files with 162 additions and 98 deletions

View File

@ -42,7 +42,7 @@ from vbv_lernwelt.course.views import (
from vbv_lernwelt.course_session.views import get_course_session_documents from vbv_lernwelt.course_session.views import get_course_session_documents
from vbv_lernwelt.dashboard.views import ( from vbv_lernwelt.dashboard.views import (
export_attendance_as_xsl, export_attendance_as_xsl,
export_competence_certificate_as_xsl, export_competence_elements_as_xsl,
export_feedback_as_xsl, export_feedback_as_xsl,
get_dashboard_config, get_dashboard_config,
get_dashboard_due_dates, get_dashboard_due_dates,
@ -135,7 +135,7 @@ urlpatterns = [
path(r"api/dashboard/course/<str:course_id>/open_tasks/", get_mentor_open_tasks_count, path(r"api/dashboard/course/<str:course_id>/open_tasks/", get_mentor_open_tasks_count,
name="get_mentor_open_tasks_count"), name="get_mentor_open_tasks_count"),
path(r"api/dashboard/export/attendance/", export_attendance_as_xsl, name="export_attendance_as_xsl"), path(r"api/dashboard/export/attendance/", export_attendance_as_xsl, name="export_attendance_as_xsl"),
path(r"api/dashboard/export/certificate/", export_competence_certificate_as_xsl, name="export_certificate_as_xsl"), path(r"api/dashboard/export/certificate/", export_competence_elements_as_xsl, name="export_certificate_as_xsl"),
path(r"api/dashboard/export/feedback/", export_feedback_as_xsl, name="export_feedback_as_xsl"), path(r"api/dashboard/export/feedback/", export_feedback_as_xsl, name="export_feedback_as_xsl"),
# course # course

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-17 08:25+0200\n" "POT-Creation-Date: 2024-06-17 15:43+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,16 +18,20 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: vbv_lernwelt/assignment/export.py:181 #: vbv_lernwelt/assignment/export.py:31
msgid "export_kompetenznachweis_elemente"
msgstr ""
#: vbv_lernwelt/assignment/export.py:183
msgid "Bestanden" msgid "Bestanden"
msgstr "" msgstr ""
#: vbv_lernwelt/assignment/export.py:181 #: vbv_lernwelt/assignment/export.py:185
msgid "Nicht bestanden" msgid "Nicht bestanden"
msgstr "" msgstr ""
#: vbv_lernwelt/assignment/export.py:195 vbv_lernwelt/assignment/export.py:198 #: vbv_lernwelt/assignment/export.py:199 vbv_lernwelt/assignment/export.py:202
#: vbv_lernwelt/assignment/export.py:199 #: vbv_lernwelt/assignment/export.py:203
msgid "Keine Daten" msgid "Keine Daten"
msgstr "" msgstr ""
@ -103,81 +107,89 @@ msgstr ""
msgid "ÜK-Lehrgang" msgid "ÜK-Lehrgang"
msgstr "" msgstr ""
#: vbv_lernwelt/course_session/services/export_attendance.py:111 #: vbv_lernwelt/course_session/services/export_attendance.py:15
msgid "export_anwesenheit"
msgstr ""
#: vbv_lernwelt/course_session/services/export_attendance.py:113
msgid "Anwesend" msgid "Anwesend"
msgstr "" msgstr ""
#: vbv_lernwelt/course_session/services/export_attendance.py:111 #: vbv_lernwelt/course_session/services/export_attendance.py:113
msgid "Nicht anwesend" msgid "Nicht anwesend"
msgstr "" msgstr ""
#: vbv_lernwelt/course_session/services/export_attendance.py:118 #: vbv_lernwelt/course_session/services/export_attendance.py:120
msgid "Vorname" msgid "Vorname"
msgstr "" msgstr ""
#: vbv_lernwelt/course_session/services/export_attendance.py:119 #: vbv_lernwelt/course_session/services/export_attendance.py:121
msgid "Nachname" msgid "Nachname"
msgstr "" msgstr ""
#: vbv_lernwelt/course_session/services/export_attendance.py:120 #: vbv_lernwelt/course_session/services/export_attendance.py:122
msgid "Email" msgid "Email"
msgstr "" msgstr ""
#: vbv_lernwelt/course_session/services/export_attendance.py:121 #: vbv_lernwelt/course_session/services/export_attendance.py:123
#: vbv_lernwelt/course_session/services/export_attendance.py:133 #: vbv_lernwelt/course_session/services/export_attendance.py:135
msgid "Lehrvertragsnummer" msgid "Lehrvertragsnummer"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:33 #: vbv_lernwelt/feedback/export.py:19
msgid "export_feedback"
msgstr ""
#: vbv_lernwelt/feedback/export.py:35
msgid "Zufriedenheit insgesamt" msgid "Zufriedenheit insgesamt"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:34 #: vbv_lernwelt/feedback/export.py:36
msgid "Zielerreichung insgesamt" msgid "Zielerreichung insgesamt"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:37 #: vbv_lernwelt/feedback/export.py:39
msgid "" msgid ""
"Wie beurteilst du deine Sicherheit bezüglichen den Themen nach dem Kurs?" "Wie beurteilst du deine Sicherheit bezüglichen den Themen nach dem Kurs?"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:41 #: vbv_lernwelt/feedback/export.py:43
msgid "Waren die Vorbereitungsaufträge klar und verständlich?" msgid "Waren die Vorbereitungsaufträge klar und verständlich?"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:45 #: vbv_lernwelt/feedback/export.py:48
msgid "" msgid ""
"Wie beurteilst du die Themensicherheit und Fachkompetenz des Kursleiters/der " "Wie beurteilst du die Themensicherheit und Fachkompetenz des Kursleiters/der "
"Kursleiterin?" "Kursleiterin?"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:49 #: vbv_lernwelt/feedback/export.py:54
msgid "" msgid ""
"Wurden Fragen und Anregungen der Kursteilnehmenden ernst genommen und " "Wurden Fragen und Anregungen der Kursteilnehmenden ernst genommen und "
"aufgegriffen?" "aufgegriffen?"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:53 #: vbv_lernwelt/feedback/export.py:59
msgid "Was möchtest du dem Kursleiter/der Kursleiterin sonst noch sagen?" msgid "Was möchtest du dem Kursleiter/der Kursleiterin sonst noch sagen?"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:55 #: vbv_lernwelt/feedback/export.py:61
msgid "Würdest du den Kurs weiterempfehlen?" msgid "Würdest du den Kurs weiterempfehlen?"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:56 #: vbv_lernwelt/feedback/export.py:62
msgid "Was hat dir besonders gut gefallen?" msgid "Was hat dir besonders gut gefallen?"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:57 #: vbv_lernwelt/feedback/export.py:63
msgid "Wo siehst du Verbesserungspotential?" msgid "Wo siehst du Verbesserungspotential?"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:144 #: vbv_lernwelt/feedback/export.py:150
msgid "Durchführung" msgid "Durchführung"
msgstr "" msgstr ""
#: vbv_lernwelt/feedback/export.py:145 #: vbv_lernwelt/feedback/export.py:151
msgid "Datum" msgid "Datum"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-17 08:25+0200\n" "POT-Creation-Date: 2024-06-17 15:43+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,16 +18,20 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: vbv_lernwelt/assignment/export.py:181 #: vbv_lernwelt/assignment/export.py:31
msgid "export_kompetenznachweis_elemente"
msgstr "export_elements_de_controle"
#: vbv_lernwelt/assignment/export.py:183
msgid "Bestanden" msgid "Bestanden"
msgstr "Réussi" msgstr "Réussi"
#: vbv_lernwelt/assignment/export.py:181 #: vbv_lernwelt/assignment/export.py:185
msgid "Nicht bestanden" msgid "Nicht bestanden"
msgstr "Échoué" msgstr "Échoué"
#: vbv_lernwelt/assignment/export.py:195 vbv_lernwelt/assignment/export.py:198 #: vbv_lernwelt/assignment/export.py:199 vbv_lernwelt/assignment/export.py:202
#: vbv_lernwelt/assignment/export.py:199 #: vbv_lernwelt/assignment/export.py:203
msgid "Keine Daten" msgid "Keine Daten"
msgstr "Aucune donnée" msgstr "Aucune donnée"
@ -103,81 +107,97 @@ msgstr ""
msgid "ÜK-Lehrgang" msgid "ÜK-Lehrgang"
msgstr "" msgstr ""
#: vbv_lernwelt/course_session/services/export_attendance.py:111 #: vbv_lernwelt/course_session/services/export_attendance.py:15
msgid "export_anwesenheit"
msgstr "export_presence"
#: vbv_lernwelt/course_session/services/export_attendance.py:113
msgid "Anwesend" msgid "Anwesend"
msgstr "Présent" msgstr "Présent"
#: vbv_lernwelt/course_session/services/export_attendance.py:111 #: vbv_lernwelt/course_session/services/export_attendance.py:113
msgid "Nicht anwesend" msgid "Nicht anwesend"
msgstr "Pas présent" msgstr "Pas présent"
#: vbv_lernwelt/course_session/services/export_attendance.py:118 #: vbv_lernwelt/course_session/services/export_attendance.py:120
msgid "Vorname" msgid "Vorname"
msgstr "Prénom" msgstr "Prénom"
#: vbv_lernwelt/course_session/services/export_attendance.py:119 #: vbv_lernwelt/course_session/services/export_attendance.py:121
msgid "Nachname" msgid "Nachname"
msgstr "Nom de famille" msgstr "Nom de famille"
#: vbv_lernwelt/course_session/services/export_attendance.py:120 #: vbv_lernwelt/course_session/services/export_attendance.py:122
msgid "Email" msgid "Email"
msgstr "Email" msgstr "Email"
#: vbv_lernwelt/course_session/services/export_attendance.py:121 #: vbv_lernwelt/course_session/services/export_attendance.py:123
#: vbv_lernwelt/course_session/services/export_attendance.py:133 #: vbv_lernwelt/course_session/services/export_attendance.py:135
msgid "Lehrvertragsnummer" msgid "Lehrvertragsnummer"
msgstr "Numéro de contrat d'apprentissage" msgstr "Numéro de contrat d'apprentissage"
#: vbv_lernwelt/feedback/export.py:33 #: vbv_lernwelt/feedback/export.py:19
msgid "export_feedback"
msgstr "export_feedback"
#: vbv_lernwelt/feedback/export.py:35
msgid "Zufriedenheit insgesamt" msgid "Zufriedenheit insgesamt"
msgstr "Degré de satisfaction au global" msgstr "Degré de satisfaction au global"
#: vbv_lernwelt/feedback/export.py:34 #: vbv_lernwelt/feedback/export.py:36
msgid "Zielerreichung insgesamt" msgid "Zielerreichung insgesamt"
msgstr "Degré de réalisation des objectifs" msgstr "Degré de réalisation des objectifs"
#: vbv_lernwelt/feedback/export.py:37 #: vbv_lernwelt/feedback/export.py:39
msgid "" msgid ""
"Wie beurteilst du deine Sicherheit bezüglichen den Themen nach dem Kurs?" "Wie beurteilst du deine Sicherheit bezüglichen den Themen nach dem Kurs?"
msgstr "As-tu limpression de bien maîtriser les sujets qui ont été abordés pendant le cours ?" msgstr ""
"As-tu limpression de bien maîtriser les sujets qui ont été abordés pendant "
"le cours ?"
#: vbv_lernwelt/feedback/export.py:41 #: vbv_lernwelt/feedback/export.py:43
msgid "Waren die Vorbereitungsaufträge klar und verständlich?" msgid "Waren die Vorbereitungsaufträge klar und verständlich?"
msgstr "Les travaux préparatoires étaient-ils clairs et compréhensibles ?" msgstr "Les travaux préparatoires étaient-ils clairs et compréhensibles ?"
#: vbv_lernwelt/feedback/export.py:45 #: vbv_lernwelt/feedback/export.py:48
msgid "" msgid ""
"Wie beurteilst du die Themensicherheit und Fachkompetenz des Kursleiters/der " "Wie beurteilst du die Themensicherheit und Fachkompetenz des Kursleiters/der "
"Kursleiterin?" "Kursleiterin?"
msgstr "Que penses-tu des compétences techniques de la personne chargée du cours et de sa maîtrise du sujet ?" msgstr ""
"Que penses-tu des compétences techniques de la personne chargée du cours et "
"de sa maîtrise du sujet ?"
#: vbv_lernwelt/feedback/export.py:49 #: vbv_lernwelt/feedback/export.py:54
msgid "" msgid ""
"Wurden Fragen und Anregungen der Kursteilnehmenden ernst genommen und " "Wurden Fragen und Anregungen der Kursteilnehmenden ernst genommen und "
"aufgegriffen?" "aufgegriffen?"
msgstr "Les questions et les suggestions des participants ont-elles été prises au sérieux et traitées correctement ?" msgstr ""
"Les questions et les suggestions des participants ont-elles été prises au "
"sérieux et traitées correctement ?"
#: vbv_lernwelt/feedback/export.py:53 #: vbv_lernwelt/feedback/export.py:59
msgid "Was möchtest du dem Kursleiter/der Kursleiterin sonst noch sagen?" msgid "Was möchtest du dem Kursleiter/der Kursleiterin sonst noch sagen?"
msgstr "Souhaites-tu ajouter quelque chose à lintention de la personne chargée du cours ?" msgstr ""
"Souhaites-tu ajouter quelque chose à lintention de la personne chargée du "
"cours ?"
#: vbv_lernwelt/feedback/export.py:55 #: vbv_lernwelt/feedback/export.py:61
msgid "Würdest du den Kurs weiterempfehlen?" msgid "Würdest du den Kurs weiterempfehlen?"
msgstr "Est-ce que tu recommandes ce cours ?" msgstr "Est-ce que tu recommandes ce cours ?"
#: vbv_lernwelt/feedback/export.py:56 #: vbv_lernwelt/feedback/export.py:62
msgid "Was hat dir besonders gut gefallen?" msgid "Was hat dir besonders gut gefallen?"
msgstr "Quest-ce qui ta particulièrement plu ?" msgstr "Quest-ce qui ta particulièrement plu ?"
#: vbv_lernwelt/feedback/export.py:57 #: vbv_lernwelt/feedback/export.py:63
msgid "Wo siehst du Verbesserungspotential?" msgid "Wo siehst du Verbesserungspotential?"
msgstr "À ton avis, quels sont les points qui pourraient être améliorés ?" msgstr "À ton avis, quels sont les points qui pourraient être améliorés ?"
#: vbv_lernwelt/feedback/export.py:144 #: vbv_lernwelt/feedback/export.py:150
msgid "Durchführung" msgid "Durchführung"
msgstr "Opérations" msgstr "Opérations"
#: vbv_lernwelt/feedback/export.py:145 #: vbv_lernwelt/feedback/export.py:151
msgid "Datum" msgid "Datum"
msgstr "Date" msgstr "Date"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-17 08:25+0200\n" "POT-Creation-Date: 2024-06-17 15:43+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,16 +18,20 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: vbv_lernwelt/assignment/export.py:181 #: vbv_lernwelt/assignment/export.py:31
msgid "export_kompetenznachweis_elemente"
msgstr "esportazione_elementi_del_controllo"
#: vbv_lernwelt/assignment/export.py:183
msgid "Bestanden" msgid "Bestanden"
msgstr "Superato" msgstr "Superato"
#: vbv_lernwelt/assignment/export.py:181 #: vbv_lernwelt/assignment/export.py:185
msgid "Nicht bestanden" msgid "Nicht bestanden"
msgstr "Fallito" msgstr "Fallito"
#: vbv_lernwelt/assignment/export.py:195 vbv_lernwelt/assignment/export.py:198 #: vbv_lernwelt/assignment/export.py:199 vbv_lernwelt/assignment/export.py:202
#: vbv_lernwelt/assignment/export.py:199 #: vbv_lernwelt/assignment/export.py:203
msgid "Keine Daten" msgid "Keine Daten"
msgstr "Nessun dato" msgstr "Nessun dato"
@ -103,81 +107,93 @@ msgstr ""
msgid "ÜK-Lehrgang" msgid "ÜK-Lehrgang"
msgstr "" msgstr ""
#: vbv_lernwelt/course_session/services/export_attendance.py:111 #: vbv_lernwelt/course_session/services/export_attendance.py:15
msgid "export_anwesenheit"
msgstr "esportazione_presenza"
#: vbv_lernwelt/course_session/services/export_attendance.py:113
msgid "Anwesend" msgid "Anwesend"
msgstr "Presente" msgstr "Presente"
#: vbv_lernwelt/course_session/services/export_attendance.py:111 #: vbv_lernwelt/course_session/services/export_attendance.py:113
msgid "Nicht anwesend" msgid "Nicht anwesend"
msgstr "Non presente" msgstr "Non presente"
#: vbv_lernwelt/course_session/services/export_attendance.py:118 #: vbv_lernwelt/course_session/services/export_attendance.py:120
msgid "Vorname" msgid "Vorname"
msgstr "Nome" msgstr "Nome"
#: vbv_lernwelt/course_session/services/export_attendance.py:119 #: vbv_lernwelt/course_session/services/export_attendance.py:121
msgid "Nachname" msgid "Nachname"
msgstr "Cognome" msgstr "Cognome"
#: vbv_lernwelt/course_session/services/export_attendance.py:120 #: vbv_lernwelt/course_session/services/export_attendance.py:122
msgid "Email" msgid "Email"
msgstr "E-mail" msgstr "E-mail"
#: vbv_lernwelt/course_session/services/export_attendance.py:121 #: vbv_lernwelt/course_session/services/export_attendance.py:123
#: vbv_lernwelt/course_session/services/export_attendance.py:133 #: vbv_lernwelt/course_session/services/export_attendance.py:135
msgid "Lehrvertragsnummer" msgid "Lehrvertragsnummer"
msgstr "Numero di contratto di tirocinio" msgstr "Numero di contratto di tirocinio"
#: vbv_lernwelt/feedback/export.py:33 #: vbv_lernwelt/feedback/export.py:19
msgid "export_feedback"
msgstr "esportazione_feedback"
#: vbv_lernwelt/feedback/export.py:35
msgid "Zufriedenheit insgesamt" msgid "Zufriedenheit insgesamt"
msgstr "Soddisfazione complessiva" msgstr "Soddisfazione complessiva"
#: vbv_lernwelt/feedback/export.py:34 #: vbv_lernwelt/feedback/export.py:36
msgid "Zielerreichung insgesamt" msgid "Zielerreichung insgesamt"
msgstr "Raggiungimento complessivo degli obiettivi" msgstr "Raggiungimento complessivo degli obiettivi"
#: vbv_lernwelt/feedback/export.py:37 #: vbv_lernwelt/feedback/export.py:39
msgid "" msgid ""
"Wie beurteilst du deine Sicherheit bezüglichen den Themen nach dem Kurs?" "Wie beurteilst du deine Sicherheit bezüglichen den Themen nach dem Kurs?"
msgstr "Come valuti il tuo livello di preparazione sui temi dopo il corso?" msgstr "Come valuti il tuo livello di preparazione sui temi dopo il corso?"
#: vbv_lernwelt/feedback/export.py:41 #: vbv_lernwelt/feedback/export.py:43
msgid "Waren die Vorbereitungsaufträge klar und verständlich?" msgid "Waren die Vorbereitungsaufträge klar und verständlich?"
msgstr "Gli incarichi di preparazione erano chiari e comprensibili?" msgstr "Gli incarichi di preparazione erano chiari e comprensibili?"
#: vbv_lernwelt/feedback/export.py:45 #: vbv_lernwelt/feedback/export.py:48
msgid "" msgid ""
"Wie beurteilst du die Themensicherheit und Fachkompetenz des Kursleiters/der " "Wie beurteilst du die Themensicherheit und Fachkompetenz des Kursleiters/der "
"Kursleiterin?" "Kursleiterin?"
msgstr "Come valuti il livello di preparazione sui temi e le competenze specialistiche dellistruttore/istruttrice del corso?" msgstr ""
"Come valuti il livello di preparazione sui temi e le competenze "
"specialistiche dellistruttore/istruttrice del corso?"
#: vbv_lernwelt/feedback/export.py:49 #: vbv_lernwelt/feedback/export.py:54
msgid "" msgid ""
"Wurden Fragen und Anregungen der Kursteilnehmenden ernst genommen und " "Wurden Fragen und Anregungen der Kursteilnehmenden ernst genommen und "
"aufgegriffen?" "aufgegriffen?"
msgstr "Le domande e i suggerimenti dei/delle partecipanti al corso sono stati accolti e presi sul serio?" msgstr ""
"Le domande e i suggerimenti dei/delle partecipanti al corso sono stati "
"accolti e presi sul serio?"
#: vbv_lernwelt/feedback/export.py:53 #: vbv_lernwelt/feedback/export.py:59
msgid "Was möchtest du dem Kursleiter/der Kursleiterin sonst noch sagen?" msgid "Was möchtest du dem Kursleiter/der Kursleiterin sonst noch sagen?"
msgstr "Cosaltro vorresti ancora dire allistruttore/istruttrice del corso?" msgstr "Cosaltro vorresti ancora dire allistruttore/istruttrice del corso?"
#: vbv_lernwelt/feedback/export.py:55 #: vbv_lernwelt/feedback/export.py:61
msgid "Würdest du den Kurs weiterempfehlen?" msgid "Würdest du den Kurs weiterempfehlen?"
msgstr "Raccomanderesti il corso?" msgstr "Raccomanderesti il corso?"
#: vbv_lernwelt/feedback/export.py:56 #: vbv_lernwelt/feedback/export.py:62
msgid "Was hat dir besonders gut gefallen?" msgid "Was hat dir besonders gut gefallen?"
msgstr "Coshai apprezzato particolarmente?" msgstr "Coshai apprezzato particolarmente?"
#: vbv_lernwelt/feedback/export.py:57 #: vbv_lernwelt/feedback/export.py:63
msgid "Wo siehst du Verbesserungspotential?" msgid "Wo siehst du Verbesserungspotential?"
msgstr "Dove vedi un potenziale di miglioramento?" msgstr "Dove vedi un potenziale di miglioramento?"
#: vbv_lernwelt/feedback/export.py:144 #: vbv_lernwelt/feedback/export.py:150
msgid "Durchführung" msgid "Durchführung"
msgstr "Svolgimenti" msgstr "Svolgimenti"
#: vbv_lernwelt/feedback/export.py:145 #: vbv_lernwelt/feedback/export.py:151
msgid "Datum" msgid "Datum"
msgstr "Data" msgstr "Data"

View File

@ -28,6 +28,8 @@ from vbv_lernwelt.learnpath.models import LearningContent
logger = structlog.get_logger(__name__) logger = structlog.get_logger(__name__)
COMPETENCE_ELEMENT_EXPORT_FILE_NAME = _("export_kompetenznachweis_elemente")
@dataclass @dataclass
class CompetenceCertificateElement: class CompetenceCertificateElement:
@ -37,7 +39,7 @@ class CompetenceCertificateElement:
course_session: CourseSession course_session: CourseSession
def export_competence_certificates( def export_competence_elements(
course_session_ids: list[str], course_session_ids: list[str],
circle_ids: list[int] = None, circle_ids: list[int] = None,
save_as_file: bool = False, save_as_file: bool = False,
@ -99,7 +101,7 @@ def export_competence_certificates(
) )
if save_as_file: if save_as_file:
wb.save(make_export_filename(name="competence_certificate_export")) wb.save(make_export_filename(COMPETENCE_ELEMENT_EXPORT_FILE_NAME))
else: else:
output = BytesIO() output = BytesIO()
wb.save(output) wb.save(output)

View File

@ -1,7 +1,7 @@
import djclick as click import djclick as click
import structlog import structlog
from vbv_lernwelt.assignment.export import export_competence_certificates from vbv_lernwelt.assignment.export import export_competence_elements
logger = structlog.get_logger(__name__) logger = structlog.get_logger(__name__)
@ -15,4 +15,4 @@ logger = structlog.get_logger(__name__)
) )
def command(course_session_id, save_as_file): def command(course_session_id, save_as_file):
# using the output from call_command was a bit cumbersome, so this is just a wrapper for the actual function # using the output from call_command was a bit cumbersome, so this is just a wrapper for the actual function
export_competence_certificates([course_session_id], save_as_file=save_as_file) export_competence_elements([course_session_id], save_as_file=save_as_file)

View File

@ -2,7 +2,7 @@ import io
from openpyxl import load_workbook from openpyxl import load_workbook
from vbv_lernwelt.assignment.export import export_competence_certificates from vbv_lernwelt.assignment.export import export_competence_elements
from vbv_lernwelt.assignment.models import Assignment from vbv_lernwelt.assignment.models import Assignment
from vbv_lernwelt.assignment.services import update_assignment_completion from vbv_lernwelt.assignment.services import update_assignment_completion
from vbv_lernwelt.core.constants import TEST_STUDENT1_USER_ID, TEST_STUDENT2_USER_ID from vbv_lernwelt.core.constants import TEST_STUDENT1_USER_ID, TEST_STUDENT2_USER_ID
@ -115,7 +115,7 @@ class AssignmentCompletionExportTestCase(ExportBaseTestCase):
def _generate_workbook(self, course_session_ids): def _generate_workbook(self, course_session_ids):
export_data = io.BytesIO( export_data = io.BytesIO(
export_competence_certificates(course_session_ids, save_as_file=False) export_competence_elements(course_session_ids, save_as_file=False)
) )
return load_workbook(export_data) return load_workbook(export_data)

View File

@ -12,6 +12,8 @@ from vbv_lernwelt.course_session.models import CourseSessionAttendanceCourse
logger = structlog.get_logger(__name__) logger = structlog.get_logger(__name__)
ATTENDANCE_EXPORT_FILENAME = _("export_anwesenheit")
def export_attendance( def export_attendance(
course_session_ids: list[str], course_session_ids: list[str],
@ -56,7 +58,7 @@ def export_attendance(
) )
if save_as_file: if save_as_file:
wb.save(make_export_filename()) wb.save(make_export_filename(ATTENDANCE_EXPORT_FILENAME))
else: else:
output = BytesIO() output = BytesIO()
wb.save(output) wb.save(output)
@ -155,7 +157,7 @@ def group_by_session_title(items):
} }
def make_export_filename(name: str = "attendance_export"): def make_export_filename(name: str):
today_date = datetime.today().strftime("%Y-%m-%d") today_date = datetime.today().strftime("%Y-%m-%d")
return f"{name}_{today_date}.xlsx" return f"{name}_{today_date}.xlsx"

View File

@ -11,7 +11,10 @@ from rest_framework.decorators import api_view
from rest_framework.exceptions import PermissionDenied from rest_framework.exceptions import PermissionDenied
from rest_framework.response import Response from rest_framework.response import Response
from vbv_lernwelt.assignment.export import export_competence_certificates from vbv_lernwelt.assignment.export import (
COMPETENCE_ELEMENT_EXPORT_FILE_NAME,
export_competence_elements,
)
from vbv_lernwelt.assignment.models import ( from vbv_lernwelt.assignment.models import (
AssignmentCompletion, AssignmentCompletion,
AssignmentCompletionStatus, AssignmentCompletionStatus,
@ -28,13 +31,17 @@ from vbv_lernwelt.course.models import (
) )
from vbv_lernwelt.course.views import logger from vbv_lernwelt.course.views import logger
from vbv_lernwelt.course_session.services.export_attendance import ( from vbv_lernwelt.course_session.services.export_attendance import (
ATTENDANCE_EXPORT_FILENAME,
export_attendance, export_attendance,
make_export_filename, make_export_filename,
) )
from vbv_lernwelt.course_session_group.models import CourseSessionGroup from vbv_lernwelt.course_session_group.models import CourseSessionGroup
from vbv_lernwelt.duedate.models import DueDate from vbv_lernwelt.duedate.models import DueDate
from vbv_lernwelt.duedate.serializers import DueDateSerializer from vbv_lernwelt.duedate.serializers import DueDateSerializer
from vbv_lernwelt.feedback.export import export_feedback_with_circle_restriction from vbv_lernwelt.feedback.export import (
export_feedback_with_circle_restriction,
FEEDBACK_EXPORT_FILE_NAME,
)
from vbv_lernwelt.learning_mentor.models import LearningMentor from vbv_lernwelt.learning_mentor.models import LearningMentor
from vbv_lernwelt.learnpath.models import Circle from vbv_lernwelt.learnpath.models import Circle
from vbv_lernwelt.self_evaluation_feedback.models import SelfEvaluationFeedback from vbv_lernwelt.self_evaluation_feedback.models import SelfEvaluationFeedback
@ -550,21 +557,21 @@ def export_attendance_as_xsl(request):
[cs.id for cs in course_sessions_with_roles], [cs.id for cs in course_sessions_with_roles],
circle_ids=circle_ids, circle_ids=circle_ids,
) )
return _make_excel_response(data) return _make_excel_response(data, file_name=ATTENDANCE_EXPORT_FILENAME)
@api_view(["POST"]) @api_view(["POST"])
def export_competence_certificate_as_xsl(request): def export_competence_elements_as_xsl(request):
circle_ids = request.data.get("circleIds", None) circle_ids = request.data.get("circleIds", None)
requested_course_session_ids = request.data.get("courseSessionIds", []) requested_course_session_ids = request.data.get("courseSessionIds", [])
course_sessions_with_roles = _get_permitted_courses_sessions_for_user( course_sessions_with_roles = _get_permitted_courses_sessions_for_user(
request.user, requested_course_session_ids request.user, requested_course_session_ids
) )
data = export_competence_certificates( data = export_competence_elements(
[cswr.id for cswr in course_sessions_with_roles], [cswr.id for cswr in course_sessions_with_roles],
circle_ids=circle_ids, circle_ids=circle_ids,
) )
return _make_excel_response(data) return _make_excel_response(data, COMPETENCE_ELEMENT_EXPORT_FILE_NAME)
@api_view(["POST"]) @api_view(["POST"])
@ -582,7 +589,7 @@ def export_feedback_as_xsl(request):
) # noqa ) # noqa
data = export_feedback_with_circle_restriction(allowed_circles, False) data = export_feedback_with_circle_restriction(allowed_circles, False)
return _make_excel_response(data) return _make_excel_response(data, FEEDBACK_EXPORT_FILE_NAME)
def _get_permitted_courses_sessions_for_user( def _get_permitted_courses_sessions_for_user(
@ -597,11 +604,14 @@ def _get_permitted_courses_sessions_for_user(
return user_course_sessions_with_roles return user_course_sessions_with_roles
def _make_excel_response(data: bytes) -> HttpResponse: def _make_excel_response(data: bytes, file_name: str) -> HttpResponse:
encoded_data = base64.b64encode(data).decode("utf-8") encoded_data = base64.b64encode(data).decode("utf-8")
# Create the JSON response # Create the JSON response
response_data = {"encoded_data": encoded_data, "file_name": make_export_filename()} response_data = {
"encoded_data": encoded_data,
"file_name": make_export_filename(file_name),
}
return Response(response_data, status=200) return Response(response_data, status=200)

View File

@ -16,6 +16,8 @@ from vbv_lernwelt.feedback.models import FeedbackResponse
logger = structlog.get_logger(__name__) logger = structlog.get_logger(__name__)
FEEDBACK_EXPORT_FILE_NAME = _("export_feedback")
VV_FEEDBACK_QUESTIONS = [ VV_FEEDBACK_QUESTIONS = [
("satisfaction", "Zufriedenheit insgesamt"), ("satisfaction", "Zufriedenheit insgesamt"),
("goal_attainment", "Zielerreichung insgesamt"), ("goal_attainment", "Zielerreichung insgesamt"),
@ -121,7 +123,7 @@ def _generate_feedback_export(feedback_unordered: QuerySet, save_as_file: bool):
_create_sheet(wb, circle.title, group_feedbacks) _create_sheet(wb, circle.title, group_feedbacks)
if save_as_file: if save_as_file:
wb.save(make_export_filename(name="feedback_export")) wb.save(make_export_filename(FEEDBACK_EXPORT_FILE_NAME))
else: else:
# todo handle IndexError # todo handle IndexError
output = BytesIO() output = BytesIO()