iro/model/schema.py
branchdevel
changeset 201 843a7bcecbc8
parent 176 71f1108758ef
child 203 b543ab9a9724
--- a/iro/model/schema.py	Tue Feb 28 01:47:19 2012 +0100
+++ b/iro/model/schema.py	Thu Mar 01 19:57:31 2012 +0100
@@ -19,17 +19,17 @@
 __tables__=["User", "Job", "Message", "Offer", "Userright"]
 
 class Userright(Base):
-    """Über welche Routen darf ein Benutzer Daten verschicken und welches sind die Standardrouten (<em>isDefault=1</em>) für den Benuter."""
+    """Über welche Routen darf ein Benutzer Daten verschicken und welches sind die Standardrouten (<em>default!=None</em>) für den Benuter. Geordnert werden die Standardrouten nach default."""
     __tablename__ = 'userright'
     user_name = Column('user', String(100), ForeignKey('apiuser.name'), primary_key=True)
     offer_name = Column('offer', String(100), ForeignKey('offer.name'), primary_key=True)
-    isDefault = Column(Boolean)
+    default = Column(Integer)
     offer = relationship("Offer")
     user = relationship("User")
 
-    def __init__(self, offer, default=False):
+    def __init__(self, offer, default=None):
         self.offer = offer
-        self.isDefault = default
+        self.default = default
 
     @property
     def bill(self):
@@ -113,22 +113,22 @@
         except DetachedInstanceError:
             return Base.__repr__(self)
     
-    def routes(self, typ, isDefault = None):
+    def routes(self, typ, default = False):
         '''returns a query object to get all possible routes for a given typ'''
         filters=[User.name == self.name,
                 Offer.typ == typ, 
                 ]
-        if isDefault is not None:
-            filters.append(Userright.isDefault==isDefault)
+        if default:
+            filters.append(Userright.default != None)
         return object_session(self).query(Userright.offer_name).join(Offer,User).filter(and_(*filters))
    
-    def providers(self, typ, isDefault = None):
+    def providers(self, typ, default = False):
         '''return a query object for all possible providers for a given typ'''
         filters=[User.name == self.name,
                 Offer.typ == typ, 
                 ]
-        if isDefault is not None:
-            filters.append(Userright.isDefault==isDefault)
+        if default:
+            filters.append(Userright.default != None)
         return object_session(self).query(Offer.provider).join(Userright,User).filter(and_(*filters))
 
     def has_right(self, typ, offer_name = None, provider = None, route = None):