wip: Add to new casework type to frontend

This commit is contained in:
Christian Cueni 2023-11-12 16:46:50 +01:00
parent 5c140f00de
commit b0ed6fb147
7 changed files with 24 additions and 7 deletions

View File

@ -61,6 +61,7 @@ const totalCount = (status: StatusCount) => {
const showEvaluationStatus = computed(() => { const showEvaluationStatus = computed(() => {
return ( return (
props.learningContent.content_assignment.assignment_type === "MANDATORY_CASEWORK" || props.learningContent.content_assignment.assignment_type === "MANDATORY_CASEWORK" ||
props.learningContent.content_assignment.assignment_type === "VOLUNTARY_CASEWORK" ||
props.learningContent.content_assignment.assignment_type === "EDONIQ_TEST" props.learningContent.content_assignment.assignment_type === "EDONIQ_TEST"
); );
}); });

View File

@ -101,7 +101,11 @@ const getLearningContentType = (lc: LearningContent) => {
const getShowDetailsText = (lc: LearningContent) => { const getShowDetailsText = (lc: LearningContent) => {
if (isAssignment(lc)) { if (isAssignment(lc)) {
const assignmentType = (lc as LearningContentAssignment).assignment_type; const assignmentType = (lc as LearningContentAssignment).assignment_type;
if (assignmentType === "MANDATORY_CASEWORK" || assignmentType === "REFLECTION") { if (
assignmentType === "VOLUNTARY_CASEWORK" ||
assignmentType === "MANDATORY_CASEWORK" ||
assignmentType === "REFLECTION"
) {
return t("a.Ergebnisse anschauen"); return t("a.Ergebnisse anschauen");
} else if ( } else if (
assignmentType === "PREP_ASSIGNMENT" || assignmentType === "PREP_ASSIGNMENT" ||
@ -132,6 +136,7 @@ const getIconName = (lc: LearningContent) => {
if ( if (
assignmentType === "PREP_ASSIGNMENT" || assignmentType === "PREP_ASSIGNMENT" ||
assignmentType === "MANDATORY_CASEWORK" || assignmentType === "MANDATORY_CASEWORK" ||
assignmentType === "VOLUNTARY_CASEWORK" ||
assignmentType === "CONDITION_ACCEPTANCE" assignmentType === "CONDITION_ACCEPTANCE"
) { ) {
return "it-icon-assignment-large"; return "it-icon-assignment-large";

View File

@ -19,6 +19,7 @@ import { computed, reactive } from "vue";
import { useTranslation } from "i18next-vue"; import { useTranslation } from "i18next-vue";
import eventBus from "@/utils/eventBus"; import eventBus from "@/utils/eventBus";
import dayjs from "dayjs"; import dayjs from "dayjs";
import type { AssignmentAssignmentAssignmentTypeChoices } from "@/gql/graphql";
const props = defineProps<{ const props = defineProps<{
assignment: Assignment; assignment: Assignment;
@ -83,8 +84,13 @@ const canSubmit = computed(() => {
); );
}); });
const isCasework = computed( const isCasework = computed(() =>
() => props.assignment.assignment_type === "MANDATORY_CASEWORK" (
[
"MANDATORY_CASEWORK",
"VOLUNTARY_CASEWORK",
] as AssignmentAssignmentAssignmentTypeChoices[]
).includes(props.assignment.assignment_type)
); );
const upsertAssignmentCompletionMutation = useMutation( const upsertAssignmentCompletionMutation = useMutation(

View File

@ -41,7 +41,9 @@ export function getAssignmentTypeTitle(assignmentType: AssignmentType): string {
switch (assignmentType) { switch (assignmentType) {
case "MANDATORY_CASEWORK": case "MANDATORY_CASEWORK":
return t("learningContentTypes.casework"); return t("learningContentTypes.mandatory_casework");
case "VOLUNTARY_CASEWORK":
return t("learningContentTypes.voluntary_casework");
case "PREP_ASSIGNMENT": case "PREP_ASSIGNMENT":
return t("learningContentTypes.prepAssignment"); return t("learningContentTypes.prepAssignment");
case "REFLECTION": case "REFLECTION":

View File

@ -27,7 +27,7 @@ class UpdateAssignmentCompletionTestCase(TestCase):
self.assignment = ( self.assignment = (
self.course.coursepage.get_descendants() self.course.coursepage.get_descendants()
.exact_type(Assignment) .exact_type(Assignment)
.filter(assignment__assignment_type="CASEWORK") .filter(assignment__assignment_type="MANDATORY_CASEWORK")
.first() .first()
.specific .specific
) )

View File

@ -132,7 +132,8 @@ class CourseSessionAssignment(models.Model):
) )
assignment_type = self.learning_content.assignment_type assignment_type = self.learning_content.assignment_type
assignment_type_translation_keys = { assignment_type_translation_keys = {
AssignmentType.MANDATORY_CASEWORK.value: "learningContentTypes.casework", AssignmentType.MANDATORY_CASEWORK.value: "learningContentTypes.mandatory_casework",
AssignmentType.VOLUNTARY_CASEWORK.value: "learningContentTypes.voluntary_casework",
AssignmentType.PREP_ASSIGNMENT.value: "learningContentTypes.prepAssignment", AssignmentType.PREP_ASSIGNMENT.value: "learningContentTypes.prepAssignment",
AssignmentType.REFLECTION.value: "learningContentTypes.reflection", AssignmentType.REFLECTION.value: "learningContentTypes.reflection",
} }
@ -141,6 +142,7 @@ class CourseSessionAssignment(models.Model):
if assignment_type in ( if assignment_type in (
AssignmentType.MANDATORY_CASEWORK.value, AssignmentType.MANDATORY_CASEWORK.value,
AssignmentType.VOLUNTARY_CASEWORK.value,
AssignmentType.PREP_ASSIGNMENT.value, AssignmentType.PREP_ASSIGNMENT.value,
): ):
if not self.submission_deadline_id: if not self.submission_deadline_id:

View File

@ -459,7 +459,8 @@ def create_or_update_course_session_assignment(
csa.submission_deadline.save() csa.submission_deadline.save()
elif ( elif (
csa.learning_content.assignment_type == AssignmentType.MANDATORY_CASEWORK.value csa.learning_content.assignment_type
== AssignmentType.MANDATORY_CASEWORK.value
and start and start
): ):
csa.submission_deadline.start = timezone.make_aware( csa.submission_deadline.start = timezone.make_aware(