Add circle title to dropdown text
This commit is contained in:
parent
abe923b2e4
commit
6175ca75ed
|
|
@ -29,9 +29,9 @@ const presenceCoursesDropdownOptions = computed(() => {
|
|||
(attendanceCourse) =>
|
||||
({
|
||||
id: attendanceCourse.id,
|
||||
name: `${t("Präsenzkurs")} ${dayjs(attendanceCourse.start).format(
|
||||
"DD.MM.YYYY"
|
||||
)}`,
|
||||
name: `${t("Präsenzkurs")} ${attendanceCourse.circle_title} ${dayjs(
|
||||
attendanceCourse.start
|
||||
).format("DD.MM.YYYY")}`,
|
||||
} as DropdownSelectable)
|
||||
);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -425,6 +425,7 @@ export interface CourseSessionAttendanceCourse {
|
|||
location: string;
|
||||
trainer: string;
|
||||
due_date_id: number;
|
||||
circle_title: string;
|
||||
}
|
||||
|
||||
export interface CourseSessionAssignment {
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ class CourseSessionAttendanceCourseAdmin(admin.ModelAdmin):
|
|||
"start_date",
|
||||
"end_date",
|
||||
"trainer",
|
||||
"location",
|
||||
]
|
||||
list_filter = ["course_session__course", "course_session"]
|
||||
|
||||
|
|
@ -38,12 +39,10 @@ class CourseSessionAttendanceCourseAdmin(admin.ModelAdmin):
|
|||
end_date.admin_order_field = "due_date__end"
|
||||
|
||||
def circle(self, obj):
|
||||
try:
|
||||
return obj.learning_content.get_ancestors().exact_type(Circle).first().title
|
||||
except Exception:
|
||||
# noop
|
||||
pass
|
||||
return None
|
||||
circle = obj.get_circle()
|
||||
if circle:
|
||||
return circle.title
|
||||
return ""
|
||||
|
||||
# Create a method that serves as a form field
|
||||
def circle_display(self, obj=None):
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ from django_jsonform.models.fields import JSONField as JSONSchemaField
|
|||
|
||||
from vbv_lernwelt.assignment.models import AssignmentType
|
||||
from vbv_lernwelt.duedate.models import DueDate
|
||||
from vbv_lernwelt.learnpath.models import Circle
|
||||
|
||||
|
||||
class CourseSessionAttendanceCourse(models.Model):
|
||||
|
|
@ -73,6 +74,14 @@ class CourseSessionAttendanceCourse(models.Model):
|
|||
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
def get_circle(self):
|
||||
try:
|
||||
return self.learning_content.get_ancestors().exact_type(Circle).first()
|
||||
except Exception:
|
||||
# noop
|
||||
pass
|
||||
return None
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.course_session} - {self.learning_content}"
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ from vbv_lernwelt.course_session.models import (
|
|||
class CourseSessionAttendanceCourseSerializer(serializers.ModelSerializer):
|
||||
start = serializers.SerializerMethodField()
|
||||
end = serializers.SerializerMethodField()
|
||||
circle_title = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = CourseSessionAttendanceCourse
|
||||
|
|
@ -21,6 +22,7 @@ class CourseSessionAttendanceCourseSerializer(serializers.ModelSerializer):
|
|||
"trainer",
|
||||
"start",
|
||||
"end",
|
||||
"circle_title",
|
||||
]
|
||||
|
||||
def get_start(self, obj):
|
||||
|
|
@ -29,6 +31,12 @@ class CourseSessionAttendanceCourseSerializer(serializers.ModelSerializer):
|
|||
def get_end(self, obj):
|
||||
return obj.due_date.end
|
||||
|
||||
def get_circle_title(self, obj):
|
||||
circle = obj.get_circle()
|
||||
if circle:
|
||||
return circle.title
|
||||
return ""
|
||||
|
||||
|
||||
class CourseSessionAssignmentSerializer(serializers.ModelSerializer):
|
||||
submission_deadline_start = serializers.SerializerMethodField()
|
||||
|
|
|
|||
Loading…
Reference in New Issue