- added deposits

This commit is contained in:
Bernhard Stampfer
2016-02-26 18:07:31 +01:00
parent 70774e892b
commit 2ee9089583
6 changed files with 51 additions and 3 deletions

View File

@@ -4,6 +4,7 @@ from app import app
from user import User
from product import Product
from consumption import Consumption
from deposit import Deposit
import random as rand
import datetime
@@ -183,6 +184,24 @@ def add_consume(username, productid):
return
def get_deposits(userid = None):
#ID|USERID|AMOUNT|TIME
if userid == None:
rows = query_db("SELECT * FROM DEPOSITS")
else:
rows = query_db("SELECT * FROM DEPOSITS WHERE USERID = ?", [str(userid)])
deposits = []
if rows == None:
return deposits
for row in rows:
d = Deposit()
d.id = row[0]
d.userid = row[1]
d.amount = row[2]
d.time = datetime.datetime.strptime(row[3], "%Y-%m-%d %H:%M:%S")
deposits.append(d)
return deposits
##for testing only
def generate_test_users():

10
app/deposit.py Normal file
View File

@@ -0,0 +1,10 @@
import datetime as dt
class Deposit:
def __init__(self):
#ID|USERID|AMOUNT|TIME
self.id = 0
self.userid = 0
self.amount = 0.0
self.time = dt.datetime

View File

@@ -13,7 +13,7 @@
<h1> Abrechnung </h1>
<div>
<h2>Gesamt</h2>
<p>Einzahlungen (TODO): {{ "%0.2f" % deposited }} €</p>
<p>Einzahlungen: {{ "%0.2f" % deposited }} €</p>
<p>Konsumationen: {{ "%0.2f" % owed }} €</p>
<p>Total: {{ "%0.2f" % (deposited - owed)}} €</p>
</div>

View File

@@ -242,11 +242,20 @@ def consume():
@requires_login
def personal():
name = session.get('name')
consumed=get_consumed(name)
user=get_user_by_name(name)
consumed = get_consumed(name)
owed = 0
for consumption in consumed:
owed += consumption.price
return render_template('personal.html', user=get_user_by_name(name), consumed=consumed, products=get_products(), deposited=555.55, owed=owed)
deposits = get_deposits(user.id)
deposited = 0
for deposit in deposits:
deposited += deposit.amount
return render_template('personal.html', user=user, consumed=consumed,
products=get_products(), deposits=deposits, deposited=deposited, owed=owed)
@app.route('/billing', methods=['POST', 'GET'])
@requires_baron