X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FDeleteNodeTag.py;h=2afa446fcc6842f82cd3d9fe9ec618c029465154;hb=475ee53aaaa011ba14a34af34d3340257d6f9d59;hp=48b467f4fbc58f57f2f2400a5956291455231c04;hpb=02fbeb3d8ae6da8ed1ce4c83ec64fa174906c5f7;p=plcapi.git diff --git a/PLC/Methods/DeleteNodeTag.py b/PLC/Methods/DeleteNodeTag.py index 48b467f..2afa446 100644 --- a/PLC/Methods/DeleteNodeTag.py +++ b/PLC/Methods/DeleteNodeTag.py @@ -12,8 +12,6 @@ from PLC.Nodes import Node, Nodes from PLC.TagTypes import TagType, TagTypes from PLC.NodeTags import NodeTag, NodeTags -from PLC.AuthorizeHelpers import AuthorizeHelpers - class DeleteNodeTag(Method): """ Deletes the specified node tag @@ -42,17 +40,14 @@ class DeleteNodeTag(Method): tag_type_id = node_tag['tag_type_id'] tag_type = TagTypes (self.api,[tag_type_id])[0] - node = Nodes (self.api, node_tag['node_id']) + + nodes = Nodes (self.api, node_tag['node_id']) + if not nodes: + raise PLCInvalidArgument, "No such node %d"%node_tag['node_id'] + node=nodes[0] # check authorizations - if 'admin' in self.caller['roles']: - pass - elif not AuthorizeHelpers.caller_may_access_tag_type (self.api, self.caller, tag_type): - raise PLCPermissionDenied, "%s, forbidden tag %s"%(self.name,tag_type['tagname']) - elif AuthorizeHelpers.node_belongs_to_person (self.api, node, self.caller): - pass - else: - raise PLCPermissionDenied, "%s: you must belong in the same site as subject node"%self.name + node.caller_may_write_tag(self.api,self.caller,tag_type) node_tag.delete() self.object_ids = [node_tag['node_tag_id']]