From dc4fd6a93e104614531f5416aa9c6cadaed463dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Norman=20J=C3=A4ckel?= Date: Thu, 23 Aug 2018 09:48:47 +0200 Subject: [PATCH] Fixed agenda get_restricted_data() if no agenda items exist. --- openslides/agenda/access_permissions.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openslides/agenda/access_permissions.py b/openslides/agenda/access_permissions.py index 26689b8e6..30010cd5f 100644 --- a/openslides/agenda/access_permissions.py +++ b/openslides/agenda/access_permissions.py @@ -47,7 +47,7 @@ class ItemAccessPermissions(BaseAccessPermissions): return {key: full_data[key] for key in whitelist} # Parse data. - if has_perm(user, 'agenda.can_see'): + if full_data and has_perm(user, 'agenda.can_see'): if has_perm(user, 'agenda.can_manage') and has_perm(user, 'agenda.can_see_internal_items'): # Managers with special permission can see everything. data = full_data @@ -62,6 +62,7 @@ class ItemAccessPermissions(BaseAccessPermissions): # In internal and hidden case managers and non managers see only some fields # so that list of speakers is provided regardless. Hidden items can only be seen by managers. + # We know that full_data has at least one entry which can be used to parse the keys. blocked_keys_internal_hidden_case = set(full_data[0].keys()) - set(( 'id', 'title',