Ejemplo n.º 1
0
def create_venue_submission():
    error = False
    data = request.form

    try:
        venue = Venue()
        venue.name = data['name']
        venue.city = data['city']
        venue.state = data['state']
        venue.address = data['address']
        venue.phone = data.get('phone', '')
        venue.facebook_link = data.get('facebook_link', '')
        venue.genres = [
            VenueGenres(genre=GenreEnum[genre])
            for genre in data.getlist('genres')
        ]
        db.session.add(venue)
        db.session.commit()
    except:
        error = True
        db.session.rollback()
    finally:
        data = venue.to_dict()
        db.session.close()

    if not error:
        # on successful db insert, flash success
        flash(f'Venue {data["name"]} was successfully listed!',
              'alert-success')
    else:
        # on unsuccessful db insert, flash an error
        flash(
            f'An error occurred. Venue {data["name"]} could not be listed. \
              Does the venue already exist?', 'alert-danger')

    return render_template('pages/home.html')