diff --git a/aleksis/apps/untis/forms.py b/aleksis/apps/untis/forms.py index f642bbff839ce6b3f416a191a6703474d7360a0f..6809da79406f43ba3b9bbb9dbc1bc23dc07e2e8e 100644 --- a/aleksis/apps/untis/forms.py +++ b/aleksis/apps/untis/forms.py @@ -29,9 +29,7 @@ class GroupSubjectForm(forms.ModelForm): self.fields["short_name"].widget = forms.HiddenInput() -GroupSubjectFormset = forms.modelformset_factory( - Group, form=GroupSubjectForm, max_num=0, extra=0 -) +GroupSubjectFormset = forms.modelformset_factory(Group, form=GroupSubjectForm, max_num=0, extra=0) if get_site_preferences()["untis_mysql__use_course_groups"]: EditGroupForm.add_node_to_layout(Fieldset(_("UNTIS import"), "untis_subject")) diff --git a/aleksis/apps/untis/menus.py b/aleksis/apps/untis/menus.py index ada88becf99c14623459d5a4867577dcd58f7819..39df78cd381e5cdca39db3949574deb23292170d 100644 --- a/aleksis/apps/untis/menus.py +++ b/aleksis/apps/untis/menus.py @@ -13,7 +13,10 @@ MENUS = { "name": _("Link subjects to groups (for UNTIS MySQL import)"), "url": "untis_groups_subjects", "validators": [ - ("aleksis.core.util.predicates.permission_validator", "untis.assign_subjects_to_groups"), + ( + "aleksis.core.util.predicates.permission_validator", + "untis.assign_subjects_to_groups", + ), ], }, ] diff --git a/aleksis/apps/untis/model_extensions.py b/aleksis/apps/untis/model_extensions.py index 36d947ab06e99c7bc5f11ba1b98774546fbd3f38..708220bfb96002aa2ed439e4ef5a06dd25a3b6de 100644 --- a/aleksis/apps/untis/model_extensions.py +++ b/aleksis/apps/untis/model_extensions.py @@ -74,4 +74,3 @@ chronos_models.Holiday.field( chronos_models.ExtraLesson.field( import_ref_untis=IntegerField(verbose_name=_("UNTIS import reference"), null=True, blank=True) ) - diff --git a/aleksis/apps/untis/models.py b/aleksis/apps/untis/models.py index cd4dcfffd6e4a3f07b3f165980c952e2acea9d84..31a6886889ff9092ac7ea63664cbdfb9470e1ad3 100644 --- a/aleksis/apps/untis/models.py +++ b/aleksis/apps/untis/models.py @@ -5,6 +5,7 @@ from django.db import models from django.utils.translation import gettext as _ + from aleksis.core.mixins import PureDjangoModel diff --git a/aleksis/apps/untis/preferences.py b/aleksis/apps/untis/preferences.py index d2193253f623bdc0c30dd7800e7d830c9587793a..bae4454f9d1d7766eeeb2feb8ec071236cf0e950 100644 --- a/aleksis/apps/untis/preferences.py +++ b/aleksis/apps/untis/preferences.py @@ -1,4 +1,5 @@ from django.utils.translation import gettext as _ + from dynamic_preferences.preferences import Section from dynamic_preferences.types import BooleanPreference @@ -78,6 +79,5 @@ class UseCourseGroups(BooleanPreference): default = True verbose_name = _("Use course groups") help_text = _( - "Build or search course groups for every course" - " instead of setting classes as groups." + "Build or search course groups for every course" " instead of setting classes as groups." ) diff --git a/aleksis/apps/untis/rules.py b/aleksis/apps/untis/rules.py index 873742401e128834dddc9473a8d7702165abf090..55740b1bbb6a09c58f711ee5f7fd285414c8b275 100644 --- a/aleksis/apps/untis/rules.py +++ b/aleksis/apps/untis/rules.py @@ -1,6 +1,6 @@ from rules import add_perm -from aleksis.core.util.predicates import has_person, has_global_perm +from aleksis.core.util.predicates import has_global_perm, has_person # Do XML import do_xml_import_predicate = has_person & has_global_perm("untis.do_xml_import") @@ -8,5 +8,7 @@ add_perm("untis.do_xml_import", do_xml_import_predicate) # Do XML import -assign_subjects_to_groups_predicate = has_person & has_global_perm("untis.assign_subjects_to_groups") +assign_subjects_to_groups_predicate = has_person & has_global_perm( + "untis.assign_subjects_to_groups" +) add_perm("untis.assign_subjects_to_groups", assign_subjects_to_groups_predicate) diff --git a/aleksis/apps/untis/util/mysql/importers/lessons.py b/aleksis/apps/untis/util/mysql/importers/lessons.py index eea3bbc3ac8372584ff1ba0a45d83380e18ad321..b6d6b0264b7d6321ca275149f78819589e82acdb 100644 --- a/aleksis/apps/untis/util/mysql/importers/lessons.py +++ b/aleksis/apps/untis/util/mysql/importers/lessons.py @@ -261,5 +261,7 @@ def import_lessons(time_periods_ref, rooms_ref, subjects_ref, teachers_ref, clas else: # Create new lesson period - chronos_models.LessonPeriod.objects.create(lesson=lesson, period=time_period, room=room, element_id_untis=j) + chronos_models.LessonPeriod.objects.create( + lesson=lesson, period=time_period, room=room, element_id_untis=j + ) logger.info(" New time period added") diff --git a/aleksis/apps/untis/util/mysql/importers/substitutions.py b/aleksis/apps/untis/util/mysql/importers/substitutions.py index 40242a4fe740cd4e802b918632ebab06281b1ad0..e2d5fa7332d400ed70c0a3d501cfc1c6cabaf8b9 100644 --- a/aleksis/apps/untis/util/mysql/importers/substitutions.py +++ b/aleksis/apps/untis/util/mysql/importers/substitutions.py @@ -26,12 +26,7 @@ class SubstitutionFlag(Enum): def import_substitutions( - teachers_ref, - subjects_ref, - rooms_ref, - classes_ref, - supervision_areas_ref, - time_periods_ref, + teachers_ref, subjects_ref, rooms_ref, classes_ref, supervision_areas_ref, time_periods_ref, ): """ Import substitutions """ @@ -171,18 +166,13 @@ def import_substitutions( logger.info(" Extra lesson detected") time_period = time_periods_ref[date.weekday()][period] - groups = [ - classes_ref[pk] for pk in untis_split_first(sub.classids, int) - ] + groups = [classes_ref[pk] for pk in untis_split_first(sub.classids, int)] room = room_old if not room_new and room_old else room_new subject = subject_old if not subject_new else subject_new teachers = [teacher_old] if not teacher_new else [teacher_new] - ( - extra_lesson, - created, - ) = chronos_models.ExtraLesson.objects.update_or_create( + (extra_lesson, created,) = chronos_models.ExtraLesson.objects.update_or_create( import_ref_untis=sub_id, defaults={ "week": week.week, @@ -244,8 +234,9 @@ def import_substitutions( s.delete() # Delete all no longer existing supervision substitutions - for s in chronos_models.SupervisionSubstitution.objects.filter(date__gte=date_start, date__lte=date_end): + for s in chronos_models.SupervisionSubstitution.objects.filter( + date__gte=date_start, date__lte=date_end + ): if s.import_ref_untis and s.import_ref_untis not in existing_subs: logger.info("Supervision substitution {} deleted".format(s.id)) s.delete() - diff --git a/aleksis/apps/untis/util/mysql/main.py b/aleksis/apps/untis/util/mysql/main.py index 7fd537e5629c7f8790d5f421839a924a7b3d3808..dc604219cf3914a3ef61c1ec4714cb352c93bdcd 100644 --- a/aleksis/apps/untis/util/mysql/main.py +++ b/aleksis/apps/untis/util/mysql/main.py @@ -43,7 +43,9 @@ def untis_import_mysql(): # Substitutions import_absences(absence_reasons_ref, time_periods_ref, teachers_ref, classes_ref, rooms_ref) - import_substitutions(teachers_ref, subjects_ref, rooms_ref, classes_ref, supervision_areas_ref, time_periods_ref) + import_substitutions( + teachers_ref, subjects_ref, rooms_ref, classes_ref, supervision_areas_ref, time_periods_ref + ) # Events import_events(time_periods_ref, teachers_ref, classes_ref, rooms_ref) diff --git a/aleksis/apps/untis/util/xml/xml.py b/aleksis/apps/untis/util/xml/xml.py index 696f467da2d9175706a0d277139266c5bd90428e..7a039218967a203d4bb024672bef1c6d893d2241 100644 --- a/aleksis/apps/untis/util/xml/xml.py +++ b/aleksis/apps/untis/util/xml/xml.py @@ -39,7 +39,8 @@ def untis_import_xml(request: HttpRequest, untis_xml: Union[BinaryIO, str]) -> N colour_bg = get_child_node_text(subject_node, "backcolor") Subject.objects.update_or_create( - short_name=short_name, defaults={"name": name, "colour_fg": colour_fg, "colour_bg": colour_bg}, + short_name=short_name, + defaults={"name": name, "colour_fg": colour_fg, "colour_bg": colour_bg}, ) periods = dom.getElementsByTagName("timeperiod") diff --git a/aleksis/apps/untis/views.py b/aleksis/apps/untis/views.py index 232d77f483ca6fc93def1651ba97e52171a66422..d69284154bd70c43237936750c7e0bff4648943b 100644 --- a/aleksis/apps/untis/views.py +++ b/aleksis/apps/untis/views.py @@ -8,7 +8,7 @@ from rules.contrib.views import permission_required from aleksis.core.models import Group -from .forms import UntisUploadForm, GroupSubjectFormset +from .forms import GroupSubjectFormset, UntisUploadForm from .util.xml.xml import untis_import_xml @@ -43,9 +43,7 @@ def groups_subjects(request: HttpRequest) -> HttpResponse: groups_paged = groups_qs.filter(id__in=[g.id for g in page]) # Create filtered queryset - group_subject_formset = GroupSubjectFormset( - request.POST or None, queryset=groups_paged - ) + group_subject_formset = GroupSubjectFormset(request.POST or None, queryset=groups_paged) # Check if form is submitted and valid, then save if request.method == "POST": @@ -58,5 +56,3 @@ def groups_subjects(request: HttpRequest) -> HttpResponse: context["paginator"] = paginator return render(request, "untis/groups_subjects.html", context) - -