- 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')
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

View File

@@ -64,6 +64,16 @@ CREATE TABLE Consumed(
FOREIGN KEY(consumer) REFERENCES USERS(id)
);
-- The table Deposits contains all money deposits done by the users
CREATE TABLE Deposits(
id INTEGER PRIMARY KEY,
userid INTEGER NOT NULL,
amount REAL DEFAULT 0.0,
time DATETIME,
FOREIGN KEY(userid) REFERENCES USERS(id)
);
-- The table Config stores basic config data, this is for the admins and the barons

Binary file not shown.