fixed issue 923, thanks Martin
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.00.0 (2012-08-07 19:39:42) dev
|
Version 2.00.0 (2012-08-07 19:53:40) dev
|
||||||
|
|||||||
+3
-5
@@ -417,8 +417,7 @@ class IS_IN_DB(Validator):
|
|||||||
self.dbset = dbset()
|
self.dbset = dbset()
|
||||||
else:
|
else:
|
||||||
self.dbset = dbset
|
self.dbset = dbset
|
||||||
self.field = field
|
(ktable, kfield) = str(field).split('.')
|
||||||
(ktable, kfield) = str(self.field).split('.')
|
|
||||||
if not label:
|
if not label:
|
||||||
label = '%%(%s)s' % kfield
|
label = '%%(%s)s' % kfield
|
||||||
if isinstance(label,str):
|
if isinstance(label,str):
|
||||||
@@ -486,6 +485,7 @@ class IS_IN_DB(Validator):
|
|||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
table = self.dbset.db[self.ktable]
|
table = self.dbset.db[self.ktable]
|
||||||
|
field = table[self.kfield]
|
||||||
if self.multiple:
|
if self.multiple:
|
||||||
if isinstance(value,list):
|
if isinstance(value,list):
|
||||||
values=value
|
values=value
|
||||||
@@ -496,7 +496,7 @@ class IS_IN_DB(Validator):
|
|||||||
if isinstance(self.multiple,(tuple,list)) and \
|
if isinstance(self.multiple,(tuple,list)) and \
|
||||||
not self.multiple[0]<=len(values)<self.multiple[1]:
|
not self.multiple[0]<=len(values)<self.multiple[1]:
|
||||||
return (values, translate(self.error_message))
|
return (values, translate(self.error_message))
|
||||||
if self.dbset(self.field.belongs(values)).count()==len(values):
|
if self.dbset(field.belongs(values)).count()==len(values):
|
||||||
return (values, None)
|
return (values, None)
|
||||||
elif self.theset:
|
elif self.theset:
|
||||||
if str(value) in self.theset:
|
if str(value) in self.theset:
|
||||||
@@ -505,8 +505,6 @@ class IS_IN_DB(Validator):
|
|||||||
else:
|
else:
|
||||||
return (value, None)
|
return (value, None)
|
||||||
else:
|
else:
|
||||||
(ktable, kfield) = str(self.field).split('.')
|
|
||||||
field = self.dbset.db[ktable][kfield]
|
|
||||||
if self.dbset(field == value).count():
|
if self.dbset(field == value).count():
|
||||||
if self._and:
|
if self._and:
|
||||||
return self._and(value)
|
return self._and(value)
|
||||||
|
|||||||
Reference in New Issue
Block a user