diff --git a/aleksis/apps/alsijil/managers.py b/aleksis/apps/alsijil/managers.py index ff5decdb8a04468ba718b364dc23a9a4ebef27a0..41205b273cd24ad5e36787b99fba3a172bac10df 100644 --- a/aleksis/apps/alsijil/managers.py +++ b/aleksis/apps/alsijil/managers.py @@ -11,7 +11,7 @@ from calendarweek import CalendarWeek from aleksis.apps.chronos.models import LessonEvent from aleksis.core.managers import ( AlekSISBaseManagerWithoutMigrations, - RecurrencePolymorphicManager, + CalendarEventManager, ) if TYPE_CHECKING: @@ -73,7 +73,7 @@ class GroupRoleAssignmentQuerySet(QuerySet): return self.filter(Q(groups=group) | Q(groups__child_groups=group)) -class DocumentationManager(RecurrencePolymorphicManager): +class DocumentationManager(CalendarEventManager): """Manager adding specific methods to documentations.""" def for_school_term(self, school_term: "SchoolTerm") -> QuerySet["Documentation"]: @@ -107,7 +107,7 @@ class DocumentationManager(RecurrencePolymorphicManager): ) -class ParticipationStatusManager(RecurrencePolymorphicManager): +class ParticipationStatusManager(CalendarEventManager): """Manager adding specific methods to participation statuses.""" pass diff --git a/aleksis/apps/alsijil/preferences.py b/aleksis/apps/alsijil/preferences.py index 0f3b25b24b70a5823830574cf724bc7cc8cfc9f6..4bdbaebbd15b0f40ed85e7ca0039c512cca54783 100644 --- a/aleksis/apps/alsijil/preferences.py +++ b/aleksis/apps/alsijil/preferences.py @@ -102,6 +102,3 @@ class GroupTypePriorityCoursebook(ModelChoicePreference): "select field on the coursebook overview page" ) help_text = _("If you leave it empty, no group type will be used.") - - def get_queryset(self): - return GroupType.objects.managed_and_unmanaged() diff --git a/aleksis/apps/alsijil/schema/extra_marks.py b/aleksis/apps/alsijil/schema/extra_marks.py index be062b7ed3248a6836c45ee0d4d75616ed65fa54..67a7c7096277d86f1662ebf54875e02a0c7386d2 100644 --- a/aleksis/apps/alsijil/schema/extra_marks.py +++ b/aleksis/apps/alsijil/schema/extra_marks.py @@ -29,6 +29,7 @@ class ExtraMarkBatchCreateMutation(BaseBatchCreateMutation): model = ExtraMark fields = ("short_name", "name", "colour_fg", "colour_bg", "show_in_coursebook") optional_fields = ("name",) + permissions = ("alsijil.create_extramark_rule",) @classmethod def check_permissions(cls, root, info, input): # noqa @@ -40,6 +41,7 @@ class ExtraMarkBatchCreateMutation(BaseBatchCreateMutation): class ExtraMarkBatchDeleteMutation(BaseBatchDeleteMutation): class Meta: model = ExtraMark + permissions = ("alsijil.create_extramark_rule",) @classmethod def check_permissions(cls, root, info, input): # noqa @@ -52,6 +54,7 @@ class ExtraMarkBatchPatchMutation(BaseBatchPatchMutation): class Meta: model = ExtraMark fields = ("id", "short_name", "name", "colour_fg", "colour_bg", "show_in_coursebook") + permissions = ("alsijil.create_extramark_rule",) @classmethod def check_permissions(cls, root, info, input): # noqa diff --git a/aleksis/apps/alsijil/schema/participation_status.py b/aleksis/apps/alsijil/schema/participation_status.py index bb90b9bea09a01e13fdbcc693104c471c8cd6d3d..3b7fbe8b346eb783f0ecb265df6b6f84a34c23ab 100644 --- a/aleksis/apps/alsijil/schema/participation_status.py +++ b/aleksis/apps/alsijil/schema/participation_status.py @@ -86,6 +86,7 @@ class ParticipationStatusBatchPatchMutation(BaseBatchPatchMutation): "tardiness", ) # Only the reason and tardiness can be updated after creation return_field_name = "participationStatuses" + permissions = ("alsijil.edit_participation_status_for_documentation_with_time_range_rule",) @classmethod def check_permissions(cls, root, info, input, *args, **kwargs): # noqa: A002