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

Reformat and fix linter

parent 4c809b44
No related branches found
No related tags found
1 merge request!111Resolve "[Person overview] Implement multiple selection for marking absences as excused or for deleting"
Pipeline #6198 passed
...@@ -22,4 +22,5 @@ def mark_as_excuse_type_generator(excuse_type) -> Callable: ...@@ -22,4 +22,5 @@ def mark_as_excuse_type_generator(excuse_type) -> Callable:
def delete_personal_note(modeladmin, request, queryset): def delete_personal_note(modeladmin, request, queryset):
queryset.delete() queryset.delete()
delete_personal_note.short_description = _("Delete")
\ No newline at end of file delete_personal_note.short_description = _("Delete")
...@@ -16,6 +16,7 @@ from aleksis.core.models import Group, Person ...@@ -16,6 +16,7 @@ from aleksis.core.models import Group, Person
from aleksis.core.util.core_helpers import get_site_preferences from aleksis.core.util.core_helpers import get_site_preferences
from aleksis.core.util.predicates import check_global_permission from aleksis.core.util.predicates import check_global_permission
from .actions import delete_personal_note, mark_as_excuse_type_generator, mark_as_excused
from .models import ( from .models import (
ExcuseType, ExcuseType,
ExtraMark, ExtraMark,
...@@ -24,8 +25,6 @@ from .models import ( ...@@ -24,8 +25,6 @@ from .models import (
LessonDocumentation, LessonDocumentation,
PersonalNote, PersonalNote,
) )
from .actions import *
from .models import ExcuseType, ExtraMark, LessonDocumentation, PersonalNote
class LessonDocumentationForm(forms.ModelForm): class LessonDocumentationForm(forms.ModelForm):
...@@ -264,4 +263,3 @@ class GroupRoleAssignmentEditForm(forms.ModelForm): ...@@ -264,4 +263,3 @@ class GroupRoleAssignmentEditForm(forms.ModelForm):
class Meta: class Meta:
model = GroupRoleAssignment model = GroupRoleAssignment
fields = ["date_start", "date_end"] fields = ["date_start", "date_end"]
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.urls import reverse
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
import django_tables2 as tables import django_tables2 as tables
from django_tables2.utils import A from django_tables2.utils import A
from aleksis.core.tables import MaterializeCheckboxColumn
from aleksis.apps.chronos.models import Event, LessonPeriod from aleksis.apps.chronos.models import Event, LessonPeriod
from aleksis.core.tables import MaterializeCheckboxColumn
from .models import PersonalNote from .models import PersonalNote
...@@ -85,6 +84,8 @@ class GroupRoleTable(tables.Table): ...@@ -85,6 +84,8 @@ class GroupRoleTable(tables.Table):
self.columns.hide("edit") self.columns.hide("edit")
if not request.user.has_perm("alsijil.delete_grouprole"): if not request.user.has_perm("alsijil.delete_grouprole"):
self.columns.hide("delete") self.columns.hide("delete")
class PersonalNoteTable(tables.Table): class PersonalNoteTable(tables.Table):
selected = MaterializeCheckboxColumn( selected = MaterializeCheckboxColumn(
attrs={"input": {"name": "selected_objects"}}, accessor=A("pk") attrs={"input": {"name": "selected_objects"}}, accessor=A("pk")
...@@ -119,7 +120,9 @@ class PersonalNoteTable(tables.Table): ...@@ -119,7 +120,9 @@ class PersonalNoteTable(tables.Table):
return value return value
def render_absent(self, value): def render_absent(self, value):
return render_to_string("components/materialize-chips.html", dict(content="Absent", classes="red white-text")) return render_to_string(
"components/materialize-chips.html", dict(content="Absent", classes="red white-text")
)
def render_excused(self, value, record): def render_excused(self, value, record):
if record.absent: if record.absent:
...@@ -145,8 +148,10 @@ class PersonalNoteTable(tables.Table): ...@@ -145,8 +148,10 @@ class PersonalNoteTable(tables.Table):
badges = "" badges = ""
for extra_mark in value: for extra_mark in value:
content = extra_mark.name content = extra_mark.name
badges += render_to_string("components/materialize-chips.html", context=dict(content=content)) badges += render_to_string(
return mark_safe(badges) "components/materialize-chips.html", context=dict(content=content)
)
return mark_safe(badges) # noqa
else: else:
return "" return ""
......
from contextlib import nullcontext from contextlib import nullcontext
from copy import deepcopy from copy import deepcopy
from contextlib import suppress
from datetime import date, datetime, timedelta from datetime import date, datetime, timedelta
from typing import Any, Dict, Optional from typing import Any, Dict, Optional
...@@ -19,7 +18,7 @@ from django.views.generic import DetailView ...@@ -19,7 +18,7 @@ from django.views.generic import DetailView
import reversion import reversion
from calendarweek import CalendarWeek from calendarweek import CalendarWeek
from django_tables2 import SingleTableView, RequestConfig from django_tables2 import RequestConfig, SingleTableView
from reversion.views import RevisionMixin from reversion.views import RevisionMixin
from rules.contrib.views import PermissionRequiredMixin, permission_required from rules.contrib.views import PermissionRequiredMixin, permission_required
...@@ -45,9 +44,9 @@ from .forms import ( ...@@ -45,9 +44,9 @@ from .forms import (
GroupRoleForm, GroupRoleForm,
LessonDocumentationForm, LessonDocumentationForm,
PersonalNoteFormSet, PersonalNoteFormSet,
PersonOverviewForm,
RegisterAbsenceForm, RegisterAbsenceForm,
SelectForm, SelectForm,
PersonOverviewForm,
) )
from .models import ( from .models import (
ExcuseType, ExcuseType,
...@@ -57,16 +56,13 @@ from .models import ( ...@@ -57,16 +56,13 @@ from .models import (
LessonDocumentation, LessonDocumentation,
PersonalNote, PersonalNote,
) )
from .tables import ExcuseTypeTable, ExtraMarkTable, GroupRoleTable from .tables import ExcuseTypeTable, ExtraMarkTable, GroupRoleTable, PersonalNoteTable
from .util.alsijil_helpers import ( from .util.alsijil_helpers import (
annotate_documentations, annotate_documentations,
get_register_object_by_pk, get_register_object_by_pk,
get_timetable_instance_by_pk, get_timetable_instance_by_pk,
register_objects_sorter, register_objects_sorter,
) )
from .models import ExcuseType, ExtraMark, LessonDocumentation, PersonalNote
from .tables import ExcuseTypeTable, ExtraMarkTable, PersonalNoteTable
from .util.alsijil_helpers import get_lesson_period_by_pk, get_timetable_instance_by_pk
@permission_required("alsijil.view_register_object", fn=get_register_object_by_pk) # FIXME @permission_required("alsijil.view_register_object", fn=get_register_object_by_pk) # FIXME
...@@ -799,7 +795,7 @@ def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResp ...@@ -799,7 +795,7 @@ def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResp
table = PersonalNoteTable(personal_notes) table = PersonalNoteTable(personal_notes)
RequestConfig(request, paginate={"per_page": 20}).configure(table) RequestConfig(request, paginate={"per_page": 20}).configure(table)
context["personal_notes_table"] = table context["personal_notes_table"] = table
print(table.columns, table.rows, sep="\n"*3) print(table.columns, table.rows, sep="\n" * 3)
extra_marks = ExtraMark.objects.all() extra_marks = ExtraMark.objects.all()
excuse_types = ExcuseType.objects.all() excuse_types = ExcuseType.objects.all()
......
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