Example #1
0
def admin():
    if not g.user.is_admin():
        log.warning(g.user.f_name + " tried to login as admin")
        abort(401)
    if request.args.get(CREATE_BILLS) is not None and request.args.get(CREATE_BILLS) == "1":
        if os.path.isfile("Ubersichten.zip"):
            os.remove("Ubersichten.zip")
        zipf = zipfile.ZipFile("Ubersichten.zip", "w", zipfile.ZIP_DEFLATED)
        for family in Familys.query.all():
            f = pdfservice.generate_bill(family.f_name, COST_PER_PERSON)
            zipf.write(f, os.path.basename(f))
        zipf.close()
        return send_file(os.path.abspath("Ubersichten.zip"), mimetype="zip", as_attachment=True)
    elif request.args.get(CREATE_TEILNEHMER) is not None and request.args.get(CREATE_TEILNEHMER) == "1":
        return send_file(pdfservice.generate_teilnehmerliste(), mimetype="text", as_attachment=True)
    else:
        form = FamilyLookupForm()
        form.familys.choices = [(family.f_name, family.f_name) for family in Familys.query.all()]
#         form.emailtype.choices = [(INVITE, INVITE), (REMEMBER, REMEMBER), (VERBINDLICH, VERBINDLICH)]
        form.emailtype.choices = [(INVITE, INVITE),(REMEMBER, REMEMBER), (VERBINDLICH, VERBINDLICH)]
        if form.validate_on_submit():
            for family in request.form.getlist("familys"):
                fam = Familys.query.filter_by(f_name=family).first()
                emailtemplate = form.emailtype.data
                email = emailservice.create_mail("Hallo Familie " + fam.f_name + "!", fam.f_token, "http://holzner-web.net", "email-templates/"+emailtemplate+".template")
                emailservice.sendmail(fam.f_email, emailtemplate, email)
            flash("Emails sent")
            return redirect("admin")
        else:
            print(form.errors)
        return render_template("admin.html",
                               title="Admin",
                               CREATE_BILLS=CREATE_BILLS,
                               CREATE_TEILNEHMER=CREATE_TEILNEHMER,
                               form=form)
Example #2
0
def generateubersicht():
    if datetime.datetime.now() < LEVEL2DATE or not g.user.f_validated:
        return redirect("register")
    elif request.args.get(CREATE_BILL_BY_FAMILY) is not None and request.args.get(CREATE_BILL_BY_FAMILY) == "1":
        return send_file(pdfservice.generate_bill(g.user.f_name, COST_PER_PERSON), mimetype="pdf", as_attachment=True)
    else:
        return redirect("register")