Beispiel #1
0
def update_address():
    """ Update the user's address"""
    session = connect()
    try:
        user = load_user(current_user.id)
        address = get_address(user.address_id)
    except AttributeError:
        return 'Error getting user data'
    if address is None:
        address = Address()
    if request.method == 'POST':
        if request.form['street_1']:
            address.street_1 = request.form['street_1']
        if request.form['street_2']:
            address.street_2 = request.form['street_2']
        if request.form['city']:
            address.city = request.form['city']
        if request.form['state']:
            address.state = request.form['state']
        if request.form['zip_code']:
            address.zip_code = request.form['zip_code']
        address_string = get_address_string(address)
        if validate_address(address_string) is False:
            flash("Address is invalid or outside delivery radius!")
            return redirect(url_for('cart_edit_address'))
        address = session.add(address)
        user.address_id = get_address_id(address)
        user = session.merge(user)
        flash("Address saved!")
        session.commit()
    return redirect(url_for('show_cart'))