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)
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)