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