possible fix for issue 637
This commit is contained in:
@@ -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
@@ -539,15 +539,16 @@ class IS_NOT_IN_DB(Validator):
|
|||||||
if value in self.allowed_override:
|
if value in self.allowed_override:
|
||||||
return (value, None)
|
return (value, None)
|
||||||
(tablename, fieldname) = str(self.field).split('.')
|
(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))
|
rows = self.dbset(field == value, ignore_common_filters = self.ignore_common_filters).select(limitby=(0, 1))
|
||||||
if len(rows) > 0:
|
if len(rows) > 0:
|
||||||
if isinstance(self.record_id, dict):
|
if isinstance(self.record_id, dict):
|
||||||
for f in self.record_id:
|
for f in self.record_id:
|
||||||
if str(getattr(rows[0], f)) != str(self.record_id[f]):
|
if str(getattr(rows[0], f)) != str(self.record_id[f]):
|
||||||
return (value, translate(self.error_message))
|
return (value, translate(self.error_message))
|
||||||
elif str(rows[0]._id) != str(self.record_id):
|
elif str(rows[0][table._id.name]) != str(self.record_id):
|
||||||
return (value, translate(self.error_message))
|
return (value, translate(self.error_message))
|
||||||
return (value, None)
|
return (value, None)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user