wip: Rename types
This commit is contained in:
parent
b0ed6fb147
commit
8fafba755d
|
|
@ -63,18 +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'
|
||||
/** PRAXIS_ASSIGNMENT */
|
||||
| 'PRAXIS_ASSIGNMENT'
|
||||
/** PREP_ASSIGNMENT */
|
||||
| 'PREP_ASSIGNMENT'
|
||||
/** REFLECTION */
|
||||
| 'REFLECTION'
|
||||
/** VOLUNTARY_CASEWORK */
|
||||
| 'VOLUNTARY_CASEWORK';
|
||||
| 'REFLECTION';
|
||||
|
||||
/** An enumeration. */
|
||||
export type AssignmentAssignmentCompletionCompletionStatusChoices =
|
||||
|
|
@ -766,18 +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'
|
||||
/** PRAXIS_ASSIGNMENT */
|
||||
| 'PRAXIS_ASSIGNMENT'
|
||||
/** PREP_ASSIGNMENT */
|
||||
| 'PREP_ASSIGNMENT'
|
||||
/** REFLECTION */
|
||||
| 'REFLECTION'
|
||||
/** VOLUNTARY_CASEWORK */
|
||||
| 'VOLUNTARY_CASEWORK';
|
||||
| 'REFLECTION';
|
||||
|
||||
export type Mutation = {
|
||||
__typename?: 'Mutation';
|
||||
|
|
|
|||
|
|
@ -490,11 +490,11 @@ type AssignmentObjectType implements CoursePageInterface {
|
|||
|
||||
"""An enumeration."""
|
||||
enum AssignmentAssignmentAssignmentTypeChoices {
|
||||
"""VOLUNTARY_CASEWORK"""
|
||||
VOLUNTARY_CASEWORK
|
||||
"""PRAXIS_ASSIGNMENT"""
|
||||
PRAXIS_ASSIGNMENT
|
||||
|
||||
"""MANDATORY_CASEWORK"""
|
||||
MANDATORY_CASEWORK
|
||||
"""CASEWORK"""
|
||||
CASEWORK
|
||||
|
||||
"""PREP_ASSIGNMENT"""
|
||||
PREP_ASSIGNMENT
|
||||
|
|
@ -607,11 +607,11 @@ scalar JSONString
|
|||
|
||||
"""An enumeration."""
|
||||
enum LearnpathLearningContentAssignmentAssignmentTypeChoices {
|
||||
"""VOLUNTARY_CASEWORK"""
|
||||
VOLUNTARY_CASEWORK
|
||||
"""PRAXIS_ASSIGNMENT"""
|
||||
PRAXIS_ASSIGNMENT
|
||||
|
||||
"""MANDATORY_CASEWORK"""
|
||||
MANDATORY_CASEWORK
|
||||
"""CASEWORK"""
|
||||
CASEWORK
|
||||
|
||||
"""PREP_ASSIGNMENT"""
|
||||
PREP_ASSIGNMENT
|
||||
|
|
@ -876,4 +876,4 @@ enum AssignmentCompletionStatus {
|
|||
SUBMITTED
|
||||
EVALUATION_IN_PROGRESS
|
||||
EVALUATION_SUBMITTED
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,8 +60,8 @@ const totalCount = (status: StatusCount) => {
|
|||
|
||||
const showEvaluationStatus = computed(() => {
|
||||
return (
|
||||
props.learningContent.content_assignment.assignment_type === "MANDATORY_CASEWORK" ||
|
||||
props.learningContent.content_assignment.assignment_type === "VOLUNTARY_CASEWORK" ||
|
||||
props.learningContent.content_assignment.assignment_type === "CASEWORK" ||
|
||||
props.learningContent.content_assignment.assignment_type === "PRAXIS_ASSIGNMENT" ||
|
||||
props.learningContent.content_assignment.assignment_type === "EDONIQ_TEST"
|
||||
);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -102,8 +102,8 @@ const getShowDetailsText = (lc: LearningContent) => {
|
|||
if (isAssignment(lc)) {
|
||||
const assignmentType = (lc as LearningContentAssignment).assignment_type;
|
||||
if (
|
||||
assignmentType === "VOLUNTARY_CASEWORK" ||
|
||||
assignmentType === "MANDATORY_CASEWORK" ||
|
||||
assignmentType === "PRAXIS_ASSIGNMENT" ||
|
||||
assignmentType === "CASEWORK" ||
|
||||
assignmentType === "REFLECTION"
|
||||
) {
|
||||
return t("a.Ergebnisse anschauen");
|
||||
|
|
@ -135,8 +135,8 @@ const getIconName = (lc: LearningContent) => {
|
|||
const assignmentType = (lc as LearningContentAssignment).assignment_type;
|
||||
if (
|
||||
assignmentType === "PREP_ASSIGNMENT" ||
|
||||
assignmentType === "MANDATORY_CASEWORK" ||
|
||||
assignmentType === "VOLUNTARY_CASEWORK" ||
|
||||
assignmentType === "CASEWORK" ||
|
||||
assignmentType === "PRAXIS_ASSIGNMENT" ||
|
||||
assignmentType === "CONDITION_ACCEPTANCE"
|
||||
) {
|
||||
return "it-icon-assignment-large";
|
||||
|
|
|
|||
|
|
@ -80,16 +80,13 @@ const completionTaskData = computed(() => {
|
|||
const canSubmit = computed(() => {
|
||||
return (
|
||||
!state.confirmInput ||
|
||||
(props.assignment.assignment_type === "MANDATORY_CASEWORK" && !state.confirmPerson)
|
||||
(props.assignment.assignment_type === "CASEWORK" && !state.confirmPerson)
|
||||
);
|
||||
});
|
||||
|
||||
const isCasework = computed(() =>
|
||||
(
|
||||
[
|
||||
"MANDATORY_CASEWORK",
|
||||
"VOLUNTARY_CASEWORK",
|
||||
] as AssignmentAssignmentAssignmentTypeChoices[]
|
||||
["CASEWORK", "PRAXIS_ASSIGNMENT"] as AssignmentAssignmentAssignmentTypeChoices[]
|
||||
).includes(props.assignment.assignment_type)
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@ export type ActionCompetence = Omit<
|
|||
};
|
||||
|
||||
export interface CompetenceCertificateAssignment extends BaseCourseWagtailPage {
|
||||
assignment_type: "MANDATORY_CASEWORK" | "EDONIQ_TEST";
|
||||
assignment_type: "CASEWORK" | "EDONIQ_TEST";
|
||||
max_points: number;
|
||||
learning_content:
|
||||
| (BaseCourseWagtailPage & {
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ export function getAssignmentTypeTitle(assignmentType: AssignmentType): string {
|
|||
const { t } = useTranslation();
|
||||
|
||||
switch (assignmentType) {
|
||||
case "MANDATORY_CASEWORK":
|
||||
case "CASEWORK":
|
||||
return t("learningContentTypes.mandatory_casework");
|
||||
case "VOLUNTARY_CASEWORK":
|
||||
case "PRAXIS_ASSIGNMENT":
|
||||
return t("learningContentTypes.voluntary_casework");
|
||||
case "PREP_ASSIGNMENT":
|
||||
return t("learningContentTypes.prepAssignment");
|
||||
|
|
|
|||
|
|
@ -111,8 +111,8 @@ class EvaluationTaskBlock(blocks.StructBlock):
|
|||
|
||||
|
||||
class AssignmentType(Enum):
|
||||
VOLUNTARY_CASEWORK = "VOLUNTARY_CASEWORK" # Praxisauftrag
|
||||
MANDATORY_CASEWORK = "MANDATORY_CASEWORK" # Geleitete Fallarbeit
|
||||
PRAXIS_ASSIGNMENT = "PRAXIS_ASSIGNMENT" # Praxisauftrag
|
||||
CASEWORK = "CASEWORK" # Geleitete Fallarbeit
|
||||
PREP_ASSIGNMENT = "PREP_ASSIGNMENT" # Vorbereitungsauftrag
|
||||
REFLECTION = "REFLECTION" # Reflexion
|
||||
CONDITION_ACCEPTANCE = "CONDITION_ACCEPTANCE" # Bedingungsannahme
|
||||
|
|
@ -139,7 +139,7 @@ class Assignment(CourseBasePage):
|
|||
assignment_type = models.CharField(
|
||||
max_length=50,
|
||||
choices=[(tag.value, tag.value) for tag in AssignmentType],
|
||||
default=AssignmentType.MANDATORY_CASEWORK.value,
|
||||
default=AssignmentType.CASEWORK.value,
|
||||
)
|
||||
|
||||
needs_expert_evaluation = models.BooleanField(
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class UpdateAssignmentCompletionTestCase(TestCase):
|
|||
self.assignment = (
|
||||
self.course.coursepage.get_descendants()
|
||||
.exact_type(Assignment)
|
||||
.filter(assignment__assignment_type="MANDATORY_CASEWORK")
|
||||
.filter(assignment__assignment_type="CASEWORK")
|
||||
.first()
|
||||
.specific
|
||||
)
|
||||
|
|
@ -261,7 +261,7 @@ class UpdateAssignmentCompletionTestCase(TestCase):
|
|||
user_text_input = find_first(
|
||||
subtasks,
|
||||
pred=lambda x: (value := x.get("value"))
|
||||
and value.get("text", "").startswith(
|
||||
and value.get("text", "").startswith(
|
||||
"Gibt es zusätzliche Deckungen, die du der Person empfehlen würdest?"
|
||||
),
|
||||
)
|
||||
|
|
@ -344,7 +344,7 @@ class UpdateAssignmentCompletionTestCase(TestCase):
|
|||
user_text_input = find_first(
|
||||
subtasks,
|
||||
pred=lambda x: (value := x.get("value"))
|
||||
and value.get("text", "").startswith(
|
||||
and value.get("text", "").startswith(
|
||||
"Gibt es zusätzliche Deckungen, die du der Person empfehlen würdest?"
|
||||
),
|
||||
)
|
||||
|
|
@ -396,7 +396,7 @@ class UpdateAssignmentCompletionTestCase(TestCase):
|
|||
user_text_input = find_first(
|
||||
subtasks,
|
||||
pred=lambda x: (value := x.get("value"))
|
||||
and value.get("text", "").startswith(
|
||||
and value.get("text", "").startswith(
|
||||
"Gibt es zusätzliche Deckungen, die du der Person empfehlen würdest?"
|
||||
),
|
||||
)
|
||||
|
|
@ -437,7 +437,7 @@ class UpdateAssignmentCompletionTestCase(TestCase):
|
|||
user_text_input = find_first(
|
||||
subtasks,
|
||||
pred=lambda x: (value := x.get("value"))
|
||||
and value.get("text", "").startswith(
|
||||
and value.get("text", "").startswith(
|
||||
"Gibt es zusätzliche Deckungen, die du der Person empfehlen würdest?"
|
||||
),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -132,8 +132,8 @@ class CourseSessionAssignment(models.Model):
|
|||
)
|
||||
assignment_type = self.learning_content.assignment_type
|
||||
assignment_type_translation_keys = {
|
||||
AssignmentType.MANDATORY_CASEWORK.value: "learningContentTypes.mandatory_casework",
|
||||
AssignmentType.VOLUNTARY_CASEWORK.value: "learningContentTypes.voluntary_casework",
|
||||
AssignmentType.CASEWORK.value: "learningContentTypes.mandatory_casework",
|
||||
AssignmentType.PRAXIS_ASSIGNMENT.value: "learningContentTypes.voluntary_casework",
|
||||
AssignmentType.PREP_ASSIGNMENT.value: "learningContentTypes.prepAssignment",
|
||||
AssignmentType.REFLECTION.value: "learningContentTypes.reflection",
|
||||
}
|
||||
|
|
@ -141,8 +141,8 @@ 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.MANDATORY_CASEWORK.value,
|
||||
AssignmentType.VOLUNTARY_CASEWORK.value,
|
||||
AssignmentType.CASEWORK.value,
|
||||
AssignmentType.PRAXIS_ASSIGNMENT.value,
|
||||
AssignmentType.PREP_ASSIGNMENT.value,
|
||||
):
|
||||
if not self.submission_deadline_id:
|
||||
|
|
@ -164,7 +164,7 @@ class CourseSessionAssignment(models.Model):
|
|||
|
||||
self.submission_deadline.save()
|
||||
|
||||
if assignment_type == AssignmentType.MANDATORY_CASEWORK.value:
|
||||
if assignment_type == AssignmentType.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.MANDATORY_CASEWORK.value,
|
||||
AssignmentType.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.MANDATORY_CASEWORK
|
||||
assignment_type=AssignmentType.CASEWORK
|
||||
)
|
||||
|
||||
def test_dashboard_contains_edoniq_tests(self):
|
||||
|
|
@ -115,7 +115,7 @@ class AssignmentTestCase(GraphQLTestCase):
|
|||
"""
|
||||
|
||||
irrelevant_types_for_dashboard = set(AssignmentType) - {
|
||||
AssignmentType.MANDATORY_CASEWORK,
|
||||
AssignmentType.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.MANDATORY_CASEWORK,
|
||||
assignment_type=AssignmentType.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.MANDATORY_CASEWORK,
|
||||
assignment_type=AssignmentType.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.MANDATORY_CASEWORK
|
||||
course=course, assignment_type=AssignmentType.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.MANDATORY_CASEWORK
|
||||
course=course, assignment_type=AssignmentType.CASEWORK
|
||||
),
|
||||
course_session=cs_2,
|
||||
has_passed=False,
|
||||
|
|
|
|||
|
|
@ -460,7 +460,7 @@ def create_or_update_course_session_assignment(
|
|||
|
||||
elif (
|
||||
csa.learning_content.assignment_type
|
||||
== AssignmentType.MANDATORY_CASEWORK.value
|
||||
== AssignmentType.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.MANDATORY_CASEWORK.value
|
||||
learning_content__assignment_type=AssignmentType.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.MANDATORY_CASEWORK.value
|
||||
learning_content__assignment_type=AssignmentType.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.MANDATORY_CASEWORK.name,
|
||||
default=AssignmentType.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.MANDATORY_CASEWORK.value,
|
||||
AssignmentType.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.MANDATORY_CASEWORK.value,
|
||||
AssignmentType.CASEWORK.value,
|
||||
],
|
||||
):
|
||||
for expert in CourseSessionUser.objects.filter(
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ class NotificationService:
|
|||
}
|
||||
|
||||
templates = {
|
||||
AssignmentType.MANDATORY_CASEWORK: EmailTemplate.ASSIGNMENT_REMINDER_CASEWORK_MEMBER,
|
||||
AssignmentType.CASEWORK: EmailTemplate.ASSIGNMENT_REMINDER_CASEWORK_MEMBER,
|
||||
AssignmentType.PREP_ASSIGNMENT: EmailTemplate.ASSIGNMENT_REMINDER_PREP_ASSIGNMENT_MEMBER,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ 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.MANDATORY_CASEWORK: "test-lehrgang-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice",
|
||||
AssignmentType.CASEWORK: "test-lehrgang-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice",
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ class TestAssignmentCourseRemindersTest(TestCase):
|
|||
action_object.learning_content.assignment_type
|
||||
)
|
||||
|
||||
if assignment_type == AssignmentType.MANDATORY_CASEWORK:
|
||||
if assignment_type == AssignmentType.CASEWORK:
|
||||
self.assertEquals(
|
||||
EmailTemplate.ASSIGNMENT_REMINDER_CASEWORK_MEMBER.name,
|
||||
email_template,
|
||||
|
|
@ -189,7 +189,7 @@ class TestAssignmentCourseRemindersTest(TestCase):
|
|||
def test_notification_casework_for_members(self):
|
||||
# GIVEN
|
||||
casework = create_assignment(
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK,
|
||||
assignment_type=AssignmentType.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
|
||||
|
|
@ -198,14 +198,14 @@ class TestAssignmentCourseRemindersTest(TestCase):
|
|||
|
||||
# ...too early
|
||||
create_assignment(
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK,
|
||||
assignment_type=AssignmentType.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.MANDATORY_CASEWORK,
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
submission_deadline=timezone.make_aware(datetime(2022, 1, 1)),
|
||||
evaluation_deadline=timezone.make_aware(datetime(2022, 2, 2)),
|
||||
)
|
||||
|
|
@ -227,7 +227,7 @@ class TestAssignmentCourseRemindersTest(TestCase):
|
|||
def test_notification_casework_for_experts(self):
|
||||
# GIVEN
|
||||
casework = create_assignment(
|
||||
assignment_type=AssignmentType.MANDATORY_CASEWORK,
|
||||
assignment_type=AssignmentType.CASEWORK,
|
||||
submission_deadline=timezone.make_aware(datetime(2022, 12, 12)),
|
||||
evaluation_deadline=timezone.make_aware(datetime(2023, 1, 2)),
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue