iro/controller/viewinterface.py
branchdevel
changeset 121 ca63b6776231
parent 120 7bde35ad89e0
child 125 19b3f383c9ce
equal deleted inserted replaced
120:7bde35ad89e0 121:ca63b6776231
     1 # -*- coding: utf-8 -*-
     1 # -*- coding: utf-8 -*-
     2 from ..model.decorators import vUser, vRoute, dbdefer, vTyp
     2 from ..model.decorators import vUser, vRoute, dbdefer, vTyp
     3 from ..model.schema import User, Userright, Offer
       
     4 from sqlalchemy import and_
       
     5 from ..validate import validate, vBool, vHash, vTel, vEmail
     3 from ..validate import validate, vBool, vHash, vTel, vEmail
     6 
     4 
     7 class Interface(object):
     5 class Interface(object):
     8     '''class for a xmlrpc user
     6     '''class for a xmlrpc user
     9     '''
     7     '''
   120 
   118 
   121         Return:
   119         Return:
   122         providerlist[list]: Eine Liste aller möglichen Provider
   120         providerlist[list]: Eine Liste aller möglichen Provider
   123 
   121 
   124         '''
   122         '''
   125         offers = session.query(Userright.offer_name).join(Offer,User).filter(and_(User.name==user.name,Offer.typ==typ))
   123         user = session.merge(user)
       
   124         offers = user.routes(typ)
   126         return [u[0] for u in offers]
   125         return [u[0] for u in offers]
   127         
   126         
   128     @validate(kwd="typ", func=vTyp)
   127     @validate(kwd="typ", func=vTyp)
   129     @vUser
   128     @vUser
   130     @dbdefer
   129     @dbdefer
   139         Return:
   138         Return:
   140         provider[string]: Der Standardprovider für den angeben Typ
   139         provider[string]: Der Standardprovider für den angeben Typ
   141 
   140 
   142 
   141 
   143         '''
   142         '''
   144         offers = session.query(Userright.offer_name).join(Offer,User).filter(and_(User.name==user.name,Offer.typ==typ,Userright.isDefault==True))
   143         user = session.merge(user)
       
   144         offers = user.routes(typ, isDefault=True)
   145         return [u[0] for u in offers]
   145         return [u[0] for u in offers]
   146 
   146 
   147     @vUser
   147     @vUser
   148     def statistic(self, user):
   148     def statistic(self, user):
   149         '''Gibt eine Statik zurück über die versendendeten Nachrichten und des Preises.
   149         '''Gibt eine Statik zurück über die versendendeten Nachrichten und des Preises.