session.typs -> Offer.typs devel
authorSandro Knauß <knauss@netzguerilla.net>
Fri, 02 Mar 2012 03:14:01 +0100
branchdevel
changeset 208 5da0f00ef872
parent 207 90a81145852c
child 209 7a0f8fbdf7b8
session.typs -> Offer.typs
iro/model/decorators.py
iro/model/schema.py
iro/model/session.py
tests/db.py
--- a/iro/model/decorators.py	Fri Mar 02 03:01:46 2012 +0100
+++ b/iro/model/decorators.py	Fri Mar 02 03:14:01 2012 +0100
@@ -35,7 +35,7 @@
 
 @dbdefer
 def vTyp(value,field, session):
-    for typ in session.typs:
+    for typ in Offer.typs(session):
         if value == typ[0]:
             break
     else:
--- a/iro/model/schema.py	Fri Mar 02 03:01:46 2012 +0100
+++ b/iro/model/schema.py	Fri Mar 02 03:14:01 2012 +0100
@@ -62,6 +62,9 @@
     def routes(cls, session, typ):
         return session.query(cls).filter_by(typ=typ)
 
+    @classmethod
+    def typs(cls, session):
+        return session.query(cls.typ).distinct()
 
 class Message(Base):
     """Wenn ein Vorgang von Iro Kosten erzeugt hat wird eine neue Zeile eingefügt. Solange nicht bezahlt wurde ist <em>isBilled=0</em>."""
--- a/iro/model/session.py	Fri Mar 02 03:01:46 2012 +0100
+++ b/iro/model/session.py	Fri Mar 02 03:14:01 2012 +0100
@@ -1,8 +1,4 @@
 from sqlalchemy.orm.session import Session
 
-import schema
-
 class IroSession(Session):
-    @property
-    def typs(self):
-        return self.query(schema.Offer.typ).distinct()
+    pass
--- a/tests/db.py	Fri Mar 02 03:01:46 2012 +0100
+++ b/tests/db.py	Fri Mar 02 03:14:01 2012 +0100
@@ -80,7 +80,7 @@
             session.add(o)
         
         with self.session() as session:
-            self.assertEqual(session.typs.all(),[('sms',),])
+            self.assertEqual(Offer.typs(session).all(),[('sms',),])
 
         with self.session() as session:
             o=Offer(name="s2", provider="sipgate", route="basic", typ="sms")
@@ -89,7 +89,7 @@
             session.add(o)
         
         with self.session() as session:
-            self.assertEqual(session.typs.order_by(Offer.typ).all(),[('sms',),('sms2',)])
+            self.assertEqual(Offer.typs(session).order_by(Offer.typ).all(),[('sms',),('sms2',)])
 
     def testOfferRoutes(self):
         with self.session() as session: