From b7e98a565af0adeca59d5c973635149c081ee662 Mon Sep 17 00:00:00 2001 From: FinnStutzenstein Date: Tue, 25 Jun 2019 16:56:06 +0200 Subject: [PATCH] Fix restriction without restricted data cache --- .../src/app/core/ui-services/routing-state.service.ts | 1 - openslides/utils/cache.py | 10 +++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/client/src/app/core/ui-services/routing-state.service.ts b/client/src/app/core/ui-services/routing-state.service.ts index ab8a05ceb..72cd4a2e9 100644 --- a/client/src/app/core/ui-services/routing-state.service.ts +++ b/client/src/app/core/ui-services/routing-state.service.ts @@ -45,7 +45,6 @@ export class RoutingStateService { ) .subscribe((event: any[]) => { this._previousUrl = event[0].urlAfterRedirects; - console.log('prev URL: ', this._previousUrl); }); } } diff --git a/openslides/utils/cache.py b/openslides/utils/cache.py index f0eba1244..93260e056 100644 --- a/openslides/utils/cache.py +++ b/openslides/utils/cache.py @@ -396,7 +396,15 @@ class ElementCache: for collection_string, full_data in changed_elements.items(): restricter = self.cachables[collection_string].restrict_elements elements = await restricter(user_id, full_data) - restricted_data[collection_string] = elements + + # Add removed objects (through restricter) to deleted elements. + full_data_ids = set([data["id"] for data in full_data]) + restricted_data_ids = set([data["id"] for data in elements]) + for id in full_data_ids - restricted_data_ids: + deleted_elements.append(get_element_id(collection_string, id)) + + if elements: + restricted_data[collection_string] = elements return restricted_data, deleted_elements lowest_change_id = await self.get_lowest_change_id()