iro/model/offer.py
branchdevel
changeset 150 c6896c3374c4
parent 148 11e0fdc1a58c
child 152 14c99c89edf4
--- a/iro/model/offer.py	Mon Feb 13 17:59:11 2012 +0100
+++ b/iro/model/offer.py	Mon Feb 13 18:00:27 2012 +0100
@@ -1,24 +1,18 @@
 from .dbdefer import dbdefer
+from .schema import Offer as DBOffer
 from ..config import config
 
-def getPossibleOffers(recipient, os):
-    ret = []
-    for offer in os:
-        ret.append(offers[offer])
-    return ret
-
 @dbdefer
 def extendProvider(session, user, typ, providers):
     user = session.merge(user)
     ret = []
     for p in providers:
-        if p in offers.keys() and  p not in ret and user.has_right(typ, offer_name = p): 
+        if p not in ret and user.has_right(typ, offer_name = p): 
                 ret.append(p)
-        elif user.has_right(typ,provider=p):
-            rs = [route for route in offers[p].routes if route not in ret]
-            for r in rs:
+        elif user.providers(typ).filter(DBOffer.provider==p).first():
+            for r in offers[p].routes:
                 n = user.has_right(typ, provider=p, route=r)
-                if n:
+                if n and n not in ret:
                     ret.append(n)
     return ret
 
@@ -26,6 +20,7 @@
     pass
 
 offers={}
+providers={}
 
 config.registerReload(loadOffers)