def update(self, project, bill_id): form = get_billform_for(project, True, csrf_enabled=False) if form.validate(): bill = Bill.query.get(project, bill_id) form.save(bill, project) db.session.commit() return 200, bill.id return 400, form.errors
def add(self, project): form = get_billform_for(project, True, csrf_enabled=False) if form.validate(): bill = Bill() form.save(bill, project) db.session.add(bill) db.session.commit() return 201, bill.id return 400, form.errors
def list_bills(): bill_form = get_billform_for(g.project) # set the last selected payer as default choice if exists if 'last_selected_payer' in session: bill_form.payer.data = session['last_selected_payer'] bills = g.project.get_bills() return render_template("list_bills.html", bills=bills, member_form=MemberForm(g.project), bill_form=bill_form, add_bill=request.values.get('add_bill', False))
def list_bills(): bill_form = get_billform_for(g.project) # set the last selected payer as default choice if exists if 'last_selected_payer' in session: bill_form.payer.data = session['last_selected_payer'] bills = g.project.get_bills() return render_template("list_bills.html", bills=bills, member_form=MemberForm(g.project), bill_form=bill_form, add_bill=request.values.get('add_bill', False) )
def list_bills(): bill_form = get_billform_for(g.project) # set the last selected payer as default choice if exists if 'last_selected_payer' in session: bill_form.payer.data = session['last_selected_payer'] # Preload the "owers" relationship for all bills bills = g.project.get_bills().options(orm.subqueryload(Bill.owers)) return render_template("list_bills.html", bills=bills, member_form=MemberForm(g.project), bill_form=bill_form, add_bill=request.values.get('add_bill', False))
def edit_bill(bill_id): # FIXME: Test this bill belongs to this project ! bill = Bill.query.get(g.project, bill_id) if not bill: raise werkzeug.exceptions.NotFound() form = get_billform_for(g.project, set_default=False) if request.method == 'POST' and form.validate(): form.save(bill, g.project) db.session.commit() flash(_("The bill has been modified")) return redirect(url_for('.list_bills')) if not form.errors: form.fill(bill) return render_template("add_bill.html", form=form, edit=True)
def add_bill(): form = get_billform_for(g.project) if request.method == 'POST': if form.validate(): # save last selected payer in session session['last_selected_payer'] = form.payer.data session.update() bill = Bill() db.session.add(form.save(bill, g.project)) db.session.commit() flash(_("The bill has been added")) args = {} if form.submit2.data: args['add_bill'] = True return redirect(url_for('.list_bills', **args)) return render_template("add_bill.html", form=form)