Merged develop into feature/VBV-717-teilnehmer-profil-in-dashboard-fullscreen
This commit is contained in:
commit
82f01dbcf0
|
|
@ -2,13 +2,15 @@
|
||||||
import EvaluationIntro from "@/components/assignment/evaluation/EvaluationIntro.vue";
|
import EvaluationIntro from "@/components/assignment/evaluation/EvaluationIntro.vue";
|
||||||
import EvaluationSummary from "@/components/assignment/evaluation/EvaluationSummary.vue";
|
import EvaluationSummary from "@/components/assignment/evaluation/EvaluationSummary.vue";
|
||||||
import EvaluationTask from "@/components/assignment/evaluation/EvaluationTask.vue";
|
import EvaluationTask from "@/components/assignment/evaluation/EvaluationTask.vue";
|
||||||
import { useCourseSessionDetailQuery } from "@/composables";
|
import { useCourseSessionDetailQuery, useCurrentCourseSession } from "@/composables";
|
||||||
|
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
||||||
import type {
|
import type {
|
||||||
Assignment,
|
Assignment,
|
||||||
AssignmentCompletion,
|
AssignmentCompletion,
|
||||||
AssignmentEvaluationTask,
|
AssignmentEvaluationTask,
|
||||||
CourseSessionUser,
|
CourseSessionUser,
|
||||||
} from "@/types";
|
} from "@/types";
|
||||||
|
import { useMutation } from "@urql/vue";
|
||||||
import { useRouteQuery } from "@vueuse/router";
|
import { useRouteQuery } from "@vueuse/router";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { findIndex } from "lodash";
|
import { findIndex } from "lodash";
|
||||||
|
|
@ -21,10 +23,12 @@ const props = defineProps<{
|
||||||
assignment: Assignment;
|
assignment: Assignment;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const emit = defineEmits(["close"]);
|
const emit = defineEmits(["close", "reopen"]);
|
||||||
|
|
||||||
log.debug("UserEvaluation setup");
|
log.debug("UserEvaluation setup");
|
||||||
|
|
||||||
|
const courseSession = useCurrentCourseSession();
|
||||||
|
|
||||||
// 0 = introduction, 1 - n = tasks, n+1 = submission
|
// 0 = introduction, 1 - n = tasks, n+1 = submission
|
||||||
const stepIndex = useRouteQuery("step", "0", { transform: Number, mode: "push" });
|
const stepIndex = useRouteQuery("step", "0", { transform: Number, mode: "push" });
|
||||||
|
|
||||||
|
|
@ -58,6 +62,34 @@ function editTask(task: AssignmentEvaluationTask) {
|
||||||
stepIndex.value = taskIndex + 1;
|
stepIndex.value = taskIndex + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function canReopen() {
|
||||||
|
return (
|
||||||
|
evaluationSubmitted.value &&
|
||||||
|
(props.assignment.assignment_type === "CASEWORK" ||
|
||||||
|
props.assignment.assignment_type === "PRAXIS_ASSIGNMENT")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const upsertAssignmentCompletionMutation = useMutation(
|
||||||
|
UPSERT_ASSIGNMENT_COMPLETION_MUTATION
|
||||||
|
);
|
||||||
|
|
||||||
|
async function reopen() {
|
||||||
|
log.debug("reopen");
|
||||||
|
|
||||||
|
await upsertAssignmentCompletionMutation.executeMutation({
|
||||||
|
assignmentId: props.assignment.id,
|
||||||
|
courseSessionId: courseSession.value.id,
|
||||||
|
assignmentUserId: props.assignmentUser.id,
|
||||||
|
completionStatus: "EVALUATION_IN_PROGRESS",
|
||||||
|
completionDataString: JSON.stringify({}),
|
||||||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
// @ts-ignore
|
||||||
|
id: props.assignmentCompletion?.id,
|
||||||
|
});
|
||||||
|
stepIndex.value = 1;
|
||||||
|
}
|
||||||
|
|
||||||
const courseSessionDetailResult = useCourseSessionDetailQuery();
|
const courseSessionDetailResult = useCourseSessionDetailQuery();
|
||||||
|
|
||||||
const assignmentDetail = computed(() => {
|
const assignmentDetail = computed(() => {
|
||||||
|
|
@ -86,22 +118,6 @@ const taskExpertDataText = computed(() => {
|
||||||
return result;
|
return result;
|
||||||
});
|
});
|
||||||
|
|
||||||
const text = computed(() => {
|
|
||||||
if (props.assignment.assignment_type === "CASEWORK") {
|
|
||||||
return {
|
|
||||||
evaluationFinish: "a.Bewertung abschliessen",
|
|
||||||
};
|
|
||||||
} else if (props.assignment.assignment_type === "PRAXIS_ASSIGNMENT") {
|
|
||||||
return {
|
|
||||||
evaluationFinish: "a.Feedback abschliessen",
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
return {
|
|
||||||
evaluationFinish: "UNKNOWN ASSIGNMENT TYPE",
|
|
||||||
};
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function nextButtonEnabled() {
|
function nextButtonEnabled() {
|
||||||
if (inEvaluationTask.value) {
|
if (inEvaluationTask.value) {
|
||||||
return taskExpertDataText.value ?? false;
|
return taskExpertDataText.value ?? false;
|
||||||
|
|
@ -109,6 +125,15 @@ function nextButtonEnabled() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function previousButtonVisible() {
|
||||||
|
// Bei einer "bewerteten" Arbeit, kann man im letzten Schritt nicht mehr "zurück"
|
||||||
|
// man kann aber die Bewertung wieder "bearbeiten"
|
||||||
|
return !(
|
||||||
|
stepIndex.value > numTasks.value &&
|
||||||
|
props.assignmentCompletion.completion_status === "EVALUATION_SUBMITTED"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function finishButtonEnabled() {
|
function finishButtonEnabled() {
|
||||||
return props.assignmentCompletion.completion_status === "EVALUATION_SUBMITTED";
|
return props.assignmentCompletion.completion_status === "EVALUATION_SUBMITTED";
|
||||||
}
|
}
|
||||||
|
|
@ -150,18 +175,19 @@ function finishButtonEnabled() {
|
||||||
<nav v-if="stepIndex > 0" class="sticky bottom-0 border-t bg-gray-200 p-6">
|
<nav v-if="stepIndex > 0" class="sticky bottom-0 border-t bg-gray-200 p-6">
|
||||||
<div class="relative flex flex-row place-content-end">
|
<div class="relative flex flex-row place-content-end">
|
||||||
<button
|
<button
|
||||||
v-if="true"
|
v-if="previousButtonVisible()"
|
||||||
class="btn-secondary mr-2 flex items-center"
|
class="btn-secondary flex items-center"
|
||||||
data-cy="previous-step"
|
data-cy="previous-step"
|
||||||
@click="previousPage()"
|
@click="previousPage()"
|
||||||
>
|
>
|
||||||
<it-icon-arrow-left class="mr-2 h-6 w-6"></it-icon-arrow-left>
|
<it-icon-arrow-left class="mr-2 h-6 w-6"></it-icon-arrow-left>
|
||||||
{{ $t("general.backCapitalized") }}
|
{{ $t("general.backCapitalized") }}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
v-if="stepIndex <= numTasks"
|
v-if="stepIndex <= numTasks"
|
||||||
:disabled="!nextButtonEnabled()"
|
:disabled="!nextButtonEnabled()"
|
||||||
class="btn-secondary z-10 flex items-center"
|
class="btn-secondary z-10 ml-2 flex items-center"
|
||||||
data-cy="next-step"
|
data-cy="next-step"
|
||||||
@click="nextPage()"
|
@click="nextPage()"
|
||||||
>
|
>
|
||||||
|
|
@ -170,15 +196,25 @@ function finishButtonEnabled() {
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
v-if="stepIndex > numTasks"
|
v-if="stepIndex > numTasks && canReopen()"
|
||||||
|
class="btn-secondary z-10 ml-2"
|
||||||
|
data-cy="btn-reopen"
|
||||||
|
@click="reopen()"
|
||||||
|
>
|
||||||
|
<span class="flex items-center">
|
||||||
|
{{ $t("a.Bewertung bearbeiten") }}
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button
|
||||||
|
v-if="stepIndex > numTasks && finishButtonEnabled()"
|
||||||
:disabled="!finishButtonEnabled()"
|
:disabled="!finishButtonEnabled()"
|
||||||
class="btn-secondary z-10"
|
class="btn-primary z-10 ml-2"
|
||||||
data-cy="next-step"
|
data-cy="btn-close"
|
||||||
@click="emit('close')"
|
@click="emit('close')"
|
||||||
>
|
>
|
||||||
<span class="flex items-center">
|
<span class="flex items-center">
|
||||||
{{ $t(text.evaluationFinish) }}
|
{{ $t("a.Schliessen") }}
|
||||||
<it-icon-check class="ml-2 h-6 w-6"></it-icon-check>
|
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -76,30 +76,8 @@ async function startEvaluation() {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="mb-4">
|
|
||||||
{{
|
|
||||||
$t("assignment.x hat die Ergebnisse am y um z Uhr abgegeben", {
|
|
||||||
x: props.assignmentUser.first_name + " " + props.assignmentUser.last_name,
|
|
||||||
y: dayjs(props.assignmentCompletion.submitted_at).format("DD.MM.YYYY"),
|
|
||||||
z: dayjs(props.assignmentCompletion.submitted_at).format("HH.mm"),
|
|
||||||
})
|
|
||||||
}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3 data-cy="title">{{ $t(text.evaluationTitle) }}</h3>
|
<h3 data-cy="title">{{ $t(text.evaluationTitle) }}</h3>
|
||||||
|
|
||||||
<p v-if="props.dueDate" class="my-4" data-cy="evaluation-duedate">
|
|
||||||
{{
|
|
||||||
$t(
|
|
||||||
"assignment.Du musst die Bewertung bis am x um y Uhr abschliessen und freigeben",
|
|
||||||
{
|
|
||||||
x: props.dueDate.format("DD.MM.YYYY"),
|
|
||||||
y: props.dueDate.format("HH.mm"),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p class="my-4" data-cy="instruction">
|
<p class="my-4" data-cy="instruction">
|
||||||
{{
|
{{
|
||||||
$t(text.evaluationInstruction, {
|
$t(text.evaluationInstruction, {
|
||||||
|
|
@ -125,6 +103,11 @@ async function startEvaluation() {
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p v-if="props.dueDate" class="my-4" data-cy="evaluation-duedate">
|
||||||
|
{{ $t("a.Freigabetermin Bewertung") }}: {{ props.dueDate.format("DD.MM.YYYY") }}
|
||||||
|
{{ props.dueDate.format("HH.mm") }}
|
||||||
|
</p>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<button
|
<button
|
||||||
class="btn-primary text-large"
|
class="btn-primary text-large"
|
||||||
|
|
@ -148,6 +131,18 @@ async function startEvaluation() {
|
||||||
<span v-else>{{ $t(text.evaluationStart) }}</span>
|
<span v-else>{{ $t(text.evaluationStart) }}</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<ol class="mt-8">
|
||||||
|
<li
|
||||||
|
v-for="historyEntry in props.assignmentCompletion.additional_json_data
|
||||||
|
?.submission_history ?? []"
|
||||||
|
:key="historyEntry.timestamp"
|
||||||
|
>
|
||||||
|
{{ dayjs(historyEntry.timestamp).format("DD.MM.YYYY HH.mm") }}:
|
||||||
|
{{ $t(historyEntry.translation_key) }}
|
||||||
|
({{ historyEntry.user_display_name }})
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ItSuccessAlert from "@/components/ui/ItSuccessAlert.vue";
|
import ItSuccessAlert from "@/components/ui/ItSuccessAlert.vue";
|
||||||
|
import ItTextarea from "@/components/ui/ItTextarea.vue";
|
||||||
import RichText from "@/components/ui/RichText.vue";
|
import RichText from "@/components/ui/RichText.vue";
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
import { UPSERT_ASSIGNMENT_COMPLETION_MUTATION } from "@/graphql/mutations";
|
||||||
|
|
@ -16,7 +17,7 @@ import type {
|
||||||
import { useMutation } from "@urql/vue";
|
import { useMutation } from "@urql/vue";
|
||||||
import dayjs, { Dayjs } from "dayjs";
|
import dayjs, { Dayjs } from "dayjs";
|
||||||
import * as log from "loglevel";
|
import * as log from "loglevel";
|
||||||
import { computed, reactive } from "vue";
|
import { computed, reactive, ref } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
assignmentUser: CourseSessionUser;
|
assignmentUser: CourseSessionUser;
|
||||||
|
|
@ -40,6 +41,10 @@ const upsertAssignmentCompletionMutation = useMutation(
|
||||||
UPSERT_ASSIGNMENT_COMPLETION_MUTATION
|
UPSERT_ASSIGNMENT_COMPLETION_MUTATION
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const evaluationComment = ref(
|
||||||
|
props.assignmentCompletion.completion_data.expert_evaluation_comment?.text ?? ""
|
||||||
|
);
|
||||||
|
|
||||||
const text = computed(() => {
|
const text = computed(() => {
|
||||||
if (props.assignment.assignment_type === "CASEWORK") {
|
if (props.assignment.assignment_type === "CASEWORK") {
|
||||||
return {
|
return {
|
||||||
|
|
@ -77,7 +82,11 @@ async function submitEvaluation() {
|
||||||
courseSessionId: courseSession.value.id,
|
courseSessionId: courseSession.value.id,
|
||||||
assignmentUserId: props.assignmentUser.id,
|
assignmentUserId: props.assignmentUser.id,
|
||||||
completionStatus: "EVALUATION_SUBMITTED",
|
completionStatus: "EVALUATION_SUBMITTED",
|
||||||
completionDataString: JSON.stringify({}),
|
completionDataString: JSON.stringify({
|
||||||
|
expert_evaluation_comment: {
|
||||||
|
text: evaluationComment.value,
|
||||||
|
},
|
||||||
|
}),
|
||||||
evaluationPoints: userPoints.value,
|
evaluationPoints: userPoints.value,
|
||||||
// next line used for urql
|
// next line used for urql
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
|
@ -112,9 +121,48 @@ const maxPoints = computed(() => {
|
||||||
}
|
}
|
||||||
return maxAssignmentPoints(props.assignment);
|
return maxAssignmentPoints(props.assignment);
|
||||||
});
|
});
|
||||||
|
|
||||||
const userPoints = computed(() =>
|
const userPoints = computed(() =>
|
||||||
userAssignmentPoints(props.assignment, props.assignmentCompletion)
|
userAssignmentPoints(props.assignment, props.assignmentCompletion)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const userPointsWithDeduction = computed(() => {
|
||||||
|
const points = userPoints.value;
|
||||||
|
if (points && props.assignmentCompletion.evaluation_points_deducted > 0) {
|
||||||
|
return points - props.assignmentCompletion.evaluation_points_deducted;
|
||||||
|
}
|
||||||
|
return points;
|
||||||
|
});
|
||||||
|
|
||||||
|
const percentage = computed(() => {
|
||||||
|
if (props.assignmentCompletion.completion_status === "EVALUATION_SUBMITTED") {
|
||||||
|
return (
|
||||||
|
((props.assignmentCompletion?.evaluation_points_final ??
|
||||||
|
userPointsWithDeduction.value ??
|
||||||
|
0) /
|
||||||
|
(props.assignmentCompletion?.evaluation_max_points ?? 1)) *
|
||||||
|
100
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return ((userPointsWithDeduction.value ?? 0) / (maxPoints.value ?? 1)) * 100;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const showNotPassed = computed(() => {
|
||||||
|
if (props.assignment.assignment_type === "CASEWORK") {
|
||||||
|
return percentage.value < 55;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
const showPassed = computed(() => {
|
||||||
|
if (props.assignment.assignment_type === "CASEWORK") {
|
||||||
|
return percentage.value >= 55;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -136,26 +184,23 @@ const userPoints = computed(() =>
|
||||||
<section v-if="props.assignment.assignment_type === 'CASEWORK'">
|
<section v-if="props.assignment.assignment_type === 'CASEWORK'">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<div class="heading-1 py-4" data-cy="user-points">
|
<div class="heading-1 py-4" data-cy="user-points">
|
||||||
<template
|
{{ userPointsWithDeduction }}
|
||||||
v-if="
|
|
||||||
props.assignmentCompletion.completion_status == 'EVALUATION_SUBMITTED'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
{{ props.assignmentCompletion.evaluation_points_final }}
|
|
||||||
</template>
|
|
||||||
<template v-else>
|
|
||||||
{{ userPoints }}
|
|
||||||
</template>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="pl-2" data-cy="total-points">
|
<div class="pl-2" data-cy="total-points">
|
||||||
{{ $t("assignment.von x Punkten", { x: maxPoints }) }}
|
{{ $t("assignment.von x Punkten", { x: maxPoints }) }}
|
||||||
({{
|
({{ percentage.toFixed(0) }}%)
|
||||||
(
|
</div>
|
||||||
((props.assignmentCompletion?.evaluation_points_final ?? 0) /
|
|
||||||
(props.assignmentCompletion?.evaluation_max_points ?? 1)) *
|
<div v-if="showNotPassed" class="ml-2">
|
||||||
100
|
<span class="my-2 rounded-md bg-error-red-200 px-2.5 py-0.5">
|
||||||
).toFixed(0)
|
{{ $t("a.Nicht Bestanden") }}
|
||||||
}}%)
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="showPassed" class="ml-2">
|
||||||
|
<span class="my-2 rounded-md bg-green-200 px-2.5 py-0.5">
|
||||||
|
{{ $t("a.Bestanden") }}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -206,6 +251,11 @@ const userPoints = computed(() =>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<p v-if="props.dueDate" class="my-4" data-cy="evaluation-duedate">
|
||||||
|
{{ $t("a.Freigabetermin Bewertung") }}: {{ props.dueDate.format("DD.MM.YYYY") }}
|
||||||
|
{{ props.dueDate.format("HH.mm") }}
|
||||||
|
</p>
|
||||||
|
|
||||||
<p
|
<p
|
||||||
v-if="
|
v-if="
|
||||||
props.assignment.assignment_type === 'PRAXIS_ASSIGNMENT' &&
|
props.assignment.assignment_type === 'PRAXIS_ASSIGNMENT' &&
|
||||||
|
|
@ -214,18 +264,11 @@ const userPoints = computed(() =>
|
||||||
>
|
>
|
||||||
{{ $t("a.assignment.evaluationFeedbackDescriptionText") }}
|
{{ $t("a.assignment.evaluationFeedbackDescriptionText") }}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
v-if="props.assignmentCompletion.completion_status === 'EVALUATION_SUBMITTED'"
|
v-if="props.assignmentCompletion.completion_status !== 'EVALUATION_SUBMITTED'"
|
||||||
|
class="mt-8"
|
||||||
>
|
>
|
||||||
{{ $t("assignment.dueDateEvaluation") }}:
|
|
||||||
{{
|
|
||||||
dayjs(props.assignmentCompletion.evaluation_submitted_at).format("DD.MM.YYYY")
|
|
||||||
}}
|
|
||||||
um
|
|
||||||
{{ dayjs(props.assignmentCompletion.evaluation_submitted_at).format("HH.mm") }}
|
|
||||||
Uhr
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
<button
|
<button
|
||||||
class="btn-primary text-large"
|
class="btn-primary text-large"
|
||||||
data-cy="submit-evaluation"
|
data-cy="submit-evaluation"
|
||||||
|
|
@ -233,6 +276,18 @@ const userPoints = computed(() =>
|
||||||
>
|
>
|
||||||
{{ $t(text.evaluationSubmit) }}
|
{{ $t(text.evaluationSubmit) }}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
<ItTextarea
|
||||||
|
v-model="evaluationComment"
|
||||||
|
class="mt-8"
|
||||||
|
:placeholder="`${$t('a.Kommentar erfassen')}...`"
|
||||||
|
data-cy="reason-text"
|
||||||
|
></ItTextarea>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="evaluationComment" class="mt-4">
|
||||||
|
{{ $t("a.Kommentar") }}:
|
||||||
|
<br />
|
||||||
|
{{ evaluationComment }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="state.showSuccessInfo" class="mt-4">
|
<div v-if="state.showSuccessInfo" class="mt-4">
|
||||||
|
|
@ -245,6 +300,21 @@ const userPoints = computed(() =>
|
||||||
"
|
"
|
||||||
></ItSuccessAlert>
|
></ItSuccessAlert>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<section class="mt-4" data-cy="assignment-history">
|
||||||
|
<ol>
|
||||||
|
<li
|
||||||
|
v-for="historyEntry in props.assignmentCompletion.additional_json_data
|
||||||
|
?.submission_history ?? []"
|
||||||
|
:key="historyEntry.timestamp"
|
||||||
|
data-cy="assignment-history-entry"
|
||||||
|
>
|
||||||
|
{{ dayjs(historyEntry.timestamp).format("DD.MM.YYYY HH.mm") }}:
|
||||||
|
{{ $t(historyEntry.translation_key) }}
|
||||||
|
({{ historyEntry.user_display_name }})
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ onMounted(async () => {
|
||||||
:details-link="`/course/${props.courseSlug}/learning-mentor/tasks`"
|
:details-link="`/course/${props.courseSlug}/learning-mentor/tasks`"
|
||||||
data-cy="dashboard.mentor.openTasksCount"
|
data-cy="dashboard.mentor.openTasksCount"
|
||||||
>
|
>
|
||||||
<template #title>{{ $t("Zu erledigen") }}</template>
|
<template #title>{{ $t("a.Zu erledigen") }}</template>
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="flex flex-row space-x-3 bg-white pb-6">
|
<div class="flex flex-row space-x-3 bg-white pb-6">
|
||||||
<div
|
<div
|
||||||
|
|
@ -31,7 +31,7 @@ onMounted(async () => {
|
||||||
>
|
>
|
||||||
<span>{{ openTaskCount }}</span>
|
<span>{{ openTaskCount }}</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="ml-3 mt-0 leading-[74px]">{{ $t("Elemente zu erledigen") }}</p>
|
<p class="ml-3 mt-0 leading-[74px]">{{ $t("a.Elemente zu erledigen") }}</p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</BaseBox>
|
</BaseBox>
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ const regionFilter = computed(() => {
|
||||||
}));
|
}));
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
name: `${t("Region")}: ${t("a.Alle")}`,
|
name: `${t("a.Region")}: ${t("a.Alle")}`,
|
||||||
id: "_all",
|
id: "_all",
|
||||||
},
|
},
|
||||||
...f,
|
...f,
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ const attendanceCountPerChosenProfile = computed(() => {
|
||||||
:details-link="`/dashboard/persons?course=${courseId}&selectedPaidYear=${currentYear}`"
|
:details-link="`/dashboard/persons?course=${courseId}&selectedPaidYear=${currentYear}`"
|
||||||
data-cy="dashboard.stats.trainingResponsible.participants"
|
data-cy="dashboard.stats.trainingResponsible.participants"
|
||||||
>
|
>
|
||||||
<template #title>{{ $t("Teilnehmer im") }} {{ currentYear }}</template>
|
<template #title>{{ $t("a.Teilnehmer im") }} {{ currentYear }}</template>
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="flex flex-row space-x-3 bg-white pb-6">
|
<div class="flex flex-row space-x-3 bg-white pb-6">
|
||||||
<div
|
<div
|
||||||
|
|
@ -89,7 +89,7 @@ const attendanceCountPerChosenProfile = computed(() => {
|
||||||
<span>{{ attendanceCountInCurrentYear }}</span>
|
<span>{{ attendanceCountInCurrentYear }}</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="ml-3 mt-0 leading-[74px]">
|
<p class="ml-3 mt-0 leading-[74px]">
|
||||||
{{ $t("Teilnehmer") }}
|
{{ $t("a.Teilnehmer") }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -97,7 +97,7 @@ const attendanceCountPerChosenProfile = computed(() => {
|
||||||
</div>
|
</div>
|
||||||
<div class="my-6 space-y-6 border-t border-gray-500 py-6">
|
<div class="my-6 space-y-6 border-t border-gray-500 py-6">
|
||||||
<h2 class="text-base font-bold">
|
<h2 class="text-base font-bold">
|
||||||
{{ $t("Teilnehmer nach Zulassungsprofilen im") }} {{ currentYear }}
|
{{ $t("a.Teilnehmer nach Zulassungsprofilen im") }} {{ currentYear }}
|
||||||
</h2>
|
</h2>
|
||||||
<AttendancePerChosenProfileChart
|
<AttendancePerChosenProfileChart
|
||||||
v-if="attendanceCountPerChosenProfile"
|
v-if="attendanceCountPerChosenProfile"
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ const filteredDueDates = computed(() => {
|
||||||
<LoadingSpinner />
|
<LoadingSpinner />
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="flex flex-col space-y-2">
|
<div v-else class="flex flex-col space-y-2">
|
||||||
<h3 class="heading-3">{{ $t("Nächste Termine") }}</h3>
|
<h3 class="heading-3">{{ $t("a.Nächste Termine") }}</h3>
|
||||||
<div
|
<div
|
||||||
v-for="dueDate in filteredDueDates"
|
v-for="dueDate in filteredDueDates"
|
||||||
:key="dueDate.id"
|
:key="dueDate.id"
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ export const formatDueDate = (start: string, end?: string | null) => {
|
||||||
|
|
||||||
// at least `start` must be provided and valid
|
// at least `start` must be provided and valid
|
||||||
if (!startDayjs.isValid()) {
|
if (!startDayjs.isValid()) {
|
||||||
return i18next.t("Termin nicht festgelegt");
|
return i18next.t("a.Termin nicht festgelegt");
|
||||||
}
|
}
|
||||||
|
|
||||||
// when only `start` is provided, show only the start date with time
|
// when only `start` is provided, show only the start date with time
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ const mentorTabTitle = computed(() =>
|
||||||
data-cy="vv-buy-link"
|
data-cy="vv-buy-link"
|
||||||
@click="clickLink(vvBuyLink.href.value as string)"
|
@click="clickLink(vvBuyLink.href.value as string)"
|
||||||
>
|
>
|
||||||
{{ $t("Lernpfad kaufen") }}
|
{{ $t("a.Lehrgang kaufen") }}
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ const inviteMentor = async () => {
|
||||||
const myLearningMentors = computed(() =>
|
const myLearningMentors = computed(() =>
|
||||||
courseSession.value.course.configuration.is_uk
|
courseSession.value.course.configuration.is_uk
|
||||||
? "Meine Praxisbildner"
|
? "Meine Praxisbildner"
|
||||||
: "Meine Lernbegleiter"
|
: "a.Meine Lernbegleitung"
|
||||||
);
|
);
|
||||||
|
|
||||||
const inviteLearningMentor = computed(() =>
|
const inviteLearningMentor = computed(() =>
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,11 @@ import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-
|
||||||
*/
|
*/
|
||||||
const documents = {
|
const documents = {
|
||||||
"\n mutation AttendanceCheckMutation(\n $attendanceCourseId: ID!\n $attendanceUserList: [AttendanceUserInputType]!\n ) {\n update_course_session_attendance_course_users(\n id: $attendanceCourseId\n attendance_user_list: $attendanceUserList\n ) {\n course_session_attendance_course {\n id\n attendance_user_list {\n user_id\n first_name\n last_name\n email\n status\n }\n }\n }\n }\n": types.AttendanceCheckMutationDocument,
|
"\n mutation AttendanceCheckMutation(\n $attendanceCourseId: ID!\n $attendanceUserList: [AttendanceUserInputType]!\n ) {\n update_course_session_attendance_course_users(\n id: $attendanceCourseId\n attendance_user_list: $attendanceUserList\n ) {\n course_session_attendance_course {\n id\n attendance_user_list {\n user_id\n first_name\n last_name\n email\n status\n }\n }\n }\n }\n": types.AttendanceCheckMutationDocument,
|
||||||
"\n mutation UpsertAssignmentCompletion(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n $completionStatus: AssignmentCompletionStatus!\n $completionDataString: String!\n $evaluationPoints: Float\n $initializeCompletion: Boolean\n $evaluationUserId: ID\n ) {\n upsert_assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n learning_content_page_id: $learningContentId\n assignment_user_id: $assignmentUserId\n completion_status: $completionStatus\n completion_data_string: $completionDataString\n evaluation_points: $evaluationPoints\n initialize_completion: $initializeCompletion\n evaluation_user_id: $evaluationUserId\n ) {\n assignment_completion {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_points\n completion_data\n task_completion_data\n }\n }\n }\n": types.UpsertAssignmentCompletionDocument,
|
"\n mutation UpsertAssignmentCompletion(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n $completionStatus: AssignmentCompletionStatus!\n $completionDataString: String!\n $evaluationPoints: Float\n $initializeCompletion: Boolean\n $evaluationUserId: ID\n ) {\n upsert_assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n learning_content_page_id: $learningContentId\n assignment_user_id: $assignmentUserId\n completion_status: $completionStatus\n completion_data_string: $completionDataString\n evaluation_points: $evaluationPoints\n initialize_completion: $initializeCompletion\n evaluation_user_id: $evaluationUserId\n ) {\n assignment_completion {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_points_deducted\n evaluation_points_deducted_reason\n evaluation_points_final\n completion_data\n task_completion_data\n additional_json_data\n }\n }\n }\n": types.UpsertAssignmentCompletionDocument,
|
||||||
"\n mutation UpdateCourseSessionProfile($input: CourseSessionProfileMutationInput!) {\n update_course_session_profile(input: $input) {\n clientMutationId\n result {\n __typename\n ... on UpdateCourseProfileSuccess {\n user {\n id\n chosen_profile\n }\n }\n ... on UpdateCourseProfileError {\n message\n }\n }\n }\n }\n": types.UpdateCourseSessionProfileDocument,
|
"\n mutation UpdateCourseSessionProfile($input: CourseSessionProfileMutationInput!) {\n update_course_session_profile(input: $input) {\n clientMutationId\n result {\n __typename\n ... on UpdateCourseProfileSuccess {\n user {\n id\n chosen_profile\n }\n }\n ... on UpdateCourseProfileError {\n message\n }\n }\n }\n }\n": types.UpdateCourseSessionProfileDocument,
|
||||||
"\n fragment CoursePageFields on CoursePageInterface {\n title\n id\n slug\n content_type\n frontend_url\n }\n": types.CoursePageFieldsFragmentDoc,
|
"\n fragment CoursePageFields on CoursePageInterface {\n title\n id\n slug\n content_type\n frontend_url\n }\n": types.CoursePageFieldsFragmentDoc,
|
||||||
"\n query attendanceCheckQuery($courseSessionId: ID!) {\n course_session_attendance_course(id: $courseSessionId) {\n id\n attendance_user_list {\n user_id\n status\n }\n }\n }\n": types.AttendanceCheckQueryDocument,
|
"\n query attendanceCheckQuery($courseSessionId: ID!) {\n course_session_attendance_course(id: $courseSessionId) {\n id\n attendance_user_list {\n user_id\n status\n }\n }\n }\n": types.AttendanceCheckQueryDocument,
|
||||||
"\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n solution_sample {\n id\n url\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n first_name\n last_name\n }\n assignment_user {\n avatar_url\n first_name\n last_name\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_points_deducted\n evaluation_points_deducted_reason\n evaluation_points_final\n\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n }\n }\n": types.AssignmentCompletionQueryDocument,
|
"\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n solution_sample {\n id\n url\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n first_name\n last_name\n }\n assignment_user {\n avatar_url\n first_name\n last_name\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_points_deducted\n evaluation_points_deducted_reason\n evaluation_points_final\n\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n\n additional_json_data\n }\n }\n": types.AssignmentCompletionQueryDocument,
|
||||||
"\n query competenceCertificateQuery(\n $courseSlug: String!\n $courseSessionId: ID!\n $userIds: [UUID!]\n ) {\n competence_certificate_list(course_slug: $courseSlug, user_ids: $userIds) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n competence_certificate_weight\n completions(course_session_id: $courseSessionId) {\n id\n assignment_user {\n id\n }\n completion_status\n submitted_at\n evaluation_points\n evaluation_points_deducted\n evaluation_points_final\n evaluation_max_points\n evaluation_passed\n evaluation_percent\n course_session {\n id\n title\n }\n }\n learning_content {\n ...CoursePageFields\n circle {\n id\n title\n slug\n }\n }\n }\n }\n }\n }\n": types.CompetenceCertificateQueryDocument,
|
"\n query competenceCertificateQuery(\n $courseSlug: String!\n $courseSessionId: ID!\n $userIds: [UUID!]\n ) {\n competence_certificate_list(course_slug: $courseSlug, user_ids: $userIds) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n competence_certificate_weight\n completions(course_session_id: $courseSessionId) {\n id\n assignment_user {\n id\n }\n completion_status\n submitted_at\n evaluation_points\n evaluation_points_deducted\n evaluation_points_final\n evaluation_max_points\n evaluation_passed\n evaluation_percent\n course_session {\n id\n title\n }\n }\n learning_content {\n ...CoursePageFields\n circle {\n id\n title\n slug\n }\n }\n }\n }\n }\n }\n": types.CompetenceCertificateQueryDocument,
|
||||||
"\n query competenceCertificateForUserQuery(\n $courseSlug: String!\n $courseSessionId: ID!\n $userIds: [UUID!]!\n ) {\n competence_certificate_list(course_slug: $courseSlug, user_ids: $userIds) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n competence_certificate_weight\n completions(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_points_final\n evaluation_points_deducted\n evaluation_max_points\n evaluation_passed\n evaluation_percent\n assignment_user {\n id\n }\n course_session {\n id\n title\n }\n }\n learning_content {\n ...CoursePageFields\n circle {\n id\n title\n slug\n }\n }\n }\n }\n }\n }\n": types.CompetenceCertificateForUserQueryDocument,
|
"\n query competenceCertificateForUserQuery(\n $courseSlug: String!\n $courseSessionId: ID!\n $userIds: [UUID!]!\n ) {\n competence_certificate_list(course_slug: $courseSlug, user_ids: $userIds) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n competence_certificate_weight\n completions(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_points_final\n evaluation_points_deducted\n evaluation_max_points\n evaluation_passed\n evaluation_percent\n assignment_user {\n id\n }\n course_session {\n id\n title\n }\n }\n learning_content {\n ...CoursePageFields\n circle {\n id\n title\n slug\n }\n }\n }\n }\n }\n }\n": types.CompetenceCertificateForUserQueryDocument,
|
||||||
"\n query courseSessionDetail($courseSessionId: ID!) {\n course_session(id: $courseSessionId) {\n id\n title\n course {\n id\n title\n slug\n configuration {\n id\n enable_circle_documents\n enable_learning_mentor\n enable_competence_certificates\n }\n }\n users {\n id\n user_id\n first_name\n last_name\n email\n avatar_url\n role\n circles {\n id\n title\n slug\n }\n optional_attendance\n }\n attendance_courses {\n id\n location\n trainer\n due_date {\n id\n start\n end\n }\n learning_content_id\n learning_content {\n id\n title\n circle {\n id\n title\n slug\n }\n }\n }\n assignments {\n id\n submission_deadline {\n id\n start\n }\n evaluation_deadline {\n id\n start\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n edoniq_tests {\n id\n deadline {\n id\n start\n end\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n }\n }\n": types.CourseSessionDetailDocument,
|
"\n query courseSessionDetail($courseSessionId: ID!) {\n course_session(id: $courseSessionId) {\n id\n title\n course {\n id\n title\n slug\n configuration {\n id\n enable_circle_documents\n enable_learning_mentor\n enable_competence_certificates\n }\n }\n users {\n id\n user_id\n first_name\n last_name\n email\n avatar_url\n role\n circles {\n id\n title\n slug\n }\n optional_attendance\n }\n attendance_courses {\n id\n location\n trainer\n due_date {\n id\n start\n end\n }\n learning_content_id\n learning_content {\n id\n title\n circle {\n id\n title\n slug\n }\n }\n }\n assignments {\n id\n submission_deadline {\n id\n start\n }\n evaluation_deadline {\n id\n start\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n edoniq_tests {\n id\n deadline {\n id\n start\n end\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n }\n }\n": types.CourseSessionDetailDocument,
|
||||||
|
|
@ -53,7 +53,7 @@ export function graphql(source: "\n mutation AttendanceCheckMutation(\n $att
|
||||||
/**
|
/**
|
||||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||||
*/
|
*/
|
||||||
export function graphql(source: "\n mutation UpsertAssignmentCompletion(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n $completionStatus: AssignmentCompletionStatus!\n $completionDataString: String!\n $evaluationPoints: Float\n $initializeCompletion: Boolean\n $evaluationUserId: ID\n ) {\n upsert_assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n learning_content_page_id: $learningContentId\n assignment_user_id: $assignmentUserId\n completion_status: $completionStatus\n completion_data_string: $completionDataString\n evaluation_points: $evaluationPoints\n initialize_completion: $initializeCompletion\n evaluation_user_id: $evaluationUserId\n ) {\n assignment_completion {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_points\n completion_data\n task_completion_data\n }\n }\n }\n"): (typeof documents)["\n mutation UpsertAssignmentCompletion(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n $completionStatus: AssignmentCompletionStatus!\n $completionDataString: String!\n $evaluationPoints: Float\n $initializeCompletion: Boolean\n $evaluationUserId: ID\n ) {\n upsert_assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n learning_content_page_id: $learningContentId\n assignment_user_id: $assignmentUserId\n completion_status: $completionStatus\n completion_data_string: $completionDataString\n evaluation_points: $evaluationPoints\n initialize_completion: $initializeCompletion\n evaluation_user_id: $evaluationUserId\n ) {\n assignment_completion {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_points\n completion_data\n task_completion_data\n }\n }\n }\n"];
|
export function graphql(source: "\n mutation UpsertAssignmentCompletion(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n $completionStatus: AssignmentCompletionStatus!\n $completionDataString: String!\n $evaluationPoints: Float\n $initializeCompletion: Boolean\n $evaluationUserId: ID\n ) {\n upsert_assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n learning_content_page_id: $learningContentId\n assignment_user_id: $assignmentUserId\n completion_status: $completionStatus\n completion_data_string: $completionDataString\n evaluation_points: $evaluationPoints\n initialize_completion: $initializeCompletion\n evaluation_user_id: $evaluationUserId\n ) {\n assignment_completion {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_points_deducted\n evaluation_points_deducted_reason\n evaluation_points_final\n completion_data\n task_completion_data\n additional_json_data\n }\n }\n }\n"): (typeof documents)["\n mutation UpsertAssignmentCompletion(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n $completionStatus: AssignmentCompletionStatus!\n $completionDataString: String!\n $evaluationPoints: Float\n $initializeCompletion: Boolean\n $evaluationUserId: ID\n ) {\n upsert_assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n learning_content_page_id: $learningContentId\n assignment_user_id: $assignmentUserId\n completion_status: $completionStatus\n completion_data_string: $completionDataString\n evaluation_points: $evaluationPoints\n initialize_completion: $initializeCompletion\n evaluation_user_id: $evaluationUserId\n ) {\n assignment_completion {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_points_deducted\n evaluation_points_deducted_reason\n evaluation_points_final\n completion_data\n task_completion_data\n additional_json_data\n }\n }\n }\n"];
|
||||||
/**
|
/**
|
||||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||||
*/
|
*/
|
||||||
|
|
@ -69,7 +69,7 @@ export function graphql(source: "\n query attendanceCheckQuery($courseSessionId
|
||||||
/**
|
/**
|
||||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||||
*/
|
*/
|
||||||
export function graphql(source: "\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n solution_sample {\n id\n url\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n first_name\n last_name\n }\n assignment_user {\n avatar_url\n first_name\n last_name\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_points_deducted\n evaluation_points_deducted_reason\n evaluation_points_final\n\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n }\n }\n"): (typeof documents)["\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n solution_sample {\n id\n url\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n first_name\n last_name\n }\n assignment_user {\n avatar_url\n first_name\n last_name\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_points_deducted\n evaluation_points_deducted_reason\n evaluation_points_final\n\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n }\n }\n"];
|
export function graphql(source: "\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n solution_sample {\n id\n url\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n first_name\n last_name\n }\n assignment_user {\n avatar_url\n first_name\n last_name\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_points_deducted\n evaluation_points_deducted_reason\n evaluation_points_final\n\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n\n additional_json_data\n }\n }\n"): (typeof documents)["\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n solution_sample {\n id\n url\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n first_name\n last_name\n }\n assignment_user {\n avatar_url\n first_name\n last_name\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_points_deducted\n evaluation_points_deducted_reason\n evaluation_points_final\n\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n\n additional_json_data\n }\n }\n"];
|
||||||
/**
|
/**
|
||||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -594,7 +594,7 @@ type AssignmentCompletionObjectType {
|
||||||
course_session: CourseSessionObjectType!
|
course_session: CourseSessionObjectType!
|
||||||
completion_status: AssignmentAssignmentCompletionCompletionStatusChoices!
|
completion_status: AssignmentAssignmentCompletionCompletionStatusChoices!
|
||||||
completion_data: GenericScalar
|
completion_data: GenericScalar
|
||||||
additional_json_data: JSONString!
|
additional_json_data: GenericScalar
|
||||||
task_completion_data: GenericScalar
|
task_completion_data: GenericScalar
|
||||||
learning_content_page_id: ID
|
learning_content_page_id: ID
|
||||||
evaluation_points: Float
|
evaluation_points: Float
|
||||||
|
|
@ -650,14 +650,6 @@ String, Boolean, Int, Float, List or Object.
|
||||||
"""
|
"""
|
||||||
scalar GenericScalar
|
scalar GenericScalar
|
||||||
|
|
||||||
"""
|
|
||||||
Allows use of a JSON String for input / output from the GraphQL schema.
|
|
||||||
|
|
||||||
Use of this type is *not recommended* as you lose the benefits of having a defined, static
|
|
||||||
schema (one of the key benefits of GraphQL).
|
|
||||||
"""
|
|
||||||
scalar JSONString
|
|
||||||
|
|
||||||
type ContentDocumentObjectType {
|
type ContentDocumentObjectType {
|
||||||
id: ID!
|
id: ID!
|
||||||
display_text: String!
|
display_text: String!
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,6 @@ export const GenericScalar = "GenericScalar";
|
||||||
export const ID = "ID";
|
export const ID = "ID";
|
||||||
export const Int = "Int";
|
export const Int = "Int";
|
||||||
export const JSONStreamField = "JSONStreamField";
|
export const JSONStreamField = "JSONStreamField";
|
||||||
export const JSONString = "JSONString";
|
|
||||||
export const LearningContentAssignmentObjectType = "LearningContentAssignmentObjectType";
|
export const LearningContentAssignmentObjectType = "LearningContentAssignmentObjectType";
|
||||||
export const LearningContentAttendanceCourseObjectType = "LearningContentAttendanceCourseObjectType";
|
export const LearningContentAttendanceCourseObjectType = "LearningContentAttendanceCourseObjectType";
|
||||||
export const LearningContentDocumentListObjectType = "LearningContentDocumentListObjectType";
|
export const LearningContentDocumentListObjectType = "LearningContentDocumentListObjectType";
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,13 @@ export const UPSERT_ASSIGNMENT_COMPLETION_MUTATION = graphql(`
|
||||||
submitted_at
|
submitted_at
|
||||||
evaluation_submitted_at
|
evaluation_submitted_at
|
||||||
evaluation_points
|
evaluation_points
|
||||||
|
evaluation_max_points
|
||||||
|
evaluation_points_deducted
|
||||||
|
evaluation_points_deducted_reason
|
||||||
|
evaluation_points_final
|
||||||
completion_data
|
completion_data
|
||||||
task_completion_data
|
task_completion_data
|
||||||
|
additional_json_data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -85,6 +85,8 @@ export const ASSIGNMENT_COMPLETION_QUERY = graphql(`
|
||||||
edoniq_extended_time_flag
|
edoniq_extended_time_flag
|
||||||
completion_data
|
completion_data
|
||||||
task_completion_data
|
task_completion_data
|
||||||
|
|
||||||
|
additional_json_data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`);
|
`);
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,6 @@
|
||||||
"60%": "60%",
|
"60%": "60%",
|
||||||
"80%": "80%",
|
"80%": "80%",
|
||||||
"100%": "100%",
|
"100%": "100%",
|
||||||
"a.": "a.",
|
|
||||||
"a.a.AlleCircle": "a.a.AlleCircle",
|
|
||||||
"a.Abbrechen": "Abbrechen",
|
"a.Abbrechen": "Abbrechen",
|
||||||
"a.Abgabetermin": "Abgabetermin",
|
"a.Abgabetermin": "Abgabetermin",
|
||||||
"a.Abgezogene Punkte": "Abgezogene Punkte",
|
"a.Abgezogene Punkte": "Abgezogene Punkte",
|
||||||
|
|
@ -16,13 +14,11 @@
|
||||||
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen.": "Aktuell hast du noch keine Person als Lernbegleitung eingeladen.",
|
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen.": "Aktuell hast du noch keine Person als Lernbegleitung eingeladen.",
|
||||||
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen. Lade jetzt jemanden ein.": "Aktuell hast du noch keine Person als Lernbegleitung eingeladen. Lade jetzt jemanden ein.",
|
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen. Lade jetzt jemanden ein.": "Aktuell hast du noch keine Person als Lernbegleitung eingeladen. Lade jetzt jemanden ein.",
|
||||||
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen.": "Aktuell hast du noch keine Person als Praxisbildner eingeladen.",
|
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen.": "Aktuell hast du noch keine Person als Praxisbildner eingeladen.",
|
||||||
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen. Lade jetzt jemanden ein.": "a.Aktuell hast du noch keine Person als Praxisbildner eingeladen. Lade jetzt jemanden ein.",
|
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen. Lade jetzt jemanden ein.": "Aktuell hast du noch keine Person als Praxisbildner eingeladen. Lade jetzt jemanden ein.",
|
||||||
"a.Aktueller Lehrgang": "Aktueller Lehrgang",
|
"a.Aktueller Lehrgang": "Aktueller Lehrgang",
|
||||||
"a.Allbranche": "Allbranche",
|
"a.Allbranche": "Allbranche",
|
||||||
"a.Alle": "Alle",
|
"a.Alle": "Alle",
|
||||||
"a.Alle aufklappen": "Alle aufklappen",
|
"a.Alle aufklappen": "Alle aufklappen",
|
||||||
"a.Alle Lehrgang": "a.Alle Lehrgang",
|
|
||||||
"a.Alle Lehrgänge": "a.Alle Lehrgänge",
|
|
||||||
"a.Alle Lehrgänge anzeigen": "Alle Lehrgänge anzeigen",
|
"a.Alle Lehrgänge anzeigen": "Alle Lehrgänge anzeigen",
|
||||||
"a.Alle Personen anzeigen": "Alle Personen anzeigen",
|
"a.Alle Personen anzeigen": "Alle Personen anzeigen",
|
||||||
"a.Alle Termine anzeigen": "Alle Termine anzeigen",
|
"a.Alle Termine anzeigen": "Alle Termine anzeigen",
|
||||||
|
|
@ -30,8 +26,6 @@
|
||||||
"a.AlleCircle": "Circle: Alle",
|
"a.AlleCircle": "Circle: Alle",
|
||||||
"a.AlleDurchführungen": "Durchführungen: Alle",
|
"a.AlleDurchführungen": "Durchführungen: Alle",
|
||||||
"a.AlleGenerationen": "Generationen: Alle",
|
"a.AlleGenerationen": "Generationen: Alle",
|
||||||
"a.AlleKreise": "a.AlleKreise",
|
|
||||||
"a.AlleRegionen": "a.AlleRegionen",
|
|
||||||
"a.AlleTermine": "Termine",
|
"a.AlleTermine": "Termine",
|
||||||
"a.AlleTypen": "Alle Typen",
|
"a.AlleTypen": "Alle Typen",
|
||||||
"a.Allgemeine Zufriedenheit": "Allgemeine Zufriedenheit",
|
"a.Allgemeine Zufriedenheit": "Allgemeine Zufriedenheit",
|
||||||
|
|
@ -39,6 +33,8 @@
|
||||||
"a.An Durchführung teilnehmen": "An Durchführung teilnehmen",
|
"a.An Durchführung teilnehmen": "An Durchführung teilnehmen",
|
||||||
"a.Anmelden": "Anmelden",
|
"a.Anmelden": "Anmelden",
|
||||||
"a.Anwesenheit": "Anwesenheit",
|
"a.Anwesenheit": "Anwesenheit",
|
||||||
|
"a.Anwesenheit Präsenzkurse": "Anwesenheit Präsenzkurse",
|
||||||
|
"a.Anwesenheitskontrolle Präsenzkurse": "Anwesenheitskontrolle Präsenzkurse",
|
||||||
"a.Arbeiten": "Arbeiten",
|
"a.Arbeiten": "Arbeiten",
|
||||||
"a.assignment.evaluationFeedbackDescriptionText": "Gib dein Feedback frei, damit es mit dem Teilnehmer geteilt wird.",
|
"a.assignment.evaluationFeedbackDescriptionText": "Gib dein Feedback frei, damit es mit dem Teilnehmer geteilt wird.",
|
||||||
"a.assignment.evaluationInstrumentDescriptionTextFeedback": "Bitte unterstütze {{name}} und gib Feedback zum Auftrag.",
|
"a.assignment.evaluationInstrumentDescriptionTextFeedback": "Bitte unterstütze {{name}} und gib Feedback zum Auftrag.",
|
||||||
|
|
@ -53,9 +49,9 @@
|
||||||
"a.Bewertung": "Bewertung",
|
"a.Bewertung": "Bewertung",
|
||||||
"a.Bewertung abschliessen": "Bewertung abschliessen",
|
"a.Bewertung abschliessen": "Bewertung abschliessen",
|
||||||
"a.Bewertung ansehen": "Bewertung ansehen",
|
"a.Bewertung ansehen": "Bewertung ansehen",
|
||||||
"a.Bewertung bearbeiten": "a.Bewertung bearbeiten",
|
"a.Bewertung bearbeiten": "Bewertung bearbeiten",
|
||||||
"a.Bewertung bearbeitet": "a.Bewertung bearbeitet",
|
"a.Bewertung bearbeitet": "Bewertung bearbeitet",
|
||||||
"a.Bewertung erneut bearbeitet": "a.Bewertung erneut bearbeitet",
|
"a.Bewertung erneut bearbeitet": "Bewertung erneut bearbeitet",
|
||||||
"a.Bewertung fortsetzen": "Bewertung fortsetzen",
|
"a.Bewertung fortsetzen": "Bewertung fortsetzen",
|
||||||
"a.Bewertung Freigabe": "Bewertung Freigabe",
|
"a.Bewertung Freigabe": "Bewertung Freigabe",
|
||||||
"a.Bewertung freigeben": "Bewertung freigeben",
|
"a.Bewertung freigeben": "Bewertung freigeben",
|
||||||
|
|
@ -106,6 +102,7 @@
|
||||||
"a.E-Mail Adresse": "E-Mail Adresse",
|
"a.E-Mail Adresse": "E-Mail Adresse",
|
||||||
"a.Einladung": "Einladung",
|
"a.Einladung": "Einladung",
|
||||||
"a.Einladung abschicken": "Einladung abschicken",
|
"a.Einladung abschicken": "Einladung abschicken",
|
||||||
|
"a.Elemente zu erledigen": "Elemente zu erledigen",
|
||||||
"a.Email": "Email",
|
"a.Email": "Email",
|
||||||
"a.Entfernen": "Entfernen",
|
"a.Entfernen": "Entfernen",
|
||||||
"a.Erfahrungsnote üK": "Erfahrungsnote üK",
|
"a.Erfahrungsnote üK": "Erfahrungsnote üK",
|
||||||
|
|
@ -116,7 +113,7 @@
|
||||||
"a.Ergebnisse bewerten": "Ergebnisse bewerten",
|
"a.Ergebnisse bewerten": "Ergebnisse bewerten",
|
||||||
"a.Ergebnisse teilen": "Ergebnisse teilen",
|
"a.Ergebnisse teilen": "Ergebnisse teilen",
|
||||||
"a.Erneut bearbeiten": "Erneut bearbeiten",
|
"a.Erneut bearbeiten": "Erneut bearbeiten",
|
||||||
"a.Experte": "",
|
"a.Experte": "Experte",
|
||||||
"a.Feedback abschliessen": "Feedback abschliessen",
|
"a.Feedback abschliessen": "Feedback abschliessen",
|
||||||
"a.Feedback ansehen": "Feedback ansehen",
|
"a.Feedback ansehen": "Feedback ansehen",
|
||||||
"a.Feedback erneut bearbeitet": "Feedback erneut bearbeitet",
|
"a.Feedback erneut bearbeitet": "Feedback erneut bearbeitet",
|
||||||
|
|
@ -134,6 +131,8 @@
|
||||||
"a.Firmenanschrift": "Firmenanschrift",
|
"a.Firmenanschrift": "Firmenanschrift",
|
||||||
"a.Firmenname": "Firmenname",
|
"a.Firmenname": "Firmenname",
|
||||||
"a.Franzosisch": "Französisch",
|
"a.Franzosisch": "Französisch",
|
||||||
|
"a.Freigabetermin Bewertung": "Freigabetermin Bewertung",
|
||||||
|
"a.Freigabetermin Bewertungen": "Freigabetermin Bewertungen",
|
||||||
"a.Fremdeinschätzung anzeigen": "Fremdeinschätzung anzeigen",
|
"a.Fremdeinschätzung anzeigen": "Fremdeinschätzung anzeigen",
|
||||||
"a.Fremdeinschätzung freigeben": "Fremdeinschätzung freigeben",
|
"a.Fremdeinschätzung freigeben": "Fremdeinschätzung freigeben",
|
||||||
"a.Fremdeinschätzung von FEEDBACK_PROVIDER_NAME": "Fremdeinschätzung von {{FEEDBACK_PROVIDER_NAME}}",
|
"a.Fremdeinschätzung von FEEDBACK_PROVIDER_NAME": "Fremdeinschätzung von {{FEEDBACK_PROVIDER_NAME}}",
|
||||||
|
|
@ -156,18 +155,19 @@
|
||||||
"a.Hast du Fragen? Schau dir unsere FAQ an oder kontaktiere uns": "Hast du Fragen? Schau dir unsere {faq} an oder kontaktiere uns",
|
"a.Hast du Fragen? Schau dir unsere FAQ an oder kontaktiere uns": "Hast du Fragen? Schau dir unsere {faq} an oder kontaktiere uns",
|
||||||
"a.Hast du schon ein Konto?": "Hast du schon ein Konto?",
|
"a.Hast du schon ein Konto?": "Hast du schon ein Konto?",
|
||||||
"a.Hausnummmer": "Hausnummmer",
|
"a.Hausnummmer": "Hausnummmer",
|
||||||
"a.Hier kannst du ausschliesslich mit einer Kreditkarte bezahlen.": "a.Hier kannst du ausschliesslich mit einer Kreditkarte bezahlen.",
|
|
||||||
"a.Hier kannst du Personen einladen, damit sie deine Lernbegleitung werden. Zudem siehst du jederzeit eine Übersicht aller Personen, die du bereits als Lernbegleitung hinzugefügt hast.": "Hier kannst du Personen einladen, damit sie deine Lernbegleitung werden. Zudem siehst du jederzeit eine Übersicht aller Personen, die du bereits als Lernbegleitung hinzugefügt hast.",
|
"a.Hier kannst du Personen einladen, damit sie deine Lernbegleitung werden. Zudem siehst du jederzeit eine Übersicht aller Personen, die du bereits als Lernbegleitung hinzugefügt hast.": "Hier kannst du Personen einladen, damit sie deine Lernbegleitung werden. Zudem siehst du jederzeit eine Übersicht aller Personen, die du bereits als Lernbegleitung hinzugefügt hast.",
|
||||||
"a.Höchstpunktzahl": "Höchstpunktzahl",
|
"a.Höchstpunktzahl": "Höchstpunktzahl",
|
||||||
"a.Ich kann das": "Ich kann das",
|
"a.Ich kann das": "Ich kann das",
|
||||||
"a.Italienisch": "Italienisch",
|
"a.Italienisch": "Italienisch",
|
||||||
"a.Ja, NAME kann das.": "Ja, {{NAME}} kann das",
|
"a.Ja, NAME kann das.": "Ja, {{NAME}} kann das",
|
||||||
|
"a.Jahr": "Jahr",
|
||||||
"a.Jetzt mit Lehrgang starten": "Jetzt mit Lehrgang starten",
|
"a.Jetzt mit Lehrgang starten": "Jetzt mit Lehrgang starten",
|
||||||
"a.Kann FULLNAME das?": "Kann {{FULLNAME}} das?",
|
"a.Kann FULLNAME das?": "Kann {{FULLNAME}} das?",
|
||||||
"a.Kein Circle verfügbar oder ausgewählt.": "Kein Circle verfügbar oder ausgewählt.",
|
"a.Kein Circle verfügbar oder ausgewählt.": "Kein Circle verfügbar oder ausgewählt.",
|
||||||
"a.Keine Angabe": "Keine Angabe",
|
"a.Keine Angabe": "Keine Angabe",
|
||||||
"a.Kommentar": "a.Kommentar",
|
"a.Keine Auftragsdetails verfügbar.": "Keine Auftragsdetails verfügbar.",
|
||||||
"a.Kommentar erfassen": "a.Kommentar erfassen",
|
"a.Kommentar": "Kommentar",
|
||||||
|
"a.Kommentar erfassen": "Kommentar erfassen",
|
||||||
"a.Kompetenznachweis": "Kompetenznachweis",
|
"a.Kompetenznachweis": "Kompetenznachweis",
|
||||||
"a.Kompetenznachweis-Elemente": "Kompetenznachweis-Elemente",
|
"a.Kompetenznachweis-Elemente": "Kompetenznachweis-Elemente",
|
||||||
"a.Kompetenznachweise": "Kompetenznachweise",
|
"a.Kompetenznachweise": "Kompetenznachweise",
|
||||||
|
|
@ -175,7 +175,6 @@
|
||||||
"a.Konto erstellen": "Konto erstellen",
|
"a.Konto erstellen": "Konto erstellen",
|
||||||
"a.Kosten": "Kosten",
|
"a.Kosten": "Kosten",
|
||||||
"a.Kosten aller Jahre ansehen": "a.Kosten aller Jahre ansehen",
|
"a.Kosten aller Jahre ansehen": "a.Kosten aller Jahre ansehen",
|
||||||
"a.Kosten in 2024": "a.Kosten in 2024",
|
|
||||||
"a.Krankenzusatzversicherung": "Krankenzusatzversicherung",
|
"a.Krankenzusatzversicherung": "Krankenzusatzversicherung",
|
||||||
"a.Krankenzusatzversicherungen": "Krankenzusatzversicherungen",
|
"a.Krankenzusatzversicherungen": "Krankenzusatzversicherungen",
|
||||||
"a.Lade ein Profilbild hoch, damit dich andere Personen auf den ersten Blick erkennen.": "Lade ein Profilbild hoch, damit dich andere Personen auf den ersten Blick erkennen.",
|
"a.Lade ein Profilbild hoch, damit dich andere Personen auf den ersten Blick erkennen.": "Lade ein Profilbild hoch, damit dich andere Personen auf den ersten Blick erkennen.",
|
||||||
|
|
@ -186,7 +185,7 @@
|
||||||
"a.Lehrgang kaufen": "Lehrgang kaufen",
|
"a.Lehrgang kaufen": "Lehrgang kaufen",
|
||||||
"a.Leistungsziel": "Leistungsziel",
|
"a.Leistungsziel": "Leistungsziel",
|
||||||
"a.Leistungsziele": "Leistungsziele",
|
"a.Leistungsziele": "Leistungsziele",
|
||||||
"a.Lernbegleiter": "a.Lernbegleiter",
|
"a.Lernbegleiter": "Lernbegleiter",
|
||||||
"a.Lernbegleitung": "Lernbegleitung",
|
"a.Lernbegleitung": "Lernbegleitung",
|
||||||
"a.Lernbegleitung auswählen": "Lernbegleitung auswählen",
|
"a.Lernbegleitung auswählen": "Lernbegleitung auswählen",
|
||||||
"a.Lernbegleitung einladen": "Lernbegleitung einladen",
|
"a.Lernbegleitung einladen": "Lernbegleitung einladen",
|
||||||
|
|
@ -212,8 +211,7 @@
|
||||||
"a.NUMBER Elemente abgeschlossen": "{NUMBER} Elemente abgeschlossen",
|
"a.NUMBER Elemente abgeschlossen": "{NUMBER} Elemente abgeschlossen",
|
||||||
"a.NUMBER Präsenztage abgeschlossen": "{NUMBER} Präsenztage abgeschlossen",
|
"a.NUMBER Präsenztage abgeschlossen": "{NUMBER} Präsenztage abgeschlossen",
|
||||||
"a.NUMBER Teilnehmer anwesend": "{NUMBER} Teilnehmer anwesend",
|
"a.NUMBER Teilnehmer anwesend": "{NUMBER} Teilnehmer anwesend",
|
||||||
"a.Nächste Termine": "a.Nächste Termine",
|
"a.Nächste Termine": "Nächste Termine",
|
||||||
"a.OldCircle": "a.OldCircle",
|
|
||||||
"a.Optionale Anwesenheit": "Optionale Anwesenheit",
|
"a.Optionale Anwesenheit": "Optionale Anwesenheit",
|
||||||
"a.Ort": "Ort",
|
"a.Ort": "Ort",
|
||||||
"a.Personen": "Personen",
|
"a.Personen": "Personen",
|
||||||
|
|
@ -229,20 +227,20 @@
|
||||||
"a.Profil bearbeiten": "Profil bearbeiten",
|
"a.Profil bearbeiten": "Profil bearbeiten",
|
||||||
"a.Profil ergänzen": "Profil ergänzen",
|
"a.Profil ergänzen": "Profil ergänzen",
|
||||||
"a.Profilbild": "Profilbild",
|
"a.Profilbild": "Profilbild",
|
||||||
|
"a.Präsenzkurs": "Präsenzkurs",
|
||||||
"a.Präsenztag": "Präsenztag",
|
"a.Präsenztag": "Präsenztag",
|
||||||
"a.Punkte": "Punkte",
|
"a.Punkte": "Punkte",
|
||||||
"a.Punkte aus Bewertung": "Punkte aus Bewertung",
|
"a.Punkte aus Bewertung": "Punkte aus Bewertung",
|
||||||
"a.PunkteVonDaniel": "",
|
|
||||||
"a.PunkteVonDaniel123": "Super Sache",
|
|
||||||
"a.Rechnung": "Rechnung",
|
"a.Rechnung": "Rechnung",
|
||||||
"a.RechnungPaymentMethodDescription": "a.RechnungPaymentMethodDescription",
|
|
||||||
"a.Rechnungsadresse": "Rechnungsadresse",
|
"a.Rechnungsadresse": "Rechnungsadresse",
|
||||||
"a.Rechnungsadresse hinzufügen": "Rechnungsadresse hinzufügen",
|
"a.Rechnungsadresse hinzufügen": "Rechnungsadresse hinzufügen",
|
||||||
"a.Rechnungsadresse von {organisation}": "Rechnungsadresse von {{organisation}}",
|
"a.Rechnungsadresse von {organisation}": "Rechnungsadresse von {{organisation}}",
|
||||||
"a.Rechnungsadresse von {organisation} hinzufügen": "Rechnungsadresse von {{organisation}} hinzufügen",
|
"a.Rechnungsadresse von {organisation} hinzufügen": "Rechnungsadresse von {{organisation}} hinzufügen",
|
||||||
"a.Regionenleiter": "a.Regionenleiter",
|
"a.Region": "Region",
|
||||||
|
"a.Regionenleiter": "Regionenleiter",
|
||||||
"a.Resultat": "Resultat",
|
"a.Resultat": "Resultat",
|
||||||
"a.Schliessen": "a.Schliessen",
|
"a.Rolle": "Rolle",
|
||||||
|
"a.Schliessen": "Schliessen",
|
||||||
"a.Selbst- und Fremdeinschätzungen": "Selbst- und Fremdeinschätzungen",
|
"a.Selbst- und Fremdeinschätzungen": "Selbst- und Fremdeinschätzungen",
|
||||||
"a.Selbsteinschätzung": "Selbsteinschätzung",
|
"a.Selbsteinschätzung": "Selbsteinschätzung",
|
||||||
"a.Selbsteinschätzung anschauen": "Selbsteinschätzung anschauen",
|
"a.Selbsteinschätzung anschauen": "Selbsteinschätzung anschauen",
|
||||||
|
|
@ -255,16 +253,17 @@
|
||||||
"a.Selbsteinschätzungen geteilt": "Selbsteinschätzungen geteilt",
|
"a.Selbsteinschätzungen geteilt": "Selbsteinschätzungen geteilt",
|
||||||
"a.So startest du mit diesem Lehrgang": "So startest du mit diesem Lehrgang",
|
"a.So startest du mit diesem Lehrgang": "So startest du mit diesem Lehrgang",
|
||||||
"a.Standort": "Standort",
|
"a.Standort": "Standort",
|
||||||
"a.Statistik": "a.Statistik",
|
"a.Statistik": "Statistik",
|
||||||
"a.Statistik für alle Lernenden": "a.Statistik für alle Lernenden",
|
|
||||||
"a.Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.": "Stelle deinen Teilnehmern zusätzliche Inhalte zur Verfügung.",
|
"a.Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.": "Stelle deinen Teilnehmern zusätzliche Inhalte zur Verfügung.",
|
||||||
"a.Strasse": "Strasse",
|
"a.Strasse": "Strasse",
|
||||||
"a.Super, nun ist alles bereit. Du bist der Durchführung «{course}» zugewiesen und kannst mit dem Lehrgang starten.": "Super, nun ist alles bereit. Du bist der Durchführung «{{course}}» zugewiesen und kannst mit dem Lehrgang starten.",
|
"a.Super, nun ist alles bereit. Du bist der Durchführung «{course}» zugewiesen und kannst mit dem Lehrgang starten.": "Super, nun ist alles bereit. Du bist der Durchführung «{{course}}» zugewiesen und kannst mit dem Lehrgang starten.",
|
||||||
"a.Teilnehmer": "Teilnehmer",
|
"a.Teilnehmer": "Teilnehmer",
|
||||||
"a.Teilnehmer im 2024": "a.Teilnehmer im 2024",
|
"a.Teilnehmer im": "Teilnehmer im",
|
||||||
|
"a.Teilnehmer nach Zulassungsprofilen im": "Teilnehmer nach Zulassungsprofilen im",
|
||||||
"a.Telefonnummer": "Telefonnummer",
|
"a.Telefonnummer": "Telefonnummer",
|
||||||
"a.Telefonnummer hat das falsche Format": "a.Telefonnummer hat das falsche Format",
|
"a.Telefonnummer hat das falsche Format": "Telefonnummer hat das falsche Format",
|
||||||
"a.Termin": "Termin",
|
"a.Termin": "Termin",
|
||||||
|
"a.Termin nicht festgelegt": "Termin nich festgelegt",
|
||||||
"a.Termine": "Termine",
|
"a.Termine": "Termine",
|
||||||
"a.Total {NUMBER} Antworten": "Total {NUMBER} Antworten",
|
"a.Total {NUMBER} Antworten": "Total {NUMBER} Antworten",
|
||||||
"a.Trainer": "Trainer",
|
"a.Trainer": "Trainer",
|
||||||
|
|
@ -280,7 +279,6 @@
|
||||||
"a.VorschauTeilnehmer": "Vorschau Teilnehmer",
|
"a.VorschauTeilnehmer": "Vorschau Teilnehmer",
|
||||||
"a.Wegleitung üK": "Wegleitung üK",
|
"a.Wegleitung üK": "Wegleitung üK",
|
||||||
"a.wegleitungUkUrl": "https://www.vbv.ch/fileadmin/vbv/Dokumente/Bildungsabschluesse/KV/Wegleitung_ueK_240215_de_V2.pdf",
|
"a.wegleitungUkUrl": "https://www.vbv.ch/fileadmin/vbv/Dokumente/Bildungsabschluesse/KV/Wegleitung_ueK_240215_de_V2.pdf",
|
||||||
"a.Weiter zur Zahlung": "a.Weiter zur Zahlung",
|
|
||||||
"a.Wir haben per E-Mail eine Bestätigung an {email} geschickt.": "Wir haben per E-Mail eine Bestätigung an {email} geschickt.",
|
"a.Wir haben per E-Mail eine Bestätigung an {email} geschickt.": "Wir haben per E-Mail eine Bestätigung an {email} geschickt.",
|
||||||
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst.": "Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst.",
|
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst.": "Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst.",
|
||||||
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst. Du kannst ihn später jederzeit ändern.": "Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst. Du kannst ihn später jederzeit ändern.",
|
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst. Du kannst ihn später jederzeit ändern.": "Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst. Du kannst ihn später jederzeit ändern.",
|
||||||
|
|
@ -291,7 +289,7 @@
|
||||||
"a.Zulassungsprofil": "Zulassungsprofil",
|
"a.Zulassungsprofil": "Zulassungsprofil",
|
||||||
"a.Zulassungsprofil auswählen": "Zulassungsprofil auswählen",
|
"a.Zulassungsprofil auswählen": "Zulassungsprofil auswählen",
|
||||||
"a.Zum Unterlagen-Upload": "Unterlagen hochladen",
|
"a.Zum Unterlagen-Upload": "Unterlagen hochladen",
|
||||||
"a.Zurück": "a.Zurück",
|
"a.Zurück": "Zurück",
|
||||||
"a.Zwischenstand": "Zwischenstand",
|
"a.Zwischenstand": "Zwischenstand",
|
||||||
"a.{AVG} von {MAX}": "{AVG} von {MAX}",
|
"a.{AVG} von {MAX}": "{AVG} von {MAX}",
|
||||||
"a.{NUMBER} Bestanden": "{NUMBER} Bestanden",
|
"a.{NUMBER} Bestanden": "{NUMBER} Bestanden",
|
||||||
|
|
@ -306,9 +304,7 @@
|
||||||
"Alle": "Alle",
|
"Alle": "Alle",
|
||||||
"Anwesenheit": "Anwesenheit",
|
"Anwesenheit": "Anwesenheit",
|
||||||
"Anwesenheit bestätigen": "Anwesenheit bestätigen",
|
"Anwesenheit bestätigen": "Anwesenheit bestätigen",
|
||||||
"Anwesenheit Präsenzkurse": "Anwesenheit Präsenzkurse",
|
|
||||||
"Anwesenheit prüfen": "Anwesenheit prüfen",
|
"Anwesenheit prüfen": "Anwesenheit prüfen",
|
||||||
"Anwesenheitskontrolle Präsenzkurse": "Anwesenheitskontrolle Präsenzkurse",
|
|
||||||
"assignment.acceptConditionsDisclaimer": "Bedingungen akzeptieren und Ergebnisse abgeben",
|
"assignment.acceptConditionsDisclaimer": "Bedingungen akzeptieren und Ergebnisse abgeben",
|
||||||
"assignment.assessmentDocumentDisclaimer": "Diese geleitete Fallarbeit wird auf Grund des folgenden Beurteilungsinstrument bewertet:",
|
"assignment.assessmentDocumentDisclaimer": "Diese geleitete Fallarbeit wird auf Grund des folgenden Beurteilungsinstrument bewertet:",
|
||||||
"assignment.assessmentTitle": "Bewertung",
|
"assignment.assessmentTitle": "Bewertung",
|
||||||
|
|
@ -379,7 +375,6 @@
|
||||||
"circlePage.gotQuestions": "Hast du Fragen?",
|
"circlePage.gotQuestions": "Hast du Fragen?",
|
||||||
"circlePage.Im KompetenzNavi anschauen": "Im KompetenzNavi anzeigen",
|
"circlePage.Im KompetenzNavi anschauen": "Im KompetenzNavi anzeigen",
|
||||||
"circlePage.learnMore": "Erfahre mehr dazu",
|
"circlePage.learnMore": "Erfahre mehr dazu",
|
||||||
"Cockpit anschauen": "Cockpit anschauen",
|
|
||||||
"cockpit.all": "Alle",
|
"cockpit.all": "Alle",
|
||||||
"cockpit.examsDone": "Abgelegte Prüfungen von Teilnehmer.",
|
"cockpit.examsDone": "Abgelegte Prüfungen von Teilnehmer.",
|
||||||
"cockpit.feedbacksDone": "Abgeschickte Feedbacks von Teilnehmer.",
|
"cockpit.feedbacksDone": "Abgeschickte Feedbacks von Teilnehmer.",
|
||||||
|
|
@ -411,7 +406,6 @@
|
||||||
"Der Preis für den Lehrgang «Versicherungsvermittler-/in VBV» beträgt CHF 300 exkl. MWSt.. Mit dem Kauf erhältst du Zugang zum Lernpfad und den Lernmedien.": "Nach der Bezahlung von 300 CHF exkl. MWSt. erhältst du Zugang für den gesamten Lehrgang (inkl. Prüfung).",
|
"Der Preis für den Lehrgang «Versicherungsvermittler-/in VBV» beträgt CHF 300 exkl. MWSt.. Mit dem Kauf erhältst du Zugang zum Lernpfad und den Lernmedien.": "Nach der Bezahlung von 300 CHF exkl. MWSt. erhältst du Zugang für den gesamten Lehrgang (inkl. Prüfung).",
|
||||||
"dueDates.noDueDatesAvailable": "Keine Termine vorhanden",
|
"dueDates.noDueDatesAvailable": "Keine Termine vorhanden",
|
||||||
"dueDates.showAllDueDates": "Alle Termine anzeigen",
|
"dueDates.showAllDueDates": "Alle Termine anzeigen",
|
||||||
"Durchführung": "Durchführung",
|
|
||||||
"edoniqTest.checkboxTitle": "Bedingungen akzeptieren und Test durchführen",
|
"edoniqTest.checkboxTitle": "Bedingungen akzeptieren und Test durchführen",
|
||||||
"edoniqTest.deadlineInPast": "Der Test kann nicht mehr durchgeführt werden, da das Abgabedatum abgelaufen ist.",
|
"edoniqTest.deadlineInPast": "Der Test kann nicht mehr durchgeführt werden, da das Abgabedatum abgelaufen ist.",
|
||||||
"edoniqTest.qualifiesForExtendedTime": "Ich bestätige, dass ich Anrecht auf einen Test mit Nachteilsausgleich habe.",
|
"edoniqTest.qualifiesForExtendedTime": "Ich bestätige, dass ich Anrecht auf einen Test mit Nachteilsausgleich habe.",
|
||||||
|
|
@ -421,7 +415,6 @@
|
||||||
"edoniqTest.testDescription": "Führe den folgenden Test durch. Der Test kann nur einmal durchgeführt werden und ist notenrelevant.",
|
"edoniqTest.testDescription": "Führe den folgenden Test durch. Der Test kann nur einmal durchgeführt werden und ist notenrelevant.",
|
||||||
"edoniqTest.testSubmitted": "Du hast diesen Test abgeschlossen",
|
"edoniqTest.testSubmitted": "Du hast diesen Test abgeschlossen",
|
||||||
"edoniqTest.viewResults": "Ergebnisse anschauen",
|
"edoniqTest.viewResults": "Ergebnisse anschauen",
|
||||||
"Elemente zu erledigen": "Elemente zu erledigen",
|
|
||||||
"Ergebnisse anschauen": "Ergebnisse anschauen",
|
"Ergebnisse anschauen": "Ergebnisse anschauen",
|
||||||
"Ergebnisse anzeigen": "Ergebnisse anzeigen",
|
"Ergebnisse anzeigen": "Ergebnisse anzeigen",
|
||||||
"Feedback": "Feedback",
|
"Feedback": "Feedback",
|
||||||
|
|
@ -471,7 +464,6 @@
|
||||||
"footer.dataProtectionText": "Datenschutzbestimmungen",
|
"footer.dataProtectionText": "Datenschutzbestimmungen",
|
||||||
"footer.imprintLink": "https://www.vbv.ch/de/impressum",
|
"footer.imprintLink": "https://www.vbv.ch/de/impressum",
|
||||||
"footer.imprintText": "Impressum",
|
"footer.imprintText": "Impressum",
|
||||||
"Freigabetermin Bewertungen:": "Freigabetermin Bewertungen:",
|
|
||||||
"Füge dein Profilbild hinzu und ergänze die fehlenden Angaben.": "Füge dein Profilbild hinzu und ergänze die fehlenden Angaben.",
|
"Füge dein Profilbild hinzu und ergänze die fehlenden Angaben.": "Füge dein Profilbild hinzu und ergänze die fehlenden Angaben.",
|
||||||
"Geleitete Fallarbeit": "Geleitete Fallarbeit",
|
"Geleitete Fallarbeit": "Geleitete Fallarbeit",
|
||||||
"general.back": "Zurück",
|
"general.back": "Zurück",
|
||||||
|
|
@ -479,18 +471,14 @@
|
||||||
"general.backToCircle": "zurück zum Circle",
|
"general.backToCircle": "zurück zum Circle",
|
||||||
"general.backToLearningPath": "zurück zum Lernpfad",
|
"general.backToLearningPath": "zurück zum Lernpfad",
|
||||||
"general.cancel": "Abbrechen",
|
"general.cancel": "Abbrechen",
|
||||||
"general.certificate_many": "",
|
|
||||||
"general.certificate_one": "Zertifikat",
|
"general.certificate_one": "Zertifikat",
|
||||||
"general.certificate_other": "Zertifikate",
|
"general.certificate_other": "Zertifikate",
|
||||||
"general.circles": "Circles",
|
"general.circles": "Circles",
|
||||||
"general.close": "Schliessen",
|
"general.close": "Schliessen",
|
||||||
"general.exam_many": "",
|
|
||||||
"general.exam_one": "Prüfung",
|
"general.exam_one": "Prüfung",
|
||||||
"general.exam_other": "Prüfungen",
|
"general.exam_other": "Prüfungen",
|
||||||
"general.examResult_many": "",
|
|
||||||
"general.examResult_one": "Prüfungsresultat",
|
"general.examResult_one": "Prüfungsresultat",
|
||||||
"general.examResult_other": "Prüfungsresultate",
|
"general.examResult_other": "Prüfungsresultate",
|
||||||
"general.feedback_many": "",
|
|
||||||
"general.feedback_one": "Feedback",
|
"general.feedback_one": "Feedback",
|
||||||
"general.feedback_other": "Feedbacks",
|
"general.feedback_other": "Feedbacks",
|
||||||
"general.im circle x anschauen": "Im Circle «{{x}}» anzeigen",
|
"general.im circle x anschauen": "Im Circle «{{x}}» anzeigen",
|
||||||
|
|
@ -501,7 +489,6 @@
|
||||||
"general.next": "Weiter",
|
"general.next": "Weiter",
|
||||||
"general.nextStep": "Weiter geht's",
|
"general.nextStep": "Weiter geht's",
|
||||||
"general.no": "Nein",
|
"general.no": "Nein",
|
||||||
"general.notification_many": "",
|
|
||||||
"general.notification_one": "Benachrichtigung",
|
"general.notification_one": "Benachrichtigung",
|
||||||
"general.notification_other": "Benachrichtigungen",
|
"general.notification_other": "Benachrichtigungen",
|
||||||
"general.profileLink": "Details anzeigen",
|
"general.profileLink": "Details anzeigen",
|
||||||
|
|
@ -514,21 +501,14 @@
|
||||||
"general.start": "Los geht's",
|
"general.start": "Los geht's",
|
||||||
"general.submission": "Abgabe",
|
"general.submission": "Abgabe",
|
||||||
"general.title": "myVBV",
|
"general.title": "myVBV",
|
||||||
"general.transferTask_many": "",
|
|
||||||
"general.transferTask_one": "Transferauftrag",
|
"general.transferTask_one": "Transferauftrag",
|
||||||
"general.transferTask_other": "Transferaufträge",
|
"general.transferTask_other": "Transferaufträge",
|
||||||
"general.yes": "Ja",
|
"general.yes": "Ja",
|
||||||
"Generation": "Generation",
|
|
||||||
"Hast du Fragen?": "Hast du Fragen?",
|
"Hast du Fragen?": "Hast du Fragen?",
|
||||||
"Hier überprüfst und bestätigst du die Anwesenheit deiner Teilnehmenden.": "Hier überprüfst und bestätigst du die Anwesenheit deiner Teilnehmenden.",
|
"Hier überprüfst und bestätigst du die Anwesenheit deiner Teilnehmenden.": "Hier überprüfst und bestätigst du die Anwesenheit deiner Teilnehmenden.",
|
||||||
"Ich will die Anwesenheit der untenstehenden Personen definitiv bestätigen.": "Ich will die Anwesenheit der untenstehenden Personen definitiv bestätigen.",
|
"Ich will die Anwesenheit der untenstehenden Personen definitiv bestätigen.": "Ich will die Anwesenheit der untenstehenden Personen definitiv bestätigen.",
|
||||||
"Jahr": "Jahr",
|
|
||||||
"Keine Auftragsdetails verfügbar.": "Keine Auftragsdetails verfügbar.",
|
|
||||||
"Kompetenznachweise": "Kompetenznachweise",
|
"Kompetenznachweise": "Kompetenznachweise",
|
||||||
"Kompetenzprofil": "Kompetenzprofil",
|
|
||||||
"Kosten im": "Kosten im",
|
"Kosten im": "Kosten im",
|
||||||
"Kosten in": "Kosten in",
|
|
||||||
"Kosten in 2024": "Kosten in 2024",
|
|
||||||
"language.de": "Deutsch",
|
"language.de": "Deutsch",
|
||||||
"language.fr": "Français",
|
"language.fr": "Français",
|
||||||
"language.it": "Italiano",
|
"language.it": "Italiano",
|
||||||
|
|
@ -540,7 +520,6 @@
|
||||||
"learningContentTypes.feedback": "Feedback",
|
"learningContentTypes.feedback": "Feedback",
|
||||||
"learningContentTypes.knowledgeAssessment": "Test",
|
"learningContentTypes.knowledgeAssessment": "Test",
|
||||||
"learningContentTypes.learningModule": "Lernmodul",
|
"learningContentTypes.learningModule": "Lernmodul",
|
||||||
"learningContentTypes.mandatory_casework": "learningContentTypes.mandatory_casework",
|
|
||||||
"learningContentTypes.placeholder": "In Umsetzung",
|
"learningContentTypes.placeholder": "In Umsetzung",
|
||||||
"learningContentTypes.praxisAssignment": "Auftrag",
|
"learningContentTypes.praxisAssignment": "Auftrag",
|
||||||
"learningContentTypes.prepAssignment": "Vorbereitungsauftrag",
|
"learningContentTypes.prepAssignment": "Vorbereitungsauftrag",
|
||||||
|
|
@ -558,9 +537,6 @@
|
||||||
"learningPathPage.showListView": "Listenansicht anzeigen",
|
"learningPathPage.showListView": "Listenansicht anzeigen",
|
||||||
"learningPathPage.topics": "Themen:",
|
"learningPathPage.topics": "Themen:",
|
||||||
"learningPathPage.welcomeBack": "Willkommen zurück in deinem Lehrgang:",
|
"learningPathPage.welcomeBack": "Willkommen zurück in deinem Lehrgang:",
|
||||||
"Lehrgang": "Lehrgang",
|
|
||||||
"Lernbegleitung einladen": "Lernbegleitung einladen",
|
|
||||||
"Lernpfad kaufen": "",
|
|
||||||
"login.demoLogin": "Demo Login",
|
"login.demoLogin": "Demo Login",
|
||||||
"login.guidelineFile": "Registrierung_myVBV.pdf",
|
"login.guidelineFile": "Registrierung_myVBV.pdf",
|
||||||
"login.guidelineText": "Erfahre wie du dich als Lernende/r registrieren kannst",
|
"login.guidelineText": "Erfahre wie du dich als Lernende/r registrieren kannst",
|
||||||
|
|
@ -572,40 +548,31 @@
|
||||||
"mainNavigation.logout": "Abmelden",
|
"mainNavigation.logout": "Abmelden",
|
||||||
"mainNavigation.profile": "Profil",
|
"mainNavigation.profile": "Profil",
|
||||||
"mediaLibrary.handlungsfelder.description": "Finde alle Ressourcen der Handlungsfelder wie Lernmedien, Links und andere nützliche Informationen.",
|
"mediaLibrary.handlungsfelder.description": "Finde alle Ressourcen der Handlungsfelder wie Lernmedien, Links und andere nützliche Informationen.",
|
||||||
"mediaLibrary.handlungsfelder.title_many": "",
|
|
||||||
"mediaLibrary.handlungsfelder.title_one": "Handlungsfeld",
|
"mediaLibrary.handlungsfelder.title_one": "Handlungsfeld",
|
||||||
"mediaLibrary.handlungsfelder.title_other": "Handlungsfelder",
|
"mediaLibrary.handlungsfelder.title_other": "Handlungsfelder",
|
||||||
"mediaLibrary.learningMedia.description": "Finde eine vollständige Liste der Bücher und anderen Medien, auf die im Kurs verwiesen wird.",
|
"mediaLibrary.learningMedia.description": "Finde eine vollständige Liste der Bücher und anderen Medien, auf die im Kurs verwiesen wird.",
|
||||||
"mediaLibrary.learningMedia.titel": "Lernmedien",
|
"mediaLibrary.learningMedia.titel": "Lernmedien",
|
||||||
"mediaLibrary.show": "Mediathek anzeigen",
|
"mediaLibrary.show": "Mediathek anzeigen",
|
||||||
"mediaLibrary.title": "Mediathek",
|
"mediaLibrary.title": "Mediathek",
|
||||||
"Meine Lernbegleiter": "Meine Lernbegleiter",
|
|
||||||
"Meine Praxisbildner": "Meine Praxisbildner",
|
"Meine Praxisbildner": "Meine Praxisbildner",
|
||||||
"Member": "Teilnehmer",
|
"Member": "Teilnehmer",
|
||||||
"MentorUK": "Praxisbildner/Praxisbildnerin",
|
"MentorUK": "Praxisbildner/Praxisbildnerin",
|
||||||
"MentorVV": "Lernbegleitung",
|
"MentorVV": "Lernbegleitung",
|
||||||
"messages.sendMessage": "Nachricht schreiben",
|
"messages.sendMessage": "Nachricht schreiben",
|
||||||
"MS Teams öffnen": "MS Teams öffnen",
|
"MS Teams öffnen": "MS Teams öffnen",
|
||||||
"Nach der Bezahlung von 300 CHF exkl. MWSt. erhältst du Zugang für den gesamten Lehrgang (inkl. Prüfung).": "Nach der Bezahlung von 300 CHF exkl. MWSt. erhältst du Zugang für den gesamten Lehrgang (inkl. Prüfung).",
|
|
||||||
"Neuen Praxisbildner einladen": "Neuen Praxisbildner einladen",
|
"Neuen Praxisbildner einladen": "Neuen Praxisbildner einladen",
|
||||||
"Nicht bestanden": "Nicht bestanden",
|
"Nicht bestanden": "Nicht bestanden",
|
||||||
"notifications.load_more": "Mehr laden",
|
"notifications.load_more": "Mehr laden",
|
||||||
"notifications.no_notifications": "Du hast derzeit keine Benachrichtigungen",
|
"notifications.no_notifications": "Du hast derzeit keine Benachrichtigungen",
|
||||||
"Nächste Termine": "Nächste Termine",
|
"Nächste Termine": "Nächste Termine",
|
||||||
"Passwort": "Passwort",
|
"Passwort": "Passwort",
|
||||||
"Personen": "Personen",
|
|
||||||
"profile.": "profile.",
|
|
||||||
"profile.all": "Allbranche",
|
"profile.all": "Allbranche",
|
||||||
"profile.krankenzusatzversicherung": "Krankenzusatz",
|
"profile.krankenzusatzversicherung": "Krankenzusatz",
|
||||||
"profile.leben": "Leben",
|
"profile.leben": "Leben",
|
||||||
"profile.nichtleben": "Nichtleben",
|
"profile.nichtleben": "Nichtleben",
|
||||||
"profile.null": "profile.null",
|
|
||||||
"Präsenzkurs": "Präsenzkurs",
|
|
||||||
"receivedEvaluation.no": "Das musst du nochmals anschauen",
|
"receivedEvaluation.no": "Das musst du nochmals anschauen",
|
||||||
"receivedEvaluation.yes": "Ja, du kannst das",
|
"receivedEvaluation.yes": "Ja, du kannst das",
|
||||||
"Reflexion": "Reflexion",
|
"Reflexion": "Reflexion",
|
||||||
"Region": "Region",
|
|
||||||
"Rolle": "Rolle",
|
|
||||||
"Sehr unzufrieden": "Sehr unzufrieden",
|
"Sehr unzufrieden": "Sehr unzufrieden",
|
||||||
"Sehr zufrieden": "Sehr zufrieden",
|
"Sehr zufrieden": "Sehr zufrieden",
|
||||||
"selfEvaluation.instruction.0": "Überprüfe, ob du in der Lernheinheit",
|
"selfEvaluation.instruction.0": "Überprüfe, ob du in der Lernheinheit",
|
||||||
|
|
@ -631,13 +598,6 @@
|
||||||
"start.vvDescription": "Der Lernpfad und die Lernmedien, welche dich auf die Prüfung «Versicherungsvermittler/-in VBV» vorbereiten.",
|
"start.vvDescription": "Der Lernpfad und die Lernmedien, welche dich auf die Prüfung «Versicherungsvermittler/-in VBV» vorbereiten.",
|
||||||
"Status anschauen": "Status anschauen",
|
"Status anschauen": "Status anschauen",
|
||||||
"Supervisor": "Regionenleiter",
|
"Supervisor": "Regionenleiter",
|
||||||
"Teilnehmer": "Teilnehmer",
|
|
||||||
"Teilnehmer im": "Teilnehmer im",
|
|
||||||
"Teilnehmer im 2024": "Teilnehmer im 2024",
|
|
||||||
"Teilnehmer nach Zulassungsprofilen": "Teilnehmer nach Zulassungsprofilen",
|
|
||||||
"Teilnehmer nach Zulassungsprofilen im": "Teilnehmer nach Zulassungsprofilen im",
|
|
||||||
"Termin nicht festgelegt": "",
|
|
||||||
"TODO: Nächste Termine": "TODO: Nächste Termine",
|
|
||||||
"Trainer": "Trainer",
|
"Trainer": "Trainer",
|
||||||
"Trainerunterlagen": "Trainerunterlagen",
|
"Trainerunterlagen": "Trainerunterlagen",
|
||||||
"TrainingResponsible": "Ausbildungsverantwortlicher",
|
"TrainingResponsible": "Ausbildungsverantwortlicher",
|
||||||
|
|
@ -647,7 +607,6 @@
|
||||||
"uk.dashboard.allClear": "Alles klar?",
|
"uk.dashboard.allClear": "Alles klar?",
|
||||||
"uk.dashboard.nextSteps": "Als lernende Person wirst in den kommenden Tagen einem üK-Lehrgang zugewiesen. Dann\nerscheint hier Deine personalisierte Lehrgangs-Box mit den weiteren Informationen.",
|
"uk.dashboard.nextSteps": "Als lernende Person wirst in den kommenden Tagen einem üK-Lehrgang zugewiesen. Dann\nerscheint hier Deine personalisierte Lehrgangs-Box mit den weiteren Informationen.",
|
||||||
"uk.dashboard.welcome": "Es hat alles geklappt, du bist nun auf der digitalen Lernumgebung des Berufsbildungsverbands derVersicherungswirtschaft (VBV) registriert!",
|
"uk.dashboard.welcome": "Es hat alles geklappt, du bist nun auf der digitalen Lernumgebung des Berufsbildungsverbands derVersicherungswirtschaft (VBV) registriert!",
|
||||||
"UnknownRoleKey": "UnknownRoleKey",
|
|
||||||
"unzufrieden": "unzufrieden",
|
"unzufrieden": "unzufrieden",
|
||||||
"Vorbedingung": "Vorbedingung",
|
"Vorbedingung": "Vorbedingung",
|
||||||
"Vorbereitungsaufgabe": "Vorbereitungsauftrag",
|
"Vorbereitungsaufgabe": "Vorbereitungsauftrag",
|
||||||
|
|
@ -665,6 +624,5 @@
|
||||||
"Zu erledigen": "Zu erledigen",
|
"Zu erledigen": "Zu erledigen",
|
||||||
"zufrieden": "zufrieden",
|
"zufrieden": "zufrieden",
|
||||||
"Zulassungsprofil": "Zulassungsprofil",
|
"Zulassungsprofil": "Zulassungsprofil",
|
||||||
"Zur Zeit sind keine Termine vorhanden": "Zur Zeit sind keine Termine vorhanden",
|
"Zur Zeit sind keine Termine vorhanden": "Zur Zeit sind keine Termine vorhanden"
|
||||||
"Überbetriebliche Kurse": "Überbetriebliche Kurse"
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,9 @@
|
||||||
{
|
{
|
||||||
"20%": "",
|
"20%": "20%",
|
||||||
"40%": "",
|
"40%": "40%",
|
||||||
"60%": "",
|
"60%": "60%",
|
||||||
"80%": "",
|
"80%": "80%",
|
||||||
"100%": "",
|
"100%": "100%",
|
||||||
"a.": "",
|
|
||||||
"a.a.AlleCircle": "",
|
|
||||||
"a.Abbrechen": "Annuler",
|
"a.Abbrechen": "Annuler",
|
||||||
"a.Abgabetermin": "Date de remise",
|
"a.Abgabetermin": "Date de remise",
|
||||||
"a.Abgezogene Punkte": "Points déduits",
|
"a.Abgezogene Punkte": "Points déduits",
|
||||||
|
|
@ -16,13 +14,11 @@
|
||||||
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen.": "Actuellement, tu n'as invité aucune personne comme tuteur.",
|
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen.": "Actuellement, tu n'as invité aucune personne comme tuteur.",
|
||||||
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen. Lade jetzt jemanden ein.": "Actuellement, tu n'as invité aucune personne comme tuteur. Invite quelqu'un maintenant.",
|
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen. Lade jetzt jemanden ein.": "Actuellement, tu n'as invité aucune personne comme tuteur. Invite quelqu'un maintenant.",
|
||||||
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen.": "Actuellement, tu n'as pas encore invité de personne comme formateur/-trice pratique.",
|
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen.": "Actuellement, tu n'as pas encore invité de personne comme formateur/-trice pratique.",
|
||||||
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen. Lade jetzt jemanden ein.": "",
|
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen. Lade jetzt jemanden ein.": "Actuellement, tu n'as invité personne en tant que formateur pratique. Invite quelqu'un maintenant.",
|
||||||
"a.Aktueller Lehrgang": "Cours en cours",
|
"a.Aktueller Lehrgang": "Cours en cours",
|
||||||
"a.Allbranche": "Allbranche",
|
"a.Allbranche": "Allbranche",
|
||||||
"a.Alle": "Tout",
|
"a.Alle": "Tout",
|
||||||
"a.Alle aufklappen": "Tout déplier",
|
"a.Alle aufklappen": "Tout déplier",
|
||||||
"a.Alle Lehrgang": "",
|
|
||||||
"a.Alle Lehrgänge": "",
|
|
||||||
"a.Alle Lehrgänge anzeigen": "Afficher tous les cours",
|
"a.Alle Lehrgänge anzeigen": "Afficher tous les cours",
|
||||||
"a.Alle Personen anzeigen": "Afficher toutes les personnes",
|
"a.Alle Personen anzeigen": "Afficher toutes les personnes",
|
||||||
"a.Alle Termine anzeigen": "Afficher tous les dates",
|
"a.Alle Termine anzeigen": "Afficher tous les dates",
|
||||||
|
|
@ -30,8 +26,6 @@
|
||||||
"a.AlleCircle": "Circle: Tous",
|
"a.AlleCircle": "Circle: Tous",
|
||||||
"a.AlleDurchführungen": "Opérations: Tous",
|
"a.AlleDurchführungen": "Opérations: Tous",
|
||||||
"a.AlleGenerationen": "Générations : Toutes",
|
"a.AlleGenerationen": "Générations : Toutes",
|
||||||
"a.AlleKreise": "",
|
|
||||||
"a.AlleRegionen": "",
|
|
||||||
"a.AlleTermine": "Rendez-vous",
|
"a.AlleTermine": "Rendez-vous",
|
||||||
"a.AlleTypen": "Tous les types",
|
"a.AlleTypen": "Tous les types",
|
||||||
"a.Allgemeine Zufriedenheit": "Satisfaction générale",
|
"a.Allgemeine Zufriedenheit": "Satisfaction générale",
|
||||||
|
|
@ -39,6 +33,8 @@
|
||||||
"a.An Durchführung teilnehmen": "Participer à la session",
|
"a.An Durchführung teilnehmen": "Participer à la session",
|
||||||
"a.Anmelden": "Connexion",
|
"a.Anmelden": "Connexion",
|
||||||
"a.Anwesenheit": "Présence",
|
"a.Anwesenheit": "Présence",
|
||||||
|
"a.Anwesenheit Präsenzkurse": "Présence aux cours",
|
||||||
|
"a.Anwesenheitskontrolle Präsenzkurse": "Contrôle de présence aux cours",
|
||||||
"a.Arbeiten": "Travaux",
|
"a.Arbeiten": "Travaux",
|
||||||
"a.assignment.evaluationFeedbackDescriptionText": "Valide ton feedback pour qu'il puisse être partagé aux participants.",
|
"a.assignment.evaluationFeedbackDescriptionText": "Valide ton feedback pour qu'il puisse être partagé aux participants.",
|
||||||
"a.assignment.evaluationInstrumentDescriptionTextFeedback": "Veuillez soutenir {{name}} et donner votre avis sur la mission.",
|
"a.assignment.evaluationInstrumentDescriptionTextFeedback": "Veuillez soutenir {{name}} et donner votre avis sur la mission.",
|
||||||
|
|
@ -53,9 +49,9 @@
|
||||||
"a.Bewertung": "Évaluation",
|
"a.Bewertung": "Évaluation",
|
||||||
"a.Bewertung abschliessen": "Évaluation complète",
|
"a.Bewertung abschliessen": "Évaluation complète",
|
||||||
"a.Bewertung ansehen": "Voir l'avis",
|
"a.Bewertung ansehen": "Voir l'avis",
|
||||||
"a.Bewertung bearbeiten": "",
|
"a.Bewertung bearbeiten": "Modifier l'évaluation",
|
||||||
"a.Bewertung bearbeitet": "",
|
"a.Bewertung bearbeitet": "Évaluation modifiée",
|
||||||
"a.Bewertung erneut bearbeitet": "",
|
"a.Bewertung erneut bearbeitet": "Évaluation à nouveau modifiée",
|
||||||
"a.Bewertung fortsetzen": "Continuer l'évaluation",
|
"a.Bewertung fortsetzen": "Continuer l'évaluation",
|
||||||
"a.Bewertung Freigabe": "Libération de l'évaluation",
|
"a.Bewertung Freigabe": "Libération de l'évaluation",
|
||||||
"a.Bewertung freigeben": "Libérer l'évaluation",
|
"a.Bewertung freigeben": "Libérer l'évaluation",
|
||||||
|
|
@ -106,7 +102,8 @@
|
||||||
"a.E-Mail Adresse": "Adresse e-mail",
|
"a.E-Mail Adresse": "Adresse e-mail",
|
||||||
"a.Einladung": "Invitation",
|
"a.Einladung": "Invitation",
|
||||||
"a.Einladung abschicken": "Envoyer l'invitation",
|
"a.Einladung abschicken": "Envoyer l'invitation",
|
||||||
"a.Email": "",
|
"a.Elemente zu erledigen": "Eléments à faire",
|
||||||
|
"a.Email": "Email",
|
||||||
"a.Entfernen": "Supprimer",
|
"a.Entfernen": "Supprimer",
|
||||||
"a.Erfahrungsnote üK": "Note d’expérience CI",
|
"a.Erfahrungsnote üK": "Note d’expérience CI",
|
||||||
"a.Ergebnis bewerten": "Évaluer le résultat",
|
"a.Ergebnis bewerten": "Évaluer le résultat",
|
||||||
|
|
@ -116,10 +113,10 @@
|
||||||
"a.Ergebnisse bewerten": "Évaluer les résultats",
|
"a.Ergebnisse bewerten": "Évaluer les résultats",
|
||||||
"a.Ergebnisse teilen": "Partager les résultats",
|
"a.Ergebnisse teilen": "Partager les résultats",
|
||||||
"a.Erneut bearbeiten": "Modifier à nouveau",
|
"a.Erneut bearbeiten": "Modifier à nouveau",
|
||||||
"a.Experte": "",
|
"a.Experte": "Expert",
|
||||||
"a.Feedback abschliessen": "Terminer le feedback",
|
"a.Feedback abschliessen": "Terminer le feedback",
|
||||||
"a.Feedback ansehen": "Voir le feedback",
|
"a.Feedback ansehen": "Voir le feedback",
|
||||||
"a.Feedback erneut bearbeitet": "",
|
"a.Feedback erneut bearbeitet": "Feedback modifié à nouveau",
|
||||||
"a.Feedback fortsetzen": "Poursuivre le feedback",
|
"a.Feedback fortsetzen": "Poursuivre le feedback",
|
||||||
"a.Feedback Freigabe": "Validation du feedback",
|
"a.Feedback Freigabe": "Validation du feedback",
|
||||||
"a.Feedback freigeben": "Valider le feedback",
|
"a.Feedback freigeben": "Valider le feedback",
|
||||||
|
|
@ -134,6 +131,8 @@
|
||||||
"a.Firmenanschrift": "Adresse de l'entreprise",
|
"a.Firmenanschrift": "Adresse de l'entreprise",
|
||||||
"a.Firmenname": "Nom de l'entreprise",
|
"a.Firmenname": "Nom de l'entreprise",
|
||||||
"a.Franzosisch": "Français",
|
"a.Franzosisch": "Français",
|
||||||
|
"a.Freigabetermin Bewertung": "Date de remise d'évaluation",
|
||||||
|
"a.Freigabetermin Bewertungen": "Date de remise des évaluations",
|
||||||
"a.Fremdeinschätzung anzeigen": "Valutazione esterna",
|
"a.Fremdeinschätzung anzeigen": "Valutazione esterna",
|
||||||
"a.Fremdeinschätzung freigeben": "Autoriser l'évaluation externe",
|
"a.Fremdeinschätzung freigeben": "Autoriser l'évaluation externe",
|
||||||
"a.Fremdeinschätzung von FEEDBACK_PROVIDER_NAME": "Évaluation externe de {{FEEDBACK_PROVIDER_NAME}}",
|
"a.Fremdeinschätzung von FEEDBACK_PROVIDER_NAME": "Évaluation externe de {{FEEDBACK_PROVIDER_NAME}}",
|
||||||
|
|
@ -156,18 +155,19 @@
|
||||||
"a.Hast du Fragen? Schau dir unsere FAQ an oder kontaktiere uns": "Vous avez des questions ? Consultez notre {faq} ou contactez-nous",
|
"a.Hast du Fragen? Schau dir unsere FAQ an oder kontaktiere uns": "Vous avez des questions ? Consultez notre {faq} ou contactez-nous",
|
||||||
"a.Hast du schon ein Konto?": "Avez-vous déjà un compte?",
|
"a.Hast du schon ein Konto?": "Avez-vous déjà un compte?",
|
||||||
"a.Hausnummmer": "Numéro de maison",
|
"a.Hausnummmer": "Numéro de maison",
|
||||||
"a.Hier kannst du ausschliesslich mit einer Kreditkarte bezahlen.": "",
|
|
||||||
"a.Hier kannst du Personen einladen, damit sie deine Lernbegleitung werden. Zudem siehst du jederzeit eine Übersicht aller Personen, die du bereits als Lernbegleitung hinzugefügt hast.": "Ici, tu peux inviter des personnes pour devenir ton tuteur. De plus, tu peux toujours voir un aperçu de toutes les personnes que tu as déjà ajoutées comme tuteurs.",
|
"a.Hier kannst du Personen einladen, damit sie deine Lernbegleitung werden. Zudem siehst du jederzeit eine Übersicht aller Personen, die du bereits als Lernbegleitung hinzugefügt hast.": "Ici, tu peux inviter des personnes pour devenir ton tuteur. De plus, tu peux toujours voir un aperçu de toutes les personnes que tu as déjà ajoutées comme tuteurs.",
|
||||||
"a.Höchstpunktzahl": "Score maximum",
|
"a.Höchstpunktzahl": "Score maximum",
|
||||||
"a.Ich kann das": "Je maîtrise cette question",
|
"a.Ich kann das": "Je maîtrise cette question",
|
||||||
"a.Italienisch": "Italien",
|
"a.Italienisch": "Italien",
|
||||||
"a.Ja, NAME kann das.": "Oui, {{NAME}} peut le faire",
|
"a.Ja, NAME kann das.": "Oui, {{NAME}} peut le faire",
|
||||||
|
"a.Jahr": "Année",
|
||||||
"a.Jetzt mit Lehrgang starten": "Commencez maintenant le cours",
|
"a.Jetzt mit Lehrgang starten": "Commencez maintenant le cours",
|
||||||
"a.Kann FULLNAME das?": "Peut {{FULLNAME}} faire cela?",
|
"a.Kann FULLNAME das?": "Peut {{FULLNAME}} faire cela?",
|
||||||
"a.Kein Circle verfügbar oder ausgewählt.": "Aucun Circle disponible ou sélectionné.",
|
"a.Kein Circle verfügbar oder ausgewählt.": "Aucun Circle disponible ou sélectionné.",
|
||||||
"a.Keine Angabe": "Aucune indication",
|
"a.Keine Angabe": "Aucune indication",
|
||||||
"a.Kommentar": "",
|
"a.Keine Auftragsdetails verfügbar.": "Aucun détail de la commande n'est disponible.",
|
||||||
"a.Kommentar erfassen": "",
|
"a.Kommentar": "Commentaire",
|
||||||
|
"a.Kommentar erfassen": "Saisir un commentaire",
|
||||||
"a.Kompetenznachweis": "Contrôle de compétences",
|
"a.Kompetenznachweis": "Contrôle de compétences",
|
||||||
"a.Kompetenznachweis-Elemente": "Éléments de contrôle",
|
"a.Kompetenznachweis-Elemente": "Éléments de contrôle",
|
||||||
"a.Kompetenznachweise": "Contrôles de compétences",
|
"a.Kompetenznachweise": "Contrôles de compétences",
|
||||||
|
|
@ -175,7 +175,6 @@
|
||||||
"a.Konto erstellen": "Créer un compte",
|
"a.Konto erstellen": "Créer un compte",
|
||||||
"a.Kosten": "Coûts",
|
"a.Kosten": "Coûts",
|
||||||
"a.Kosten aller Jahre ansehen": "Voir les coûts de toutes les années",
|
"a.Kosten aller Jahre ansehen": "Voir les coûts de toutes les années",
|
||||||
"a.Kosten in 2024": "",
|
|
||||||
"a.Krankenzusatzversicherung": "Assurance maladie complémentaire",
|
"a.Krankenzusatzversicherung": "Assurance maladie complémentaire",
|
||||||
"a.Krankenzusatzversicherungen": "Assurances maladie complémentaires",
|
"a.Krankenzusatzversicherungen": "Assurances maladie complémentaires",
|
||||||
"a.Lade ein Profilbild hoch, damit dich andere Personen auf den ersten Blick erkennen.": "Téléchargez une photo de profil pour que les autres puissent vous reconnaître au premier coup d'œil.",
|
"a.Lade ein Profilbild hoch, damit dich andere Personen auf den ersten Blick erkennen.": "Téléchargez une photo de profil pour que les autres puissent vous reconnaître au premier coup d'œil.",
|
||||||
|
|
@ -186,7 +185,7 @@
|
||||||
"a.Lehrgang kaufen": "Acheter le cours",
|
"a.Lehrgang kaufen": "Acheter le cours",
|
||||||
"a.Leistungsziel": "Objectif de valutazione",
|
"a.Leistungsziel": "Objectif de valutazione",
|
||||||
"a.Leistungsziele": "Objectif évaluateur",
|
"a.Leistungsziele": "Objectif évaluateur",
|
||||||
"a.Lernbegleiter": "",
|
"a.Lernbegleiter": "Tuteur",
|
||||||
"a.Lernbegleitung": "Tuteur",
|
"a.Lernbegleitung": "Tuteur",
|
||||||
"a.Lernbegleitung auswählen": "Tutorat sélectionner",
|
"a.Lernbegleitung auswählen": "Tutorat sélectionner",
|
||||||
"a.Lernbegleitung einladen": "Inviter un tuteur",
|
"a.Lernbegleitung einladen": "Inviter un tuteur",
|
||||||
|
|
@ -212,8 +211,7 @@
|
||||||
"a.NUMBER Elemente abgeschlossen": "{NUMBER} éléments terminés",
|
"a.NUMBER Elemente abgeschlossen": "{NUMBER} éléments terminés",
|
||||||
"a.NUMBER Präsenztage abgeschlossen": "{NUMBER} jours de présence complétés",
|
"a.NUMBER Präsenztage abgeschlossen": "{NUMBER} jours de présence complétés",
|
||||||
"a.NUMBER Teilnehmer anwesend": "{NUMBER} participants présents",
|
"a.NUMBER Teilnehmer anwesend": "{NUMBER} participants présents",
|
||||||
"a.Nächste Termine": "",
|
"a.Nächste Termine": "Prochaines dates",
|
||||||
"a.OldCircle": "",
|
|
||||||
"a.Optionale Anwesenheit": "Présence facultative",
|
"a.Optionale Anwesenheit": "Présence facultative",
|
||||||
"a.Ort": "Ville",
|
"a.Ort": "Ville",
|
||||||
"a.Personen": "Personnes",
|
"a.Personen": "Personnes",
|
||||||
|
|
@ -229,20 +227,20 @@
|
||||||
"a.Profil bearbeiten": "Modifier le profil",
|
"a.Profil bearbeiten": "Modifier le profil",
|
||||||
"a.Profil ergänzen": "Compléter le profil",
|
"a.Profil ergänzen": "Compléter le profil",
|
||||||
"a.Profilbild": "Photo de profil",
|
"a.Profilbild": "Photo de profil",
|
||||||
|
"a.Präsenzkurs": "Cours de présence",
|
||||||
"a.Präsenztag": "Jour de présence",
|
"a.Präsenztag": "Jour de présence",
|
||||||
"a.Punkte": "points",
|
"a.Punkte": "points",
|
||||||
"a.Punkte aus Bewertung": "Points de l'évaluation",
|
"a.Punkte aus Bewertung": "Points de l'évaluation",
|
||||||
"a.PunkteVonDaniel": "",
|
|
||||||
"a.PunkteVonDaniel123": "",
|
|
||||||
"a.Rechnung": "Facture",
|
"a.Rechnung": "Facture",
|
||||||
"a.RechnungPaymentMethodDescription": "",
|
|
||||||
"a.Rechnungsadresse": "Adresse de facturation",
|
"a.Rechnungsadresse": "Adresse de facturation",
|
||||||
"a.Rechnungsadresse hinzufügen": "Ajouter une adresse de facturation",
|
"a.Rechnungsadresse hinzufügen": "Ajouter une adresse de facturation",
|
||||||
"a.Rechnungsadresse von {organisation}": "Adresse de facturation de {{organisation}}",
|
"a.Rechnungsadresse von {organisation}": "Adresse de facturation de {{organisation}}",
|
||||||
"a.Rechnungsadresse von {organisation} hinzufügen": "Ajouter l'adresse de facturation de {{organisation}}",
|
"a.Rechnungsadresse von {organisation} hinzufügen": "Ajouter l'adresse de facturation de {{organisation}}",
|
||||||
"a.Regionenleiter": "",
|
"a.Region": "Région",
|
||||||
|
"a.Regionenleiter": "Responsable régional",
|
||||||
"a.Resultat": "Résultat",
|
"a.Resultat": "Résultat",
|
||||||
"a.Schliessen": "",
|
"a.Rolle": "Rouleau",
|
||||||
|
"a.Schliessen": "Fermer",
|
||||||
"a.Selbst- und Fremdeinschätzungen": "Auto-évaluations et évaluations externes",
|
"a.Selbst- und Fremdeinschätzungen": "Auto-évaluations et évaluations externes",
|
||||||
"a.Selbsteinschätzung": "Auto-évaluation",
|
"a.Selbsteinschätzung": "Auto-évaluation",
|
||||||
"a.Selbsteinschätzung anschauen": "Voir l'auto-évaluation",
|
"a.Selbsteinschätzung anschauen": "Voir l'auto-évaluation",
|
||||||
|
|
@ -255,16 +253,17 @@
|
||||||
"a.Selbsteinschätzungen geteilt": "Auto-évaluations partagées",
|
"a.Selbsteinschätzungen geteilt": "Auto-évaluations partagées",
|
||||||
"a.So startest du mit diesem Lehrgang": "C'est ainsi que tu commences ce parcours d'apprentissage",
|
"a.So startest du mit diesem Lehrgang": "C'est ainsi que tu commences ce parcours d'apprentissage",
|
||||||
"a.Standort": "Emplacement",
|
"a.Standort": "Emplacement",
|
||||||
"a.Statistik": "",
|
"a.Statistik": "Statistiques",
|
||||||
"a.Statistik für alle Lernenden": "",
|
|
||||||
"a.Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.": "Proposez à vos participants du contenu supplémentaire",
|
"a.Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.": "Proposez à vos participants du contenu supplémentaire",
|
||||||
"a.Strasse": "Rue",
|
"a.Strasse": "Rue",
|
||||||
"a.Super, nun ist alles bereit. Du bist der Durchführung «{course}» zugewiesen und kannst mit dem Lehrgang starten.": "Super, tout est prêt maintenant. Vous êtes assigné à la session «{{course}}» et pouvez commencer le cours.",
|
"a.Super, nun ist alles bereit. Du bist der Durchführung «{course}» zugewiesen und kannst mit dem Lehrgang starten.": "Super, tout est prêt maintenant. Vous êtes assigné à la session «{{course}}» et pouvez commencer le cours.",
|
||||||
"a.Teilnehmer": "Participants",
|
"a.Teilnehmer": "Participants",
|
||||||
"a.Teilnehmer im 2024": "",
|
"a.Teilnehmer im": "Participants en",
|
||||||
|
"a.Teilnehmer nach Zulassungsprofilen im": "Participants par profil d'admission en",
|
||||||
"a.Telefonnummer": "Numéro de téléphone",
|
"a.Telefonnummer": "Numéro de téléphone",
|
||||||
"a.Telefonnummer hat das falsche Format": "",
|
"a.Telefonnummer hat das falsche Format": "Le numéro de téléphone n'est pas au bon format",
|
||||||
"a.Termin": "Date",
|
"a.Termin": "Date",
|
||||||
|
"a.Termin nicht festgelegt": "Date non fixée",
|
||||||
"a.Termine": "Dates",
|
"a.Termine": "Dates",
|
||||||
"a.Total {NUMBER} Antworten": "Total {NUMBER} réponses",
|
"a.Total {NUMBER} Antworten": "Total {NUMBER} réponses",
|
||||||
"a.Trainer": "Formateur / Formatrice",
|
"a.Trainer": "Formateur / Formatrice",
|
||||||
|
|
@ -280,7 +279,6 @@
|
||||||
"a.VorschauTeilnehmer": "Vue des participants",
|
"a.VorschauTeilnehmer": "Vue des participants",
|
||||||
"a.Wegleitung üK": "Directives CI",
|
"a.Wegleitung üK": "Directives CI",
|
||||||
"a.wegleitungUkUrl": "https://www.vbv.ch/fileadmin/vbv/Dokumente/Bildungsabschluesse/KV/Wegleitung_ueK_240215_fr_V2.pdf",
|
"a.wegleitungUkUrl": "https://www.vbv.ch/fileadmin/vbv/Dokumente/Bildungsabschluesse/KV/Wegleitung_ueK_240215_fr_V2.pdf",
|
||||||
"a.Weiter zur Zahlung": "",
|
|
||||||
"a.Wir haben per E-Mail eine Bestätigung an {email} geschickt.": "Nous avons envoyé une confirmation par e-mail à {email}.",
|
"a.Wir haben per E-Mail eine Bestätigung an {email} geschickt.": "Nous avons envoyé une confirmation par e-mail à {email}.",
|
||||||
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst.": "Choisis un profil d'admission pour que tu puisses commencer ta formation au bon endroit.",
|
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst.": "Choisis un profil d'admission pour que tu puisses commencer ta formation au bon endroit.",
|
||||||
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst. Du kannst ihn später jederzeit ändern.": "Sélectionne un profil d'admission pour que tu puisses commencer ta formation au bon endroit. Tu peux le modifier à tout moment par la suite.",
|
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst. Du kannst ihn später jederzeit ändern.": "Sélectionne un profil d'admission pour que tu puisses commencer ta formation au bon endroit. Tu peux le modifier à tout moment par la suite.",
|
||||||
|
|
@ -291,7 +289,7 @@
|
||||||
"a.Zulassungsprofil": "Profil d'admission",
|
"a.Zulassungsprofil": "Profil d'admission",
|
||||||
"a.Zulassungsprofil auswählen": "Choisir le profil d'admission",
|
"a.Zulassungsprofil auswählen": "Choisir le profil d'admission",
|
||||||
"a.Zum Unterlagen-Upload": "Télécharger des documents",
|
"a.Zum Unterlagen-Upload": "Télécharger des documents",
|
||||||
"a.Zurück": "",
|
"a.Zurück": "Retour",
|
||||||
"a.Zwischenstand": "Point intermédiaire",
|
"a.Zwischenstand": "Point intermédiaire",
|
||||||
"a.{AVG} von {MAX}": "{AVG} de {MAX}",
|
"a.{AVG} von {MAX}": "{AVG} de {MAX}",
|
||||||
"a.{NUMBER} Bestanden": "{NUMBER} réussi",
|
"a.{NUMBER} Bestanden": "{NUMBER} réussi",
|
||||||
|
|
@ -306,9 +304,7 @@
|
||||||
"Alle": "Tout",
|
"Alle": "Tout",
|
||||||
"Anwesenheit": "Présence",
|
"Anwesenheit": "Présence",
|
||||||
"Anwesenheit bestätigen": "Confirmer la présence",
|
"Anwesenheit bestätigen": "Confirmer la présence",
|
||||||
"Anwesenheit Präsenzkurse": "Présence aux cours",
|
|
||||||
"Anwesenheit prüfen": "Vérifier la présence",
|
"Anwesenheit prüfen": "Vérifier la présence",
|
||||||
"Anwesenheitskontrolle Präsenzkurse": "Contrôle de présence aux cours",
|
|
||||||
"assignment.acceptConditionsDisclaimer": "Accepter les conditions et remettre les résultats",
|
"assignment.acceptConditionsDisclaimer": "Accepter les conditions et remettre les résultats",
|
||||||
"assignment.assessmentDocumentDisclaimer": "Cette étude de cas dirigée est évaluée par l’outil suivant :",
|
"assignment.assessmentDocumentDisclaimer": "Cette étude de cas dirigée est évaluée par l’outil suivant :",
|
||||||
"assignment.assessmentTitle": "Évaluation",
|
"assignment.assessmentTitle": "Évaluation",
|
||||||
|
|
@ -343,12 +339,12 @@
|
||||||
"assignment.x von y Arbeiten abgeschlossen": "{{x}} sur {{y}} épreuves terminées",
|
"assignment.x von y Arbeiten abgeschlossen": "{{x}} sur {{y}} épreuves terminées",
|
||||||
"assignment.x von y Kompetenznachweis-Elementen abgeschlossen": "{{x}} sur {{y}} éléments de contrôle de compétences terminés",
|
"assignment.x von y Kompetenznachweis-Elementen abgeschlossen": "{{x}} sur {{y}} éléments de contrôle de compétences terminés",
|
||||||
"Aufgrund von Problemen beim Zahlungsanbieter ist ein Erwerb der myVBV-Lizenz derzeit nur mit TWINT möglich. Wir arbeiten mit Hochdruck an der Lösung des Problems. ": "En raison de problèmes avec le fournisseur de paiement, l'acquisition de la licence myAVA n'est actuellement possible qu'avec TWINT. Nous travaillons d'arrache-pied pour résoudre le problème. ",
|
"Aufgrund von Problemen beim Zahlungsanbieter ist ein Erwerb der myVBV-Lizenz derzeit nur mit TWINT möglich. Wir arbeiten mit Hochdruck an der Lösung des Problems. ": "En raison de problèmes avec le fournisseur de paiement, l'acquisition de la licence myAVA n'est actuellement possible qu'avec TWINT. Nous travaillons d'arrache-pied pour résoudre le problème. ",
|
||||||
"Ausbildungsverantwortlicher": "",
|
"Ausbildungsverantwortlicher": "Responsable de formation",
|
||||||
"Benutzername": "Nom d’utilisateur",
|
"Benutzername": "Nom d’utilisateur",
|
||||||
"Berufsbildner": "",
|
"Berufsbildner": "Formateur professionnel",
|
||||||
"Bestanden": "",
|
"Bestanden": "Réussi",
|
||||||
"Bewertung von x y": "Évaluation de {{x}} {{y}}",
|
"Bewertung von x y": "Évaluation de {{x}} {{y}}",
|
||||||
"Circle": "",
|
"Circle": "Cercle",
|
||||||
"circlePage.circleContentBoxTitle": "Ce que tu vas apprendre dans ce Circle",
|
"circlePage.circleContentBoxTitle": "Ce que tu vas apprendre dans ce Circle",
|
||||||
"circlePage.contactExpertButton": "Contacter le formateur / la formatrice",
|
"circlePage.contactExpertButton": "Contacter le formateur / la formatrice",
|
||||||
"circlePage.contactExpertDescription": "Échanger avec le formateur / la formatrice si tu as des questions sur le Circle {{circleName}}.",
|
"circlePage.contactExpertDescription": "Échanger avec le formateur / la formatrice si tu as des questions sur le Circle {{circleName}}.",
|
||||||
|
|
@ -379,7 +375,6 @@
|
||||||
"circlePage.gotQuestions": "As-tu des questions?",
|
"circlePage.gotQuestions": "As-tu des questions?",
|
||||||
"circlePage.Im KompetenzNavi anschauen": "Afficher dans la « NaviCompétence »",
|
"circlePage.Im KompetenzNavi anschauen": "Afficher dans la « NaviCompétence »",
|
||||||
"circlePage.learnMore": "Pour en savoir plus",
|
"circlePage.learnMore": "Pour en savoir plus",
|
||||||
"Cockpit anschauen": "Montrer le Cockpit",
|
|
||||||
"cockpit.all": "Tous",
|
"cockpit.all": "Tous",
|
||||||
"cockpit.examsDone": "Examens remis par les participants.",
|
"cockpit.examsDone": "Examens remis par les participants.",
|
||||||
"cockpit.feedbacksDone": "Retours envoyés par les participants.",
|
"cockpit.feedbacksDone": "Retours envoyés par les participants.",
|
||||||
|
|
@ -411,7 +406,6 @@
|
||||||
"Der Preis für den Lehrgang «Versicherungsvermittler-/in VBV» beträgt CHF 300 exkl. MWSt.. Mit dem Kauf erhältst du Zugang zum Lernpfad und den Lernmedien.": "Le prix de la formation \"Intermédiaire d'assurance/intermédiaire AFA\" est de 300 CHF hors TVA. L'achat te donne accès au parcours d'apprentissage et aux médias d'apprentissage.",
|
"Der Preis für den Lehrgang «Versicherungsvermittler-/in VBV» beträgt CHF 300 exkl. MWSt.. Mit dem Kauf erhältst du Zugang zum Lernpfad und den Lernmedien.": "Le prix de la formation \"Intermédiaire d'assurance/intermédiaire AFA\" est de 300 CHF hors TVA. L'achat te donne accès au parcours d'apprentissage et aux médias d'apprentissage.",
|
||||||
"dueDates.noDueDatesAvailable": "Pas de dates disponibles",
|
"dueDates.noDueDatesAvailable": "Pas de dates disponibles",
|
||||||
"dueDates.showAllDueDates": "Afficher tous les dates",
|
"dueDates.showAllDueDates": "Afficher tous les dates",
|
||||||
"Durchführung": "Volée",
|
|
||||||
"edoniqTest.checkboxTitle": "Accepter les conditions et effectuer le test",
|
"edoniqTest.checkboxTitle": "Accepter les conditions et effectuer le test",
|
||||||
"edoniqTest.deadlineInPast": "Le test ne peut plus être effectué car la date limite de soumission est dépassée.",
|
"edoniqTest.deadlineInPast": "Le test ne peut plus être effectué car la date limite de soumission est dépassée.",
|
||||||
"edoniqTest.qualifiesForExtendedTime": "Je confirme que j'ai droit à un test avec compensation des inégalités.",
|
"edoniqTest.qualifiesForExtendedTime": "Je confirme que j'ai droit à un test avec compensation des inégalités.",
|
||||||
|
|
@ -421,7 +415,6 @@
|
||||||
"edoniqTest.testDescription": "Effectuez le test suivant. Le test ne peut être effectué qu'une seule fois et est pertinent pour la note.",
|
"edoniqTest.testDescription": "Effectuez le test suivant. Le test ne peut être effectué qu'une seule fois et est pertinent pour la note.",
|
||||||
"edoniqTest.testSubmitted": "Vous avez terminé ce test",
|
"edoniqTest.testSubmitted": "Vous avez terminé ce test",
|
||||||
"edoniqTest.viewResults": "Voir les résultats",
|
"edoniqTest.viewResults": "Voir les résultats",
|
||||||
"Elemente zu erledigen": "Eléments à faire",
|
|
||||||
"Ergebnisse anschauen": "Consulter les résultats",
|
"Ergebnisse anschauen": "Consulter les résultats",
|
||||||
"Ergebnisse anzeigen": "Afficher les résultats",
|
"Ergebnisse anzeigen": "Afficher les résultats",
|
||||||
"Feedback": "Feedback",
|
"Feedback": "Feedback",
|
||||||
|
|
@ -471,7 +464,6 @@
|
||||||
"footer.dataProtectionText": "Dispositions sur la protection des données",
|
"footer.dataProtectionText": "Dispositions sur la protection des données",
|
||||||
"footer.imprintLink": "https://www.vbv.ch/fr/impressum",
|
"footer.imprintLink": "https://www.vbv.ch/fr/impressum",
|
||||||
"footer.imprintText": "Impressum",
|
"footer.imprintText": "Impressum",
|
||||||
"Freigabetermin Bewertungen:": "Date de remise des évaluations :",
|
|
||||||
"Füge dein Profilbild hinzu und ergänze die fehlenden Angaben.": "Ajoute ta photo de profil et complète les informations manquantes.",
|
"Füge dein Profilbild hinzu und ergänze die fehlenden Angaben.": "Ajoute ta photo de profil et complète les informations manquantes.",
|
||||||
"Geleitete Fallarbeit": "Étude de cas dirigée",
|
"Geleitete Fallarbeit": "Étude de cas dirigée",
|
||||||
"general.back": "Retour",
|
"general.back": "Retour",
|
||||||
|
|
@ -479,18 +471,14 @@
|
||||||
"general.backToCircle": "Revenir au Circle",
|
"general.backToCircle": "Revenir au Circle",
|
||||||
"general.backToLearningPath": "Revenir au programme de formation",
|
"general.backToLearningPath": "Revenir au programme de formation",
|
||||||
"general.cancel": "Annuler",
|
"general.cancel": "Annuler",
|
||||||
"general.certificate_many": "Certificats",
|
|
||||||
"general.certificate_one": "Certificat",
|
"general.certificate_one": "Certificat",
|
||||||
"general.certificate_other": "Certificats",
|
"general.certificate_other": "Certificats",
|
||||||
"general.circles": "Circles",
|
"general.circles": "Circles",
|
||||||
"general.close": "Fermer",
|
"general.close": "Fermer",
|
||||||
"general.exam_many": "Examens",
|
|
||||||
"general.exam_one": "Examen",
|
"general.exam_one": "Examen",
|
||||||
"general.exam_other": "Examens",
|
"general.exam_other": "Examens",
|
||||||
"general.examResult_many": "Résultats de l’examen",
|
|
||||||
"general.examResult_one": "Résultat de l’examen",
|
"general.examResult_one": "Résultat de l’examen",
|
||||||
"general.examResult_other": "Résultats de l’examen",
|
"general.examResult_other": "Résultats de l’examen",
|
||||||
"general.feedback_many": "Feed-backs",
|
|
||||||
"general.feedback_one": "Feed-back",
|
"general.feedback_one": "Feed-back",
|
||||||
"general.feedback_other": "Feed-backs",
|
"general.feedback_other": "Feed-backs",
|
||||||
"general.im circle x anschauen": "Regarder dans le Circle «{{x}}»",
|
"general.im circle x anschauen": "Regarder dans le Circle «{{x}}»",
|
||||||
|
|
@ -501,7 +489,6 @@
|
||||||
"general.next": "Continuer",
|
"general.next": "Continuer",
|
||||||
"general.nextStep": "Cela continue",
|
"general.nextStep": "Cela continue",
|
||||||
"general.no": "Non",
|
"general.no": "Non",
|
||||||
"general.notification_many": "Notifications",
|
|
||||||
"general.notification_one": "Notification",
|
"general.notification_one": "Notification",
|
||||||
"general.notification_other": "Notifications",
|
"general.notification_other": "Notifications",
|
||||||
"general.profileLink": "Détails",
|
"general.profileLink": "Détails",
|
||||||
|
|
@ -514,21 +501,14 @@
|
||||||
"general.start": "C’est parti !",
|
"general.start": "C’est parti !",
|
||||||
"general.submission": "Remise",
|
"general.submission": "Remise",
|
||||||
"general.title": "myAFA",
|
"general.title": "myAFA",
|
||||||
"general.transferTask_many": "Exercices d’application",
|
|
||||||
"general.transferTask_one": "Exercice d’application",
|
"general.transferTask_one": "Exercice d’application",
|
||||||
"general.transferTask_other": "Exercices d’application",
|
"general.transferTask_other": "Exercices d’application",
|
||||||
"general.yes": "Oui",
|
"general.yes": "Oui",
|
||||||
"Generation": "",
|
|
||||||
"Hast du Fragen?": "As-tu des questions?",
|
"Hast du Fragen?": "As-tu des questions?",
|
||||||
"Hier überprüfst und bestätigst du die Anwesenheit deiner Teilnehmenden.": "Ici, vous vérifiez et confirmez la présence de vos participants.",
|
"Hier überprüfst und bestätigst du die Anwesenheit deiner Teilnehmenden.": "Ici, vous vérifiez et confirmez la présence de vos participants.",
|
||||||
"Ich will die Anwesenheit der untenstehenden Personen definitiv bestätigen.": "Je souhaite confirmer définitivement la présence des personnes ci-dessous.",
|
"Ich will die Anwesenheit der untenstehenden Personen definitiv bestätigen.": "Je souhaite confirmer définitivement la présence des personnes ci-dessous.",
|
||||||
"Jahr": "",
|
"Kompetenznachweise": "Éléments de contrôle",
|
||||||
"Keine Auftragsdetails verfügbar.": "",
|
|
||||||
"Kompetenznachweise": "",
|
|
||||||
"Kompetenzprofil": "",
|
|
||||||
"Kosten im": "Coûts en",
|
"Kosten im": "Coûts en",
|
||||||
"Kosten in": "",
|
|
||||||
"Kosten in 2024": "",
|
|
||||||
"language.de": "Deutsch",
|
"language.de": "Deutsch",
|
||||||
"language.fr": "Français",
|
"language.fr": "Français",
|
||||||
"language.it": "Italiano",
|
"language.it": "Italiano",
|
||||||
|
|
@ -540,7 +520,6 @@
|
||||||
"learningContentTypes.feedback": "Feedback",
|
"learningContentTypes.feedback": "Feedback",
|
||||||
"learningContentTypes.knowledgeAssessment": "Test",
|
"learningContentTypes.knowledgeAssessment": "Test",
|
||||||
"learningContentTypes.learningModule": "Module de formation",
|
"learningContentTypes.learningModule": "Module de formation",
|
||||||
"learningContentTypes.mandatory_casework": "",
|
|
||||||
"learningContentTypes.placeholder": "en cours de réalisation",
|
"learningContentTypes.placeholder": "en cours de réalisation",
|
||||||
"learningContentTypes.praxisAssignment": "Mandat",
|
"learningContentTypes.praxisAssignment": "Mandat",
|
||||||
"learningContentTypes.prepAssignment": "Mandat de préparation",
|
"learningContentTypes.prepAssignment": "Mandat de préparation",
|
||||||
|
|
@ -558,9 +537,6 @@
|
||||||
"learningPathPage.showListView": "Afficher la liste",
|
"learningPathPage.showListView": "Afficher la liste",
|
||||||
"learningPathPage.topics": "Thèmes :",
|
"learningPathPage.topics": "Thèmes :",
|
||||||
"learningPathPage.welcomeBack": "Cela fait plaisir de te revoir dans ta formation :",
|
"learningPathPage.welcomeBack": "Cela fait plaisir de te revoir dans ta formation :",
|
||||||
"Lehrgang": "Formation",
|
|
||||||
"Lernbegleitung einladen": "",
|
|
||||||
"Lernpfad kaufen": "",
|
|
||||||
"login.demoLogin": "Connexion Demo",
|
"login.demoLogin": "Connexion Demo",
|
||||||
"login.guidelineFile": "Inscription_myAFA.pdf",
|
"login.guidelineFile": "Inscription_myAFA.pdf",
|
||||||
"login.guidelineText": "Découvre comment t'inscrire en tant qu'apprenant-e",
|
"login.guidelineText": "Découvre comment t'inscrire en tant qu'apprenant-e",
|
||||||
|
|
@ -572,40 +548,31 @@
|
||||||
"mainNavigation.logout": "Se déconnecter",
|
"mainNavigation.logout": "Se déconnecter",
|
||||||
"mainNavigation.profile": "Profil",
|
"mainNavigation.profile": "Profil",
|
||||||
"mediaLibrary.handlungsfelder.description": "Trouve toutes les ressources des champs d’action, comme les outils didactiques, les liens et autres informations utiles.",
|
"mediaLibrary.handlungsfelder.description": "Trouve toutes les ressources des champs d’action, comme les outils didactiques, les liens et autres informations utiles.",
|
||||||
"mediaLibrary.handlungsfelder.title_many": "Champs d’action",
|
|
||||||
"mediaLibrary.handlungsfelder.title_one": "Champ d’action",
|
"mediaLibrary.handlungsfelder.title_one": "Champ d’action",
|
||||||
"mediaLibrary.handlungsfelder.title_other": "Champs d’action",
|
"mediaLibrary.handlungsfelder.title_other": "Champs d’action",
|
||||||
"mediaLibrary.learningMedia.description": "Trouve une liste complète des livres, manuels et autres outils qui ont été mentionnés pendant le cours.",
|
"mediaLibrary.learningMedia.description": "Trouve une liste complète des livres, manuels et autres outils qui ont été mentionnés pendant le cours.",
|
||||||
"mediaLibrary.learningMedia.titel": "Outils didactiques ",
|
"mediaLibrary.learningMedia.titel": "Outils didactiques ",
|
||||||
"mediaLibrary.show": "Voir la médiathèque",
|
"mediaLibrary.show": "Voir la médiathèque",
|
||||||
"mediaLibrary.title": "Médiathèque",
|
"mediaLibrary.title": "Médiathèque",
|
||||||
"Meine Lernbegleiter": "",
|
|
||||||
"Meine Praxisbildner": "Mes formateurs pratiques",
|
"Meine Praxisbildner": "Mes formateurs pratiques",
|
||||||
"Member": "Participants",
|
"Member": "Participants",
|
||||||
"MentorUK": "Formateur/-trice pratique",
|
"MentorUK": "Formateur/-trice pratique",
|
||||||
"MentorVV": "Tuteur",
|
"MentorVV": "Tuteur",
|
||||||
"messages.sendMessage": "Écrire un message",
|
"messages.sendMessage": "Écrire un message",
|
||||||
"MS Teams öffnen": "Ouvrir MS Teams ",
|
"MS Teams öffnen": "Ouvrir MS Teams ",
|
||||||
"Nach der Bezahlung von 300 CHF exkl. MWSt. erhältst du Zugang für den gesamten Lehrgang (inkl. Prüfung).": "",
|
|
||||||
"Neuen Praxisbildner einladen": "Inviter un nouveau formateur pratique",
|
"Neuen Praxisbildner einladen": "Inviter un nouveau formateur pratique",
|
||||||
"Nicht bestanden": "",
|
"Nicht bestanden": "Échoué",
|
||||||
"notifications.load_more": "Télécharger davantage",
|
"notifications.load_more": "Télécharger davantage",
|
||||||
"notifications.no_notifications": "Tu n’as reçu aucune notification pour le moment",
|
"notifications.no_notifications": "Tu n’as reçu aucune notification pour le moment",
|
||||||
"Nächste Termine": "Prochaines dates",
|
"Nächste Termine": "Prochaines dates",
|
||||||
"Passwort": "Mot de passe",
|
"Passwort": "Mot de passe",
|
||||||
"Personen": "",
|
|
||||||
"profile.": "",
|
|
||||||
"profile.all": "Toutes branches",
|
"profile.all": "Toutes branches",
|
||||||
"profile.krankenzusatzversicherung": "Maladie complémentaire",
|
"profile.krankenzusatzversicherung": "Maladie complémentaire",
|
||||||
"profile.leben": "Vie",
|
"profile.leben": "Vie",
|
||||||
"profile.nichtleben": "Non-vie",
|
"profile.nichtleben": "Non-vie",
|
||||||
"profile.null": "",
|
|
||||||
"Präsenzkurs": "",
|
|
||||||
"receivedEvaluation.no": "Il faut que tu regardes cela encore une fois de plus près",
|
"receivedEvaluation.no": "Il faut que tu regardes cela encore une fois de plus près",
|
||||||
"receivedEvaluation.yes": "Oui, tu peux le faire",
|
"receivedEvaluation.yes": "Oui, tu peux le faire",
|
||||||
"Reflexion": "",
|
"Reflexion": "Réflexion",
|
||||||
"Region": "",
|
|
||||||
"Rolle": "",
|
|
||||||
"Sehr unzufrieden": "très insatisfait",
|
"Sehr unzufrieden": "très insatisfait",
|
||||||
"Sehr zufrieden": "très satisfait",
|
"Sehr zufrieden": "très satisfait",
|
||||||
"selfEvaluation.instruction.0": "Überprüfe, ob du in der Lernheinheit",
|
"selfEvaluation.instruction.0": "Überprüfe, ob du in der Lernheinheit",
|
||||||
|
|
@ -631,13 +598,6 @@
|
||||||
"start.vvDescription": "Le parcours d'apprentissage et les médias d'apprentissage qui te préparent à l'examen d' «intermédiare d'assurance AFA».",
|
"start.vvDescription": "Le parcours d'apprentissage et les médias d'apprentissage qui te préparent à l'examen d' «intermédiare d'assurance AFA».",
|
||||||
"Status anschauen": "Consulter le statut",
|
"Status anschauen": "Consulter le statut",
|
||||||
"Supervisor": "Responsable CI",
|
"Supervisor": "Responsable CI",
|
||||||
"Teilnehmer": "Participants",
|
|
||||||
"Teilnehmer im": "Participants en",
|
|
||||||
"Teilnehmer im 2024": "",
|
|
||||||
"Teilnehmer nach Zulassungsprofilen": "Participants par profil d'admission",
|
|
||||||
"Teilnehmer nach Zulassungsprofilen im": "",
|
|
||||||
"Termin nicht festgelegt": "",
|
|
||||||
"TODO: Nächste Termine": "TODO: prochaines dates",
|
|
||||||
"Trainer": "Formateur / Formatrice",
|
"Trainer": "Formateur / Formatrice",
|
||||||
"Trainerunterlagen": "Documents du formateur / de la formatrice",
|
"Trainerunterlagen": "Documents du formateur / de la formatrice",
|
||||||
"TrainingResponsible": "Responsable de la formation",
|
"TrainingResponsible": "Responsable de la formation",
|
||||||
|
|
@ -647,7 +607,6 @@
|
||||||
"uk.dashboard.allClear": "Tout est clair ?",
|
"uk.dashboard.allClear": "Tout est clair ?",
|
||||||
"uk.dashboard.nextSteps": "En tant que personne en formation, tu seras attribué(e) à un cours interentreprise dans les prochains jours. Puis tu verras apparaître ici ta boîte de formation personnalisée avec les informations complémentaires.",
|
"uk.dashboard.nextSteps": "En tant que personne en formation, tu seras attribué(e) à un cours interentreprise dans les prochains jours. Puis tu verras apparaître ici ta boîte de formation personnalisée avec les informations complémentaires.",
|
||||||
"uk.dashboard.welcome": "Tout s'est bien passé, tu es maintenant inscrit/e à l'environnement d'apprentissage numérique de l'Association pour la formation professionnelle en assurance (AFA) !",
|
"uk.dashboard.welcome": "Tout s'est bien passé, tu es maintenant inscrit/e à l'environnement d'apprentissage numérique de l'Association pour la formation professionnelle en assurance (AFA) !",
|
||||||
"UnknownRoleKey": "",
|
|
||||||
"unzufrieden": "insatisfait",
|
"unzufrieden": "insatisfait",
|
||||||
"Vorbedingung": "Condition préalable",
|
"Vorbedingung": "Condition préalable",
|
||||||
"Vorbereitungsaufgabe": "Mandat de préparation",
|
"Vorbereitungsaufgabe": "Mandat de préparation",
|
||||||
|
|
@ -665,6 +624,5 @@
|
||||||
"Zu erledigen": "",
|
"Zu erledigen": "",
|
||||||
"zufrieden": "satisfait",
|
"zufrieden": "satisfait",
|
||||||
"Zulassungsprofil": "",
|
"Zulassungsprofil": "",
|
||||||
"Zur Zeit sind keine Termine vorhanden": "Aucune réunion n’est prévue pour le moment",
|
"Zur Zeit sind keine Termine vorhanden": "Aucune réunion n’est prévue pour le moment"
|
||||||
"Überbetriebliche Kurse": ""
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,9 @@
|
||||||
{
|
{
|
||||||
"20%": "",
|
"20%": "20%",
|
||||||
"40%": "",
|
"40%": "40%",
|
||||||
"60%": "",
|
"60%": "60%",
|
||||||
"80%": "",
|
"80%": "80%",
|
||||||
"100%": "",
|
"100%": "100%",
|
||||||
"a.": "",
|
|
||||||
"a.a.AlleCircle": "",
|
|
||||||
"a.Abbrechen": "Annullare",
|
"a.Abbrechen": "Annullare",
|
||||||
"a.Abgabetermin": "Termine di consegna",
|
"a.Abgabetermin": "Termine di consegna",
|
||||||
"a.Abgezogene Punkte": "Punti detratti",
|
"a.Abgezogene Punkte": "Punti detratti",
|
||||||
|
|
@ -16,13 +14,11 @@
|
||||||
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen.": "Al momento non hai invitato nessuna persona come tutor.",
|
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen.": "Al momento non hai invitato nessuna persona come tutor.",
|
||||||
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen. Lade jetzt jemanden ein.": "Al momento non hai invitato nessuna persona come tutor. Invita qualcuno ora.",
|
"a.Aktuell hast du noch keine Person als Lernbegleitung eingeladen. Lade jetzt jemanden ein.": "Al momento non hai invitato nessuna persona come tutor. Invita qualcuno ora.",
|
||||||
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen.": "Attualmente non hai ancora invitato nessuna persona come formatore/-trice pratico/a.",
|
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen.": "Attualmente non hai ancora invitato nessuna persona come formatore/-trice pratico/a.",
|
||||||
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen. Lade jetzt jemanden ein.": "",
|
"a.Aktuell hast du noch keine Person als Praxisbildner eingeladen. Lade jetzt jemanden ein.": "Attualmente non hai invitato nessuno come formatore pratico. Invita qualcuno ora.",
|
||||||
"a.Aktueller Lehrgang": "Corso in corso",
|
"a.Aktueller Lehrgang": "Corso in corso",
|
||||||
"a.Allbranche": "Tutti i settori",
|
"a.Allbranche": "Tutti i settori",
|
||||||
"a.Alle": "Tutto",
|
"a.Alle": "Tutto",
|
||||||
"a.Alle aufklappen": "Apri tutto",
|
"a.Alle aufklappen": "Apri tutto",
|
||||||
"a.Alle Lehrgang": "",
|
|
||||||
"a.Alle Lehrgänge": "",
|
|
||||||
"a.Alle Lehrgänge anzeigen": "Mostra tutti i corsi",
|
"a.Alle Lehrgänge anzeigen": "Mostra tutti i corsi",
|
||||||
"a.Alle Personen anzeigen": "Mostra tutte le persone",
|
"a.Alle Personen anzeigen": "Mostra tutte le persone",
|
||||||
"a.Alle Termine anzeigen": "Mostrare tutte le date",
|
"a.Alle Termine anzeigen": "Mostrare tutte le date",
|
||||||
|
|
@ -30,8 +26,6 @@
|
||||||
"a.AlleCircle": "Circle: Tutti",
|
"a.AlleCircle": "Circle: Tutti",
|
||||||
"a.AlleDurchführungen": "Svolgimenti: Tutti",
|
"a.AlleDurchführungen": "Svolgimenti: Tutti",
|
||||||
"a.AlleGenerationen": "Generazioni: Tutte",
|
"a.AlleGenerationen": "Generazioni: Tutte",
|
||||||
"a.AlleKreise": "",
|
|
||||||
"a.AlleRegionen": "",
|
|
||||||
"a.AlleTermine": "Appuntamenti",
|
"a.AlleTermine": "Appuntamenti",
|
||||||
"a.AlleTypen": "Tutti i tipi",
|
"a.AlleTypen": "Tutti i tipi",
|
||||||
"a.Allgemeine Zufriedenheit": "Soddisfazione generale ",
|
"a.Allgemeine Zufriedenheit": "Soddisfazione generale ",
|
||||||
|
|
@ -39,6 +33,8 @@
|
||||||
"a.An Durchführung teilnehmen": "Partecipare alla sessione",
|
"a.An Durchführung teilnehmen": "Partecipare alla sessione",
|
||||||
"a.Anmelden": "Login",
|
"a.Anmelden": "Login",
|
||||||
"a.Anwesenheit": "Presenza",
|
"a.Anwesenheit": "Presenza",
|
||||||
|
"a.Anwesenheit Präsenzkurse": "Presenza ai corsi",
|
||||||
|
"a.Anwesenheitskontrolle Präsenzkurse": "Controllo di presenza ai corsi",
|
||||||
"a.Arbeiten": "Lavori",
|
"a.Arbeiten": "Lavori",
|
||||||
"a.assignment.evaluationFeedbackDescriptionText": "Pubblica il tuo feedback in modo che possa essere condiviso con il/la partecipante.",
|
"a.assignment.evaluationFeedbackDescriptionText": "Pubblica il tuo feedback in modo che possa essere condiviso con il/la partecipante.",
|
||||||
"a.assignment.evaluationInstrumentDescriptionTextFeedback": "Si prega di sostenere {{name}} e di fornire un feedback sul compito.",
|
"a.assignment.evaluationInstrumentDescriptionTextFeedback": "Si prega di sostenere {{name}} e di fornire un feedback sul compito.",
|
||||||
|
|
@ -53,9 +49,9 @@
|
||||||
"a.Bewertung": "Valutazione",
|
"a.Bewertung": "Valutazione",
|
||||||
"a.Bewertung abschliessen": "Valutazione completa",
|
"a.Bewertung abschliessen": "Valutazione completa",
|
||||||
"a.Bewertung ansehen": "Visualizza recensione",
|
"a.Bewertung ansehen": "Visualizza recensione",
|
||||||
"a.Bewertung bearbeiten": "",
|
"a.Bewertung bearbeiten": "Modificare la valutazione",
|
||||||
"a.Bewertung bearbeitet": "",
|
"a.Bewertung bearbeitet": "Valutazione modificata",
|
||||||
"a.Bewertung erneut bearbeitet": "",
|
"a.Bewertung erneut bearbeitet": "Valutazione modificata nuovamente",
|
||||||
"a.Bewertung fortsetzen": "Continua la valutazione",
|
"a.Bewertung fortsetzen": "Continua la valutazione",
|
||||||
"a.Bewertung Freigabe": "Rilascio della valutazione",
|
"a.Bewertung Freigabe": "Rilascio della valutazione",
|
||||||
"a.Bewertung freigeben": "Rilasciare la valutazione",
|
"a.Bewertung freigeben": "Rilasciare la valutazione",
|
||||||
|
|
@ -106,7 +102,8 @@
|
||||||
"a.E-Mail Adresse": "Indirizzo e-mail",
|
"a.E-Mail Adresse": "Indirizzo e-mail",
|
||||||
"a.Einladung": "Invito",
|
"a.Einladung": "Invito",
|
||||||
"a.Einladung abschicken": "Inviare l'invito",
|
"a.Einladung abschicken": "Inviare l'invito",
|
||||||
"a.Email": "",
|
"a.Elemente zu erledigen": "Elementi da completare",
|
||||||
|
"a.Email": "E-mail",
|
||||||
"a.Entfernen": "Rimuovere",
|
"a.Entfernen": "Rimuovere",
|
||||||
"a.Erfahrungsnote üK": "Nota relativa all’insegnamento professionale CI",
|
"a.Erfahrungsnote üK": "Nota relativa all’insegnamento professionale CI",
|
||||||
"a.Ergebnis bewerten": "Valutare il risultato",
|
"a.Ergebnis bewerten": "Valutare il risultato",
|
||||||
|
|
@ -116,10 +113,10 @@
|
||||||
"a.Ergebnisse bewerten": "Valutare i risultati",
|
"a.Ergebnisse bewerten": "Valutare i risultati",
|
||||||
"a.Ergebnisse teilen": "Condividere i risultati",
|
"a.Ergebnisse teilen": "Condividere i risultati",
|
||||||
"a.Erneut bearbeiten": "Modifica di nuovo",
|
"a.Erneut bearbeiten": "Modifica di nuovo",
|
||||||
"a.Experte": "",
|
"a.Experte": "Esperto",
|
||||||
"a.Feedback abschliessen": "Completa il feedback",
|
"a.Feedback abschliessen": "Completa il feedback",
|
||||||
"a.Feedback ansehen": "Visualizza il feedback",
|
"a.Feedback ansehen": "Visualizza il feedback",
|
||||||
"a.Feedback erneut bearbeitet": "",
|
"a.Feedback erneut bearbeitet": "Feedback modificato nuovamente",
|
||||||
"a.Feedback fortsetzen": "Prosegui il feedback",
|
"a.Feedback fortsetzen": "Prosegui il feedback",
|
||||||
"a.Feedback Freigabe": "Pubblicazione del feedback",
|
"a.Feedback Freigabe": "Pubblicazione del feedback",
|
||||||
"a.Feedback freigeben": "Pubblica il feedback",
|
"a.Feedback freigeben": "Pubblica il feedback",
|
||||||
|
|
@ -134,6 +131,8 @@
|
||||||
"a.Firmenanschrift": "Indirizzo aziendale",
|
"a.Firmenanschrift": "Indirizzo aziendale",
|
||||||
"a.Firmenname": "Nome dell'azienda",
|
"a.Firmenname": "Nome dell'azienda",
|
||||||
"a.Franzosisch": "Francese",
|
"a.Franzosisch": "Francese",
|
||||||
|
"a.Freigabetermin Bewertung": "Termine di pubblicazione della valutazione",
|
||||||
|
"a.Freigabetermin Bewertungen": "Termine di pubblicazione delle valutazioni",
|
||||||
"a.Fremdeinschätzung anzeigen": "Évaluation externe",
|
"a.Fremdeinschätzung anzeigen": "Évaluation externe",
|
||||||
"a.Fremdeinschätzung freigeben": "Rilasciare la valutazione esterna",
|
"a.Fremdeinschätzung freigeben": "Rilasciare la valutazione esterna",
|
||||||
"a.Fremdeinschätzung von FEEDBACK_PROVIDER_NAME": "Valutazione esterna di {{FEEDBACK_PROVIDER_NAME}}",
|
"a.Fremdeinschätzung von FEEDBACK_PROVIDER_NAME": "Valutazione esterna di {{FEEDBACK_PROVIDER_NAME}}",
|
||||||
|
|
@ -156,18 +155,19 @@
|
||||||
"a.Hast du Fragen? Schau dir unsere FAQ an oder kontaktiere uns": "Hai domande? Consulta le nostre {faq} o contattaci",
|
"a.Hast du Fragen? Schau dir unsere FAQ an oder kontaktiere uns": "Hai domande? Consulta le nostre {faq} o contattaci",
|
||||||
"a.Hast du schon ein Konto?": "Hai già un account?",
|
"a.Hast du schon ein Konto?": "Hai già un account?",
|
||||||
"a.Hausnummmer": "Numero civico",
|
"a.Hausnummmer": "Numero civico",
|
||||||
"a.Hier kannst du ausschliesslich mit einer Kreditkarte bezahlen.": "",
|
|
||||||
"a.Hier kannst du Personen einladen, damit sie deine Lernbegleitung werden. Zudem siehst du jederzeit eine Übersicht aller Personen, die du bereits als Lernbegleitung hinzugefügt hast.": "Qui puoi invitare persone a diventare il tuo tutor. Inoltre, puoi sempre vedere una panoramica di tutte le persone che hai già aggiunto come tutor.",
|
"a.Hier kannst du Personen einladen, damit sie deine Lernbegleitung werden. Zudem siehst du jederzeit eine Übersicht aller Personen, die du bereits als Lernbegleitung hinzugefügt hast.": "Qui puoi invitare persone a diventare il tuo tutor. Inoltre, puoi sempre vedere una panoramica di tutte le persone che hai già aggiunto come tutor.",
|
||||||
"a.Höchstpunktzahl": "Punteggio massimo",
|
"a.Höchstpunktzahl": "Punteggio massimo",
|
||||||
"a.Ich kann das": "Ho compreso tutto",
|
"a.Ich kann das": "Ho compreso tutto",
|
||||||
"a.Italienisch": "Italiano",
|
"a.Italienisch": "Italiano",
|
||||||
"a.Ja, NAME kann das.": "Sì, {{NAME}} può farlo",
|
"a.Ja, NAME kann das.": "Sì, {{NAME}} può farlo",
|
||||||
|
"a.Jahr": "Anno",
|
||||||
"a.Jetzt mit Lehrgang starten": "Inizia ora il corso",
|
"a.Jetzt mit Lehrgang starten": "Inizia ora il corso",
|
||||||
"a.Kann FULLNAME das?": "{{FULLNAME}} può farlo?",
|
"a.Kann FULLNAME das?": "{{FULLNAME}} può farlo?",
|
||||||
"a.Kein Circle verfügbar oder ausgewählt.": "Nessun Circle disponibile o selezionato.",
|
"a.Kein Circle verfügbar oder ausgewählt.": "Nessun Circle disponibile o selezionato.",
|
||||||
"a.Keine Angabe": "Nessuna indicazione",
|
"a.Keine Angabe": "Nessuna indicazione",
|
||||||
"a.Kommentar": "",
|
"a.Keine Auftragsdetails verfügbar.": "Non sono disponibili i dettagli dell'ordine.",
|
||||||
"a.Kommentar erfassen": "",
|
"a.Kommentar": "Commento",
|
||||||
|
"a.Kommentar erfassen": "Inserisci il commento",
|
||||||
"a.Kompetenznachweis": "Controllo delle competenze",
|
"a.Kompetenznachweis": "Controllo delle competenze",
|
||||||
"a.Kompetenznachweis-Elemente": "Elementi del controllo",
|
"a.Kompetenznachweis-Elemente": "Elementi del controllo",
|
||||||
"a.Kompetenznachweise": "Controlli delle competenze",
|
"a.Kompetenznachweise": "Controlli delle competenze",
|
||||||
|
|
@ -175,7 +175,6 @@
|
||||||
"a.Konto erstellen": "Crea un account",
|
"a.Konto erstellen": "Crea un account",
|
||||||
"a.Kosten": "Costi",
|
"a.Kosten": "Costi",
|
||||||
"a.Kosten aller Jahre ansehen": "Visualizza i costi per tutti gli anni",
|
"a.Kosten aller Jahre ansehen": "Visualizza i costi per tutti gli anni",
|
||||||
"a.Kosten in 2024": "",
|
|
||||||
"a.Krankenzusatzversicherung": "Assicurazione sanitaria integrativa",
|
"a.Krankenzusatzversicherung": "Assicurazione sanitaria integrativa",
|
||||||
"a.Krankenzusatzversicherungen": "Assicurazione sanitaria integrativa",
|
"a.Krankenzusatzversicherungen": "Assicurazione sanitaria integrativa",
|
||||||
"a.Lade ein Profilbild hoch, damit dich andere Personen auf den ersten Blick erkennen.": "Carica un'immagine del profilo così che altre persone possano riconoscerti a prima vista.",
|
"a.Lade ein Profilbild hoch, damit dich andere Personen auf den ersten Blick erkennen.": "Carica un'immagine del profilo così che altre persone possano riconoscerti a prima vista.",
|
||||||
|
|
@ -186,7 +185,7 @@
|
||||||
"a.Lehrgang kaufen": "Acquistare il corso",
|
"a.Lehrgang kaufen": "Acquistare il corso",
|
||||||
"a.Leistungsziel": "Obiettivo di valutazione",
|
"a.Leistungsziel": "Obiettivo di valutazione",
|
||||||
"a.Leistungsziele": "Obiettivo di valutazione",
|
"a.Leistungsziele": "Obiettivo di valutazione",
|
||||||
"a.Lernbegleiter": "",
|
"a.Lernbegleiter": "Tutor",
|
||||||
"a.Lernbegleitung": "Tutor",
|
"a.Lernbegleitung": "Tutor",
|
||||||
"a.Lernbegleitung auswählen": "Tutoraggio selezionare",
|
"a.Lernbegleitung auswählen": "Tutoraggio selezionare",
|
||||||
"a.Lernbegleitung einladen": "Invitare un tutor",
|
"a.Lernbegleitung einladen": "Invitare un tutor",
|
||||||
|
|
@ -212,8 +211,7 @@
|
||||||
"a.NUMBER Elemente abgeschlossen": "{NUMBER} elementi completati",
|
"a.NUMBER Elemente abgeschlossen": "{NUMBER} elementi completati",
|
||||||
"a.NUMBER Präsenztage abgeschlossen": "{NUMBER} giorni di presenza completati",
|
"a.NUMBER Präsenztage abgeschlossen": "{NUMBER} giorni di presenza completati",
|
||||||
"a.NUMBER Teilnehmer anwesend": "{NUMBER} partecipanti presenti",
|
"a.NUMBER Teilnehmer anwesend": "{NUMBER} partecipanti presenti",
|
||||||
"a.Nächste Termine": "",
|
"a.Nächste Termine": "Prossime date",
|
||||||
"a.OldCircle": "",
|
|
||||||
"a.Optionale Anwesenheit": "Presenza opzionale",
|
"a.Optionale Anwesenheit": "Presenza opzionale",
|
||||||
"a.Ort": "Città",
|
"a.Ort": "Città",
|
||||||
"a.Personen": "Persone",
|
"a.Personen": "Persone",
|
||||||
|
|
@ -229,20 +227,20 @@
|
||||||
"a.Profil bearbeiten": "Modificare il profilo",
|
"a.Profil bearbeiten": "Modificare il profilo",
|
||||||
"a.Profil ergänzen": "Completare il profilo",
|
"a.Profil ergänzen": "Completare il profilo",
|
||||||
"a.Profilbild": "Immagine del profilo",
|
"a.Profilbild": "Immagine del profilo",
|
||||||
|
"a.Präsenzkurs": "Corso di presenza",
|
||||||
"a.Präsenztag": "Giorno di presenza",
|
"a.Präsenztag": "Giorno di presenza",
|
||||||
"a.Punkte": "punti",
|
"a.Punkte": "punti",
|
||||||
"a.Punkte aus Bewertung": "Punti della valutazione",
|
"a.Punkte aus Bewertung": "Punti della valutazione",
|
||||||
"a.PunkteVonDaniel": "",
|
|
||||||
"a.PunkteVonDaniel123": "",
|
|
||||||
"a.Rechnung": "Fattura",
|
"a.Rechnung": "Fattura",
|
||||||
"a.RechnungPaymentMethodDescription": "",
|
|
||||||
"a.Rechnungsadresse": "Indirizzo di fatturazione",
|
"a.Rechnungsadresse": "Indirizzo di fatturazione",
|
||||||
"a.Rechnungsadresse hinzufügen": "Aggiungere un indirizzo di fatturazione",
|
"a.Rechnungsadresse hinzufügen": "Aggiungere un indirizzo di fatturazione",
|
||||||
"a.Rechnungsadresse von {organisation}": "Indirizzo di fatturazione di {{organisation}}",
|
"a.Rechnungsadresse von {organisation}": "Indirizzo di fatturazione di {{organisation}}",
|
||||||
"a.Rechnungsadresse von {organisation} hinzufügen": "Aggiungere l'indirizzo di fatturazione di {{organisation}}",
|
"a.Rechnungsadresse von {organisation} hinzufügen": "Aggiungere l'indirizzo di fatturazione di {{organisation}}",
|
||||||
"a.Regionenleiter": "",
|
"a.Region": "Regione",
|
||||||
|
"a.Regionenleiter": "Responsabile regionale",
|
||||||
"a.Resultat": "Risultato",
|
"a.Resultat": "Risultato",
|
||||||
"a.Schliessen": "",
|
"a.Rolle": "Ruolo",
|
||||||
|
"a.Schliessen": "Chiudere",
|
||||||
"a.Selbst- und Fremdeinschätzungen": "Autovalutazioni e valutazioni esterne",
|
"a.Selbst- und Fremdeinschätzungen": "Autovalutazioni e valutazioni esterne",
|
||||||
"a.Selbsteinschätzung": "Auto-valutazione",
|
"a.Selbsteinschätzung": "Auto-valutazione",
|
||||||
"a.Selbsteinschätzung anschauen": "Guarda l'auto-valutazione",
|
"a.Selbsteinschätzung anschauen": "Guarda l'auto-valutazione",
|
||||||
|
|
@ -255,16 +253,17 @@
|
||||||
"a.Selbsteinschätzungen geteilt": "Auto-valutazioni condivise",
|
"a.Selbsteinschätzungen geteilt": "Auto-valutazioni condivise",
|
||||||
"a.So startest du mit diesem Lehrgang": "Ecco come iniziare questo percorso di apprendimento",
|
"a.So startest du mit diesem Lehrgang": "Ecco come iniziare questo percorso di apprendimento",
|
||||||
"a.Standort": "Posizione",
|
"a.Standort": "Posizione",
|
||||||
"a.Statistik": "",
|
"a.Statistik": "Statistiche",
|
||||||
"a.Statistik für alle Lernenden": "",
|
|
||||||
"a.Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.": "Fornisci ai tuoi partecipanti contenuti aggiuntivi.",
|
"a.Stelle deinen Lernenden zusätzliche Inhalte zur Verfügung.": "Fornisci ai tuoi partecipanti contenuti aggiuntivi.",
|
||||||
"a.Strasse": "Strada",
|
"a.Strasse": "Strada",
|
||||||
"a.Super, nun ist alles bereit. Du bist der Durchführung «{course}» zugewiesen und kannst mit dem Lehrgang starten.": "Ottimo, ora è tutto pronto. Sei assegnato alla sessione «{{course}}» e puoi iniziare il corso.",
|
"a.Super, nun ist alles bereit. Du bist der Durchführung «{course}» zugewiesen und kannst mit dem Lehrgang starten.": "Ottimo, ora è tutto pronto. Sei assegnato alla sessione «{{course}}» e puoi iniziare il corso.",
|
||||||
"a.Teilnehmer": "Partecipanti",
|
"a.Teilnehmer": "Partecipanti",
|
||||||
"a.Teilnehmer im 2024": "",
|
"a.Teilnehmer im": "I partecipanti al",
|
||||||
|
"a.Teilnehmer nach Zulassungsprofilen im": "Partecipanti per profilo di ammissione nel",
|
||||||
"a.Telefonnummer": "Numero di telefono",
|
"a.Telefonnummer": "Numero di telefono",
|
||||||
"a.Telefonnummer hat das falsche Format": "",
|
"a.Telefonnummer hat das falsche Format": "Il numero di telefono ha un formato sbagliato",
|
||||||
"a.Termin": "Data",
|
"a.Termin": "Data",
|
||||||
|
"a.Termin nicht festgelegt": "Data non fissata",
|
||||||
"a.Termine": "Date",
|
"a.Termine": "Date",
|
||||||
"a.Total {NUMBER} Antworten": "Totale {NUMBER} risposte",
|
"a.Total {NUMBER} Antworten": "Totale {NUMBER} risposte",
|
||||||
"a.Trainer": "Trainer",
|
"a.Trainer": "Trainer",
|
||||||
|
|
@ -280,7 +279,6 @@
|
||||||
"a.VorschauTeilnehmer": "Vue des participants",
|
"a.VorschauTeilnehmer": "Vue des participants",
|
||||||
"a.Wegleitung üK": "Guida CI",
|
"a.Wegleitung üK": "Guida CI",
|
||||||
"a.wegleitungUkUrl": "https://www.vbv.ch/fileadmin/vbv/Dokumente/Bildungsabschluesse/KV/Wegleitung_ueK_240215_it_V2.pdf",
|
"a.wegleitungUkUrl": "https://www.vbv.ch/fileadmin/vbv/Dokumente/Bildungsabschluesse/KV/Wegleitung_ueK_240215_it_V2.pdf",
|
||||||
"a.Weiter zur Zahlung": "",
|
|
||||||
"a.Wir haben per E-Mail eine Bestätigung an {email} geschickt.": "Abbiamo inviato una conferma via e-mail a {email}.",
|
"a.Wir haben per E-Mail eine Bestätigung an {email} geschickt.": "Abbiamo inviato una conferma via e-mail a {email}.",
|
||||||
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst.": "Scegli un profilo di ammissione in modo da iniziare il tuo corso nel posto giusto.",
|
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst.": "Scegli un profilo di ammissione in modo da iniziare il tuo corso nel posto giusto.",
|
||||||
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst. Du kannst ihn später jederzeit ändern.": "Scegli un profilo di ammissione in modo da iniziare il tuo corso nel posto giusto. Potrai cambiarlo in seguito in qualsiasi momento.",
|
"a.Wähle ein Zulassungsprofil, damit du deinen Lehrgang an der richtigen Stelle beginnen kannst. Du kannst ihn später jederzeit ändern.": "Scegli un profilo di ammissione in modo da iniziare il tuo corso nel posto giusto. Potrai cambiarlo in seguito in qualsiasi momento.",
|
||||||
|
|
@ -291,7 +289,7 @@
|
||||||
"a.Zulassungsprofil": "Profilo di ammissione",
|
"a.Zulassungsprofil": "Profilo di ammissione",
|
||||||
"a.Zulassungsprofil auswählen": "Selezionare il profilo di ammissione",
|
"a.Zulassungsprofil auswählen": "Selezionare il profilo di ammissione",
|
||||||
"a.Zum Unterlagen-Upload": "Carica documenti",
|
"a.Zum Unterlagen-Upload": "Carica documenti",
|
||||||
"a.Zurück": "",
|
"a.Zurück": "Indietro",
|
||||||
"a.Zwischenstand": "Punto intermedio",
|
"a.Zwischenstand": "Punto intermedio",
|
||||||
"a.{AVG} von {MAX}": "{AVG} di {MAX}",
|
"a.{AVG} von {MAX}": "{AVG} di {MAX}",
|
||||||
"a.{NUMBER} Bestanden": "{NUMBER} superato",
|
"a.{NUMBER} Bestanden": "{NUMBER} superato",
|
||||||
|
|
@ -306,9 +304,7 @@
|
||||||
"Alle": "Tutto",
|
"Alle": "Tutto",
|
||||||
"Anwesenheit": "Presenza",
|
"Anwesenheit": "Presenza",
|
||||||
"Anwesenheit bestätigen": "Confermare la presenza",
|
"Anwesenheit bestätigen": "Confermare la presenza",
|
||||||
"Anwesenheit Präsenzkurse": "Presenza ai corsi",
|
|
||||||
"Anwesenheit prüfen": "Verificare la presenza",
|
"Anwesenheit prüfen": "Verificare la presenza",
|
||||||
"Anwesenheitskontrolle Präsenzkurse": "Controllo di presenza ai corsi",
|
|
||||||
"assignment.acceptConditionsDisclaimer": "Accettare le condizioni e consegnare i risultati",
|
"assignment.acceptConditionsDisclaimer": "Accettare le condizioni e consegnare i risultati",
|
||||||
"assignment.assessmentDocumentDisclaimer": "Questa analisi guidata del caso viene valutata sulla base del seguente strumento di valutazione:",
|
"assignment.assessmentDocumentDisclaimer": "Questa analisi guidata del caso viene valutata sulla base del seguente strumento di valutazione:",
|
||||||
"assignment.assessmentTitle": "Valutazione",
|
"assignment.assessmentTitle": "Valutazione",
|
||||||
|
|
@ -345,10 +341,10 @@
|
||||||
"Aufgrund von Problemen beim Zahlungsanbieter ist ein Erwerb der myVBV-Lizenz derzeit nur mit TWINT möglich. Wir arbeiten mit Hochdruck an der Lösung des Problems. ": "A causa di problemi con il provider di pagamento, al momento è possibile acquistare la licenza myAFA solo con TWINT. Stiamo lavorando duramente per risolvere il problema.",
|
"Aufgrund von Problemen beim Zahlungsanbieter ist ein Erwerb der myVBV-Lizenz derzeit nur mit TWINT möglich. Wir arbeiten mit Hochdruck an der Lösung des Problems. ": "A causa di problemi con il provider di pagamento, al momento è possibile acquistare la licenza myAFA solo con TWINT. Stiamo lavorando duramente per risolvere il problema.",
|
||||||
"Ausbildungsverantwortlicher": "Addetto alla formazione",
|
"Ausbildungsverantwortlicher": "Addetto alla formazione",
|
||||||
"Benutzername": "Nome utente",
|
"Benutzername": "Nome utente",
|
||||||
"Berufsbildner": "",
|
"Berufsbildner": "Formatore professionale",
|
||||||
"Bestanden": "",
|
"Bestanden": "Superato",
|
||||||
"Bewertung von x y": "Valutazione di {{x}} {{y}}",
|
"Bewertung von x y": "Valutazione di {{x}} {{y}}",
|
||||||
"Circle": "",
|
"Circle": "Cerchio",
|
||||||
"circlePage.circleContentBoxTitle": "Cosa apprenderai in questo Circle",
|
"circlePage.circleContentBoxTitle": "Cosa apprenderai in questo Circle",
|
||||||
"circlePage.contactExpertButton": "Contattare il/la trainer",
|
"circlePage.contactExpertButton": "Contattare il/la trainer",
|
||||||
"circlePage.contactExpertDescription": "Confrontati con il/la trainer per il Circle {{circleName}}.",
|
"circlePage.contactExpertDescription": "Confrontati con il/la trainer per il Circle {{circleName}}.",
|
||||||
|
|
@ -379,7 +375,6 @@
|
||||||
"circlePage.gotQuestions": "Hai domande?",
|
"circlePage.gotQuestions": "Hai domande?",
|
||||||
"circlePage.Im KompetenzNavi anschauen": "Mostra nel \"KompetenzNavi\"",
|
"circlePage.Im KompetenzNavi anschauen": "Mostra nel \"KompetenzNavi\"",
|
||||||
"circlePage.learnMore": "Ottieni maggiori informazioni",
|
"circlePage.learnMore": "Ottieni maggiori informazioni",
|
||||||
"Cockpit anschauen": "",
|
|
||||||
"cockpit.all": "Tutti",
|
"cockpit.all": "Tutti",
|
||||||
"cockpit.examsDone": "Esami sostenuti dal/dalla partecipante.",
|
"cockpit.examsDone": "Esami sostenuti dal/dalla partecipante.",
|
||||||
"cockpit.feedbacksDone": "Feedback inviati dal/dalla partecipante.",
|
"cockpit.feedbacksDone": "Feedback inviati dal/dalla partecipante.",
|
||||||
|
|
@ -411,7 +406,6 @@
|
||||||
"Der Preis für den Lehrgang «Versicherungsvermittler-/in VBV» beträgt CHF 300 exkl. MWSt.. Mit dem Kauf erhältst du Zugang zum Lernpfad und den Lernmedien.": "Il prezzo del corso \"Intermediario/a assicurativo/a AFA\" è di 300 CHF IVA esclusa. L'acquisto ti dà accesso al percorso di apprendimento e ai supporti didattici.",
|
"Der Preis für den Lehrgang «Versicherungsvermittler-/in VBV» beträgt CHF 300 exkl. MWSt.. Mit dem Kauf erhältst du Zugang zum Lernpfad und den Lernmedien.": "Il prezzo del corso \"Intermediario/a assicurativo/a AFA\" è di 300 CHF IVA esclusa. L'acquisto ti dà accesso al percorso di apprendimento e ai supporti didattici.",
|
||||||
"dueDates.noDueDatesAvailable": "Nessuna data disponibile",
|
"dueDates.noDueDatesAvailable": "Nessuna data disponibile",
|
||||||
"dueDates.showAllDueDates": "Mostrare tutte le date",
|
"dueDates.showAllDueDates": "Mostrare tutte le date",
|
||||||
"Durchführung": "",
|
|
||||||
"edoniqTest.checkboxTitle": "Accetta le condizioni ed esegui il test",
|
"edoniqTest.checkboxTitle": "Accetta le condizioni ed esegui il test",
|
||||||
"edoniqTest.deadlineInPast": "Il test non può più essere eseguito poiché la data di consegna è scaduta.",
|
"edoniqTest.deadlineInPast": "Il test non può più essere eseguito poiché la data di consegna è scaduta.",
|
||||||
"edoniqTest.qualifiesForExtendedTime": "Confermo di avere diritto a un test con compensazione delli ineguaglianze",
|
"edoniqTest.qualifiesForExtendedTime": "Confermo di avere diritto a un test con compensazione delli ineguaglianze",
|
||||||
|
|
@ -421,7 +415,6 @@
|
||||||
"edoniqTest.testDescription": "Esegui il test seguente. Il test può essere eseguito solo una volta ed è rilevante per il voto.",
|
"edoniqTest.testDescription": "Esegui il test seguente. Il test può essere eseguito solo una volta ed è rilevante per il voto.",
|
||||||
"edoniqTest.testSubmitted": "Hai completato questo test",
|
"edoniqTest.testSubmitted": "Hai completato questo test",
|
||||||
"edoniqTest.viewResults": "Guarda i risultati",
|
"edoniqTest.viewResults": "Guarda i risultati",
|
||||||
"Elemente zu erledigen": "Elementi da completare",
|
|
||||||
"Ergebnisse anschauen": "Vedere i risultati",
|
"Ergebnisse anschauen": "Vedere i risultati",
|
||||||
"Ergebnisse anzeigen": "Mostra i risultati",
|
"Ergebnisse anzeigen": "Mostra i risultati",
|
||||||
"Feedback": "Feedback",
|
"Feedback": "Feedback",
|
||||||
|
|
@ -471,7 +464,6 @@
|
||||||
"footer.dataProtectionText": "Dichiarazione sulla protezione dei dati",
|
"footer.dataProtectionText": "Dichiarazione sulla protezione dei dati",
|
||||||
"footer.imprintLink": "https://www.vbv.ch/it/impressum",
|
"footer.imprintLink": "https://www.vbv.ch/it/impressum",
|
||||||
"footer.imprintText": "Impressum",
|
"footer.imprintText": "Impressum",
|
||||||
"Freigabetermin Bewertungen:": "Termine di pubblicazione delle valutazioni:",
|
|
||||||
"Füge dein Profilbild hinzu und ergänze die fehlenden Angaben.": "Aggiungi la foto del tuo profilo e inserisci i dettagli mancanti.",
|
"Füge dein Profilbild hinzu und ergänze die fehlenden Angaben.": "Aggiungi la foto del tuo profilo e inserisci i dettagli mancanti.",
|
||||||
"Geleitete Fallarbeit": "Caso di studio guidato",
|
"Geleitete Fallarbeit": "Caso di studio guidato",
|
||||||
"general.back": "Indietro",
|
"general.back": "Indietro",
|
||||||
|
|
@ -479,18 +471,14 @@
|
||||||
"general.backToCircle": "Torna al Circle",
|
"general.backToCircle": "Torna al Circle",
|
||||||
"general.backToLearningPath": "Torna al percorso formativo",
|
"general.backToLearningPath": "Torna al percorso formativo",
|
||||||
"general.cancel": "Annullare",
|
"general.cancel": "Annullare",
|
||||||
"general.certificate_many": "Certificati",
|
|
||||||
"general.certificate_one": "Certificato",
|
"general.certificate_one": "Certificato",
|
||||||
"general.certificate_other": "Certificati",
|
"general.certificate_other": "Certificati",
|
||||||
"general.circles": "Circles",
|
"general.circles": "Circles",
|
||||||
"general.close": "Chiudere",
|
"general.close": "Chiudere",
|
||||||
"general.exam_many": "Esami",
|
|
||||||
"general.exam_one": "Esame",
|
"general.exam_one": "Esame",
|
||||||
"general.exam_other": "Esami",
|
"general.exam_other": "Esami",
|
||||||
"general.examResult_many": "Risultati degli esami",
|
|
||||||
"general.examResult_one": "Risultato dell’esame",
|
"general.examResult_one": "Risultato dell’esame",
|
||||||
"general.examResult_other": "Risultati degli esami",
|
"general.examResult_other": "Risultati degli esami",
|
||||||
"general.feedback_many": "Feedback",
|
|
||||||
"general.feedback_one": "Feedback",
|
"general.feedback_one": "Feedback",
|
||||||
"general.feedback_other": "Feedback",
|
"general.feedback_other": "Feedback",
|
||||||
"general.im circle x anschauen": "Guarda nel Circle «{{x}}»",
|
"general.im circle x anschauen": "Guarda nel Circle «{{x}}»",
|
||||||
|
|
@ -501,7 +489,6 @@
|
||||||
"general.next": "Avanti",
|
"general.next": "Avanti",
|
||||||
"general.nextStep": "Continua",
|
"general.nextStep": "Continua",
|
||||||
"general.no": "No",
|
"general.no": "No",
|
||||||
"general.notification_many": "Notifiche",
|
|
||||||
"general.notification_one": "Notifica",
|
"general.notification_one": "Notifica",
|
||||||
"general.notification_other": "Notifiche",
|
"general.notification_other": "Notifiche",
|
||||||
"general.profileLink": "Mostrare i dettagli",
|
"general.profileLink": "Mostrare i dettagli",
|
||||||
|
|
@ -514,21 +501,14 @@
|
||||||
"general.start": "Si comincia",
|
"general.start": "Si comincia",
|
||||||
"general.submission": "Consegna",
|
"general.submission": "Consegna",
|
||||||
"general.title": "myAFA",
|
"general.title": "myAFA",
|
||||||
"general.transferTask_many": "Incarichi di trasferimento",
|
|
||||||
"general.transferTask_one": "Incarico di trasferimento",
|
"general.transferTask_one": "Incarico di trasferimento",
|
||||||
"general.transferTask_other": "Incarichi di trasferimento",
|
"general.transferTask_other": "Incarichi di trasferimento",
|
||||||
"general.yes": "Sì",
|
"general.yes": "Sì",
|
||||||
"Generation": "",
|
|
||||||
"Hast du Fragen?": "Hai domande?",
|
"Hast du Fragen?": "Hai domande?",
|
||||||
"Hier überprüfst und bestätigst du die Anwesenheit deiner Teilnehmenden.": "Qui controlli e confermi la presenza dei tuoi partecipanti.",
|
"Hier überprüfst und bestätigst du die Anwesenheit deiner Teilnehmenden.": "Qui controlli e confermi la presenza dei tuoi partecipanti.",
|
||||||
"Ich will die Anwesenheit der untenstehenden Personen definitiv bestätigen.": "Voglio confermare definitivamente la presenza delle persone sottostanti.",
|
"Ich will die Anwesenheit der untenstehenden Personen definitiv bestätigen.": "Voglio confermare definitivamente la presenza delle persone sottostanti.",
|
||||||
"Jahr": "",
|
"Kompetenznachweise": "Elementi del controllo",
|
||||||
"Keine Auftragsdetails verfügbar.": "",
|
|
||||||
"Kompetenznachweise": "",
|
|
||||||
"Kompetenzprofil": "",
|
|
||||||
"Kosten im": "Costi nel",
|
"Kosten im": "Costi nel",
|
||||||
"Kosten in": "",
|
|
||||||
"Kosten in 2024": "",
|
|
||||||
"language.de": "Deutsch",
|
"language.de": "Deutsch",
|
||||||
"language.fr": "Français",
|
"language.fr": "Français",
|
||||||
"language.it": "Italiano",
|
"language.it": "Italiano",
|
||||||
|
|
@ -540,12 +520,11 @@
|
||||||
"learningContentTypes.feedback": "Feedback",
|
"learningContentTypes.feedback": "Feedback",
|
||||||
"learningContentTypes.knowledgeAssessment": "Test",
|
"learningContentTypes.knowledgeAssessment": "Test",
|
||||||
"learningContentTypes.learningModule": "Modulo di formazione",
|
"learningContentTypes.learningModule": "Modulo di formazione",
|
||||||
"learningContentTypes.mandatory_casework": "",
|
|
||||||
"learningContentTypes.placeholder": "In attuazione",
|
"learningContentTypes.placeholder": "In attuazione",
|
||||||
"learningContentTypes.praxisAssignment": "Ordine",
|
"learningContentTypes.praxisAssignment": "Ordine",
|
||||||
"learningContentTypes.prepAssignment": "Incarico di preparazione",
|
"learningContentTypes.prepAssignment": "Incarico di preparazione",
|
||||||
"learningContentTypes.reflection": "Riflessione",
|
"learningContentTypes.reflection": "Riflessione",
|
||||||
"learningContentTypes.task": "",
|
"learningContentTypes.task": "Compito",
|
||||||
"learningContentTypes.test": "Test",
|
"learningContentTypes.test": "Test",
|
||||||
"learningContentTypes.text": "Testo",
|
"learningContentTypes.text": "Testo",
|
||||||
"learningContentTypes.video": "Video",
|
"learningContentTypes.video": "Video",
|
||||||
|
|
@ -558,9 +537,6 @@
|
||||||
"learningPathPage.showListView": "Mostrare la vista elenco",
|
"learningPathPage.showListView": "Mostrare la vista elenco",
|
||||||
"learningPathPage.topics": "Temi:",
|
"learningPathPage.topics": "Temi:",
|
||||||
"learningPathPage.welcomeBack": "Bentornato/a al tuo corso:",
|
"learningPathPage.welcomeBack": "Bentornato/a al tuo corso:",
|
||||||
"Lehrgang": "",
|
|
||||||
"Lernbegleitung einladen": "",
|
|
||||||
"Lernpfad kaufen": "",
|
|
||||||
"login.demoLogin": "Login Demo",
|
"login.demoLogin": "Login Demo",
|
||||||
"login.guidelineFile": "Registrazione_myAFA.pdf",
|
"login.guidelineFile": "Registrazione_myAFA.pdf",
|
||||||
"login.guidelineText": "Scopri come iscriverti come apprendista professionale",
|
"login.guidelineText": "Scopri come iscriverti come apprendista professionale",
|
||||||
|
|
@ -572,40 +548,31 @@
|
||||||
"mainNavigation.logout": "Logout",
|
"mainNavigation.logout": "Logout",
|
||||||
"mainNavigation.profile": "Profilo",
|
"mainNavigation.profile": "Profilo",
|
||||||
"mediaLibrary.handlungsfelder.description": "Trova tutte le risorse dei campi d’azione, come materiali didattici, link e altre informazioni utili.",
|
"mediaLibrary.handlungsfelder.description": "Trova tutte le risorse dei campi d’azione, come materiali didattici, link e altre informazioni utili.",
|
||||||
"mediaLibrary.handlungsfelder.title_many": "Campi d’azione",
|
|
||||||
"mediaLibrary.handlungsfelder.title_one": "Campo d’azione",
|
"mediaLibrary.handlungsfelder.title_one": "Campo d’azione",
|
||||||
"mediaLibrary.handlungsfelder.title_other": "Campi d’azione",
|
"mediaLibrary.handlungsfelder.title_other": "Campi d’azione",
|
||||||
"mediaLibrary.learningMedia.description": "Trova un elenco completo di libri e altri materiali a cui si rimanda nel corso.",
|
"mediaLibrary.learningMedia.description": "Trova un elenco completo di libri e altri materiali a cui si rimanda nel corso.",
|
||||||
"mediaLibrary.learningMedia.titel": "Materiali didattici",
|
"mediaLibrary.learningMedia.titel": "Materiali didattici",
|
||||||
"mediaLibrary.show": "Visualizza la libreria mediateca",
|
"mediaLibrary.show": "Visualizza la libreria mediateca",
|
||||||
"mediaLibrary.title": "Mediateca",
|
"mediaLibrary.title": "Mediateca",
|
||||||
"Meine Lernbegleiter": "",
|
|
||||||
"Meine Praxisbildner": "I miei formatori pratici",
|
"Meine Praxisbildner": "I miei formatori pratici",
|
||||||
"Member": "Partecipanti",
|
"Member": "Partecipanti",
|
||||||
"MentorUK": "Formatore/-trice pratico/a",
|
"MentorUK": "Formatore/-trice pratico/a",
|
||||||
"MentorVV": "Tutor",
|
"MentorVV": "Tutor",
|
||||||
"messages.sendMessage": "Scrivere un messaggio",
|
"messages.sendMessage": "Scrivere un messaggio",
|
||||||
"MS Teams öffnen": "Aprire MS Teams",
|
"MS Teams öffnen": "Aprire MS Teams",
|
||||||
"Nach der Bezahlung von 300 CHF exkl. MWSt. erhältst du Zugang für den gesamten Lehrgang (inkl. Prüfung).": "",
|
|
||||||
"Neuen Praxisbildner einladen": "Invitare un nuovo formatore pratico",
|
"Neuen Praxisbildner einladen": "Invitare un nuovo formatore pratico",
|
||||||
"Nicht bestanden": "",
|
"Nicht bestanden": "Non superato",
|
||||||
"notifications.load_more": "Caricare altro",
|
"notifications.load_more": "Caricare altro",
|
||||||
"notifications.no_notifications": "Al momento non hai nessuna notifica",
|
"notifications.no_notifications": "Al momento non hai nessuna notifica",
|
||||||
"Nächste Termine": "Prossime date",
|
"Nächste Termine": "Prossime date",
|
||||||
"Passwort": "Password",
|
"Passwort": "Password",
|
||||||
"Personen": "",
|
|
||||||
"profile.": "",
|
|
||||||
"profile.all": "Multiramo",
|
"profile.all": "Multiramo",
|
||||||
"profile.krankenzusatzversicherung": "Malattie complementare",
|
"profile.krankenzusatzversicherung": "Malattie complementare",
|
||||||
"profile.leben": "Vita",
|
"profile.leben": "Vita",
|
||||||
"profile.nichtleben": "Non vita",
|
"profile.nichtleben": "Non vita",
|
||||||
"profile.null": "",
|
|
||||||
"Präsenzkurs": "",
|
|
||||||
"receivedEvaluation.no": "Devi riguardarlo ancora una volta",
|
"receivedEvaluation.no": "Devi riguardarlo ancora una volta",
|
||||||
"receivedEvaluation.yes": " Sì, puoi farlo",
|
"receivedEvaluation.yes": " Sì, puoi farlo",
|
||||||
"Reflexion": "",
|
"Reflexion": "Riflessione",
|
||||||
"Region": "",
|
|
||||||
"Rolle": "",
|
|
||||||
"Sehr unzufrieden": "molto insoddisfatto",
|
"Sehr unzufrieden": "molto insoddisfatto",
|
||||||
"Sehr zufrieden": "molto soddisfatto",
|
"Sehr zufrieden": "molto soddisfatto",
|
||||||
"selfEvaluation.instruction.0": "Überprüfe, ob du in der Lernheinheit",
|
"selfEvaluation.instruction.0": "Überprüfe, ob du in der Lernheinheit",
|
||||||
|
|
@ -631,13 +598,6 @@
|
||||||
"start.vvDescription": "Il percorso di apprendimento e i supporti didattici che ti preparano all'esame «Intermediario/a assicurativo/a AFA».",
|
"start.vvDescription": "Il percorso di apprendimento e i supporti didattici che ti preparano all'esame «Intermediario/a assicurativo/a AFA».",
|
||||||
"Status anschauen": "Vedere lo stato",
|
"Status anschauen": "Vedere lo stato",
|
||||||
"Supervisor": "Responsabile CI",
|
"Supervisor": "Responsabile CI",
|
||||||
"Teilnehmer": "",
|
|
||||||
"Teilnehmer im": "I partecipanti al",
|
|
||||||
"Teilnehmer im 2024": "",
|
|
||||||
"Teilnehmer nach Zulassungsprofilen": "Partecipanti secondo i profili di ammissione",
|
|
||||||
"Teilnehmer nach Zulassungsprofilen im": "",
|
|
||||||
"Termin nicht festgelegt": "",
|
|
||||||
"TODO: Nächste Termine": "TODO: prossime date",
|
|
||||||
"Trainer": "Trainer",
|
"Trainer": "Trainer",
|
||||||
"Trainerunterlagen": "Documenti del/della trainer",
|
"Trainerunterlagen": "Documenti del/della trainer",
|
||||||
"TrainingResponsible": "Addetto alla formazione",
|
"TrainingResponsible": "Addetto alla formazione",
|
||||||
|
|
@ -647,7 +607,6 @@
|
||||||
"uk.dashboard.allClear": "È tutto chiaro?",
|
"uk.dashboard.allClear": "È tutto chiaro?",
|
||||||
"uk.dashboard.nextSteps": "In qualità di apprendista, nei prossimi giorni sarai assegnata/o a un corso interaziendale. Poi il riquadro di formazione personalizzato del corso apparirà qui con ulteriori informazioni.",
|
"uk.dashboard.nextSteps": "In qualità di apprendista, nei prossimi giorni sarai assegnata/o a un corso interaziendale. Poi il riquadro di formazione personalizzato del corso apparirà qui con ulteriori informazioni.",
|
||||||
"uk.dashboard.welcome": "Tutto ha funzionato, ora sei registrata/o nell'ambiente di apprendimento digitale dell'Associazione per la formazione professionale nell'assicurazione (AFA)!",
|
"uk.dashboard.welcome": "Tutto ha funzionato, ora sei registrata/o nell'ambiente di apprendimento digitale dell'Associazione per la formazione professionale nell'assicurazione (AFA)!",
|
||||||
"UnknownRoleKey": "",
|
|
||||||
"unzufrieden": "insoddisfatto",
|
"unzufrieden": "insoddisfatto",
|
||||||
"Vorbedingung": "Condizione preliminare",
|
"Vorbedingung": "Condizione preliminare",
|
||||||
"Vorbereitungsaufgabe": "Incarico di preparazione",
|
"Vorbereitungsaufgabe": "Incarico di preparazione",
|
||||||
|
|
@ -665,6 +624,5 @@
|
||||||
"Zu erledigen": "",
|
"Zu erledigen": "",
|
||||||
"zufrieden": "soddisfatto",
|
"zufrieden": "soddisfatto",
|
||||||
"Zulassungsprofil": "",
|
"Zulassungsprofil": "",
|
||||||
"Zur Zeit sind keine Termine vorhanden": "Al momento non ci sono scadenze",
|
"Zur Zeit sind keine Termine vorhanden": "Al momento non ci sono scadenze"
|
||||||
"Überbetriebliche Kurse": ""
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -114,12 +114,12 @@ function generateCertificatesLink(userId: string) {
|
||||||
</span>
|
</span>
|
||||||
<template v-if="assignmentDetail.evaluation_deadline?.start">
|
<template v-if="assignmentDetail.evaluation_deadline?.start">
|
||||||
<br />
|
<br />
|
||||||
{{ $t("Freigabetermin Bewertungen:") }}
|
{{ $t("a.Freigabetermin Bewertungen") }}:
|
||||||
{{ formatDueDate(assignmentDetail.evaluation_deadline?.start) }}
|
{{ formatDueDate(assignmentDetail.evaluation_deadline?.start) }}
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
{{ $t("Keine Auftragsdetails verfügbar.") }}
|
{{ $t("a.Keine Auftragsdetails verfügbar.") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ const presenceCoursesDropdownOptions = computed(() => {
|
||||||
(attendanceCourse) =>
|
(attendanceCourse) =>
|
||||||
({
|
({
|
||||||
id: attendanceCourse.id,
|
id: attendanceCourse.id,
|
||||||
name: `${t("Präsenzkurs")} ${
|
name: `${t("a.Präsenzkurs")} ${
|
||||||
attendanceCourse.learning_content.circle?.title
|
attendanceCourse.learning_content.circle?.title
|
||||||
} ${dayjs(attendanceCourse.due_date?.start).format("DD.MM.YYYY")}`,
|
} ${dayjs(attendanceCourse.due_date?.start).format("DD.MM.YYYY")}`,
|
||||||
}) as DropdownSelectable
|
}) as DropdownSelectable
|
||||||
|
|
@ -165,7 +165,7 @@ watch(
|
||||||
</router-link>
|
</router-link>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<h3 class="pb-4 text-xl font-bold">{{ $t("Anwesenheit Präsenzkurse") }}</h3>
|
<h3 class="pb-4 text-xl font-bold">{{ $t("a.Anwesenheit Präsenzkurse") }}</h3>
|
||||||
<button
|
<button
|
||||||
v-if="state.attendanceSaved"
|
v-if="state.attendanceSaved"
|
||||||
class="flex"
|
class="flex"
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ const courseSessionDetailResult = useCourseSessionDetailQuery();
|
||||||
<div class="my-4 flex flex-col justify-between bg-white p-6 lg:my-0">
|
<div class="my-4 flex flex-col justify-between bg-white p-6 lg:my-0">
|
||||||
<div>
|
<div>
|
||||||
<h3 class="heading-3 mb-4 flex items-center gap-2">
|
<h3 class="heading-3 mb-4 flex items-center gap-2">
|
||||||
{{ $t("Anwesenheitskontrolle Präsenzkurse") }}
|
{{ $t("a.Anwesenheitskontrolle Präsenzkurse") }}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
{{
|
{{
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ const courses = computed(() => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
id: UNFILTERED,
|
id: UNFILTERED,
|
||||||
name: `${t("Lehrgang")}: ${t("a.Alle")}`,
|
name: `${t("a.Lehrgang")}: ${t("a.Alle")}`,
|
||||||
slug: "",
|
slug: "",
|
||||||
},
|
},
|
||||||
..._(dashboardDueDates.value)
|
..._(dashboardDueDates.value)
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ const regions = computed(() => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
id: UNFILTERED,
|
id: UNFILTERED,
|
||||||
name: `${t("Region")}: ${t("a.Alle")}`,
|
name: `${t("a.Region")}: ${t("a.Alle")}`,
|
||||||
},
|
},
|
||||||
...values,
|
...values,
|
||||||
];
|
];
|
||||||
|
|
@ -141,7 +141,7 @@ const generations = computed(() => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
id: UNFILTERED,
|
id: UNFILTERED,
|
||||||
name: `${t("Generation")}: ${t("a.Alle")}`,
|
name: `${t("a.Generation")}: ${t("a.Alle")}`,
|
||||||
},
|
},
|
||||||
...values,
|
...values,
|
||||||
];
|
];
|
||||||
|
|
@ -164,7 +164,7 @@ const roles = computed(() => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
id: UNFILTERED,
|
id: UNFILTERED,
|
||||||
name: `${t("Rolle")}: ${t("a.Alle")}`,
|
name: `${t("a.Rolle")}: ${t("a.Alle")}`,
|
||||||
},
|
},
|
||||||
...values,
|
...values,
|
||||||
];
|
];
|
||||||
|
|
@ -186,7 +186,7 @@ const chosenProfiles = computed(() => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
id: UNFILTERED,
|
id: UNFILTERED,
|
||||||
name: `${t("Zulassungsprofil")}: ${t("a.Alle")}`,
|
name: `${t("a.Zulassungsprofil")}: ${t("a.Alle")}`,
|
||||||
},
|
},
|
||||||
...values,
|
...values,
|
||||||
];
|
];
|
||||||
|
|
@ -210,7 +210,7 @@ const paidYears = computed(() => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
id: UNFILTERED,
|
id: UNFILTERED,
|
||||||
name: `${t("Jahr")}: ${t("a.Alle")}`,
|
name: `${t("a.Jahr")}: ${t("a.Alle")}`,
|
||||||
},
|
},
|
||||||
...values,
|
...values,
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,145 @@
|
||||||
|
import { TEST_STUDENT1_USER_ID, TEST_TRAINER1_USER_ID } from "../../consts";
|
||||||
|
import { EXPERT_COCKPIT_URL, login } from "../helpers";
|
||||||
|
|
||||||
|
describe("assignmentTrainer.cy.js", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.manageCommand(
|
||||||
|
"cypress_reset --create-assignment-completion --create-assignment-evaluation",
|
||||||
|
);
|
||||||
|
login("test-trainer1@example.com", "test");
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("Can reevaluation assignment", () => {
|
||||||
|
it("can start evaluation and store evaluation results", () => {
|
||||||
|
cy.visit(EXPERT_COCKPIT_URL);
|
||||||
|
cy.get(
|
||||||
|
'[data-cy="show-details-btn-test-lehrgang-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice"]',
|
||||||
|
).click();
|
||||||
|
|
||||||
|
cy.get('[data-cy="Student1"]').find('[data-cy="show-results"]').click();
|
||||||
|
|
||||||
|
// on EvaluationSummary page
|
||||||
|
cy.get(
|
||||||
|
'[data-cy="assignment-history"] [data-cy="assignment-history-entry"]',
|
||||||
|
).should("have.length", 2);
|
||||||
|
cy.get('[data-cy="assignment-history"]')
|
||||||
|
.should("contain", "Ergebnisse abgegeben")
|
||||||
|
.should("contain", "Bewertung freigegeben");
|
||||||
|
cy.get('[data-cy="user-points"]').should("contain", "24");
|
||||||
|
cy.get('[data-cy="total-points"]').should("contain", "100%");
|
||||||
|
|
||||||
|
// reevaluation
|
||||||
|
cy.get('[data-cy="btn-reopen"]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy="evaluation-task"]').should(
|
||||||
|
"contain",
|
||||||
|
"Beurteilungskriterium 1 / 5",
|
||||||
|
);
|
||||||
|
cy.get('[data-cy="subtask-4"]').click();
|
||||||
|
cy.wait(500);
|
||||||
|
cy.get('[data-cy="next-step"]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy="evaluation-task"]').should(
|
||||||
|
"contain",
|
||||||
|
"Beurteilungskriterium 2 / 5",
|
||||||
|
);
|
||||||
|
cy.get('[data-cy="next-step"]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy="evaluation-task"]').should(
|
||||||
|
"contain",
|
||||||
|
"Beurteilungskriterium 3 / 5",
|
||||||
|
);
|
||||||
|
cy.get('[data-cy="subtask-4"]').click();
|
||||||
|
cy.wait(500);
|
||||||
|
cy.get('[data-cy="next-step"]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy="evaluation-task"]').should(
|
||||||
|
"contain",
|
||||||
|
"Beurteilungskriterium 4 / 5",
|
||||||
|
);
|
||||||
|
cy.get('[data-cy="subtask-2"]').click();
|
||||||
|
cy.wait(500);
|
||||||
|
cy.get('[data-cy="next-step"]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy="evaluation-task"]').should(
|
||||||
|
"contain",
|
||||||
|
"Beurteilungskriterium 5 / 5",
|
||||||
|
);
|
||||||
|
cy.get('[data-cy="next-step"]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy="user-points"]').should("contain", "19");
|
||||||
|
cy.get('[data-cy="total-points"]').should("contain", "79%");
|
||||||
|
|
||||||
|
cy.get('[data-cy="reason-text"]').type("nochmal bewertet");
|
||||||
|
cy.get(
|
||||||
|
'[data-cy="assignment-history"] [data-cy="assignment-history-entry"]',
|
||||||
|
).should("have.length", 3);
|
||||||
|
cy.get('[data-cy="assignment-history"]')
|
||||||
|
.should("contain", "Ergebnisse abgegeben")
|
||||||
|
.should("contain", "Bewertung freigegeben")
|
||||||
|
.should("contain", "Bewertung erneut bearbeitet");
|
||||||
|
|
||||||
|
cy.get('[data-cy="submit-evaluation"]').click();
|
||||||
|
|
||||||
|
// check stored data
|
||||||
|
cy.get('[data-cy="result-section"]').should(
|
||||||
|
"contain",
|
||||||
|
"Deine Bewertung für Test Student1 wurde freigegeben",
|
||||||
|
);
|
||||||
|
cy.reload();
|
||||||
|
cy.get(
|
||||||
|
'[data-cy="assignment-history"] [data-cy="assignment-history-entry"]',
|
||||||
|
).should("have.length", 4);
|
||||||
|
|
||||||
|
cy.loadAssignmentCompletion(
|
||||||
|
"evaluation_user_id",
|
||||||
|
TEST_TRAINER1_USER_ID,
|
||||||
|
).then((ac) => {
|
||||||
|
expect(ac.completion_status).to.equal("EVALUATION_SUBMITTED");
|
||||||
|
expect(ac.evaluation_points).to.equal(19);
|
||||||
|
expect(ac.completion_data.expert_evaluation_comment.text).to.equal(
|
||||||
|
"nochmal bewertet",
|
||||||
|
);
|
||||||
|
expect(ac.additional_json_data.submission_history).to.have.length(4);
|
||||||
|
expect(ac.additional_json_data.submission_history[0].status).to.equal(
|
||||||
|
"SUBMITTED",
|
||||||
|
);
|
||||||
|
expect(ac.additional_json_data.submission_history[1].status).to.equal(
|
||||||
|
"EVALUATION_SUBMITTED",
|
||||||
|
);
|
||||||
|
expect(ac.additional_json_data.submission_history[2].status).to.equal(
|
||||||
|
"EVALUATION_IN_PROGRESS",
|
||||||
|
);
|
||||||
|
expect(ac.additional_json_data.submission_history[3].status).to.equal(
|
||||||
|
"EVALUATION_SUBMITTED",
|
||||||
|
);
|
||||||
|
|
||||||
|
// check AssignmentCompletionAuditLog
|
||||||
|
cy.task(
|
||||||
|
"runSql",
|
||||||
|
`select * from assignment_assignmentcompletionauditlog
|
||||||
|
where assignment_slug = 'test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice'
|
||||||
|
and assignment_user_id = '${TEST_STUDENT1_USER_ID}'
|
||||||
|
order by created_at asc;`,
|
||||||
|
).then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
expect(res.rows).to.have.length(3);
|
||||||
|
expect(res.rows[0].completion_status).to.equal("SUBMITTED");
|
||||||
|
|
||||||
|
expect(res.rows[1].completion_status).to.equal(
|
||||||
|
"EVALUATION_SUBMITTED",
|
||||||
|
);
|
||||||
|
expect(res.rows[1].evaluation_points).to.equal(24);
|
||||||
|
|
||||||
|
expect(res.rows[2].completion_status).to.equal(
|
||||||
|
"EVALUATION_SUBMITTED",
|
||||||
|
);
|
||||||
|
expect(res.rows[2].evaluation_points).to.equal(19);
|
||||||
|
expect(res.rows[2].completion_data.expert_evaluation_comment.text).to.equal(
|
||||||
|
"nochmal bewertet",
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
@ -100,7 +100,7 @@ describe("courseSpecificSettings.cy.js", () => {
|
||||||
"Lernbegleitung"
|
"Lernbegleitung"
|
||||||
);
|
);
|
||||||
cy.get('[data-cy="navigation-learning-mentor-link"]').click();
|
cy.get('[data-cy="navigation-learning-mentor-link"]').click();
|
||||||
cy.get('[data-cy="lm-my-lms-title"]').contains("Meine Lernbegleiter");
|
cy.get('[data-cy="lm-my-lms-title"]').contains("Meine Lernbegleitung");
|
||||||
cy.get('[data-cy="lm-invite-mentor-button"]').contains(
|
cy.get('[data-cy="lm-invite-mentor-button"]').contains(
|
||||||
"Neue Lernbegleitung einladen"
|
"Neue Lernbegleitung einladen"
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ describe("praxisauftrag.cy.js", () => {
|
||||||
cy.get('[data-cy="next-step"]').click();
|
cy.get('[data-cy="next-step"]').click();
|
||||||
|
|
||||||
cy.get('[data-cy="submit-evaluation"]').click();
|
cy.get('[data-cy="submit-evaluation"]').click();
|
||||||
cy.get('[data-cy="next-step"]').click();
|
cy.get('[data-cy="btn-close"]').click();
|
||||||
|
|
||||||
cy.visit("/");
|
cy.visit("/");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ describe("memberOnly.cy.js", () => {
|
||||||
it("uses term Lernbegleitung in VV-course", () => {
|
it("uses term Lernbegleitung in VV-course", () => {
|
||||||
cy.visit(MENTOR_MENTEES_URL_VV);
|
cy.visit(MENTOR_MENTEES_URL_VV);
|
||||||
cy.get(MAIN_NAVIGATION_MENTOR_LINK).should("contain", "Lernbegleitung");
|
cy.get(MAIN_NAVIGATION_MENTOR_LINK).should("contain", "Lernbegleitung");
|
||||||
cy.get(MENTEE_MENTORS_TITLE).should("contain", "Meine Lernbegleiter");
|
cy.get(MENTEE_MENTORS_TITLE).should("contain", "Meine Lernbegleitung");
|
||||||
cy.get(MENTEE_INVITE_MENTOR).should(
|
cy.get(MENTEE_INVITE_MENTOR).should(
|
||||||
"contain",
|
"contain",
|
||||||
"Neue Lernbegleitung einladen"
|
"Neue Lernbegleitung einladen"
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@ DATABASES = {
|
||||||
default="postgres://postgres@localhost:5432/vbv_lernwelt",
|
default="postgres://postgres@localhost:5432/vbv_lernwelt",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
DATABASES["default"]["ATOMIC_REQUESTS"] = env.bool(
|
DATABASES["default"]["ATOMIC_REQUESTS"] = env.bool(
|
||||||
"DATABASE_ATOMIC_REQUESTS", default=True
|
"DATABASE_ATOMIC_REQUESTS", default=True
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.db.models import JSONField
|
from django.db.models import JSONField
|
||||||
|
|
||||||
from vbv_lernwelt.assignment.models import AssignmentCompletion
|
from vbv_lernwelt.assignment.models import (
|
||||||
|
AssignmentCompletion,
|
||||||
|
AssignmentCompletionAuditLog,
|
||||||
|
)
|
||||||
|
from vbv_lernwelt.core.admin import LogAdmin
|
||||||
from vbv_lernwelt.core.admin_utils import PrettyJSONWidget
|
from vbv_lernwelt.core.admin_utils import PrettyJSONWidget
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -16,6 +20,7 @@ class AssignmentCompletionAdmin(admin.ModelAdmin):
|
||||||
"assignment",
|
"assignment",
|
||||||
"get_circle",
|
"get_circle",
|
||||||
"assignment_user",
|
"assignment_user",
|
||||||
|
"evaluation_user",
|
||||||
"course_session",
|
"course_session",
|
||||||
"completion_status",
|
"completion_status",
|
||||||
"evaluation_points",
|
"evaluation_points",
|
||||||
|
|
@ -27,7 +32,14 @@ class AssignmentCompletionAdmin(admin.ModelAdmin):
|
||||||
"course_session__course",
|
"course_session__course",
|
||||||
"course_session",
|
"course_session",
|
||||||
]
|
]
|
||||||
search_fields = ["assignment_user__email"]
|
search_fields = [
|
||||||
|
"assignment_user__email",
|
||||||
|
"assignment_user__first_name",
|
||||||
|
"assignment_user__last_name",
|
||||||
|
"evaluation_user__email",
|
||||||
|
"evaluation_user__first_name",
|
||||||
|
"evaluation_user__last_name",
|
||||||
|
]
|
||||||
readonly_fields = [
|
readonly_fields = [
|
||||||
"assignment_user",
|
"assignment_user",
|
||||||
"assignment",
|
"assignment",
|
||||||
|
|
@ -53,3 +65,40 @@ class AssignmentCompletionAdmin(admin.ModelAdmin):
|
||||||
if change and "evaluation_points_deducted" in form.changed_data:
|
if change and "evaluation_points_deducted" in form.changed_data:
|
||||||
obj.evaluation_points_deducted_user = request.user
|
obj.evaluation_points_deducted_user = request.user
|
||||||
super().save_model(request, obj, form, change)
|
super().save_model(request, obj, form, change)
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(AssignmentCompletionAuditLog)
|
||||||
|
class AssignmentCompletionAuditLogAdmin(LogAdmin):
|
||||||
|
date_hierarchy = "created_at"
|
||||||
|
list_display = [
|
||||||
|
"created_at",
|
||||||
|
"assignment",
|
||||||
|
"get_circle",
|
||||||
|
"assignment_user",
|
||||||
|
"evaluation_user",
|
||||||
|
"course_session",
|
||||||
|
"completion_status",
|
||||||
|
"evaluation_points",
|
||||||
|
]
|
||||||
|
list_filter = [
|
||||||
|
"completion_status",
|
||||||
|
"assignment__assignment_type",
|
||||||
|
"course_session__course",
|
||||||
|
"course_session",
|
||||||
|
]
|
||||||
|
search_fields = [
|
||||||
|
"assignment_user__email",
|
||||||
|
"assignment_user__first_name",
|
||||||
|
"assignment_user__last_name",
|
||||||
|
"evaluation_user__email",
|
||||||
|
"evaluation_user__first_name",
|
||||||
|
"evaluation_user__last_name",
|
||||||
|
]
|
||||||
|
|
||||||
|
def get_circle(self, obj):
|
||||||
|
try:
|
||||||
|
return obj.learning_content_page.specific.get_circle().title
|
||||||
|
except Exception:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
get_circle.short_description = "Circle"
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ class AssignmentCompletionObjectType(DjangoObjectType):
|
||||||
completion_data = GenericScalar()
|
completion_data = GenericScalar()
|
||||||
task_completion_data = GenericScalar()
|
task_completion_data = GenericScalar()
|
||||||
learning_content_page_id = graphene.ID(source="learning_content_page_id")
|
learning_content_page_id = graphene.ID(source="learning_content_page_id")
|
||||||
|
additional_json_data = GenericScalar()
|
||||||
|
|
||||||
# rounded to sensible representation
|
# rounded to sensible representation
|
||||||
evaluation_points = graphene.Float()
|
evaluation_points = graphene.Float()
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,71 @@
|
||||||
|
import djclick as click
|
||||||
|
import structlog
|
||||||
|
|
||||||
|
from vbv_lernwelt.assignment.models import AssignmentCompletion
|
||||||
|
|
||||||
|
logger = structlog.get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def create_initial_submission_history(apps=None, schema_editor=None):
|
||||||
|
if apps is None:
|
||||||
|
# pylint: disable=import-outside-toplevel
|
||||||
|
from vbv_lernwelt.assignment.models import AssignmentCompletion
|
||||||
|
else:
|
||||||
|
AssignmentCompletion = apps.get_model("assignment", "AssignmentCompletion")
|
||||||
|
|
||||||
|
for ac in AssignmentCompletion.objects.filter(
|
||||||
|
assignment__assignment_type__in=["PRAXIS_ASSIGNMENT", "CASEWORK"]
|
||||||
|
):
|
||||||
|
num_entries = ac_create_initial_submission_history(ac)
|
||||||
|
# print(f"Created initial submission history for {ac} {num_entries}")
|
||||||
|
|
||||||
|
|
||||||
|
def ac_create_initial_submission_history(ac: AssignmentCompletion):
|
||||||
|
submission_history = ac.additional_json_data.get("submission_history", [])
|
||||||
|
|
||||||
|
num_entries = 0
|
||||||
|
|
||||||
|
if len(submission_history) > 0:
|
||||||
|
return num_entries
|
||||||
|
|
||||||
|
if ac.submitted_at:
|
||||||
|
entry = {
|
||||||
|
"timestamp": ac.submitted_at.isoformat(),
|
||||||
|
"status": "SUBMITTED",
|
||||||
|
"translation_key": "a.Ergebnisse abgegeben",
|
||||||
|
"user_id": str(ac.assignment_user.id),
|
||||||
|
"user_email": ac.assignment_user.email,
|
||||||
|
"user_display_name": (
|
||||||
|
f"{ac.assignment_user.first_name} {ac.assignment_user.last_name}"
|
||||||
|
),
|
||||||
|
}
|
||||||
|
submission_history.append(entry)
|
||||||
|
num_entries += 1
|
||||||
|
|
||||||
|
if ac.evaluation_submitted_at:
|
||||||
|
translation_key = "a.Bewertung freigegeben"
|
||||||
|
if ac.assignment.assignment_type == "PRAXIS_ASSIGNMENT":
|
||||||
|
translation_key = "Feedback freigegeben"
|
||||||
|
|
||||||
|
entry = {
|
||||||
|
"timestamp": ac.evaluation_submitted_at.isoformat(),
|
||||||
|
"status": "EVALUATION_SUBMITTED",
|
||||||
|
"translation_key": translation_key,
|
||||||
|
"user_id": str(ac.evaluation_user.id),
|
||||||
|
"user_email": ac.evaluation_user.email,
|
||||||
|
"user_display_name": (
|
||||||
|
f"{ac.evaluation_user.first_name} {ac.evaluation_user.last_name}"
|
||||||
|
),
|
||||||
|
}
|
||||||
|
submission_history.append(entry)
|
||||||
|
num_entries += 1
|
||||||
|
|
||||||
|
ac.additional_json_data["submission_history"] = submission_history
|
||||||
|
ac.save()
|
||||||
|
|
||||||
|
return num_entries
|
||||||
|
|
||||||
|
|
||||||
|
@click.command()
|
||||||
|
def command():
|
||||||
|
create_initial_submission_history()
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Generated by Django 4.2.13 on 2024-09-16 12:00
|
||||||
|
|
||||||
|
import django.db.models.deletion
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
("assignment", "0014_evaluation_points_deducted"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="assignmentcompletionauditlog",
|
||||||
|
name="evaluation_points_deducted",
|
||||||
|
field=models.FloatField(default=0.0, verbose_name="Punkteabzug"),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="assignmentcompletionauditlog",
|
||||||
|
name="evaluation_points_deducted_reason",
|
||||||
|
field=models.TextField(
|
||||||
|
blank=True, default="", verbose_name="Punkteabzug Begründung"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="assignmentcompletionauditlog",
|
||||||
|
name="evaluation_points_deducted_user",
|
||||||
|
field=models.ForeignKey(
|
||||||
|
blank=True,
|
||||||
|
null=True,
|
||||||
|
on_delete=django.db.models.deletion.SET_NULL,
|
||||||
|
related_name="+",
|
||||||
|
to=settings.AUTH_USER_MODEL,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="assignmentcompletionauditlog",
|
||||||
|
name="evaluation_points_deducted_user_email",
|
||||||
|
field=models.CharField(blank=True, default="", max_length=255),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.2.13 on 2024-09-17 11:37
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
from vbv_lernwelt.assignment.management.commands.assignment_create_initial_submission_history import (
|
||||||
|
create_initial_submission_history,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
(
|
||||||
|
"assignment",
|
||||||
|
"0015_assignmentcompletionauditlog_evaluation_points_deducted_and_more",
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [migrations.RunPython(create_initial_submission_history)]
|
||||||
|
|
@ -485,6 +485,23 @@ class AssignmentCompletionAuditLog(models.Model):
|
||||||
evaluation_max_points = models.FloatField(null=True, blank=True)
|
evaluation_max_points = models.FloatField(null=True, blank=True)
|
||||||
evaluation_passed = models.BooleanField(null=True, blank=True)
|
evaluation_passed = models.BooleanField(null=True, blank=True)
|
||||||
|
|
||||||
|
evaluation_points_deducted = models.FloatField(
|
||||||
|
default=0.0, verbose_name="Punkteabzug"
|
||||||
|
)
|
||||||
|
evaluation_points_deducted_reason = models.TextField(
|
||||||
|
default="", blank=True, verbose_name="Punkteabzug Begründung"
|
||||||
|
)
|
||||||
|
evaluation_points_deducted_user = models.ForeignKey(
|
||||||
|
User,
|
||||||
|
on_delete=models.SET_NULL,
|
||||||
|
null=True,
|
||||||
|
blank=True,
|
||||||
|
related_name="+",
|
||||||
|
)
|
||||||
|
evaluation_points_deducted_user_email = models.CharField(
|
||||||
|
max_length=255, blank=True, default=""
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def recalculate_assignment_passed(ac: AssignmentCompletion):
|
def recalculate_assignment_passed(ac: AssignmentCompletion):
|
||||||
if ac.evaluation_points_final is not None and ac.evaluation_max_points is not None:
|
if ac.evaluation_points_final is not None and ac.evaluation_max_points is not None:
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,13 @@ def update_assignment_completion(
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
evaluation_reopened = False
|
||||||
|
if (
|
||||||
|
completion_status == AssignmentCompletionStatus.EVALUATION_IN_PROGRESS
|
||||||
|
and ac.completion_status == "EVALUATION_SUBMITTED"
|
||||||
|
):
|
||||||
|
evaluation_reopened = True
|
||||||
|
|
||||||
if evaluation_max_points is None:
|
if evaluation_max_points is None:
|
||||||
ac.evaluation_max_points = assignment.get_max_points()
|
ac.evaluation_max_points = assignment.get_max_points()
|
||||||
else:
|
else:
|
||||||
|
|
@ -229,9 +236,16 @@ def update_assignment_completion(
|
||||||
evaluation_points=evaluation_points,
|
evaluation_points=evaluation_points,
|
||||||
evaluation_max_points=ac.evaluation_max_points,
|
evaluation_max_points=ac.evaluation_max_points,
|
||||||
evaluation_passed=ac.evaluation_passed,
|
evaluation_passed=ac.evaluation_passed,
|
||||||
|
evaluation_points_deducted=ac.evaluation_points_deducted,
|
||||||
|
evaluation_points_deducted_reason=ac.evaluation_points_deducted_reason,
|
||||||
|
evaluation_points_deducted_user=ac.evaluation_points_deducted_user,
|
||||||
)
|
)
|
||||||
if evaluation_user:
|
if evaluation_user:
|
||||||
acl.evaluation_user_email = evaluation_user.email
|
acl.evaluation_user_email = evaluation_user.email
|
||||||
|
if ac.evaluation_points_deducted_user:
|
||||||
|
acl.evaluation_points_deducted_user_email = (
|
||||||
|
ac.evaluation_points_deducted_user.email
|
||||||
|
)
|
||||||
|
|
||||||
# copy over the question data, so that we don't lose the context
|
# copy over the question data, so that we don't lose the context
|
||||||
subtasks = assignment.get_input_tasks()
|
subtasks = assignment.get_input_tasks()
|
||||||
|
|
@ -241,6 +255,49 @@ def update_assignment_completion(
|
||||||
acl.completion_data[key].update(task_data)
|
acl.completion_data[key].update(task_data)
|
||||||
acl.save()
|
acl.save()
|
||||||
|
|
||||||
|
if (
|
||||||
|
completion_status
|
||||||
|
in [
|
||||||
|
AssignmentCompletionStatus.EVALUATION_SUBMITTED,
|
||||||
|
AssignmentCompletionStatus.SUBMITTED,
|
||||||
|
]
|
||||||
|
or evaluation_reopened
|
||||||
|
) and assignment.assignment_type != AssignmentType.EDONIQ_TEST.value:
|
||||||
|
# make history entry
|
||||||
|
submission_history = ac.additional_json_data.get("submission_history", [])
|
||||||
|
entry = {
|
||||||
|
"timestamp": timezone.now().isoformat(),
|
||||||
|
"status": completion_status.value,
|
||||||
|
}
|
||||||
|
|
||||||
|
if completion_status == AssignmentCompletionStatus.SUBMITTED:
|
||||||
|
entry["translation_key"] = "a.Ergebnisse abgegeben"
|
||||||
|
entry["user_id"] = str(assignment_user.id)
|
||||||
|
entry["user_email"] = assignment_user.email
|
||||||
|
entry["user_display_name"] = (
|
||||||
|
f"{assignment_user.first_name} {assignment_user.last_name}"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
entry["user_id"] = str(evaluation_user.id)
|
||||||
|
entry["user_email"] = evaluation_user.email
|
||||||
|
entry["user_display_name"] = (
|
||||||
|
f"{evaluation_user.first_name} {evaluation_user.last_name}"
|
||||||
|
)
|
||||||
|
if completion_status == AssignmentCompletionStatus.EVALUATION_SUBMITTED:
|
||||||
|
if assignment.assignment_type == AssignmentType.PRAXIS_ASSIGNMENT.value:
|
||||||
|
entry["translation_key"] = "a.Feedback freigegeben"
|
||||||
|
else:
|
||||||
|
entry["translation_key"] = "a.Bewertung freigegeben"
|
||||||
|
elif completion_status == AssignmentCompletionStatus.EVALUATION_IN_PROGRESS:
|
||||||
|
if assignment.assignment_type == AssignmentType.PRAXIS_ASSIGNMENT.value:
|
||||||
|
entry["translation_key"] = "a.Feedback erneut bearbeitet"
|
||||||
|
else:
|
||||||
|
entry["translation_key"] = "a.Bewertung erneut bearbeitet"
|
||||||
|
|
||||||
|
submission_history.append(entry)
|
||||||
|
ac.additional_json_data["submission_history"] = submission_history
|
||||||
|
ac.save()
|
||||||
|
|
||||||
if completion_status in [
|
if completion_status in [
|
||||||
AssignmentCompletionStatus.EVALUATION_SUBMITTED,
|
AssignmentCompletionStatus.EVALUATION_SUBMITTED,
|
||||||
AssignmentCompletionStatus.EVALUATION_IN_PROGRESS,
|
AssignmentCompletionStatus.EVALUATION_IN_PROGRESS,
|
||||||
|
|
@ -267,7 +324,8 @@ def _remove_unknown_entries(assignment, completion_data):
|
||||||
Removes all entries from completion_data which are not known to the assignment
|
Removes all entries from completion_data which are not known to the assignment
|
||||||
"""
|
"""
|
||||||
input_task_ids = [task["id"] for task in assignment.get_input_tasks()]
|
input_task_ids = [task["id"] for task in assignment.get_input_tasks()]
|
||||||
|
keys = set(input_task_ids) | {"expert_evaluation_comment"}
|
||||||
filtered_completion_data = {
|
filtered_completion_data = {
|
||||||
key: value for key, value in completion_data.items() if key in input_task_ids
|
key: value for key, value in completion_data.items() if key in keys
|
||||||
}
|
}
|
||||||
return filtered_completion_data
|
return filtered_completion_data
|
||||||
|
|
|
||||||
|
|
@ -190,6 +190,13 @@ class UpdateAssignmentCompletionTestCase(TestCase):
|
||||||
"test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice",
|
"test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# will create submission_history entry
|
||||||
|
submission_history = ac.additional_json_data.get("submission_history", [])
|
||||||
|
self.assertEqual(len(submission_history), 1)
|
||||||
|
entry = submission_history[0]
|
||||||
|
self.assertEqual(entry["status"], "SUBMITTED")
|
||||||
|
self.assertEqual(entry["user_email"], "student")
|
||||||
|
|
||||||
# AssignmentCompletionAuditLog entry will remain event after deletion of foreign keys
|
# AssignmentCompletionAuditLog entry will remain event after deletion of foreign keys
|
||||||
ac.delete()
|
ac.delete()
|
||||||
self.user.delete()
|
self.user.delete()
|
||||||
|
|
@ -512,6 +519,13 @@ class UpdateAssignmentCompletionTestCase(TestCase):
|
||||||
user_input["user_data"], {"text": "Ich würde nichts weiteres empfehlen."}
|
user_input["user_data"], {"text": "Ich würde nichts weiteres empfehlen."}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# will create submission_history entry
|
||||||
|
submission_history = ac.additional_json_data.get("submission_history", [])
|
||||||
|
self.assertEqual(len(submission_history), 1)
|
||||||
|
entry = submission_history[0]
|
||||||
|
self.assertEqual(entry["status"], "EVALUATION_SUBMITTED")
|
||||||
|
self.assertEqual(entry["user_email"], "admin")
|
||||||
|
|
||||||
# will create AssignmentCompletionAuditLog entry
|
# will create AssignmentCompletionAuditLog entry
|
||||||
acl = AssignmentCompletionAuditLog.objects.get(
|
acl = AssignmentCompletionAuditLog.objects.get(
|
||||||
assignment_user=self.user,
|
assignment_user=self.user,
|
||||||
|
|
@ -553,3 +567,156 @@ class UpdateAssignmentCompletionTestCase(TestCase):
|
||||||
)
|
)
|
||||||
self.assertIsNone(acl.assignment_user)
|
self.assertIsNone(acl.assignment_user)
|
||||||
self.assertIsNone(acl.assignment)
|
self.assertIsNone(acl.assignment)
|
||||||
|
|
||||||
|
def test_can_reopen_evaluated_submission(self):
|
||||||
|
subtasks = self.assignment.filter_user_subtasks(
|
||||||
|
subtask_types=["user_text_input"]
|
||||||
|
)
|
||||||
|
user_text_input = find_first(
|
||||||
|
subtasks,
|
||||||
|
pred=lambda x: (value := x.get("value"))
|
||||||
|
and value.get("text", "").startswith(
|
||||||
|
"Gibt es zusätzliche Deckungen, die du der Person empfehlen würdest?"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
ac = AssignmentCompletion.objects.create(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
completion_status=AssignmentCompletionStatus.SUBMITTED.value,
|
||||||
|
completion_data={
|
||||||
|
user_text_input["id"]: {
|
||||||
|
"user_data": {"text": "Ich würde nichts weiteres empfehlen."}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
evaluation_task = self.assignment.get_evaluation_tasks()[0]
|
||||||
|
|
||||||
|
update_assignment_completion(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
completion_data={
|
||||||
|
evaluation_task["id"]: {
|
||||||
|
"expert_data": {"points": 2, "text": "Gut gemacht!"}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
completion_status=AssignmentCompletionStatus.EVALUATION_IN_PROGRESS,
|
||||||
|
evaluation_user=self.trainer,
|
||||||
|
)
|
||||||
|
|
||||||
|
update_assignment_completion(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
completion_data={},
|
||||||
|
completion_status=AssignmentCompletionStatus.EVALUATION_SUBMITTED,
|
||||||
|
evaluation_user=self.trainer,
|
||||||
|
evaluation_points=16,
|
||||||
|
)
|
||||||
|
|
||||||
|
ac = AssignmentCompletion.objects.get(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertEqual(ac.completion_status, "EVALUATION_SUBMITTED")
|
||||||
|
self.assertEqual(ac.evaluation_points, 16)
|
||||||
|
self.assertEqual(ac.evaluation_max_points, 24)
|
||||||
|
self.assertTrue(ac.evaluation_passed)
|
||||||
|
trainer_input = ac.completion_data[evaluation_task["id"]]
|
||||||
|
self.assertDictEqual(
|
||||||
|
trainer_input["expert_data"], {"points": 2, "text": "Gut gemacht!"}
|
||||||
|
)
|
||||||
|
user_input = ac.completion_data[user_text_input["id"]]
|
||||||
|
self.assertDictEqual(
|
||||||
|
user_input["user_data"], {"text": "Ich würde nichts weiteres empfehlen."}
|
||||||
|
)
|
||||||
|
|
||||||
|
update_assignment_completion(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
completion_data={},
|
||||||
|
completion_status=AssignmentCompletionStatus.EVALUATION_IN_PROGRESS,
|
||||||
|
evaluation_user=self.trainer,
|
||||||
|
)
|
||||||
|
|
||||||
|
ac = AssignmentCompletion.objects.get(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
)
|
||||||
|
self.assertEqual(ac.completion_status, "EVALUATION_IN_PROGRESS")
|
||||||
|
|
||||||
|
update_assignment_completion(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
completion_data={
|
||||||
|
evaluation_task["id"]: {
|
||||||
|
"expert_data": {
|
||||||
|
"points": 2,
|
||||||
|
"text": "Gut gemacht. Ich musste es noch einmal anschauen.",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
completion_status=AssignmentCompletionStatus.EVALUATION_IN_PROGRESS,
|
||||||
|
evaluation_user=self.trainer,
|
||||||
|
)
|
||||||
|
|
||||||
|
# will create submission_history entry
|
||||||
|
submission_history = ac.additional_json_data.get("submission_history", [])
|
||||||
|
self.assertEqual(len(submission_history), 2)
|
||||||
|
entry = submission_history[1]
|
||||||
|
self.assertEqual(entry["status"], "EVALUATION_IN_PROGRESS")
|
||||||
|
self.assertEqual(entry["user_email"], "admin")
|
||||||
|
|
||||||
|
update_assignment_completion(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
completion_data={},
|
||||||
|
completion_status=AssignmentCompletionStatus.EVALUATION_SUBMITTED,
|
||||||
|
evaluation_user=self.trainer,
|
||||||
|
evaluation_points=16,
|
||||||
|
)
|
||||||
|
|
||||||
|
ac = AssignmentCompletion.objects.get(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
)
|
||||||
|
|
||||||
|
# will create submission_history entry
|
||||||
|
submission_history = ac.additional_json_data.get("submission_history", [])
|
||||||
|
self.assertEqual(len(submission_history), 3)
|
||||||
|
entry = submission_history[2]
|
||||||
|
self.assertEqual(entry["status"], "EVALUATION_SUBMITTED")
|
||||||
|
self.assertEqual(entry["user_email"], "admin")
|
||||||
|
|
||||||
|
self.assertEqual(ac.completion_status, "EVALUATION_SUBMITTED")
|
||||||
|
self.assertEqual(ac.evaluation_points, 16)
|
||||||
|
self.assertEqual(ac.evaluation_max_points, 24)
|
||||||
|
self.assertTrue(ac.evaluation_passed)
|
||||||
|
trainer_input = ac.completion_data[evaluation_task["id"]]
|
||||||
|
self.assertDictEqual(
|
||||||
|
trainer_input["expert_data"],
|
||||||
|
{"points": 2, "text": "Gut gemacht. Ich musste es noch einmal anschauen."},
|
||||||
|
)
|
||||||
|
user_input = ac.completion_data[user_text_input["id"]]
|
||||||
|
self.assertDictEqual(
|
||||||
|
user_input["user_data"], {"text": "Ich würde nichts weiteres empfehlen."}
|
||||||
|
)
|
||||||
|
|
||||||
|
# it will have created another AssignmentCompletionAuditLog entry
|
||||||
|
acl_qs = AssignmentCompletionAuditLog.objects.filter(
|
||||||
|
assignment_user=self.user,
|
||||||
|
assignment=self.assignment,
|
||||||
|
course_session=self.course_session,
|
||||||
|
completion_status="EVALUATION_SUBMITTED",
|
||||||
|
)
|
||||||
|
self.assertEqual(acl_qs.count(), 2)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,11 @@ from django.contrib.auth.hashers import make_password
|
||||||
from django.db import connection
|
from django.db import connection
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
from vbv_lernwelt.assignment.models import Assignment, AssignmentCompletion
|
from vbv_lernwelt.assignment.models import (
|
||||||
|
Assignment,
|
||||||
|
AssignmentCompletion,
|
||||||
|
AssignmentCompletionAuditLog,
|
||||||
|
)
|
||||||
from vbv_lernwelt.competence.models import PerformanceCriteria
|
from vbv_lernwelt.competence.models import PerformanceCriteria
|
||||||
from vbv_lernwelt.core.constants import (
|
from vbv_lernwelt.core.constants import (
|
||||||
TEST_COURSE_SESSION_BERN_ID,
|
TEST_COURSE_SESSION_BERN_ID,
|
||||||
|
|
@ -183,6 +187,7 @@ def command(
|
||||||
CourseCompletion.objects.all().delete()
|
CourseCompletion.objects.all().delete()
|
||||||
Notification.objects.all().delete()
|
Notification.objects.all().delete()
|
||||||
AssignmentCompletion.objects.all().delete()
|
AssignmentCompletion.objects.all().delete()
|
||||||
|
AssignmentCompletionAuditLog.objects.all().delete()
|
||||||
FeedbackResponse.objects.all().delete()
|
FeedbackResponse.objects.all().delete()
|
||||||
CourseSessionAttendanceCourse.objects.all().update(attendance_user_list=[])
|
CourseSessionAttendanceCourse.objects.all().update(attendance_user_list=[])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,8 +291,8 @@ class CourseSessionObjectType(DjangoObjectType):
|
||||||
_add_course_session_user(rel.participant)
|
_add_course_session_user(rel.participant)
|
||||||
|
|
||||||
if self.course.configuration.is_uk:
|
if self.course.configuration.is_uk:
|
||||||
# happy path, members and experts
|
|
||||||
if me_csu:
|
if me_csu:
|
||||||
|
# VBV-708: Teilnehmer und Trainer haben Zugriff auf alle Teilnehmer im Ük
|
||||||
for course_session_user in CourseSessionUser.objects.filter(
|
for course_session_user in CourseSessionUser.objects.filter(
|
||||||
course_session_id=self.id
|
course_session_id=self.id
|
||||||
).distinct():
|
).distinct():
|
||||||
|
|
@ -300,38 +300,29 @@ class CourseSessionObjectType(DjangoObjectType):
|
||||||
user.id for user in course_session_users_resolved
|
user.id for user in course_session_users_resolved
|
||||||
]:
|
]:
|
||||||
_add_course_session_user(course_session_user)
|
_add_course_session_user(course_session_user)
|
||||||
else:
|
elif CourseSessionGroup.objects.filter(
|
||||||
# VBV-708: user has only "AgentParticipantRole" and is not in the list of users
|
supervisor=info.context.user, course_session=self
|
||||||
for rel in AgentParticipantRelation.objects.filter(
|
).exists():
|
||||||
participant__course_session=self, agent=info.context.user
|
# VBV-708: Supervisor (Regionenleiter) has access to all users and circles
|
||||||
):
|
for course_session_user in CourseSessionUser.objects.filter(
|
||||||
if rel.participant_id not in [
|
course_session_id=self.id
|
||||||
|
).distinct():
|
||||||
|
if course_session_user.id not in [
|
||||||
user.id for user in course_session_users_resolved
|
user.id for user in course_session_users_resolved
|
||||||
]:
|
]:
|
||||||
_add_course_session_user(rel.participant)
|
_add_course_session_user(course_session_user)
|
||||||
|
|
||||||
# workaround for supervisor
|
|
||||||
# add supervisor to the list of users (as expert)
|
|
||||||
course_session_id = self.id # noqa
|
|
||||||
user = info.context.user # noqa
|
|
||||||
|
|
||||||
if CourseSessionGroup.objects.filter(
|
|
||||||
course_session=course_session_id, supervisor=user
|
|
||||||
).exists():
|
|
||||||
if course_session := CourseSession.objects.filter(
|
|
||||||
id=course_session_id
|
|
||||||
).first():
|
|
||||||
circles = (
|
circles = (
|
||||||
course_session.course.get_learning_path()
|
self.course.get_learning_path()
|
||||||
.get_descendants()
|
.get_descendants()
|
||||||
.live()
|
.live()
|
||||||
.specific()
|
.specific()
|
||||||
.exact_type(Circle)
|
.exact_type(Circle)
|
||||||
)
|
)
|
||||||
|
user = info.context.user
|
||||||
course_session_users_resolved.append(
|
course_session_users_resolved.append(
|
||||||
CourseSessionUserObjectsType(
|
CourseSessionUserObjectsType(
|
||||||
id=f"{user.id}-as-ephemeral-supervisor", # noqa
|
id=f"{user.id}-{self.id}-as-ephemeral-supervisor", # noqa
|
||||||
user_id=user.id, # noqa
|
user_id=user.id, # noqa
|
||||||
first_name=user.first_name, # noqa
|
first_name=user.first_name, # noqa
|
||||||
last_name=user.last_name, # noqa
|
last_name=user.last_name, # noqa
|
||||||
|
|
@ -348,29 +339,14 @@ class CourseSessionObjectType(DjangoObjectType):
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
else:
|
||||||
|
# VBV-708: user has only "AgentParticipantRole" and is not in the list of users
|
||||||
|
for rel in AgentParticipantRelation.objects.filter(
|
||||||
|
participant__course_session=self, agent=info.context.user
|
||||||
|
):
|
||||||
|
if rel.participant_id not in [
|
||||||
|
user.id for user in course_session_users_resolved
|
||||||
|
]:
|
||||||
|
_add_course_session_user(rel.participant)
|
||||||
|
|
||||||
return course_session_users_resolved
|
return course_session_users_resolved
|
||||||
|
|
||||||
def _add_course_session_user(
|
|
||||||
self, course_session_user, course_session_users_resolved
|
|
||||||
):
|
|
||||||
course_session_users_resolved.append(
|
|
||||||
CourseSessionUserObjectsType(
|
|
||||||
id=course_session_user.id, # noqa
|
|
||||||
user_id=course_session_user.user.id, # noqa
|
|
||||||
first_name=course_session_user.user.first_name, # noqa
|
|
||||||
last_name=course_session_user.user.last_name, # noqa
|
|
||||||
email=course_session_user.user.email, # noqa
|
|
||||||
avatar_url=course_session_user.user.avatar_url, # noqa
|
|
||||||
role=course_session_user.role, # noqa
|
|
||||||
circles=[ # noqa
|
|
||||||
CourseSessionUserExpertCircleType( # noqa
|
|
||||||
id=circle.id, # noqa
|
|
||||||
title=circle.title, # noqa
|
|
||||||
slug=circle.slug, # noqa
|
|
||||||
)
|
|
||||||
for circle in course_session_user.expert.all() # noqa
|
|
||||||
],
|
|
||||||
optional_attendance=course_session_user.optional_attendance, # noqa
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue