iro/model/offer.py
branchdevel
changeset 148 11e0fdc1a58c
parent 147 e96e50ae6352
child 150 c6896c3374c4
--- a/iro/model/offer.py	Mon Feb 13 17:16:14 2012 +0100
+++ b/iro/model/offer.py	Mon Feb 13 17:16:54 2012 +0100
@@ -1,3 +1,4 @@
+from .dbdefer import dbdefer
 from ..config import config
 
 def getPossibleOffers(recipient, os):
@@ -6,6 +7,21 @@
         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): 
+                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:
+                n = user.has_right(typ, provider=p, route=r)
+                if n:
+                    ret.append(n)
+    return ret
+
 def loadOffers():
     pass