diff --git a/app/send_email.py b/app/send_email.py new file mode 100644 index 0000000..777b380 --- /dev/null +++ b/app/send_email.py @@ -0,0 +1,60 @@ +import smtplib +# import email +# from email.mime.text import MIMEText +# from email.MIMEText import MIMEText +import user + +def send_email(recipient, subject, body): + gmail_user = 'bier1baroness' + gmail_pwd = 'test11test11' + FROM = 'bier1baroness@gmail.com' + SUBJECT = subject + TEXT = body + + # Prepare actual message + message = u"Content-Type: text/plain; charset=utf-8\nFrom: Baroness <%s>\nTo: %s\nSubject: %s\n\n%s" % (FROM, recipient, SUBJECT, TEXT) + message = message.encode('utf-8') + + # 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 + + except: + print "Failed to send mail to %s" %recipient + +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) + send_email(user.email, subject_parsed, body_parsed) + + + + +def parse_email(text, u, dept): + + text = text.replace('%%longname%%', u.longname) + text = text.replace('%%dept%%', str(dept)) + + if text.find('%%if_is_black%%', 0, text.__len__()): + start = text.find('%%if_is_black%%', 0, text.__len__()) + end = text.find('%%end_if_is_black%%') + + if not u.isblack: + text = text.replace(text[start:end], '') + text = text.replace('%%if_is_black%%', '') + text = text.replace('%%end_if_is_black%%', '') + + return text diff --git a/app/templates/billing.html b/app/templates/billing.html index 879b3e4..27ae5cf 100644 --- a/app/templates/billing.html +++ b/app/templates/billing.html @@ -9,6 +9,7 @@
{{ success }}
{% endif %}An alle User Rechnungen versenden.
-An alle User Rechnungen versenden.
{% endblock %} \ No newline at end of file diff --git a/app/templates/billing_mass_mail.html b/app/templates/billing_mass_mail.html index 8605953..99dc2ed 100644 --- a/app/templates/billing_mass_mail.html +++ b/app/templates/billing_mass_mail.html @@ -1,23 +1,34 @@ {% extends "base.html"%} -{% set title = "An alle User Rechnung versenden" %} +{% set title = "An alle User Rechnungen versenden" %} {% block content %}{{ success }}
{% endif %}Der text den du eingibst wird von der Baroness noch personalisiert. Folgende Komandos kennt die Baroness.
+An alle User Rechnungen versenden.
+ {% endblock %} \ No newline at end of file diff --git a/app/views.py b/app/views.py index 0cf7b31..d9d435e 100644 --- a/app/views.py +++ b/app/views.py @@ -5,6 +5,7 @@ from database import * from plot import * from user import User from product import Product +from send_email import send_email, send_emails from consumption import Consumption import bcrypt import os @@ -262,27 +263,54 @@ def personal(): def billing(): users = get_users() if request.method == 'POST': - return render_template('billing.html', users=users, success="Not Implemented", dept=0, user=get_user_by_name(session.get('name'))) + for user in users: + formname = "%s_payed" % user.name + if formname in request.form: + # add payment here + payment = float(request.form[formname]) + print "%s payed %d" % (user.name, payment) + + + 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': return render_template('billing.html', users=users, dept=0, user=get_user_by_name(session.get('name'))) -@app.route('/billing/send_personal_bill/