def add_member(self, req, image_id, member, body=None): """ Adds a membership to the image, or updates an existing one. If a body is present, it is a dict with the following format:: {"member": { "can_share": [True|False] }} If "can_share" is provided, the member's ability to share is set accordingly. If it is not provided, existing memberships remain unchanged and new memberships default to False. """ if req.context.read_only: raise HTTPForbidden() elif req.context.owner is None: raise HTTPUnauthorized(_("No authenticated user")) # Figure out can_share can_share = None if body and 'member' in body and 'can_share' in body['member']: can_share = bool(body['member']['can_share']) try: registry.add_member(self.options, req.context, image_id, member, can_share) except exception.NotFound, e: msg = "%s" % e logger.debug(msg) raise HTTPNotFound(msg, request=req, content_type='text/plain')
def update(self, req, image_id, id, body=None): """ Adds a membership to the image, or updates an existing one. If a body is present, it is a dict with the following format:: {"member": { "can_share": [True|False] }} If "can_share" is provided, the member's ability to share is set accordingly. If it is not provided, existing memberships remain unchanged and new memberships default to False. """ if req.context.read_only: raise webob.exc.HTTPForbidden() elif req.context.owner is None: raise webob.exc.HTTPUnauthorized(_("No authenticated user")) # Figure out can_share can_share = None if body and 'member' in body and 'can_share' in body['member']: can_share = bool(body['member']['can_share']) try: registry.add_member(req.context, image_id, id, can_share) except exception.NotFound, e: msg = "%s" % e logger.debug(msg) raise webob.exc.HTTPNotFound(msg)
def update(self, req, image_id, id, body=None): """ Adds a membership to the image, or updates an existing one. If a body is present, it is a dict with the following format:: {"member": { "can_share": [True|False] }} If "can_share" is provided, the member's ability to share is set accordingly. If it is not provided, existing memberships remain unchanged and new memberships default to False. """ self._check_can_access_image_members(req.context) # Figure out can_share can_share = None if body and 'member' in body and 'can_share' in body['member']: can_share = bool(body['member']['can_share']) try: registry.add_member(req.context, image_id, id, can_share) self._update_store_acls(req, image_id) except exception.Invalid, e: msg = "%s" % e LOG.debug(msg) raise webob.exc.HTTPBadRequest(explanation=msg)