From: Thierry Parmentelat Date: Mon, 18 Aug 2014 17:46:23 +0000 (+0200) Subject: tags defined on Person and Site were not exposed to Filter, so that e.g. X-Git-Tag: plcapi-5.3-4~1 X-Git-Url: http://git.onelab.eu/?p=plcapi.git;a=commitdiff_plain;h=41e8658c3494478e8d1d328c5046017454c88f6d tags defined on Person and Site were not exposed to Filter, so that e.g. GetPersons({'hrn':},['email','hrn']) was failing although the 'hrn' tag is marked as expose_to_api --- diff --git a/PLC/Persons.py b/PLC/Persons.py index d4a3f57..da432a1 100644 --- a/PLC/Persons.py +++ b/PLC/Persons.py @@ -393,7 +393,8 @@ class Persons(Table): person_filter = Filter(Person.fields, {'person_id': ints, 'email': strs}) sql += " AND (%s) %s" % person_filter.sql(api, "OR") elif isinstance(person_filter, dict): - person_filter = Filter(Person.fields, person_filter) + allowed_fields=dict(Person.fields.items()+Person.tags.items()) + person_filter = Filter(allowed_fields, person_filter) sql += " AND (%s) %s" % person_filter.sql(api, "AND") elif isinstance (person_filter, StringTypes): person_filter = Filter(Person.fields, {'email':person_filter}) diff --git a/PLC/Sites.py b/PLC/Sites.py index b0c7061..969b2a9 100644 --- a/PLC/Sites.py +++ b/PLC/Sites.py @@ -258,7 +258,8 @@ class Sites(Table): site_filter = Filter(Site.fields, {'site_id': ints, 'login_base': strs}) sql += " AND (%s) %s" % site_filter.sql(api, "OR") elif isinstance(site_filter, dict): - site_filter = Filter(Site.fields, site_filter) + allowed_fields=dict(Site.fields.items()+Site.tags.items()) + site_filter = Filter(allowed_fields, site_filter) sql += " AND (%s) %s" % site_filter.sql(api, "AND") elif isinstance (site_filter, StringTypes): site_filter = Filter(Site.fields, {'login_base':site_filter})