- add paying
This commit is contained in:
@@ -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():
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
13
app/views.py
13
app/views.py
@@ -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:
|
||||||
@@ -290,10 +295,10 @@ def send_personal_bill(name=None):
|
|||||||
send_email(u.email, subject, message)
|
send_email(u.email, subject, message)
|
||||||
|
|
||||||
success = "Die Rechnung wurde an %s versendet." %u.longname
|
success = "Die Rechnung wurde an %s versendet." %u.longname
|
||||||
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'])
|
||||||
|
|||||||
Reference in New Issue
Block a user