wip: expose url for expert in duedate model
This commit is contained in:
parent
7c6d448268
commit
97edbbd751
|
|
@ -63,7 +63,11 @@ 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/{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 = (
|
||||||
|
|
@ -130,6 +134,12 @@ class CourseSessionAssignment(models.Model):
|
||||||
AssignmentType.REFLECTION.value: "learningContentTypes.reflection",
|
AssignmentType.REFLECTION.value: "learningContentTypes.reflection",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# TODO @livioso move this to the learning content?
|
||||||
|
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,
|
||||||
AssignmentType.PREP_ASSIGNMENT.value,
|
AssignmentType.PREP_ASSIGNMENT.value,
|
||||||
|
|
@ -141,6 +151,8 @@ 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.title = title
|
self.submission_deadline.title = title
|
||||||
self.submission_deadline.assignment_type_translation_key = (
|
self.submission_deadline.assignment_type_translation_key = (
|
||||||
assignment_type_translation_keys[assignment_type]
|
assignment_type_translation_keys[assignment_type]
|
||||||
|
|
@ -160,6 +172,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.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]
|
||||||
|
|
@ -208,6 +221,7 @@ 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_expert_url()
|
||||||
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 = (
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ class DueDateAdmin(admin.ModelAdmin):
|
||||||
"assignment_type_translation_key",
|
"assignment_type_translation_key",
|
||||||
"date_type_translation_key",
|
"date_type_translation_key",
|
||||||
"url",
|
"url",
|
||||||
|
"url_expert",
|
||||||
]
|
]
|
||||||
|
|
||||||
return default_readonly
|
return default_readonly
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Generated by Django 3.2.20 on 2023-09-25 14:48
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('duedate', '0004_alter_duedate_start'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='duedate',
|
||||||
|
name='url_expert',
|
||||||
|
field=models.CharField(blank=True, default='', help_text='URL wird aus dem LearningContent generiert (sichtbar für den Experten/Trainer)', max_length=1024),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='duedate',
|
||||||
|
name='url',
|
||||||
|
field=models.CharField(blank=True, default='', help_text='URL wird vom LearningContent übernommen (sichtbar für Member/Teilnehmer)', max_length=1024),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -45,7 +45,13 @@ class DueDate(models.Model):
|
||||||
default="",
|
default="",
|
||||||
blank=True,
|
blank=True,
|
||||||
max_length=1024,
|
max_length=1024,
|
||||||
help_text="URL wird vom LearningContent übernommen",
|
help_text="URL wird vom LearningContent übernommen (sichtbar für Member/Teilnehmer)",
|
||||||
|
)
|
||||||
|
url_expert = models.CharField(
|
||||||
|
default="",
|
||||||
|
blank=True,
|
||||||
|
max_length=1024,
|
||||||
|
help_text="URL wird aus dem LearningContent generiert (sichtbar für den Experten/Trainer)",
|
||||||
)
|
)
|
||||||
course_session = models.ForeignKey(
|
course_session = models.ForeignKey(
|
||||||
"course.CourseSession",
|
"course.CourseSession",
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ class DueDateSerializer(serializers.ModelSerializer):
|
||||||
"date_type_translation_key",
|
"date_type_translation_key",
|
||||||
"subtitle",
|
"subtitle",
|
||||||
"url",
|
"url",
|
||||||
|
"url_expert",
|
||||||
"course_session",
|
"course_session",
|
||||||
"page",
|
"page",
|
||||||
"circle",
|
"circle",
|
||||||
|
|
@ -24,6 +25,9 @@ class DueDateSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
def get_circle(self, obj):
|
def get_circle(self, obj):
|
||||||
circle = obj.get_circle()
|
circle = obj.get_circle()
|
||||||
|
|
||||||
|
page = obj.page
|
||||||
|
|
||||||
if circle:
|
if circle:
|
||||||
return {
|
return {
|
||||||
"id": circle.id,
|
"id": circle.id,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue