fixed ignore_common_filters and IS_NOT_IN_DB, thanks Yair
This commit is contained in:
1 parent
49872485dc
commit
4b5993b35b
2 files changed
+5
-3
No files matched your search
@@ -1 +1 @@
|
|||||||
Version 1.99.4 (2012-01-12 14:17:04) stable
|
Version 1.99.4 (2012-01-12 14:18:47) stable
|
||||||
+4
-2
@@ -513,6 +513,7 @@ class IS_NOT_IN_DB(Validator):
|
|||||||
field,
|
field,
|
||||||
error_message='value already in database or empty',
|
error_message='value already in database or empty',
|
||||||
allowed_override=[],
|
allowed_override=[],
|
||||||
|
ignore_common_filters=False,
|
||||||
):
|
):
|
||||||
|
|
||||||
from dal import Table
|
from dal import Table
|
||||||
@@ -526,7 +527,8 @@ class IS_NOT_IN_DB(Validator):
|
|||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
self.record_id = 0
|
self.record_id = 0
|
||||||
self.allowed_override = allowed_override
|
self.allowed_override = allowed_override
|
||||||
|
self.ignore_common_filters = ignore_common_filters
|
||||||
|
|
||||||
def set_self_id(self, id):
|
def set_self_id(self, id):
|
||||||
self.record_id = id
|
self.record_id = id
|
||||||
|
|
||||||
@@ -538,7 +540,7 @@ class IS_NOT_IN_DB(Validator):
|
|||||||
return (value, None)
|
return (value, None)
|
||||||
(tablename, fieldname) = str(self.field).split('.')
|
(tablename, fieldname) = str(self.field).split('.')
|
||||||
field = self.dbset.db[tablename][fieldname]
|
field = self.dbset.db[tablename][fieldname]
|
||||||
rows = self.dbset(field == value).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:
|
||||||
|
|||||||
Reference in new issue
Block a user