iro/controller/viewinterface.py
branchdevel
changeset 127 79966b937274
parent 126 1ac2439a68b5
child 135 f8640c663e3e
equal deleted inserted replaced
126:1ac2439a68b5 127:79966b937274
   147         user = session.merge(user)
   147         user = session.merge(user)
   148         offers = user.routes(typ, isDefault=True)
   148         offers = user.routes(typ, isDefault=True)
   149         return [u[0] for u in offers]
   149         return [u[0] for u in offers]
   150 
   150 
   151     @vUser
   151     @vUser
   152     def statistic(self, user):
   152     @dbdefer
   153         '''Gibt eine Statik zurück über die versendendeten Nachrichten und des Preises.
   153     def bill(self, session, user):
   154 
   154         '''Gibt eine Rechnung zurück über die noch nicht abgerechneten Nachrichten und des Preises.
   155         Keywords:
   155 
   156         apikey[string]: Der API Key
   156         Keywords:
   157 
   157         apikey[string]: Der API Key
   158         Return:
   158 
   159         statistic[list]: Eine Liste nach Nachrichtentypen
   159         Return:
   160         '''
   160         bills[dict]: Eine Liste nach Nachrichtentypen
   161         return ""
   161         bill[route][info].anz: Anzahl der verschickten Nachrichten pro "Infoklasse"
       
   162         bill[route][info].price: Preis pro "Infoklasse"
       
   163         bill[route].anz: Anzahl der verschickten Nachrichten pro Route 
       
   164         bill[route].price: Preis für eine Route
       
   165         total.price: der Gesammtpreis
       
   166         total.anz: die Gesammtanzahl
       
   167         '''
       
   168         ret={'total':{'price':0, 'anz':0}}
       
   169         user=session.merge(user)
       
   170         for route in user.rights:
       
   171             n=route.offer_name
       
   172             ret[n]={'price':0, 'anz':0, 'info':{}}
       
   173             for bill in route.bill:
       
   174                 ret[n]['info'][bill.info]={'price':float(bill.price),'anz':bill.anz}
       
   175                 ret[n]['price'] += bill.price
       
   176                 ret[n]['anz'] += bill.anz
       
   177             ret['total']['price'] += ret[n]['price'] 
       
   178             ret['total']['anz'] += ret[n]['anz'] 
       
   179             ret[n]['price'] = float(ret[n]['price'])
       
   180 
       
   181         ret['total']['price'] = float(ret['total']['price'])
       
   182         return ret
   162 
   183 
   163     @validate(kwd="recipients",func=vTel)
   184     @validate(kwd="recipients",func=vTel)
   164     def telnumber(self,recipients):
   185     def telnumber(self,recipients):
   165         '''Gibt True zurück, falls alle übergebene Telefonnummern valide sind.
   186         '''Gibt True zurück, falls alle übergebene Telefonnummern valide sind.
   166         
   187