def invoice_edit(id): """编辑发票 和添加类似,参加 Person 的实现 """ inv = Invoice.query.get(id) form = InvoiceForm(request.form, obj=inv) form.subject_id.choices = Subject.get_subjects() if request.method == "POST" and form.validate(): form.populate_obj(inv) if request.files[form.picture.name]: try: pic = Picture.query.get(inv.picture_id) if pic: pic.restore(request.files[form.picture.name]) pic.save() else: pic = Picture(request.files[form.picture.name]) db.session.add(pic) pic.save() inv.picture_id = pic.id except: flash(u"图片保存失败", "error") inv.save() flash(u"成功更新个人信息") return redirect("/invoice/%d/%d" % (id, id)) return render_template("/invoice/edit.html", form=form, title=u"编辑发票")
def invoice_new(): """添加发票 添加发票时会让用户选择关联帐目,若未选择则自动添加一条帐目 """ form = InvoiceForm(request.form) form.subject_id.choices = Subject.get_subjects() if request.method == "POST" and form.validate(): inv = Invoice() form.populate_obj(inv) if request.files[form.picture.name]: try: pic = Picture(request.files[form.picture.name]) db.session.add(pic) pic.save() inv.picture_id = pic.id except: flash(u"图片保存失败", "error") db.session.add(inv) inv.save() return redirect("/invoice/%d/chioce" % int(inv.id)) return render_template("/invoice/edit.html", form=form, title=u"添加发票")