possible fix for issue 637

This commit is contained in:
Massimo Di Pierro
2012-01-26 11:12:52 -06:00
parent 96d6791df5
commit 5ae682b703
2 changed files with 5 additions and 4 deletions
+1 -1
View File
@@ -1 +1 @@
Version 1.99.4 (2012-01-26 11:06:17) stable
Version 1.99.4 (2012-01-26 11:12:37) stable
+4 -3
View File
@@ -539,15 +539,16 @@ class IS_NOT_IN_DB(Validator):
if value in self.allowed_override:
return (value, None)
(tablename, fieldname) = str(self.field).split('.')
field = self.dbset.db[tablename][fieldname]
table = self.dbset.db[tablename]
field = table[fieldname]
rows = self.dbset(field == value, ignore_common_filters = self.ignore_common_filters).select(limitby=(0, 1))
if len(rows) > 0:
if isinstance(self.record_id, dict):
for f in self.record_id:
if str(getattr(rows[0], f)) != str(self.record_id[f]):
return (value, translate(self.error_message))
elif str(rows[0]._id) != str(self.record_id):
return (value, translate(self.error_message))
elif str(rows[0][table._id.name]) != str(self.record_id):
return (value, translate(self.error_message))
return (value, None)