- 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) deposits = get_deposits(get_user_by_name(name).id)
for deposit in deposits: for deposit in deposits:
debt -= deposit.amount debt -= deposit.amount
debt = round(debt, 2)
return debt return debt
@@ -216,6 +218,16 @@ def get_deposits(userid = None):
deposits.append(d) deposits.append(d)
return deposits 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 ##for testing only
def generate_test_users(): def generate_test_users():

View File

@@ -1,4 +1,5 @@
import smtplib import smtplib
import database
# import email # import email
# from email.mime.text import MIMEText # from email.mime.text import MIMEText
# from email.MIMEText import MIMEText # from email.MIMEText import MIMEText
@@ -18,15 +19,13 @@ def send_email(recipient, subject, body):
# message = msg.as_string() # message = msg.as_string()
print message print message
try: try:
print '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\ntry_to_send'
server = smtplib.SMTP("smtp.gmail.com:587") server = smtplib.SMTP("smtp.gmail.com:587")
#server.set_debuglevel(1) #server.set_debuglevel(1)
server.starttls() server.starttls()
server.login(gmail_user, gmail_pwd) server.login(gmail_user, gmail_pwd)
server.sendmail(FROM, recipient, message) server.sendmail(FROM, recipient, message)
print 'sendmail'
server.quit() server.quit()
print 'Mail send to %s' % recipient print 'Mail was sent to %s' % recipient
except: except:
print "Failed to send mail to %s" %recipient print "Failed to send mail to %s" %recipient
@@ -35,9 +34,9 @@ def send_emails(body, subject, users):
FROM = 'bier1baroness@gmail.com' FROM = 'bier1baroness@gmail.com'
for user in users: for user in users:
dept = 3 ###################################################### change this!!!!! debt = get_debt(user.name)
subject_parsed = parse_email(subject, user, dept) subject_parsed = parse_email(subject, user, debt)
body_parsed = parse_email(body, user, dept) body_parsed = parse_email(body, user, debt)
send_email(user.email, subject_parsed, body_parsed) 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 /> Betreff:<input type="text" name="subject" value="Bierrechnung von der Baroness"/> <br />
<textarea cols="80" rows="20" name="message"> <textarea cols="80" rows="20" name="message">
Hallo {{user_to_bill.longname}} 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 %} {% if user_to_bill.isblack %}Weil du zu hohe Schulden hast, bist du geschwärzt.{% endif %}
Bitte überweise den Betrag an das Konto: Bitte überweise den Betrag an das Konto:
Peter Schleter; Peter Schleter;

View File

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