2 # Thierry Parmentelat - INRIA
4 from PLC.Faults import *
6 class AuthorizeHelpers:
9 def interface_belongs_to_person (api,interface, person):
11 node=api.GetNodes(interface['node_id'])[0]
12 return node_belong_to_person (api, node, person)
17 def node_belongs_to_person (api, node, person):
19 site=api.GetSites(node['site_id'])[0]
20 return person_belongs_to_site (api, person, site)
25 def person_belongs_to_site (api, person, site):
26 return site['site_id'] in person['site_ids']
29 def person_access_tag_type (api, person, tag_type):
30 return len(set(person['roles']).intersection(set(tag_type['roles'])))!=0
33 def person_access_person (api, caller_person, subject_person):
34 # keep it simple for now - could be a bit more advanced for PIs maybe
35 return caller_person['person_id'] == subject_person['person_id']