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

Make absence reasons fetchable for all logged-in persons

parent 760a26a4
No related branches found
No related tags found
1 merge request!26Fix some bugs with absence reasons
Pipeline #187115 passed with warnings
...@@ -29,6 +29,9 @@ delete_absence_predicate = has_person & ( ...@@ -29,6 +29,9 @@ delete_absence_predicate = has_person & (
) )
rules.add_perm("kolego.delete_absence_rule", delete_absence_predicate) rules.add_perm("kolego.delete_absence_rule", delete_absence_predicate)
fetch_absencereasons_predicate = has_person
rules.add_perm("kolego.fetch_absencereasons_rule", fetch_absencereasons_predicate)
view_absencereasons_predicate = has_person & ( view_absencereasons_predicate = has_person & (
has_global_perm("kolego.view_absencereason") has_global_perm("kolego.view_absencereason")
| has_any_object("kolego.view_absencereason", AbsenceReason) | has_any_object("kolego.view_absencereason", AbsenceReason)
......
...@@ -28,7 +28,9 @@ class AbsenceReasonType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectTyp ...@@ -28,7 +28,9 @@ class AbsenceReasonType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectTyp
@classmethod @classmethod
def get_queryset(cls, queryset, info): def get_queryset(cls, queryset, info):
return get_objects_for_user(info.context.user, "kolego.view_absencereason", queryset) if not info.context.user.has_perm("kolego.fetch_absencereasons_rule"):
return []
return queryset
class AbsenceType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType): class AbsenceType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType):
......
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