From 41e8658c3494478e8d1d328c5046017454c88f6d Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Mon, 18 Aug 2014 19:46:23 +0200 Subject: [PATCH] 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 --- PLC/Persons.py | 3 ++- PLC/Sites.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) 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}) -- 2.43.0