iro/model/offer.py
branchdevel
changeset 170 2a16943f1d05
parent 160 f4e4f4ba25fb
child 176 71f1108758ef
equal deleted inserted replaced
169:aabc04843d25 170:2a16943f1d05
    11     ret = []
    11     ret = []
    12     for p in ps:
    12     for p in ps:
    13         if p not in ret and user.has_right(typ, offer_name = p): 
    13         if p not in ret and user.has_right(typ, offer_name = p): 
    14                 ret.append(p)
    14                 ret.append(p)
    15         elif user.providers(typ).filter(schema.Offer.provider==p).first():
    15         elif user.providers(typ).filter(schema.Offer.provider==p).first():
    16             for r in providers[p].routes:
    16             for r in providers[p].typs[typ]:
    17                 n = user.has_right(typ, provider=p, route=r)
    17                 n = user.has_right(typ, provider=p, route=r)
    18                 if n and n not in ret:
    18                 if n and n not in ret:
    19                     ret.append(n)
    19                     ret.append(n)
    20     return ret
    20     return ret
    21 
    21 
    23 def loadOffers(session):
    23 def loadOffers(session):
    24     offers.clear()
    24     offers.clear()
    25     providers.clear()
    25     providers.clear()
    26     for provider in ( s for s in config.sections() if not s in ["main",]):
    26     for provider in ( s for s in config.sections() if not s in ["main",]):
    27         p=getProvider(provider,config.get(provider,"typ"),config.items(provider))
    27         p=getProvider(provider,config.get(provider,"typ"),config.items(provider))
    28         for r in p.routes:
    28         for t in p.typs:
    29             for o in  session.query(schema.Offer.name, schema.Offer.typ).filter(and_(schema.Offer.provider==provider,
    29             for r in p.typs[t]:
    30                 schema.Offer.route==r)):
    30                 n = session.query(schema.Offer.name).filter(and_(schema.Offer.provider==provider, schema.Offer.route==r, schema.Offer.typ==t)).scalar()
    31                     offers[o[0]]=Offer(provider=p,route=r,typ=o[1],name=o[0])
    31                 offers[n]=Offer(provider=p,route=r,typ=t,name=n)
    32         providers[provider]=p
    32         providers[provider]=p
    33 
    33 
    34 offers={}
    34 offers={}
    35 providers={}
    35 providers={}
    36 
    36