Skip to content
Snippets Groups Projects
Verified Commit 566a5254 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Solve lint issues and reactivate lint CI job

parent 952ac3b7
No related branches found
No related tags found
1 merge request!105Resolve "Re-enable lint job and reformat"
include:
- project: "AlekSIS/official/AlekSIS"
file: /ci/general.yml
- project: "AlekSIS/official/AlekSIS"
file: /ci/test.yml
- project: "AlekSIS/official/AlekSIS"
file: /ci/build_dist.yml
- project: "AlekSIS/official/AlekSIS"
......
......@@ -106,7 +106,8 @@ class SelectForm(forms.Form):
# Filter selectable teachers by permissions
if not check_global_permission(self.request.user, "alsijil.view_week"):
# If the user hasn't the global permission, the user is only allowed to see his own person
# If the user hasn't the global permission,
# the user is only allowed to see his own person
teacher_qs = teacher_qs.filter(pk=person.pk)
self.fields["teacher"].queryset = teacher_qs
......
......@@ -357,7 +357,7 @@ def generate_person_list_with_class_register_statistics(
"personal_notes",
filter=Q(
personal_notes__extra_marks=extra_mark,
personal_notes__lesson_period__lesson__validity__school_term=self.school_term,
personal_notes__lesson_period__lesson__validity__school_term=self.school_term, # noqa
)
& (
Q(personal_notes__lesson_period__lesson__groups=self)
......@@ -377,7 +377,7 @@ def generate_person_list_with_class_register_statistics(
filter=Q(
personal_notes__absent=True,
personal_notes__excuse_type=excuse_type,
personal_notes__lesson_period__lesson__validity__school_term=self.school_term,
personal_notes__lesson_period__lesson__validity__school_term=self.school_term, # noqa
)
& (
Q(personal_notes__lesson_period__lesson__groups=self)
......
from django.db import models
from django.utils.formats import date_format
from django.utils.functional import classproperty
from django.utils.translation import gettext_lazy as _
from cache_memoize import cache_memoize
from calendarweek import CalendarWeek
from aleksis.apps.alsijil.managers import PersonalNoteManager
......
......@@ -40,7 +40,8 @@ class CarryOverDataToNextPeriods(BooleanPreference):
name = "carry_over"
default = True
verbose_name = _(
"Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
"Carry over data from first lesson period to the "
"following lesson periods in lessons over multiple periods"
)
help_text = _(
"This will carry over data only if the data in the following periods are empty."
......@@ -53,7 +54,8 @@ class AllowOpenPeriodsOnSameDay(BooleanPreference):
name = "open_periods_same_day"
default = False
verbose_name = _(
"Allow teachers to open lesson periods on the same day and not just at the beginning of the period"
"Allow teachers to open lesson periods on the "
"same day and not just at the beginning of the period"
)
help_text = _(
"Lessons in the past are not affected by this setting, you can open them whenever you want."
......
......@@ -9,7 +9,6 @@ from aleksis.core.util.predicates import (
)
from .util.predicates import (
has_any_object_absence,
has_lesson_group_object_perm,
has_person_group_object_perm,
has_personal_note_group_perm,
......
......@@ -3,13 +3,11 @@ from typing import Any, Union
from django.contrib.auth.models import Permission, User
from guardian.models import UserObjectPermission
from guardian.shortcuts import get_objects_for_user
from rules import predicate
from aleksis.apps.chronos.models import LessonPeriod
from aleksis.core.models import Group, Person
from aleksis.core.util.core_helpers import get_content_type_by_perm, get_site_preferences
from aleksis.core.util.predicates import check_object_permission
from aleksis.core.util.core_helpers import get_content_type_by_perm
from ..models import PersonalNote
......@@ -173,7 +171,7 @@ def has_lesson_group_object_perm(perm: str):
def has_personal_note_group_perm(perm: str):
"""Predicate builder for permissions on personal notes
"""Predicate builder for permissions on personal notes.
Checks whether a user has a permission on any group of a person of a PersonalNote.
"""
......@@ -200,7 +198,7 @@ def has_personal_note_group_perm(perm: str):
@predicate
def is_own_personal_note(user: User, obj: PersonalNote) -> bool:
"""Predicate for users referred to in a personal note
"""Predicate for users referred to in a personal note.
Checks whether the user referred to in a PersonalNote is the active user.
"""
......@@ -233,7 +231,7 @@ def is_personal_note_lesson_teacher(user: User, obj: PersonalNote) -> bool:
@predicate
def is_personal_note_lesson_parent_group_owner(user: User, obj: PersonalNote) -> bool:
"""
Predicate for parent group owners of a lesson referred to in the lesson period of a personal note.
Predicate for parent group owners of a lesson referred to in the lesson of a personal note.
Checks whether the person linked to the user is the owner of
any parent groups of any groups of the given LessonPeriod lesson of the given PersonalNote.
......@@ -247,21 +245,6 @@ def is_personal_note_lesson_parent_group_owner(user: User, obj: PersonalNote) ->
return False
@predicate
def has_any_object_absence(user: User) -> bool:
"""
Predicate which builds a query with all the persons the given users is allowed to register an absence for.
"""
if Person.objects.filter(member_of__owners=user.person).exists():
return True
if get_objects_for_user(user, "core.register_absence_person", Person).exists():
return True
if Person.objects.filter(
member_of__in=get_objects_for_user(user, "core.register_absence_group", Group)
).exists():
return True
@predicate
def is_teacher(user: User, obj: Person) -> bool:
"""Predicate which checks if the provided object is a teacher."""
......
......@@ -16,8 +16,7 @@ from reversion.views import RevisionMixin
from rules.contrib.views import PermissionRequiredMixin, permission_required
from aleksis.apps.chronos.managers import TimetableType
from aleksis.apps.chronos.models import LessonPeriod, LessonSubstitution, TimePeriod
from aleksis.apps.chronos.util.chronos_helpers import get_el_by_pk
from aleksis.apps.chronos.models import LessonPeriod, TimePeriod
from aleksis.apps.chronos.util.date import get_weeks_for_year, week_weekday_to_date
from aleksis.core.mixins import AdvancedCreateView, AdvancedDeleteView, AdvancedEditView
from aleksis.core.models import Group, Person, SchoolTerm
......@@ -155,7 +154,8 @@ def lesson(
messages.success(request, _("The personal notes have been saved."))
# Regenerate form here to ensure that programmatically changed data will be shown correctly
# Regenerate form here to ensure that programmatically
# changed data will be shown correctly
personal_note_formset = PersonalNoteFormSet(
None, queryset=persons_qs, prefix="personal_notes"
)
......@@ -787,7 +787,7 @@ class ExtraMarkEditView(PermissionRequiredMixin, AdvancedEditView):
class ExtraMarkDeleteView(PermissionRequiredMixin, RevisionMixin, AdvancedDeleteView):
"""Delete view for extra marks"""
"""Delete view for extra marks."""
model = ExtraMark
permission_required = "alsijil.delete_extramark"
......@@ -828,7 +828,7 @@ class ExcuseTypeEditView(PermissionRequiredMixin, AdvancedEditView):
class ExcuseTypeDeleteView(PermissionRequiredMixin, RevisionMixin, AdvancedDeleteView):
"""Delete view for excuse types"""
"""Delete view for excuse types."""
model = ExcuseType
permission_required = "alsijil.delete_excusetype"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment