diff --git a/aleksis/apps/chronos/frontend/components/LessonEventOldNew.vue b/aleksis/apps/chronos/frontend/components/LessonEventOldNew.vue index 11634a63827276f0cad99bed02f0651fb34940ed..774dfb8aa3ce47a76da45d0dfc43d3b31208e32e 100644 --- a/aleksis/apps/chronos/frontend/components/LessonEventOldNew.vue +++ b/aleksis/apps/chronos/frontend/components/LessonEventOldNew.vue @@ -29,7 +29,7 @@ export default { ><lesson-event-link-iterator :items="oldItems" :attr="attr" /></span> <!-- eslint-disable-next-line @intlify/vue-i18n/no-raw-text --> - <span>→</span> + <span> → </span> <lesson-event-link-iterator :items="newItems" :attr="attr" /> </span> <span v-else-if="newItems.length > 0"> diff --git a/aleksis/apps/chronos/frontend/components/LessonEventSubject.vue b/aleksis/apps/chronos/frontend/components/LessonEventSubject.vue index d102c9ddf6993ac72ebe60329a0c843589b8f0b0..9a739936f497ad6f63b1d2780d244ab3b5b74092 100644 --- a/aleksis/apps/chronos/frontend/components/LessonEventSubject.vue +++ b/aleksis/apps/chronos/frontend/components/LessonEventSubject.vue @@ -26,13 +26,13 @@ export default { {{ event.meta.amends.subject[attr] }}</span > <!-- eslint-disable-next-line @intlify/vue-i18n/no-raw-text --> - <span>→</span> - {{ event.meta.subject[attr] }} + <span> → </span> + <span>{{ event.meta.subject[attr] }}</span> </span> <span v-else-if="event.meta.subject"> {{ event.meta.subject[attr] }} </span> - <span v-else-if="event.amended && event.amends.subject"> + <span v-else-if="event.meta.amended && event.meta.amends.subject"> {{ event.meta.amends.subject[attr] }} </span> <span v-else> diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py index d48acfb6051f8741fb9d75973ca2040521346379..7a4701cbdf0b00ef62118fae9f1812d32fdad04a 100644 --- a/aleksis/apps/chronos/models.py +++ b/aleksis/apps/chronos/models.py @@ -1436,31 +1436,35 @@ class LessonEvent(CalendarEvent): @property def subject_name_with_amends(self: LessonEvent) -> str: """Get formatted subject name (including amends).""" - my_subject = self.subject.name + my_subject = self.subject.name if self.subject else "" amended_subject = self.amends.subject.name if self.amends else "" if my_subject and amended_subject: return _("{} (instead of {})").format(my_subject, amended_subject) elif not my_subject and amended_subject: return amended_subject - return my_subject + elif my_subject: + return my_subject + return _("Lesson") @classmethod def value_title(cls, reference_object: LessonEvent, request: HttpRequest | None = None) -> str: """Get the title of the lesson event.""" if reference_object.title: return reference_object.title - elif reference_object.subject: - title = reference_object.subject.name + elif reference_object.subject or ( + reference_object.amends and reference_object.amends.subject + ): + title = reference_object.subject_name_with_amends if request and request.user.person in reference_object.teachers.all(): title += " · " + reference_object.group_names elif request: - title += " · " + reference_object.teacher_names + title += " · " + reference_object.teacher_names_with_amends else: title += f" · {reference_object.group_names} · {reference_object.teacher_names}" if reference_object.rooms.all().exists(): - title += " · " + reference_object.room_names + title += " · " + reference_object.room_names_with_amends return title return _("Lesson")