X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FPersons.py;h=8cd2856a0a238997d7d0b6f18bcdc0216b13c659;hb=19d4a01ccf66af9e00914351b3eacd5fc880f988;hp=d4a3f570bc82db34ff2c7ed13b9a2207b2ae8608;hpb=5d65ab972ea25c3ac43acf01eb51c4d4906c4abf;p=plcapi.git diff --git a/PLC/Persons.py b/PLC/Persons.py index d4a3f57..8cd2856 100644 --- a/PLC/Persons.py +++ b/PLC/Persons.py @@ -16,7 +16,6 @@ import re import crypt from PLC.Faults import * -from PLC.Debug import log from PLC.Parameter import Parameter, Mixed from PLC.Filter import Filter from PLC.Table import Row, Table @@ -78,7 +77,7 @@ class Person(Row): Validate email address. Stolen from Mailman. """ email = email.lower() - invalid_email = PLCInvalidArgument("Invalid e-mail address") + invalid_email = PLCInvalidArgument("Invalid e-mail address %s"%email) if not email: raise invalid_email @@ -393,7 +392,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})