From 3d78363f0acd0ac9f36f2f141ec216901ff50e2e Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Tue, 26 Jun 2012 12:06:43 -0400 Subject: [PATCH] fix bugs --- sfa/managers/registry_manager_openstack.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sfa/managers/registry_manager_openstack.py b/sfa/managers/registry_manager_openstack.py index cc3ff108..6340bbe7 100644 --- a/sfa/managers/registry_manager_openstack.py +++ b/sfa/managers/registry_manager_openstack.py @@ -37,9 +37,10 @@ class RegistryManager(RegistryManager): auth_hrn = hrn auth_info = api.auth.get_auth_info(auth_hrn) # get record info - record=dbsession.query(RegRecord).filter_by(hrn=hrn).first() + filter = {'hrn': hrn} if type: - record = record.filter_by(type=type) + filter['type'] = type + record=dbsession.query(RegRecord).filter_by(**filter).first() if not record: raise RecordNotFound("hrn=%s, type=%s"%(hrn,type)) @@ -59,15 +60,16 @@ class RegistryManager(RegistryManager): caller_gid = record.get_gid_object() else: caller_hrn, caller_type = urn_to_hrn(caller_xrn) - caller_record = dbsession.query(RegRecord).filter_by(hrn=caller_hrn).first() + caller_filter = {'hrn': caller_hrn} if caller_type: - caller_record = caller_record.filter_by(type=caller_type) + caller_filter['type'] = caller_type + caller_record = dbsession.query(RegRecord).filter_by(**caller_filter).first() if not caller_record: raise RecordNotFound("Unable to associated caller (hrn=%s, type=%s) with credential for (hrn: %s, type: %s)"%(caller_hrn, caller_type, hrn, type)) caller_gid = GID(string=caller_record.gid) object_hrn = record.get_gid_object().get_hrn() - rights = api.auth.determine_user_rights(caller_hrn, record) + rights = api.auth.determine_user_rights(caller_hrn, record.todict()) # make sure caller has rights to this object if rights.is_empty(): raise PermissionError(caller_hrn + " has no rights to " + record.hrn) -- 2.43.0