X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fbase_topic.py;h=daa7a6b2104efcadc7816ed76f01e920698611b1;hp=130d4fca8d0ba66baba8c5bd7b20288ddce2810f;hb=20e74d260242c91c9836efba6a9436a159c4decc;hpb=d4a705a7a5f279a7808d09b6c080ebb29d9836fd diff --git a/osm_nbi/base_topic.py b/osm_nbi/base_topic.py index 130d4fc..daa7a6b 100644 --- a/osm_nbi/base_topic.py +++ b/osm_nbi/base_topic.py @@ -497,14 +497,14 @@ class BaseTopic: # remove reference from project_read if there are more projects referencing it. If it last one, # do not remove reference, but delete other_projects_referencing = next((p for p in item_content["_admin"]["projects_read"] - if p not in session["project_id"]), None) + if p not in session["project_id"] and p != "ANY"), None) # check if there are projects referencing it (apart from ANY, that means, public).... if other_projects_referencing: # remove references but not delete - update_dict_pull = {"_admin.projects_read.{}".format(p): None for p in session["project_id"]} - update_dict_pull.update({"_admin.projects_write.{}".format(p): None for p in session["project_id"]}) - self.db.set_one(self.topic, filter_q, update_dict=None, pull=update_dict_pull) + update_dict_pull = {"_admin.projects_read": session["project_id"], + "_admin.projects_write": session["project_id"]} + self.db.set_one(self.topic, filter_q, update_dict=None, pull_list=update_dict_pull) return None else: can_write = next((p for p in item_content["_admin"]["projects_write"] if p == "ANY" or