From 23f8c49256616578600cd162f7ff213c4faa0b0f Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Sat, 2 Sep 2023 17:21:11 +0200 Subject: [PATCH] Fix displaying of subjects in lesson feed (cherry picked from commit ba21458f135193504816e1cdc39556e8f3742d34) --- .../frontend/components/LessonEventOldNew.vue | 2 +- .../frontend/components/LessonEventSubject.vue | 6 +++--- aleksis/apps/chronos/models.py | 16 ++++++++++------ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/aleksis/apps/chronos/frontend/components/LessonEventOldNew.vue b/aleksis/apps/chronos/frontend/components/LessonEventOldNew.vue index 11634a63..774dfb8a 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 d102c9dd..9a739936 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 d48acfb6..7a4701cb 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") -- GitLab