- 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)
|
consumed.append(c)
|
||||||
return consumed
|
return consumed
|
||||||
|
|
||||||
|
|
||||||
def add_consume(username, productid):
|
def add_consume(username, productid):
|
||||||
|
|
||||||
consumerid = query_db("SELECT ID FROM USERS WHERE NAME = ?", [username], one=True)
|
consumerid = query_db("SELECT ID FROM USERS WHERE NAME = ?", [username], one=True)
|
||||||
@@ -184,6 +185,19 @@ def add_consume(username, productid):
|
|||||||
|
|
||||||
return
|
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):
|
def get_deposits(userid = None):
|
||||||
#ID|USERID|AMOUNT|TIME
|
#ID|USERID|AMOUNT|TIME
|
||||||
if userid == None:
|
if userid == None:
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>{{user.longname}}</td>
|
<td>{{user.longname}}</td>
|
||||||
<td>{% if user.isblack %} ☑ {% else %} ☐ {% endif %}</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> <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>
|
<td>Einzelne Rechnung <a href="/billing/send_personal_bill/{{user.name}}">versenden</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<p>Total: {{ "%0.2f" % (deposited - owed)}} €</p>
|
<p>Total: {{ "%0.2f" % (deposited - owed)}} €</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h2>Einzahlungen (TODO)</h2>
|
<h2>Einzahlungen</h2>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Datum</th>
|
<th>Datum</th>
|
||||||
|
|||||||
@@ -264,7 +264,10 @@ def billing():
|
|||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
return render_template('billing.html', users=users, success="Not Implemented", dept=0, user=get_user_by_name(session.get('name')))
|
return render_template('billing.html', users=users, success="Not Implemented", dept=0, user=get_user_by_name(session.get('name')))
|
||||||
if request.method == 'GET':
|
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'])
|
@app.route('/billing/send_personal_bill/<name>', methods=['GET','POST'])
|
||||||
|
|||||||
Reference in New Issue
Block a user