- added: database: get_debt(name) and views for it
This commit is contained in:
@@ -170,6 +170,7 @@ def get_consumed(user=None, startdate=None, enddate=None):
|
||||
consumed.append(c)
|
||||
return consumed
|
||||
|
||||
|
||||
def add_consume(username, productid):
|
||||
|
||||
consumerid = query_db("SELECT ID FROM USERS WHERE NAME = ?", [username], one=True)
|
||||
@@ -184,6 +185,19 @@ def add_consume(username, productid):
|
||||
|
||||
return
|
||||
|
||||
|
||||
def get_debt(name=None):
|
||||
consumptions = get_consumed(name)
|
||||
debt = 0
|
||||
for consumption in consumptions:
|
||||
debt += consumption.price
|
||||
|
||||
deposits = get_deposits(get_user_by_name(name).id)
|
||||
for deposit in deposits:
|
||||
debt -= deposit.amount
|
||||
return debt
|
||||
|
||||
|
||||
def get_deposits(userid = None):
|
||||
#ID|USERID|AMOUNT|TIME
|
||||
if userid == None:
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<tr>
|
||||
<td>{{user.longname}}</td>
|
||||
<td>{% if user.isblack %} ☑ {% else %} ☐ {% endif %}</td>
|
||||
<td>{{dept}} € </td>
|
||||
<td>{{debt[user.id-1]}} € </td>
|
||||
<td> <input type="number" name="{{user.name}}_payed" step="any" required value="0" /> € </td>
|
||||
<td>Einzelne Rechnung <a href="/billing/send_personal_bill/{{user.name}}">versenden</a></td>
|
||||
</tr>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<p>Total: {{ "%0.2f" % (deposited - owed)}} €</p>
|
||||
</div>
|
||||
<div>
|
||||
<h2>Einzahlungen (TODO)</h2>
|
||||
<h2>Einzahlungen</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Datum</th>
|
||||
|
||||
@@ -264,7 +264,10 @@ def billing():
|
||||
if request.method == 'POST':
|
||||
return render_template('billing.html', users=users, success="Not Implemented", dept=0, user=get_user_by_name(session.get('name')))
|
||||
if request.method == 'GET':
|
||||
return render_template('billing.html', users=users, dept=0, user=get_user_by_name(session.get('name')))
|
||||
debt = [0 for user in users]
|
||||
for user in users:
|
||||
debt[user.id-1] = get_debt(user.name)
|
||||
return render_template('billing.html', users=users, debt=debt, user=get_user_by_name(session.get('name')))
|
||||
|
||||
|
||||
@app.route('/billing/send_personal_bill/<name>', methods=['GET','POST'])
|
||||
|
||||
Reference in New Issue
Block a user