Add translations
This commit is contained in:
parent
6b8541f9c5
commit
b06fc4bcbf
|
|
@ -10,7 +10,6 @@ const props = defineProps<{
|
||||||
<template>
|
<template>
|
||||||
<span>
|
<span>
|
||||||
<it-icon-calendar-light class="it-icon h-5 w-5" />
|
<it-icon-calendar-light class="it-icon h-5 w-5" />
|
||||||
// TODO: Termin nicht definiert anzeigen wenn undefined
|
|
||||||
{{ getDateString(props.singleDate) }}, {{ getTimeString(props.singleDate) }}
|
{{ getDateString(props.singleDate) }}, {{ getTimeString(props.singleDate) }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,19 @@
|
||||||
<div>
|
<div>
|
||||||
<ul v-if="true">
|
<ul v-if="true">
|
||||||
<li
|
<li
|
||||||
v-for="dueDate in dueDatesDiplayed"
|
v-for="dueDate in dueDatesDisplayed"
|
||||||
:key="dueDate.id"
|
:key="dueDate.id"
|
||||||
class="border-t last:border-b"
|
:class="{ 'first:border-t': props.showTopBoarder, 'border-b': true }"
|
||||||
>
|
>
|
||||||
<DueDateSingle :due-date="dueDate"></DueDateSingle>
|
<DueDateSingle :due-date="dueDate"></DueDateSingle>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div v-if="allDueDates.length > props.maxCount" class="flex items-center pt-6">
|
<div v-if="allDueDates.length > props.maxCount" class="flex items-center pt-6">
|
||||||
<a href="">Alle Termine anschauen</a>
|
<a href="">{{ $t("duedates.showAllDueDates") }}</a>
|
||||||
<it-icon-arrow-right />
|
<it-icon-arrow-right />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-else>Keine Termine Vorhanden</div>
|
<div v-if="allDueDates.length === 0">{{ $t("duedates.noDueDatesAvailable") }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -26,13 +26,14 @@ import { computed } from "vue";
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
maxCount: number;
|
maxCount: number;
|
||||||
dueDates: DueDate[];
|
dueDates: DueDate[];
|
||||||
|
showTopBoarder: boolean;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const allDueDates = computed(() => {
|
const allDueDates = computed(() => {
|
||||||
return props.dueDates;
|
return props.dueDates;
|
||||||
});
|
});
|
||||||
|
|
||||||
const dueDatesDiplayed = computed(() => {
|
const dueDatesDisplayed = computed(() => {
|
||||||
return props.dueDates.slice(0, props.maxCount);
|
return props.dueDates.slice(0, props.maxCount);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,10 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<DueDatesList :due-dates="allDueDates" :max-count="props.maxCount"></DueDatesList>
|
<DueDatesList
|
||||||
|
:due-dates="allDueDates"
|
||||||
|
:max-count="props.maxCount"
|
||||||
|
:show-top-boarder="props.showTopBoarder"
|
||||||
|
></DueDatesList>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -10,6 +14,7 @@ import { useCurrentCourseSession } from "@/composables";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
maxCount: number;
|
maxCount: number;
|
||||||
|
showTopBoarder: boolean;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const courseSession = useCurrentCourseSession();
|
const courseSession = useCurrentCourseSession();
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,9 @@
|
||||||
"assignmentSubmitted": "Du hast deine Ergebnisse erfolgreich abgegeben.",
|
"assignmentSubmitted": "Du hast deine Ergebnisse erfolgreich abgegeben.",
|
||||||
"confirmSubmitPerson": "Hiermit bestätige ich, dass die folgende Person meine Ergebnisse bewerten soll.",
|
"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.",
|
"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",
|
"dueDateNotSet": "Keine Abgabedaten wurden erfasst für diese Durchführung",
|
||||||
"dueDateSubmission": "Einreichungstermin: {{date}}",
|
"dueDateSubmission": "Einreichungstermin:",
|
||||||
"dueDateTitle": "Abgabetermin",
|
"dueDateTitle": "Abgabetermin",
|
||||||
"edit": "Bearbeiten",
|
"edit": "Bearbeiten",
|
||||||
"effortTitle": "Zeitaufwand",
|
"effortTitle": "Zeitaufwand",
|
||||||
|
|
@ -85,12 +85,17 @@
|
||||||
},
|
},
|
||||||
"dashboard": {
|
"dashboard": {
|
||||||
"courses": "Lehrgang",
|
"courses": "Lehrgang",
|
||||||
|
"dueDatesTitle": "Termine",
|
||||||
"nocourses": "Du wurdest noch keinem Lehrgang zugewiesen.",
|
"nocourses": "Du wurdest noch keinem Lehrgang zugewiesen.",
|
||||||
"welcome": "Willkommen, {{name}}"
|
"welcome": "Willkommen, {{name}}"
|
||||||
},
|
},
|
||||||
"dueDates": {
|
"dueDates": {
|
||||||
"nextDueDates": "Nächste Termine"
|
"nextDueDates": "Nächste Termine"
|
||||||
},
|
},
|
||||||
|
"duedates": {
|
||||||
|
"noDueDatesAvailable": "Keine Termine vorhanden",
|
||||||
|
"showAllDueDates": "Alle Termine anzeigen"
|
||||||
|
},
|
||||||
"feedback": {
|
"feedback": {
|
||||||
"answers": "Antworten",
|
"answers": "Antworten",
|
||||||
"areYouSatisfied": "Wie zufrieden bist du?",
|
"areYouSatisfied": "Wie zufrieden bist du?",
|
||||||
|
|
@ -185,6 +190,7 @@
|
||||||
"learningPathPage": {
|
"learningPathPage": {
|
||||||
"currentCircle": "Aktueller Circle",
|
"currentCircle": "Aktueller Circle",
|
||||||
"listView": "Listenansicht",
|
"listView": "Listenansicht",
|
||||||
|
"nextDueDates": "Nächste Termine",
|
||||||
"nextStep": "Nächster Schritt",
|
"nextStep": "Nächster Schritt",
|
||||||
"pathView": "Pfadansicht",
|
"pathView": "Pfadansicht",
|
||||||
"progressText": "Du hast {{ inProgressCount }} von {{ allCount }} Circles bearbeitet",
|
"progressText": "Du hast {{ inProgressCount }} von {{ allCount }} Circles bearbeitet",
|
||||||
|
|
@ -240,4 +246,4 @@
|
||||||
"settings": {
|
"settings": {
|
||||||
"emailNotifications": "Email Benachrichtigungen"
|
"emailNotifications": "Email Benachrichtigungen"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -11,9 +11,9 @@
|
||||||
"assignmentSubmitted": "Tes résultats ont bien été transmis.",
|
"assignmentSubmitted": "Tes résultats ont bien été transmis.",
|
||||||
"confirmSubmitPerson": "Par la présente, je confirme que la personne suivante doit évaluer mes résultats.",
|
"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.",
|
"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.",
|
"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",
|
"dueDateTitle": "Date de remise",
|
||||||
"edit": "Traiter",
|
"edit": "Traiter",
|
||||||
"effortTitle": "Temps nécessaire",
|
"effortTitle": "Temps nécessaire",
|
||||||
|
|
@ -247,4 +247,4 @@
|
||||||
"settings": {
|
"settings": {
|
||||||
"emailNotifications": "Notifications par e-mail"
|
"emailNotifications": "Notifications par e-mail"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -11,9 +11,9 @@
|
||||||
"assignmentSubmitted": "I tuoi risultati sono stati consegnati con successo.",
|
"assignmentSubmitted": "I tuoi risultati sono stati consegnati con successo.",
|
||||||
"confirmSubmitPerson": "Confermo che i miei risultati dovranno essere valutati dalla seguente persona.",
|
"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.",
|
"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",
|
"dueDateNotSet": "Non sono stati registrati dati di consegna per questo svolgimento",
|
||||||
"dueDateSubmission": "Termine di presentazione: {{date}}",
|
"dueDateSubmission": "Termine di presentazione: ",
|
||||||
"dueDateTitle": "Termine di consegna",
|
"dueDateTitle": "Termine di consegna",
|
||||||
"edit": "Modificare",
|
"edit": "Modificare",
|
||||||
"effortTitle": "Tempo richiesto",
|
"effortTitle": "Tempo richiesto",
|
||||||
|
|
@ -247,4 +247,4 @@
|
||||||
"settings": {
|
"settings": {
|
||||||
"emailNotifications": "Notifiche e-mail"
|
"emailNotifications": "Notifiche e-mail"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -76,11 +76,12 @@ const getNextStepLink = (courseSession: CourseSession) => {
|
||||||
<p>{{ $t("dashboard.nocourses") }}</p>
|
<p>{{ $t("dashboard.nocourses") }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3 class="mb-6">Termine</h3>
|
<h3 class="mb-6">{{ $t("dashboard.dueDatesTitle") }}</h3>
|
||||||
<DueDatesList
|
<DueDatesList
|
||||||
class="bg-white p-6"
|
class="bg-white p-6"
|
||||||
:due-dates="allDueDates"
|
:due-dates="allDueDates"
|
||||||
:max-count="10"
|
:max-count="10"
|
||||||
|
:show-top-boarder="false"
|
||||||
></DueDatesList>
|
></DueDatesList>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -92,9 +92,10 @@ const changeViewType = (viewType: ViewType) => {
|
||||||
|
|
||||||
<!-- Right -->
|
<!-- Right -->
|
||||||
<div v-if="!useMobileLayout" class="flex-grow">
|
<div v-if="!useMobileLayout" class="flex-grow">
|
||||||
<div class="text-bold pb-3">Nächste Termine</div>
|
<div class="text-bold pb-3">
|
||||||
|
{{ $t("learningPathPage.nextDueDates") }}
|
||||||
<DueDatesShortList :max-count="2"></DueDatesShortList>
|
</div>
|
||||||
|
<DueDatesShortList :max-count="2" :show-top-boarder="true"></DueDatesShortList>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -42,10 +42,7 @@ from vbv_lernwelt.course_session.models import (
|
||||||
CourseSessionAttendanceCourse,
|
CourseSessionAttendanceCourse,
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.learnpath.models import (
|
from vbv_lernwelt.learnpath.models import (
|
||||||
Circle,
|
Circle, LearningContentAssignment, LearningContentAttendanceCourse, )
|
||||||
LearningContentAssignment,
|
|
||||||
LearningContentAttendanceCourse,
|
|
||||||
)
|
|
||||||
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
|
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
|
||||||
CircleFactory,
|
CircleFactory,
|
||||||
LearningContentAssignmentFactory,
|
LearningContentAssignmentFactory,
|
||||||
|
|
@ -129,11 +126,11 @@ def create_test_course(include_uk=True, include_vv=True, with_sessions=False):
|
||||||
course_session=cs_zurich,
|
course_session=cs_zurich,
|
||||||
user=student2,
|
user=student2,
|
||||||
)
|
)
|
||||||
for cs in CourseSession.objects.all():
|
course = Course.objects.get(id=COURSE_TEST_ID)
|
||||||
for assignment in LearningContentAssignment.objects.all():
|
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)
|
create_course_session_assignment(cs, assignment)
|
||||||
|
for (attendance_course) in LearningContentAttendanceCourse.objects.descendant_of(course.coursepage):
|
||||||
for attendance_course in LearningContentAttendanceCourse.objects.all():
|
|
||||||
create_course_session_attendance_course(cs, attendance_course)
|
create_course_session_attendance_course(cs, attendance_course)
|
||||||
|
|
||||||
return course
|
return course
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ class CourseSessionAttendanceCourseAdmin(admin.ModelAdmin):
|
||||||
"learning_content",
|
"learning_content",
|
||||||
"trainer",
|
"trainer",
|
||||||
]
|
]
|
||||||
list_filter = ["course_session__course"]
|
list_filter = ["course_session__course", "course_session"]
|
||||||
|
|
||||||
|
|
||||||
@admin.register(CourseSessionAssignment)
|
@admin.register(CourseSessionAssignment)
|
||||||
|
|
|
||||||
|
|
@ -103,8 +103,8 @@ class CourseSessionAssignment(models.Model):
|
||||||
)
|
)
|
||||||
|
|
||||||
if assignment_type in {
|
if assignment_type in {
|
||||||
AssignmentType.CASEWORK,
|
AssignmentType.CASEWORK.value,
|
||||||
AssignmentType.PREP_ASSIGNMENT,
|
AssignmentType.PREP_ASSIGNMENT.value,
|
||||||
}: # Reflexion
|
}: # Reflexion
|
||||||
self.submission_deadline = DueDate.objects.create(
|
self.submission_deadline = DueDate.objects.create(
|
||||||
url=url,
|
url=url,
|
||||||
|
|
@ -115,7 +115,7 @@ class CourseSessionAssignment(models.Model):
|
||||||
page=page,
|
page=page,
|
||||||
)
|
)
|
||||||
|
|
||||||
if assignment_type == AssignmentType.CASEWORK:
|
if assignment_type == AssignmentType.CASEWORK.value:
|
||||||
self.evaluation_deadline = DueDate.objects.create(
|
self.evaluation_deadline = DueDate.objects.create(
|
||||||
url=url,
|
url=url,
|
||||||
title=f"{title}",
|
title=f"{title}",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue