From b59054170779c1cc12f35f41ac4595e61e29a1e3 Mon Sep 17 00:00:00 2001 From: Renzo Frigato <rfrigato@stanford.edu> Date: Tue, 2 Feb 2016 12:20:07 -0800 Subject: [PATCH] fix bugs on handlers --- api/handlers/collectionshandler.py | 1 + api/handlers/containerhandler.py | 7 ++++--- api/handlers/grouphandler.py | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/api/handlers/collectionshandler.py b/api/handlers/collectionshandler.py index ff8861fa..6f8e5518 100644 --- a/api/handlers/collectionshandler.py +++ b/api/handlers/collectionshandler.py @@ -4,6 +4,7 @@ import datetime from .. import config from ..auth import containerauth, always_ok from ..dao import containerstorage +from ..dao import APIStorageException from containerhandler import ContainerHandler diff --git a/api/handlers/containerhandler.py b/api/handlers/containerhandler.py index 66138571..77b1bd5a 100644 --- a/api/handlers/containerhandler.py +++ b/api/handlers/containerhandler.py @@ -258,9 +258,10 @@ class ContainerHandler(base.RequestHandler): if target_parent_container: if cont_name == 'sessions': payload['group'] = target_parent_container['group'] - payload['permissions'] = target_parent_container.get('roles') - if payload['permissions'] is None: - payload['permissions'] = target_parent_container['permissions'] + if cont_name == 'projects': + payload['permissions'] = target_parent_container.get('roles', []) + else: + payload['permissions'] = target_parent_container.get('permissions', []) payload['modified'] = datetime.datetime.utcnow() if payload.get('timestamp'): diff --git a/api/handlers/grouphandler.py b/api/handlers/grouphandler.py index 6c99477b..390ddf50 100644 --- a/api/handlers/grouphandler.py +++ b/api/handlers/grouphandler.py @@ -73,6 +73,7 @@ class GroupHandler(base.RequestHandler): payload_validator = validators.payload_from_schema_file(self, 'group.json') payload_validator(payload, 'POST') payload['created'] = payload['modified'] = datetime.datetime.utcnow() + payload['roles'] = [{'_id': self.uid, 'access': 'admin', 'site': self.user_site}] result = mongo_validator(permchecker(self.storage.exec_op))('POST', payload=payload) if result.acknowledged: return {'_id': result.inserted_id} -- GitLab