feat: migration for url_expert
This commit is contained in:
parent
79d4246b88
commit
ac06dff5c3
|
|
@ -63,11 +63,8 @@ class CourseSessionAttendanceCourse(models.Model):
|
||||||
)
|
)
|
||||||
|
|
||||||
if not self.due_date.manual_override_fields:
|
if not self.due_date.manual_override_fields:
|
||||||
course = self.learning_content.get_course()
|
|
||||||
|
|
||||||
self.due_date.url = self.learning_content.get_frontend_url()
|
self.due_date.url = self.learning_content.get_frontend_url()
|
||||||
# TODO: @livioso move this to the learning content?
|
self.due_date.url_expert = f"/course/{self.due_date.course_session.course.slug}/cockpit/attendance?id={self.learning_content_id}"
|
||||||
self.due_date.url_expert = f"/course/{course.slug}/cockpit/attendance?id={self.learning_content_id}"
|
|
||||||
self.due_date.title = self.learning_content.title
|
self.due_date.title = self.learning_content.title
|
||||||
self.due_date.page = self.learning_content.page_ptr
|
self.due_date.page = self.learning_content.page_ptr
|
||||||
self.due_date.assignment_type_translation_key = (
|
self.due_date.assignment_type_translation_key = (
|
||||||
|
|
@ -134,11 +131,7 @@ class CourseSessionAssignment(models.Model):
|
||||||
AssignmentType.REFLECTION.value: "learningContentTypes.reflection",
|
AssignmentType.REFLECTION.value: "learningContentTypes.reflection",
|
||||||
}
|
}
|
||||||
|
|
||||||
# TODO @livioso move this to the learning content?
|
url_expert = f"/course/{self.course_session.course.slug}/cockpit/assignment/{self.learning_content_id}"
|
||||||
course = self.learning_content.get_course()
|
|
||||||
url_expert = (
|
|
||||||
f"/course/{course.slug}/cockpit/assignment/{self.learning_content_id}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if assignment_type in (
|
if assignment_type in (
|
||||||
AssignmentType.CASEWORK.value,
|
AssignmentType.CASEWORK.value,
|
||||||
|
|
@ -151,7 +144,6 @@ class CourseSessionAssignment(models.Model):
|
||||||
|
|
||||||
if not self.submission_deadline.manual_override_fields:
|
if not self.submission_deadline.manual_override_fields:
|
||||||
self.submission_deadline.url = url
|
self.submission_deadline.url = url
|
||||||
# TODO: @livioso check what's expected here
|
|
||||||
self.submission_deadline.url_expert = url_expert
|
self.submission_deadline.url_expert = url_expert
|
||||||
self.submission_deadline.title = title
|
self.submission_deadline.title = title
|
||||||
self.submission_deadline.assignment_type_translation_key = (
|
self.submission_deadline.assignment_type_translation_key = (
|
||||||
|
|
@ -172,7 +164,7 @@ class CourseSessionAssignment(models.Model):
|
||||||
|
|
||||||
if not self.evaluation_deadline.manual_override_fields:
|
if not self.evaluation_deadline.manual_override_fields:
|
||||||
self.evaluation_deadline.url = url
|
self.evaluation_deadline.url = url
|
||||||
self.submission_deadline.url_expert = url_expert
|
self.evaluation_deadline.url_expert = url_expert
|
||||||
self.evaluation_deadline.title = title
|
self.evaluation_deadline.title = title
|
||||||
self.evaluation_deadline.assignment_type_translation_key = (
|
self.evaluation_deadline.assignment_type_translation_key = (
|
||||||
assignment_type_translation_keys[assignment_type]
|
assignment_type_translation_keys[assignment_type]
|
||||||
|
|
@ -221,7 +213,9 @@ class CourseSessionEdoniqTest(models.Model):
|
||||||
|
|
||||||
if not self.deadline.manual_override_fields:
|
if not self.deadline.manual_override_fields:
|
||||||
self.deadline.url = self.learning_content.get_frontend_url()
|
self.deadline.url = self.learning_content.get_frontend_url()
|
||||||
self.deadline.expert_url = self.learning_content.get_frontend_url()
|
self.deadline.url_expert = (
|
||||||
|
f"/course/{self.course_session.course.slug}/cockpit/"
|
||||||
|
)
|
||||||
self.deadline.title = self.learning_content.title
|
self.deadline.title = self.learning_content.title
|
||||||
self.deadline.page = self.learning_content.page_ptr
|
self.deadline.page = self.learning_content.page_ptr
|
||||||
self.deadline.assignment_type_translation_key = (
|
self.deadline.assignment_type_translation_key = (
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,70 @@
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
def set_url_expert_course_session_assignments(apps):
|
||||||
|
Course = apps.get_model("course", "Course") # noqa
|
||||||
|
|
||||||
|
CourseSessionAssignment = apps.get_model( # noqa
|
||||||
|
"course_session", "CourseSessionAssignment"
|
||||||
|
)
|
||||||
|
|
||||||
|
for assignment in CourseSessionAssignment.objects.all():
|
||||||
|
for due_date in [
|
||||||
|
assignment.submission_deadline,
|
||||||
|
assignment.evaluation_deadline,
|
||||||
|
]:
|
||||||
|
if due_date and due_date.page:
|
||||||
|
course_slug = due_date.course_session.course.slug
|
||||||
|
content_id = due_date.page.id
|
||||||
|
due_date.url_expert = (
|
||||||
|
f"/course/{course_slug}/cockpit/assignment/{content_id}"
|
||||||
|
)
|
||||||
|
due_date.save()
|
||||||
|
|
||||||
|
|
||||||
|
def set_url_expert_course_session_edoniq_test(apps):
|
||||||
|
CourseSessionEdoniqTest = apps.get_model( # noqa
|
||||||
|
"course_session", "CourseSessionEdoniqTest"
|
||||||
|
)
|
||||||
|
|
||||||
|
for edoniq_test in CourseSessionEdoniqTest.objects.all():
|
||||||
|
due_date = edoniq_test.deadline
|
||||||
|
|
||||||
|
if due_date:
|
||||||
|
course_slug = due_date.course_session.course.slug
|
||||||
|
due_date.url_expert = f"/course/{course_slug}/cockpit/"
|
||||||
|
due_date.save()
|
||||||
|
|
||||||
|
|
||||||
|
def set_url_expert_course_session_attendances(apps):
|
||||||
|
Course = apps.get_model("course", "Course") # noqa
|
||||||
|
|
||||||
|
CourseSessionAttendanceCourse = apps.get_model( # noqa
|
||||||
|
"course_session", "CourseSessionAttendanceCourse"
|
||||||
|
)
|
||||||
|
|
||||||
|
for attendance in CourseSessionAttendanceCourse.objects.all():
|
||||||
|
due_date = attendance.due_date
|
||||||
|
if due_date and due_date.page:
|
||||||
|
course_slug = due_date.course_session.course.slug
|
||||||
|
content_id = due_date.page.id
|
||||||
|
due_date.url_expert = (
|
||||||
|
f"/course/{course_slug}/cockpit/attendance?id={content_id}"
|
||||||
|
)
|
||||||
|
due_date.save()
|
||||||
|
|
||||||
|
|
||||||
|
def set_url_expert_default(apps, schema_editor):
|
||||||
|
set_url_expert_course_session_assignments(apps)
|
||||||
|
set_url_expert_course_session_attendances(apps)
|
||||||
|
set_url_expert_course_session_edoniq_test(apps)
|
||||||
|
|
||||||
|
|
||||||
|
def reverse_func(apps, schema_editor):
|
||||||
|
# so we can reverse this migration, but noop
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
dependencies = [
|
dependencies = [
|
||||||
("duedate", "0004_alter_duedate_start"),
|
("duedate", "0004_alter_duedate_start"),
|
||||||
|
|
@ -29,4 +93,5 @@ class Migration(migrations.Migration):
|
||||||
max_length=1024,
|
max_length=1024,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
migrations.RunPython(set_url_expert_default, reverse_func),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue