diff -r e16c0250c974 -r 3462c2c90f95 iro/controller/viewinterface.py --- a/iro/controller/viewinterface.py Sat Jan 28 04:00:47 2012 +0100 +++ b/iro/controller/viewinterface.py Sat Jan 28 04:03:15 2012 +0100 @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from ..model.decorators import vUser, vRoute, dbdefer, vTyp -from ..model.schema import User +from ..model.schema import User, Userright, Offer +from sqlalchemy import and_ from ..validate import validate, vBool, vHash, vTel, vEmail class Interface(object): @@ -121,8 +122,8 @@ providerlist[list]: Eine Liste aller möglichen Provider ''' - user = session.query(User).filter_by(name=user.name).first() - return [u.offer_name for u in user.rights] + offers = session.query(Userright.offer_name).join(Offer,User).filter(and_(User.name==user.name,Offer.typ==typ)) + return [u[0] for u in offers] @validate(kwd="typ", func=vTyp) @vUser