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)
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")