diff --git a/client/src/components/dueDates/DateEmbedding.vue b/client/src/components/dueDates/DateEmbedding.vue
index bb2c8678..e8d494ca 100644
--- a/client/src/components/dueDates/DateEmbedding.vue
+++ b/client/src/components/dueDates/DateEmbedding.vue
@@ -10,7 +10,6 @@ const props = defineProps<{
- // TODO: Termin nicht definiert anzeigen wenn undefined
{{ getDateString(props.singleDate) }}, {{ getTimeString(props.singleDate) }}
diff --git a/client/src/components/dueDates/DueDatesList.vue b/client/src/components/dueDates/DueDatesList.vue
index 1533c9d6..f5bf95cb 100644
--- a/client/src/components/dueDates/DueDatesList.vue
+++ b/client/src/components/dueDates/DueDatesList.vue
@@ -2,19 +2,19 @@
-
Keine Termine Vorhanden
+
{{ $t("duedates.noDueDatesAvailable") }}
@@ -26,13 +26,14 @@ import { computed } from "vue";
const props = defineProps<{
maxCount: number;
dueDates: DueDate[];
+ showTopBoarder: boolean;
}>();
const allDueDates = computed(() => {
return props.dueDates;
});
-const dueDatesDiplayed = computed(() => {
+const dueDatesDisplayed = computed(() => {
return props.dueDates.slice(0, props.maxCount);
});
diff --git a/client/src/components/dueDates/DueDatesShortList.vue b/client/src/components/dueDates/DueDatesShortList.vue
index b9aa4fbe..e47a5e68 100644
--- a/client/src/components/dueDates/DueDatesShortList.vue
+++ b/client/src/components/dueDates/DueDatesShortList.vue
@@ -1,6 +1,10 @@
-
+
@@ -10,6 +14,7 @@ import { useCurrentCourseSession } from "@/composables";
const props = defineProps<{
maxCount: number;
+ showTopBoarder: boolean;
}>();
const courseSession = useCurrentCourseSession();
diff --git a/client/src/locales/de/translation.json b/client/src/locales/de/translation.json
index ad9eb840..9c609eea 100644
--- a/client/src/locales/de/translation.json
+++ b/client/src/locales/de/translation.json
@@ -11,9 +11,9 @@
"assignmentSubmitted": "Du hast deine Ergebnisse erfolgreich abgegeben.",
"confirmSubmitPerson": "Hiermit bestätige ich, dass die folgende Person meine Ergebnisse bewerten soll.",
"confirmSubmitResults": "Hiermit bestätige ich, dass ich die Zusammenfassung meiner Ergebnisse überprüft habe und so abgeben will.",
- "dueDateIntroduction": "Reiche deine Ergebnisse pünktlich ein bis am {{date}} um {{time}} Uhr ein.",
+ "dueDateIntroduction": "Reiche deine Ergebnisse pünktlich ein bis am: ",
"dueDateNotSet": "Keine Abgabedaten wurden erfasst für diese Durchführung",
- "dueDateSubmission": "Einreichungstermin: {{date}}",
+ "dueDateSubmission": "Einreichungstermin:",
"dueDateTitle": "Abgabetermin",
"edit": "Bearbeiten",
"effortTitle": "Zeitaufwand",
@@ -85,12 +85,17 @@
},
"dashboard": {
"courses": "Lehrgang",
+ "dueDatesTitle": "Termine",
"nocourses": "Du wurdest noch keinem Lehrgang zugewiesen.",
"welcome": "Willkommen, {{name}}"
},
"dueDates": {
"nextDueDates": "Nächste Termine"
},
+ "duedates": {
+ "noDueDatesAvailable": "Keine Termine vorhanden",
+ "showAllDueDates": "Alle Termine anzeigen"
+ },
"feedback": {
"answers": "Antworten",
"areYouSatisfied": "Wie zufrieden bist du?",
@@ -185,6 +190,7 @@
"learningPathPage": {
"currentCircle": "Aktueller Circle",
"listView": "Listenansicht",
+ "nextDueDates": "Nächste Termine",
"nextStep": "Nächster Schritt",
"pathView": "Pfadansicht",
"progressText": "Du hast {{ inProgressCount }} von {{ allCount }} Circles bearbeitet",
@@ -240,4 +246,4 @@
"settings": {
"emailNotifications": "Email Benachrichtigungen"
}
-}
+}
\ No newline at end of file
diff --git a/client/src/locales/fr/translation.json b/client/src/locales/fr/translation.json
index df0983bf..f83ec0e2 100644
--- a/client/src/locales/fr/translation.json
+++ b/client/src/locales/fr/translation.json
@@ -11,9 +11,9 @@
"assignmentSubmitted": "Tes résultats ont bien été transmis.",
"confirmSubmitPerson": "Par la présente, je confirme que la personne suivante doit évaluer mes résultats.",
"confirmSubmitResults": "Par la présente, je confirme que j’ai vérifié la synthèse de mes résultats et que je souhaite la remettre telle quelle.",
- "dueDateIntroduction": "Envoie tes résultats dans les délais avant le {{date}} à {{time}} heures.",
+ "dueDateIntroduction": "Envoie tes résultats dans les délais avant le:",
"dueDateNotSet": "Aucune date de remise n’a été spécifiée pour cette opération.",
- "dueDateSubmission": "Date de clôture : {{date}}",
+ "dueDateSubmission": "Date de clôture: ",
"dueDateTitle": "Date de remise",
"edit": "Traiter",
"effortTitle": "Temps nécessaire",
@@ -247,4 +247,4 @@
"settings": {
"emailNotifications": "Notifications par e-mail"
}
-}
+}
\ No newline at end of file
diff --git a/client/src/locales/it/translation.json b/client/src/locales/it/translation.json
index b1dd568b..57e6193f 100644
--- a/client/src/locales/it/translation.json
+++ b/client/src/locales/it/translation.json
@@ -11,9 +11,9 @@
"assignmentSubmitted": "I tuoi risultati sono stati consegnati con successo.",
"confirmSubmitPerson": "Confermo che i miei risultati dovranno essere valutati dalla seguente persona.",
"confirmSubmitResults": "Confermo di aver controllato il riepilogo dei miei risultati e di volerli consegnare.",
- "dueDateIntroduction": "Presenta i tuoi risultati entro il {{date}} alle {{time}}.",
+ "dueDateIntroduction": "Presenta i tuoi risultati entro il:",
"dueDateNotSet": "Non sono stati registrati dati di consegna per questo svolgimento",
- "dueDateSubmission": "Termine di presentazione: {{date}}",
+ "dueDateSubmission": "Termine di presentazione: ",
"dueDateTitle": "Termine di consegna",
"edit": "Modificare",
"effortTitle": "Tempo richiesto",
@@ -247,4 +247,4 @@
"settings": {
"emailNotifications": "Notifiche e-mail"
}
-}
+}
\ No newline at end of file
diff --git a/client/src/pages/DashboardPage.vue b/client/src/pages/DashboardPage.vue
index 6762d084..605e7f34 100644
--- a/client/src/pages/DashboardPage.vue
+++ b/client/src/pages/DashboardPage.vue
@@ -76,11 +76,12 @@ const getNextStepLink = (courseSession: CourseSession) => {
{{ $t("dashboard.nocourses") }}
-
Termine
+ {{ $t("dashboard.dueDatesTitle") }}
diff --git a/client/src/pages/learningPath/learningPathPage/LearningPathPage.vue b/client/src/pages/learningPath/learningPathPage/LearningPathPage.vue
index e86ee1a4..eb44ad2b 100644
--- a/client/src/pages/learningPath/learningPathPage/LearningPathPage.vue
+++ b/client/src/pages/learningPath/learningPathPage/LearningPathPage.vue
@@ -92,9 +92,10 @@ const changeViewType = (viewType: ViewType) => {
-
Nächste Termine
-
-
+
+ {{ $t("learningPathPage.nextDueDates") }}
+
+
diff --git a/env_secrets/local_lorenz.env b/env_secrets/local_lorenz.env
index 2c971824..231e4a04 100644
Binary files a/env_secrets/local_lorenz.env and b/env_secrets/local_lorenz.env differ
diff --git a/server/vbv_lernwelt/course/creators/test_course.py b/server/vbv_lernwelt/course/creators/test_course.py
index 703a8ab9..931fc1e0 100644
--- a/server/vbv_lernwelt/course/creators/test_course.py
+++ b/server/vbv_lernwelt/course/creators/test_course.py
@@ -42,10 +42,7 @@ from vbv_lernwelt.course_session.models import (
CourseSessionAttendanceCourse,
)
from vbv_lernwelt.learnpath.models import (
- Circle,
- LearningContentAssignment,
- LearningContentAttendanceCourse,
-)
+ Circle, LearningContentAssignment, LearningContentAttendanceCourse, )
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
CircleFactory,
LearningContentAssignmentFactory,
@@ -129,11 +126,11 @@ def create_test_course(include_uk=True, include_vv=True, with_sessions=False):
course_session=cs_zurich,
user=student2,
)
- for cs in CourseSession.objects.all():
- for assignment in LearningContentAssignment.objects.all():
+ course = Course.objects.get(id=COURSE_TEST_ID)
+ for cs in CourseSession.objects.filter(course_id=COURSE_TEST_ID):
+ for assignment in LearningContentAssignment.objects.descendant_of(course.coursepage):
create_course_session_assignment(cs, assignment)
-
- for attendance_course in LearningContentAttendanceCourse.objects.all():
+ for (attendance_course) in LearningContentAttendanceCourse.objects.descendant_of(course.coursepage):
create_course_session_attendance_course(cs, attendance_course)
return course
diff --git a/server/vbv_lernwelt/course_session/admin.py b/server/vbv_lernwelt/course_session/admin.py
index 61b83597..b0970a8e 100644
--- a/server/vbv_lernwelt/course_session/admin.py
+++ b/server/vbv_lernwelt/course_session/admin.py
@@ -15,7 +15,7 @@ class CourseSessionAttendanceCourseAdmin(admin.ModelAdmin):
"learning_content",
"trainer",
]
- list_filter = ["course_session__course"]
+ list_filter = ["course_session__course", "course_session"]
@admin.register(CourseSessionAssignment)
diff --git a/server/vbv_lernwelt/course_session/models.py b/server/vbv_lernwelt/course_session/models.py
index a6f1fb6a..91d9f7f6 100644
--- a/server/vbv_lernwelt/course_session/models.py
+++ b/server/vbv_lernwelt/course_session/models.py
@@ -103,8 +103,8 @@ class CourseSessionAssignment(models.Model):
)
if assignment_type in {
- AssignmentType.CASEWORK,
- AssignmentType.PREP_ASSIGNMENT,
+ AssignmentType.CASEWORK.value,
+ AssignmentType.PREP_ASSIGNMENT.value,
}: # Reflexion
self.submission_deadline = DueDate.objects.create(
url=url,
@@ -115,7 +115,7 @@ class CourseSessionAssignment(models.Model):
page=page,
)
- if assignment_type == AssignmentType.CASEWORK:
+ if assignment_type == AssignmentType.CASEWORK.value:
self.evaluation_deadline = DueDate.objects.create(
url=url,
title=f"{title}",