From ca799cae82629289287c79a3d4c62bb61d6ebb87 Mon Sep 17 00:00:00 2001 From: magicfelix <felix@felix-zauberer.de> Date: Thu, 18 Apr 2024 16:57:29 +0200 Subject: [PATCH] Rename references on lesson_event to amends --- .../components/coursebook/coursebook.graphql | 2 +- .../documentation/DocumentationStatus.vue | 4 +-- .../documentation/LessonInformation.vue | 12 ++++----- aleksis/apps/alsijil/models.py | 16 ++++++------ aleksis/apps/alsijil/schema/__init__.py | 2 +- aleksis/apps/alsijil/schema/documentation.py | 14 +++++----- aleksis/apps/alsijil/util/predicates.py | 26 +++++++++---------- 7 files changed, 38 insertions(+), 38 deletions(-) diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql b/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql index 5814088f6..8444f9e35 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql +++ b/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql @@ -37,7 +37,7 @@ query documentationsForCoursebook( id name } - lessonEvent { + amends { id amends { id diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationStatus.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationStatus.vue index 5c6cb5f5c..ad214b49d 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationStatus.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationStatus.vue @@ -78,13 +78,13 @@ export default { }, methods: { updateStatus() { - if (this.documentation?.lessonEvent.cancelled) { + if (this.documentation?.amends.cancelled) { this.currentStatusName = "cancelled"; } else if (this.documentation.topic) { this.currentStatusName = "available"; } else if (DateTime.now() > this.documentationDateTimeEnd) { this.currentStatusName = "missing"; - } else if (this.documentation?.lessonEvent.amends) { + } else if (this.documentation?.amends.amends) { this.currentStatusName = "substitution"; } else if ( DateTime.now() > this.documentationDateTimeStart && diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue index a07172dc5..3222f5c70 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue @@ -41,11 +41,11 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue"; /> <subject-chip v-if=" - documentation?.lessonEvent?.amends?.subject && - documentation.lessonEvent.amends.subject.id !== + documentation?.amends?.amends?.subject && + documentation.amends.amends.subject.id !== documentation.subject.id " - :subject="documentation.lessonEvent.amends.subject" + :subject="documentation.amends.amends.subject" v-bind="compact ? dialogActivator.attrs : {}" v-on="compact ? dialogActivator.on : {}" class="text-decoration-line-through" @@ -102,10 +102,10 @@ export default { }, amendedTeachers() { if ( - this.documentation?.lessonEvent?.amends?.teachers && - this.documentation.lessonEvent.amends.teachers.length + this.documentation?.amends?.amends?.teachers && + this.documentation.amends.amends.teachers.length ) { - return this.documentation.lessonEvent.amends.teachers.filter( + return this.documentation.amends.amends.teachers.filter( (at) => !this.documentation.teachers.includes((t) => t.id === at.id), ); } diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 4cfa41cda..930bbc3d5 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -486,17 +486,17 @@ class Documentation(CalendarEvent): def get_subject(self) -> str: if self.subject: return self.subject - if self.lesson_event: - if self.lesson_event.subject: - return self.lesson_event.subject - if self.lesson_event.course: - return self.lesson_event.course.subject + if self.amends: + if self.amends.subject: + return self.amends.subject + if self.amends.course: + return self.amends.course.subject if self.course: return self.course.subject def get_groups(self) -> QuerySet[Group]: - if self.lesson_event: - return self.lesson_event.actual_groups + if self.amends: + return self.amends.actual_groups if self.course: return self.course.groups.all() @@ -589,7 +589,7 @@ class Documentation(CalendarEvent): docs.append( cls( pk=f"DUMMY;{event_reference_obj.id};{event['DTSTART'].dt.isoformat()};{event['DTEND'].dt.isoformat()}", - lesson_event=event_reference_obj, + amends=event_reference_obj, course=course, subject=subject, datetime_start=event["DTSTART"].dt, diff --git a/aleksis/apps/alsijil/schema/__init__.py b/aleksis/apps/alsijil/schema/__init__.py index d762a9874..aae1b7060 100644 --- a/aleksis/apps/alsijil/schema/__init__.py +++ b/aleksis/apps/alsijil/schema/__init__.py @@ -39,7 +39,7 @@ class Query(graphene.ObjectType): def resolve_documentations_by_course_id(root, info, course_id, **kwargs): documentations = Documentation.objects.filter( - Q(course__pk=course_id) | Q(lesson_event__course__pk=course_id) + Q(course__pk=course_id) | Q(amends__course__pk=course_id) ) return documentations diff --git a/aleksis/apps/alsijil/schema/documentation.py b/aleksis/apps/alsijil/schema/documentation.py index 52b92549f..c458ec135 100644 --- a/aleksis/apps/alsijil/schema/documentation.py +++ b/aleksis/apps/alsijil/schema/documentation.py @@ -28,7 +28,7 @@ class DocumentationType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectTyp fields = ( "id", "course", - "lesson_event", + "amends", "subject", "topic", "homework", @@ -55,12 +55,12 @@ class DocumentationType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectTyp def resolve_teachers(root: Documentation, info, **kwargs): if not str(root.pk).startswith("DUMMY") and hasattr(root, "teachers"): return root.teachers - elif root.lesson_event.amends: - if root.lesson_event.teachers: - return root.lesson_event.teachers + elif root.amends.amends: + if root.amends.teachers: + return root.amends.teachers else: - return root.lesson_event.amends.teachers - return root.lesson_event.teachers + return root.amends.amends.teachers + return root.amends.teachers @staticmethod def resolve_future_notice(root: Documentation, info, **kwargs): @@ -148,7 +148,7 @@ class DocumentationBatchCreateOrUpdateMutation(graphene.Mutation): obj = Documentation.objects.create( datetime_start=datetime_start, datetime_end=datetime_end, - lesson_event=lesson_event, + amends=lesson_event, course=course, subject=subject, topic=doc.topic or "", diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index 33bda1e7d..652a4fa78 100644 --- a/aleksis/apps/alsijil/util/predicates.py +++ b/aleksis/apps/alsijil/util/predicates.py @@ -390,13 +390,13 @@ def is_documentation_teacher(user: User, obj: Documentation): if obj: if not str(obj.pk).startswith("DUMMY") and hasattr(obj, "teachers"): teachers = obj.teachers - elif obj.lesson_event.amends: - if obj.lesson_event.teachers: - teachers = obj.lesson_event.teachers + elif obj.amends.amends: + if obj.amends.teachers: + teachers = obj.amends.teachers else: - teachers = obj.lesson_event.amends.teachers + teachers = obj.amends.amends.teachers else: - teachers = obj.lesson_event.teachers + teachers = obj.amends.teachers return user.person in teachers.all() return False @@ -407,11 +407,11 @@ def can_view_documentation(user: User, obj: Documentation): if obj: if is_documentation_teacher(user, obj): return True - if obj.lesson_event: + if obj.amends: return ( - is_lesson_event_teacher(user, obj.lesson_event) - | is_lesson_event_member(user, obj.lesson_event) - | is_lesson_event_group_owner(user, obj.lesson_event) + is_lesson_event_teacher(user, obj.amends) + | is_lesson_event_member(user, obj.amends) + | is_lesson_event_group_owner(user, obj.amends) ) if obj.course: return is_course_teacher(user, obj.course) @@ -425,7 +425,7 @@ def can_view_any_documentation(user: User): return Documentation.objects.filter( Q(teachers=user.person) - | Q(lesson_event__in=allowed_lesson_events) + | Q(amends__in=allowed_lesson_events) | Q(course__teachers=user.person) ).exists() @@ -436,9 +436,9 @@ def can_edit_documentation(user: User, obj: Documentation): if obj: if is_documentation_teacher(user, obj): return True - if obj.lesson_event: - return is_lesson_event_teacher(user, obj.lesson_event) | is_lesson_event_group_owner( - user, obj.lesson_event + if obj.amends: + return is_lesson_event_teacher(user, obj.amends) | is_lesson_event_group_owner( + user, obj.amends ) return False -- GitLab