- add paying

This commit is contained in:
Ulrich Knechtelsdorfer
2016-04-06 23:38:48 +02:00
parent 10f6eea47a
commit 9cf32cc82a
4 changed files with 27 additions and 11 deletions

View File

@@ -195,6 +195,8 @@ def get_debt(name=None):
deposits = get_deposits(get_user_by_name(name).id)
for deposit in deposits:
debt -= deposit.amount
debt = round(debt, 2)
return debt
@@ -216,6 +218,16 @@ def get_deposits(userid = None):
deposits.append(d)
return deposits
def add_deposit(username, amount):
consumerid = query_db("SELECT ID FROM USERS WHERE NAME = ?", [username], one=True)
consumerid = int(consumerid[0])
query_db("INSERT INTO DEPOSITS (USERID, AMOUNT, TIME) VALUES (?, ?, ?)", (str(consumerid), amount, datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")))
get_db().commit()
print "deposit"
return
##for testing only
def generate_test_users():

View File

@@ -1,4 +1,5 @@
import smtplib
import database
# import email
# from email.mime.text import MIMEText
# from email.MIMEText import MIMEText
@@ -18,15 +19,13 @@ def send_email(recipient, subject, body):
# message = msg.as_string()
print message
try:
print '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\ntry_to_send'
server = smtplib.SMTP("smtp.gmail.com:587")
#server.set_debuglevel(1)
server.starttls()
server.login(gmail_user, gmail_pwd)
server.sendmail(FROM, recipient, message)
print 'sendmail'
server.quit()
print 'Mail send to %s' % recipient
print 'Mail was sent to %s' % recipient
except:
print "Failed to send mail to %s" %recipient
@@ -35,9 +34,9 @@ def send_emails(body, subject, users):
FROM = 'bier1baroness@gmail.com'
for user in users:
dept = 3 ###################################################### change this!!!!!
subject_parsed = parse_email(subject, user, dept)
body_parsed = parse_email(body, user, dept)
debt = get_debt(user.name)
subject_parsed = parse_email(subject, user, debt)
body_parsed = parse_email(body, user, debt)
send_email(user.email, subject_parsed, body_parsed)

View File

@@ -14,7 +14,7 @@
Betreff:<input type="text" name="subject" value="Bierrechnung von der Baroness"/> <br />
<textarea cols="80" rows="20" name="message">
Hallo {{user_to_bill.longname}}
du hast zurzeit n€ Schulden.
du hast zurzeit {{dept}} € Schulden.
{% if user_to_bill.isblack %}Weil du zu hohe Schulden hast, bist du geschwärzt.{% endif %}
Bitte überweise den Betrag an das Konto:
Peter Schleter;

View File

@@ -262,16 +262,21 @@ def personal():
@requires_baron
def billing():
users = get_users()
if request.method == 'POST':
for user in users:
formname = "%s_payed" % user.name
if formname in request.form:
# add payment here
payment = float(request.form[formname])
if payment != 0:
add_deposit(user.name, payment)
print "%s payed %d" % (user.name, payment)
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, success="Writing to database is not implemented", dept=0, user=get_user_by_name(session.get('name')))
return render_template('billing.html', users=users, success="Writing to database is not implemented", debt=debt, user=get_user_by_name(session.get('name')))
if request.method == 'GET':
debt = [0 for user in users]
for user in users:
@@ -293,7 +298,7 @@ def send_personal_bill(name=None):
return render_template('billing.html', users=users, success=success, dept=0, user=get_user_by_name(session.get('name')))
if request.method == 'GET':
return render_template('billing_personal.html', user_to_bill=get_user_by_name(name) ,user=get_user_by_name(session.get('name')))
return render_template('billing_personal.html', user_to_bill=get_user_by_name(name), dept=get_debt(name), user=get_user_by_name(session.get('name')))
@app.route('/billing/send_all_bills', methods=['GET', 'POST'])