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 |