iro/model/decorators.py
branchdevel
changeset 117 351a02310dd8
parent 115 323d06431100
child 118 e16c0250c974
--- a/iro/model/decorators.py	Fri Jan 27 21:14:18 2012 +0100
+++ b/iro/model/decorators.py	Fri Jan 27 21:21:41 2012 +0100
@@ -1,10 +1,25 @@
 from decorator import decorator
 
-from .utils import DBDefer
 from .user import vUser
+from .dbdefer import  dbdefer
+from .pool import runInDBPool
+from .schema import Offer
+
+from ..error import ValidateException
 
 def vRoute(typ):
     @decorator
     def wrapper(f, *args, **kwargs):
         return f(*args, **kwargs)
     return wrapper
+
+from .utils import WithSession
+#@dbdefer
+def vTyp(value,field):
+    with WithSession(dbdefer.engine) as session:
+        for typ in session.query(Offer.typ).distinct():
+            if value == typ[0]:
+                break
+        else:
+            raise ValidateException(field=field,msg='Typ is not valid.')
+    return value