Example #1
0
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"编辑发票")
Example #2
0
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"添加发票")