Exemplo n.º 1
0
def admin_add_submit():

  family_form = FamilyForm(request.form, prefix='family')
  parent1_form = ParentForm(request.form, prefix='parent1')
  parent2_form = ParentForm(request.form, prefix='parent2')

  child1_form = ChildForm(request.form, prefix='child1')
  child2_form = ChildForm(request.form, prefix='child2')
  child3_form = ChildForm(request.form, prefix='child3')

  # TODO: Figure out how to dynamically add the forms.
  if not family_form.validate_on_submit():
    if family_form.errors:
      return jsonify(errors=family_form.errors)

  family = Family.create(*[family_form.data.get(k, None) for k in [
    'name', 'name', 'address', 'city', 'zipcode', 'phone', 'pets'
  ]])

  db.session.add(family)

  # Not great, but WTForms and rendering fields doesn't work well with dynamically added javascript.
  for form in (parent1_form, parent2_form):

    # Parent 2 might not exist.
    if not form.data.get('first_name'):
      continue

    if not form.validate_on_submit():
      if form.errors:
        return jsonify(errors=form.errors)

    parent = Parent.create(family, *[form.data.get(k, None) for k in [
      'first_name', 'last_name', 'email', 'cell_phone', 'work_phone'
    ]])

    db.session.add(parent)

  for form in (child1_form, child2_form, child3_form):

    if not form.data.get('name'):
      continue

    print form.data

    if not form.validate_on_submit():
      if form.errors:
        return jsonify(errors=form.errors)

    child = Child.create(family, form.data.get('name'), form.data.get('birthday'))
    db.session.add(child)

  db.session.commit()

  flash("Added the {0} family!".format(family.name), 'info')

  return redirect(url_for(request.endpoint), 303)
Exemplo n.º 2
0
def update_family():
    """ Update the family's address info. """

    form = FamilyForm(request.form, prefix='family')

    if form.validate_on_submit():
        form.populate_obj(current_user.family)
        db.session.add(current_user.family)
        db.session.commit()

        return jsonify(message='Family Contact Info Updated.', category='info')

    if form.errors:
        return jsonify(errors=form.errors)