Пример #1
0
 def post(self, project):
     form = MemberForm(project, meta={"csrf": False})
     if form.validate():
         member = Person()
         form.save(project, member)
         db.session.commit()
         return member.id, 201
     return form.errors, 400
Пример #2
0
 def post(self, project):
     form = MemberForm(project, meta={'csrf': False})
     if form.validate():
         member = Person()
         form.save(project, member)
         db.session.commit()
         return member.id, 201
     return form.errors, 400
Пример #3
0
 def add(self, project):
     form = MemberForm(project, meta={'csrf': False})
     if form.validate():
         member = Person()
         form.save(project, member)
         db.session.commit()
         return 201, member.id
     return 400, form.errors
Пример #4
0
 def update(self, project, member_id):
     form = MemberForm(project, meta={'csrf': False})
     if form.validate():
         member = Person.query.get(member_id, project)
         form.save(project, member)
         db.session.commit()
         return 200, member
     return 400, form.errors
Пример #5
0
 def add(self, project):
     form = MemberForm(project, meta={'csrf': False})
     if form.validate():
         member = Person()
         form.save(project, member)
         db.session.commit()
         return 201, member.id
     return 400, form.errors
Пример #6
0
def add_member():
    # FIXME manage form errors on the list_bills page
    form = MemberForm(g.project)
    if request.method == "POST":
        if form.validate():
            member = form.save(g.project, Person())
            db.session.commit()
            flash(_("%(member)s has been added", member=member.name))
            return redirect(url_for(".list_bills"))

    return render_template("add_member.html", form=form)
Пример #7
0
def add_member():
    # FIXME manage form errors on the list_bills page
    form = MemberForm(g.project)
    if request.method == "POST":
        if form.validate():
            member = form.save(g.project, Person())
            db.session.commit()
            flash(_("%(member)s had been added", member=member.name))
            return redirect(url_for(".list_bills"))

    return render_template("add_member.html", form=form)
Пример #8
0
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),
                           current_view="list_bills",
                           )
Пример #9
0
def edit_member(member_id):
    member = Person.query.get(member_id, g.project)
    if not member:
        raise NotFound()
    form = MemberForm(g.project, edit=True)

    if request.method == "POST" and form.validate():
        form.save(g.project, member)
        db.session.commit()
        flash(_("User '%(name)s' has been edited", name=member.name))
        return redirect(url_for(".list_bills"))

    form.fill(member)
    return render_template("edit_member.html", form=form, edit=True)
Пример #10
0
def edit_member(member_id):
    member = Person.query.get(member_id, g.project)
    if not member:
        raise NotFound()
    form = MemberForm(g.project, edit=True)

    if request.method == 'POST' and form.validate():
        form.save(g.project, member)
        db.session.commit()
        flash(_("User '%(name)s' has been edited", name=member.name))
        return redirect(url_for(".list_bills"))

    form.fill(member)
    return render_template("edit_member.html", form=form, edit=True)
Пример #11
0
def post_delete():
    # this functions identically to list_bills, however
    # the undo action button is added
    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))
        .paginate(per_page=100, error_out=True)
    )

    return render_template(
        "list_bills_post_delete.html",
        bills=bills,
        member_form=MemberForm(g.project),
        bill_form=bill_form,
        add_bill=request.values.get("add_bill", False),
        current_view="list_bills_post_delete",
    )
Пример #12
0
def list_bills():
    bill_form = get_billform_form(g.project)
    # set the form to set weighted values for each participant
    # if the project has advanced weighting enabled
    if g.project.advanced_weighting_enabled:
        bill_form.advanced = True
    # 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))
        .paginate(per_page=100, error_out=True)
    )

    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),
        current_view="list_bills",
    )