def generate_bill(a_family, a_cost_per_person): a_title = DIR_UBERSICHT + "Vorauszahlung_Ubersicht_"+a_family+".pdf" pdf = PDFDocument(a_title) pdf.init_report() pdf.p_markup("Automatisch generiert am: "+ str(date.today()), pdf.style.right) pdf.spacer(20) pdf.h1("Übersicht Vorauszahlung für Familie " + a_family) pdf.spacer(20) pdf.h2("Kostenaufstellung") pdf.hr() pdf.spacer(10) my_list = [] q = db.query(Members).join(Familys).filter_by(f_name=a_family) total = 0 for result in db.execute(q): my_list.append([result[2] + " " + result[3], str(a_cost_per_person) + " €"]) total += a_cost_per_person try: pdf.table(my_list, 220) except Exception: print("No members") pdf.spacer(10) pdf.hr() pdf.spacer(20) pdf.p_markup("Total: " + str(total) + " €", pdf.style.bold) pdf.spacer(20) pdf.p(UBERWEISUNG_FOOTER) pdf.generate() return os.path.abspath(a_title)
def register(): form = RegisterForm() if form.validate_on_submit(): if g.user.f_validated: flash("Bearbeitung nicht mehr möglich! Sie haben die Eingaben bereits bestätigt") else: if datetime.datetime.now() > LEVEL1DATE: flash("Änderungen der Mitglieder sind nicht mehr möglich!") flash("Änderungen der Mitglieder werden nicht gespeichert.") else: Members.query.filter_by(m_familyname=g.user.f_name).delete() for i in range(10): a_prename = eval("form.prename"+str(i)+".data") a_surname = eval("form.surname"+str(i)+".data") if a_prename.strip() == "" and a_surname.strip() == "": continue member = Members(g.user.f_name, a_prename, a_surname) db.add(member) db.query(Familys).filter_by(f_name=g.user.f_name).update({Familys.f_info:form.info.data}) flash("Eingaben wurden gespeichert") if form.festzusagen.data == True: db.query(Familys).filter_by(f_name=g.user.f_name).update({Familys.f_validated:form.festzusagen.data}) flash("Zusage gespeichert") db.commit() return redirect("register") q = db.query(Members).join(Familys).filter_by(f_name=g.user.f_name) i = 0 for result in db.execute(q): prename_field = eval("form.prename"+str(i)) surname_field = eval("form.surname"+str(i)) prename_field.data = result[2] surname_field.data = result[3] i += 1 form.info.data = Familys.query.filter_by(f_name=g.user.f_name).first().f_info form.festzusagen.data = Familys.query.filter_by(f_name=g.user.f_name).first().f_validated editing_allowed = True if datetime.datetime.now() > LEVEL1DATE: editing_allowed = False show_zusagen = False if datetime.datetime.now() > LEVEL2DATE: show_zusagen = True return render_template("register.html", title="Register", form=form, cur_time= datetime.datetime.now().strftime("%d-%m-%Y %H:%M"), show_zusagen=show_zusagen, editing_allowed=editing_allowed, LEVEL1DATE=LEVEL1DATE.strftime("%d-%m-%Y"), LEVEL2DATE=LEVEL2DATE.strftime("%d-%m-%Y"), LEVEL3DATE=LEVEL3DATE.strftime("%d-%m-%Y"), CREATE_BILL_BY_FAMILY=CREATE_BILL_BY_FAMILY )
def generate_teilnehmerliste(): a_title = DIR_TEILNEHMERLISTE + "Teilnehmer.pdf" pdf = PDFDocument(a_title) pdf.init_report() pdf.p_markup(date.today(), pdf.style.right) pdf.spacer(20) pdf.h1("Teilnehmer Skifahren 2017") pdf.hr_mini() pdf.spacer(20) familys = Familys.query.all() for family in familys: pdf.h3(family.f_name) q = db.query(Members).join(Familys).filter_by(f_name=family.f_name) members = [] for result in db.execute(q): members.append(result[2] + " " + result[3]) pdf.ul(members) pdf.spacer(10) pdf.p("Info:") pdf.p(family.f_info) pdf.spacer(20) pdf.hr() pdf.generate() return os.path.abspath(a_title)