wip: Rename CASEWORK
This commit is contained in:
parent
6afc9dcbc9
commit
5c140f00de
|
|
@ -63,16 +63,18 @@ export type ActionCompetenceObjectType = CoursePageInterface & {
|
|||
|
||||
/** An enumeration. */
|
||||
export type AssignmentAssignmentAssignmentTypeChoices =
|
||||
/** CASEWORK */
|
||||
| 'CASEWORK'
|
||||
/** CONDITION_ACCEPTANCE */
|
||||
| 'CONDITION_ACCEPTANCE'
|
||||
/** EDONIQ_TEST */
|
||||
| 'EDONIQ_TEST'
|
||||
/** MANDATORY_CASEWORK */
|
||||
| 'MANDATORY_CASEWORK'
|
||||
/** PREP_ASSIGNMENT */
|
||||
| 'PREP_ASSIGNMENT'
|
||||
/** REFLECTION */
|
||||
| 'REFLECTION';
|
||||
| 'REFLECTION'
|
||||
/** VOLUNTARY_CASEWORK */
|
||||
| 'VOLUNTARY_CASEWORK';
|
||||
|
||||
/** An enumeration. */
|
||||
export type AssignmentAssignmentCompletionCompletionStatusChoices =
|
||||
|
|
@ -150,7 +152,7 @@ export type AssignmentObjectType = CoursePageInterface & {
|
|||
learning_content?: Maybe<LearningContentInterface>;
|
||||
live: Scalars['Boolean']['output'];
|
||||
max_points?: Maybe<Scalars['Int']['output']>;
|
||||
/** Muss der Auftrag durch eine Expertin oder einen Experten beurteilt werden? */
|
||||
/** Muss der Auftrag durch eine/n Experten/in oder eine Lernbegleitung beurteilt werden? */
|
||||
needs_expert_evaluation: Scalars['Boolean']['output'];
|
||||
performance_objectives?: Maybe<Scalars['JSONStreamField']['output']>;
|
||||
slug: Scalars['String']['output'];
|
||||
|
|
@ -764,16 +766,18 @@ export type LearningUnitObjectType = CoursePageInterface & {
|
|||
|
||||
/** An enumeration. */
|
||||
export type LearnpathLearningContentAssignmentAssignmentTypeChoices =
|
||||
/** CASEWORK */
|
||||
| 'CASEWORK'
|
||||
/** CONDITION_ACCEPTANCE */
|
||||
| 'CONDITION_ACCEPTANCE'
|
||||
/** EDONIQ_TEST */
|
||||
| 'EDONIQ_TEST'
|
||||
/** MANDATORY_CASEWORK */
|
||||
| 'MANDATORY_CASEWORK'
|
||||
/** PREP_ASSIGNMENT */
|
||||
| 'PREP_ASSIGNMENT'
|
||||
/** REFLECTION */
|
||||
| 'REFLECTION';
|
||||
| 'REFLECTION'
|
||||
/** VOLUNTARY_CASEWORK */
|
||||
| 'VOLUNTARY_CASEWORK';
|
||||
|
||||
export type Mutation = {
|
||||
__typename?: 'Mutation';
|
||||
|
|
|
|||
|
|
@ -456,7 +456,7 @@ type AssignmentObjectType implements CoursePageInterface {
|
|||
assignment_type: AssignmentAssignmentAssignmentTypeChoices!
|
||||
|
||||
"""
|
||||
Muss der Auftrag durch eine Expertin oder einen Experten beurteilt werden?
|
||||
Muss der Auftrag durch eine/n Experten/in oder eine Lernbegleitung beurteilt werden?
|
||||
"""
|
||||
needs_expert_evaluation: Boolean!
|
||||
competence_certificate: CompetenceCertificateObjectType
|
||||
|
|
@ -490,8 +490,11 @@ type AssignmentObjectType implements CoursePageInterface {
|
|||
|
||||
"""An enumeration."""
|
||||
enum AssignmentAssignmentAssignmentTypeChoices {
|
||||
"""CASEWORK"""
|
||||
CASEWORK
|
||||
"""VOLUNTARY_CASEWORK"""
|
||||
VOLUNTARY_CASEWORK
|
||||
|
||||
"""MANDATORY_CASEWORK"""
|
||||
MANDATORY_CASEWORK
|
||||
|
||||
"""PREP_ASSIGNMENT"""
|
||||
PREP_ASSIGNMENT
|
||||
|
|
@ -604,8 +607,11 @@ scalar JSONString
|
|||
|
||||
"""An enumeration."""
|
||||
enum LearnpathLearningContentAssignmentAssignmentTypeChoices {
|
||||
"""CASEWORK"""
|
||||
CASEWORK
|
||||
"""VOLUNTARY_CASEWORK"""
|
||||
VOLUNTARY_CASEWORK
|
||||
|
||||
"""MANDATORY_CASEWORK"""
|
||||
MANDATORY_CASEWORK
|
||||
|
||||
"""PREP_ASSIGNMENT"""
|
||||
PREP_ASSIGNMENT
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ const totalCount = (status: StatusCount) => {
|
|||
|
||||
const showEvaluationStatus = computed(() => {
|
||||
return (
|
||||
props.learningContent.content_assignment.assignment_type === "CASEWORK" ||
|
||||
props.learningContent.content_assignment.assignment_type === "MANDATORY_CASEWORK" ||
|
||||
props.learningContent.content_assignment.assignment_type === "EDONIQ_TEST"
|
||||
);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ const getLearningContentType = (lc: LearningContent) => {
|
|||
const getShowDetailsText = (lc: LearningContent) => {
|
||||
if (isAssignment(lc)) {
|
||||
const assignmentType = (lc as LearningContentAssignment).assignment_type;
|
||||
if (assignmentType === "CASEWORK" || assignmentType === "REFLECTION") {
|
||||
if (assignmentType === "MANDATORY_CASEWORK" || assignmentType === "REFLECTION") {
|
||||
return t("a.Ergebnisse anschauen");
|
||||
} else if (
|
||||
assignmentType === "PREP_ASSIGNMENT" ||
|
||||
|
|
@ -131,7 +131,7 @@ const getIconName = (lc: LearningContent) => {
|
|||
const assignmentType = (lc as LearningContentAssignment).assignment_type;
|
||||
if (
|
||||
assignmentType === "PREP_ASSIGNMENT" ||
|
||||
assignmentType === "CASEWORK" ||
|
||||
assignmentType === "MANDATORY_CASEWORK" ||
|
||||
assignmentType === "CONDITION_ACCEPTANCE"
|
||||
) {
|
||||
return "it-icon-assignment-large";
|
||||
|
|
|
|||
|
|
@ -79,11 +79,13 @@ const completionTaskData = computed(() => {
|
|||
const canSubmit = computed(() => {
|
||||
return (
|
||||
!state.confirmInput ||
|
||||
(props.assignment.assignment_type === "CASEWORK" && !state.confirmPerson)
|
||||
(props.assignment.assignment_type === "MANDATORY_CASEWORK" && !state.confirmPerson)
|
||||
);
|
||||
});
|
||||
|
||||
const isCasework = computed(() => props.assignment.assignment_type === "CASEWORK");
|
||||
const isCasework = computed(
|
||||
() => props.assignment.assignment_type === "MANDATORY_CASEWORK"
|
||||
);
|
||||
|
||||
const upsertAssignmentCompletionMutation = useMutation(
|
||||
UPSERT_ASSIGNMENT_COMPLETION_MUTATION
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@ export type ActionCompetence = Omit<
|
|||
};
|
||||
|
||||
export interface CompetenceCertificateAssignment extends BaseCourseWagtailPage {
|
||||
assignment_type: "CASEWORK" | "EDONIQ_TEST";
|
||||
assignment_type: "MANDATORY_CASEWORK" | "EDONIQ_TEST";
|
||||
max_points: number;
|
||||
learning_content:
|
||||
| (BaseCourseWagtailPage & {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ export function getAssignmentTypeTitle(assignmentType: AssignmentType): string {
|
|||
const { t } = useTranslation();
|
||||
|
||||
switch (assignmentType) {
|
||||
case "CASEWORK":
|
||||
case "MANDATORY_CASEWORK":
|
||||
return t("learningContentTypes.casework");
|
||||
case "PREP_ASSIGNMENT":
|
||||
return t("learningContentTypes.prepAssignment");
|
||||
|
|
|
|||
|
|
@ -111,7 +111,8 @@ class EvaluationTaskBlock(blocks.StructBlock):
|
|||
|
||||
|
||||
class AssignmentType(Enum):
|
||||
CASEWORK = "CASEWORK" # Geleitete Fallarbeit
|
||||
VOLUNTARY_CASEWORK = "VOLUNTARY_CASEWORK" # Praxisauftrag
|
||||
MANDATORY_CASEWORK = "MANDATORY_CASEWORK" # Geleitete Fallarbeit
|
||||
PREP_ASSIGNMENT = "PREP_ASSIGNMENT" # Vorbereitungsauftrag
|
||||
REFLECTION = "REFLECTION" # Reflexion
|
||||
CONDITION_ACCEPTANCE = "CONDITION_ACCEPTANCE" # Bedingungsannahme
|
||||
|
|
@ -138,12 +139,12 @@ class Assignment(CourseBasePage):
|
|||
assignment_type = models.CharField(
|
||||
max_length=50,
|
||||
choices=[(tag.value, tag.value) for tag in AssignmentType],
|
||||
default=AssignmentType.CASEWORK.value,
|
||||
default=AssignmentType.MANDATORY_CASEWORK.value,
|
||||
)
|
||||
|
||||
needs_expert_evaluation = models.BooleanField(
|
||||
default=False,
|
||||
help_text="Muss der Auftrag durch eine Expertin oder einen Experten beurteilt werden?",
|
||||
help_text="Muss der Auftrag durch eine/n Experten/in oder eine Lernbegleitung beurteilt werden?",
|
||||
)
|
||||
|
||||
competence_certificate = models.ForeignKey(
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ class CourseSessionAssignment(models.Model):
|
|||
)
|
||||
assignment_type = self.learning_content.assignment_type
|
||||
assignment_type_translation_keys = {
|
||||
AssignmentType.CASEWORK.value: "learningContentTypes.casework",
|
||||
AssignmentType.MANDATORY_CASEWORK.value: "learningContentTypes.casework",
|
||||
AssignmentType.PREP_ASSIGNMENT.value: "learningContentTypes.prepAssignment",
|
||||
AssignmentType.REFLECTION.value: "learningContentTypes.reflection",
|
||||
}
|
||||
|
|
@ -140,7 +140,7 @@ class CourseSessionAssignment(models.Model):
|
|||
url_expert = f"/course/{self.course_session.course.slug}/cockpit/assignment/{self.learning_content_id}?courseSessionId={self.course_session.id}"
|
||||
|
||||
if assignment_type in (
|
||||
AssignmentType.CASEWORK.value,
|
||||
AssignmentType.MANDATORY_CASEWORK.value,
|
||||
AssignmentType.PREP_ASSIGNMENT.value,
|
||||
):
|
||||
if not self.submission_deadline_id:
|
||||
|
|
@ -162,7 +162,7 @@ class CourseSessionAssignment(models.Model):
|
|||
|
||||
self.submission_deadline.save()
|
||||
|
||||
if assignment_type == AssignmentType.CASEWORK.value:
|
||||
if assignment_type == AssignmentType.MANDATORY_CASEWORK.value:
|
||||
if not self.evaluation_deadline_id:
|
||||
self.evaluation_deadline = DueDate.objects.create(
|
||||
course_session=self.course_session,
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ def assignments(
|
|||
for csa in CourseSessionAssignment.objects.filter(
|
||||
course_session=course_session,
|
||||
learning_content__content_assignment__assignment_type__in=[
|
||||
AssignmentType.CASEWORK.value,
|
||||
AssignmentType.MANDATORY_CASEWORK.value,
|
||||
],
|
||||
learning_content__content_assignment__competence_certificate__isnull=False,
|
||||
):
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ class AssignmentTestCase(GraphQLTestCase):
|
|||
|
||||
def test_dashboard_contains_casework(self):
|
||||
self._test_assignment_type_dashboard_details(
|
||||
assignment_type=AssignmentType.CASEWORK
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK
|
||||
)
|
||||
|
||||
def test_dashboard_contains_edoniq_tests(self):
|
||||
|
|
@ -115,7 +115,7 @@ class AssignmentTestCase(GraphQLTestCase):
|
|||
"""
|
||||
|
||||
irrelevant_types_for_dashboard = set(AssignmentType) - {
|
||||
AssignmentType.CASEWORK,
|
||||
AssignmentType.MANDATORY_CASEWORK,
|
||||
AssignmentType.EDONIQ_TEST,
|
||||
}
|
||||
|
||||
|
|
@ -196,7 +196,7 @@ class AssignmentTestCase(GraphQLTestCase):
|
|||
# GIVEN
|
||||
assignment_1, _ = mix_assignment_cocktail(
|
||||
deadline_at=datetime(1990, 4, 1),
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK,
|
||||
course_session=self.course_session,
|
||||
circle=self.circle,
|
||||
add_competence_certificate=True,
|
||||
|
|
@ -212,7 +212,7 @@ class AssignmentTestCase(GraphQLTestCase):
|
|||
|
||||
assignment_3, _ = mix_assignment_cocktail(
|
||||
deadline_at=datetime(2010, 4, 1),
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK,
|
||||
course_session=self.course_session,
|
||||
circle=self.circle,
|
||||
add_competence_certificate=True,
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ class DashboardTestCase(GraphQLTestCase):
|
|||
create_assignment_completion(
|
||||
user=member,
|
||||
assignment=create_assignment(
|
||||
course=course, assignment_type=AssignmentType.CASEWORK
|
||||
course=course, assignment_type=AssignmentType.MANDATORY_CASEWORK
|
||||
),
|
||||
course_session=cs_1,
|
||||
has_passed=True,
|
||||
|
|
@ -61,7 +61,7 @@ class DashboardTestCase(GraphQLTestCase):
|
|||
create_assignment_completion(
|
||||
user=member,
|
||||
assignment=create_assignment(
|
||||
course=course, assignment_type=AssignmentType.CASEWORK
|
||||
course=course, assignment_type=AssignmentType.MANDATORY_CASEWORK
|
||||
),
|
||||
course_session=cs_2,
|
||||
has_passed=False,
|
||||
|
|
|
|||
|
|
@ -459,7 +459,7 @@ def create_or_update_course_session_assignment(
|
|||
csa.submission_deadline.save()
|
||||
|
||||
elif (
|
||||
csa.learning_content.assignment_type == AssignmentType.CASEWORK.value
|
||||
csa.learning_content.assignment_type == AssignmentType.MANDATORY_CASEWORK.value
|
||||
and start
|
||||
):
|
||||
csa.submission_deadline.start = timezone.make_aware(
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ class CreateOrUpdateCourseSessionTestCase(TestCase):
|
|||
self.assertEqual(4, DueDate.objects.count())
|
||||
|
||||
casework = CourseSessionAssignment.objects.filter(
|
||||
learning_content__assignment_type=AssignmentType.CASEWORK.value
|
||||
learning_content__assignment_type=AssignmentType.MANDATORY_CASEWORK.value
|
||||
).first()
|
||||
self.assertEqual(
|
||||
casework.submission_deadline.start.isoformat(), "2023-07-06T11:30:00+00:00"
|
||||
|
|
@ -183,7 +183,7 @@ class CreateOrUpdateCourseSessionTestCase(TestCase):
|
|||
self.assertEqual(4, DueDate.objects.count())
|
||||
|
||||
casework = CourseSessionAssignment.objects.filter(
|
||||
learning_content__assignment_type=AssignmentType.CASEWORK.value
|
||||
learning_content__assignment_type=AssignmentType.MANDATORY_CASEWORK.value
|
||||
).first()
|
||||
self.assertEqual(
|
||||
casework.submission_deadline.start.isoformat(), "2023-07-06T12:30:00+00:00"
|
||||
|
|
|
|||
|
|
@ -426,7 +426,7 @@ class LearningContentAssignment(LearningContent):
|
|||
assignment_type = models.CharField(
|
||||
max_length=50,
|
||||
choices=[(tag.name, tag.name) for tag in AssignmentType],
|
||||
default=AssignmentType.CASEWORK.name,
|
||||
default=AssignmentType.MANDATORY_CASEWORK.name,
|
||||
)
|
||||
|
||||
content_panels = [
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ def send_assignment_reminder_notifications():
|
|||
submission_deadline__start__lte=end,
|
||||
submission_deadline__start__gte=start,
|
||||
learning_content__assignment_type__in=[
|
||||
AssignmentType.CASEWORK.value,
|
||||
AssignmentType.MANDATORY_CASEWORK.value,
|
||||
AssignmentType.PREP_ASSIGNMENT.value,
|
||||
],
|
||||
):
|
||||
|
|
@ -60,7 +60,7 @@ def send_assignment_reminder_notifications():
|
|||
evaluation_deadline__start__lte=end,
|
||||
evaluation_deadline__start__gte=start,
|
||||
learning_content__assignment_type__in=[
|
||||
AssignmentType.CASEWORK.value,
|
||||
AssignmentType.MANDATORY_CASEWORK.value,
|
||||
],
|
||||
):
|
||||
for expert in CourseSessionUser.objects.filter(
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ class NotificationService:
|
|||
}
|
||||
|
||||
templates = {
|
||||
AssignmentType.CASEWORK: EmailTemplate.ASSIGNMENT_REMINDER_CASEWORK_MEMBER,
|
||||
AssignmentType.MANDATORY_CASEWORK: EmailTemplate.ASSIGNMENT_REMINDER_CASEWORK_MEMBER,
|
||||
AssignmentType.PREP_ASSIGNMENT: EmailTemplate.ASSIGNMENT_REMINDER_PREP_ASSIGNMENT_MEMBER,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,12 +35,11 @@ RECIPIENT_STUDENTS = [
|
|||
"test-student3@example.com",
|
||||
]
|
||||
|
||||
|
||||
ASSIGNMENT_TYPE_LEARNING_CONTENT_LOOKUP: Dict[AssignmentType, str] = {
|
||||
AssignmentType.CONDITION_ACCEPTANCE: "test-lehrgang-lp-circle-fahrzeug-lc-redlichkeitserklärung",
|
||||
AssignmentType.PREP_ASSIGNMENT: "test-lehrgang-lp-circle-fahrzeug-lc-fahrzeug-mein-erstes-auto",
|
||||
AssignmentType.REFLECTION: "test-lehrgang-lp-circle-fahrzeug-lc-reflexion",
|
||||
AssignmentType.CASEWORK: "test-lehrgang-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice",
|
||||
AssignmentType.MANDATORY_CASEWORK: "test-lehrgang-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice",
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -140,7 +139,7 @@ class TestAssignmentCourseRemindersTest(TestCase):
|
|||
action_object.learning_content.assignment_type
|
||||
)
|
||||
|
||||
if assignment_type == AssignmentType.CASEWORK:
|
||||
if assignment_type == AssignmentType.MANDATORY_CASEWORK:
|
||||
self.assertEquals(
|
||||
EmailTemplate.ASSIGNMENT_REMINDER_CASEWORK_MEMBER.name,
|
||||
email_template,
|
||||
|
|
@ -190,7 +189,7 @@ class TestAssignmentCourseRemindersTest(TestCase):
|
|||
def test_notification_casework_for_members(self):
|
||||
# GIVEN
|
||||
casework = create_assignment(
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK,
|
||||
# has a submission deadline within range -> member notification
|
||||
submission_deadline=timezone.make_aware(datetime(2023, 1, 2)),
|
||||
# but no evaluation deadline within range -> no expert notification
|
||||
|
|
@ -199,14 +198,14 @@ class TestAssignmentCourseRemindersTest(TestCase):
|
|||
|
||||
# ...too early
|
||||
create_assignment(
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK,
|
||||
submission_deadline=timezone.make_aware(datetime(2023, 1, 4)),
|
||||
evaluation_deadline=timezone.make_aware(datetime(2023, 2, 2)),
|
||||
)
|
||||
|
||||
# ...too late
|
||||
create_assignment(
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK,
|
||||
submission_deadline=timezone.make_aware(datetime(2022, 1, 1)),
|
||||
evaluation_deadline=timezone.make_aware(datetime(2022, 2, 2)),
|
||||
)
|
||||
|
|
@ -228,7 +227,7 @@ class TestAssignmentCourseRemindersTest(TestCase):
|
|||
def test_notification_casework_for_experts(self):
|
||||
# GIVEN
|
||||
casework = create_assignment(
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK,
|
||||
submission_deadline=timezone.make_aware(datetime(2022, 12, 12)),
|
||||
evaluation_deadline=timezone.make_aware(datetime(2023, 1, 2)),
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue