--- 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)