Exemple #1
0
def create_venue_submission():
    error = False
    try:
        name = request.form.get('name', '')
        city = request.form.get('city', '')
        state = request.form.get('state', '')
        address = request.form.get('address', '')
        phone = request.form.get('phone', '')
        image_link = request.form.get('image_link', '')
        facebook_link = request.form.get('facebook_link', '')
        genres = request.form.getlist('genres')
        website = request.form.get('website', '')
        seeking_talent = 'seeking_talent' in request.form
        seeking_description = request.form.get('seeking_description', '')

        venue = Venue(name=name, city=city, state=state, address=address, phone=phone,
                      image_link=image_link, facebook_link=facebook_link, genres=genres,
                      website=website, seeking_talent=seeking_talent,
                      seeking_description=seeking_description)

        db.session.add(venue)
        db.session.commit()
    except:
        error = True
        db.session.rollback()
        print(sys.exc_info())

    finally:
        db.session.close()

    if error:
        flash('An error occurred. Venue ' +
              request.form['name'] + ' could not be listed.')

    if not error:

        flash('Venue ' + request.form['name'] + ' was successfully listed!')

    return render_template('pages/home.html')
Exemple #2
0
def create_venue_submission():
    data = request.form
    venues = Venue.query.filter_by(name=data['name']).all()
    if len(venues) > 0:
        flash('An error occurred. Venue ' +
              request.form['name'] + ' already exists!')
        return render_template('pages/home.html')

    try:
        venue = Venue(name=data['name'], city=data['city'], state=data['state'], address=data['address'],
                      phone=data['phone'], genres=[data['genres']], facebook_link=data['facebook_link'])
        db.session.add(venue)
        db.session.commit()
        flash('Venue ' + request.form['name'] + ' was successfully listed!')
    except:
        flash('An error occurred. Venue ' +
              request.form['name'] + ' could not be listed.')
        db.session.rollback()
    finally:
        db.session.close()

    return render_template('pages/home.html')
Exemple #3
0
    def create_venue_submission():
        # TODO: insert form data as a new Venue record in the db, instead
        # TODO: modify data to be the data object returned from db insertion
        error = False
        try:
            # insert & Commit
            form = VenueForm(request.form)

            venue = Venue(name=form.name.data,
                          city=form.city.data,
                          state=form.state.data,
                          address=form.address.data,
                          phone=form.phone.data,
                          image_link=form.image_link.data,
                          facebook_link=form.facebook_link.data,
                          website=form.website.data,
                          seeking_talent=form.seeking_talent.data,
                          seeking_description=form.seeking_description.data,
                          genres=list(form.genres.data))
            db.session.add(venue)
            db.session.commit()
        except:
            # error Or Not
            error = True
            db.session.rollback()
            print(sys.exc_info())
        finally:
            # dissmis
            db.session.close()
        if error:
            abort(400)
        else:
            # on successful db insert, flash success
            flash('Venue ' + request.form['name'] +
                  ' was successfully listed!')
            # TODO: on unsuccessful db insert, flash an error instead.
            # e.g., flash('An error occurred. Venue ' + data.name + ' could not be listed.')
            # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
            return render_template('pages/home.html')
Exemple #4
0
def create_venue_submission():
    venue_form = VenueForm(request.form)

    try:
        new_venue = Venue(name=venue_form.name.data,
                          genres=','.join(venue_form.genres.data),
                          address=venue_form.address.data,
                          city=venue_form.city.data,
                          state=venue_form.state.data,
                          phone=venue_form.phone.data,
                          facebook_link=venue_form.facebook_link.data,
                          image_link=venue_form.image_link.data)

        new_venue.add()
        # on successful db insert, flash success
        flash('Venue ' + request.form['name'] + ' was successfully listed!')
    except Exception as ex:
        flash('An error occurred. Venue ' + request.form['name'] +
              ' could not be listed.')
        traceback.print_exc()

    return render_template('pages/home.html')
Exemple #5
0
def create_venue():
    # it must be imported here to avoid circular import
    from forms import VenueForm
    form = VenueForm()

    if form.validate_on_submit():
        venue = Venue()
        form.populate_obj(venue)
        try:
            db.session.add(venue)
            db.session.commit()
        except SQLAlchemyError:
            print(sys.exc_info())
            db.session.rollback()
            db.session.close()
            flash('An error occurred. Venue ' + form.name.data +
                  ' could not be listed.')
            return render_template('forms/new_venue.html', form=form)

        flash('Venue ' + venue.name + ' was successfully listed!')
        return redirect(url_for('show_venue', venue_id=venue.id))
    return render_template('forms/new_venue.html', form=form)
Exemple #6
0
def create_venue_submission():
    error = False
    try:
        name = request.form['name']
        city = request.form['city']
        state = request.form['state']
        address = request.form['address']
        genres = ','.join(request.form.getlist('genres'))
        phone = request.form['phone']
        website = request.form['website']
        facebook_link = request.form['facebook_link']
        seeking_talent = True if request.form['seeking_talent'] else False
        seeking_description = request.form['seeking_talent']
        image_link = request.form['image_link']
        new_venue = Venue(name=name,
                          city=city,
                          state=state,
                          address=address,
                          genres=genres,
                          phone=phone,
                          website=website,
                          seeking_talent=seeking_talent,
                          seeking_description=seeking_description,
                          facebook_link=facebook_link,
                          image_link=image_link)
        db.session.add(new_venue)
        db.session.commit()
    except:
        error = True
        flash('Oops, there was an error, please try again!')
        db.session.rollback()
        print(sys.exc_info())
    finally:
        db.session.close()
    if error:
        return render_template('pages/home.html')
    if not error:
        flash('Venue ' + name + ' was successfully listed!')
        return render_template('pages/home.html')
def create_venue_submission():
    form = VenueForm(request.form, meta={'csrf': False})
    if form.validate():
        try:
            venue = Venue()
            form.populate_obj(venue)
            db.session.add(venue)
            db.session.commit()
            flash('Venue ' + request.form['name'] +
                  ' was successfully listed!')
        except:
            flash('An error occurred. Artist ' + form.name.data +
                  'could not be added')
        finally:
            db.session.close()
    else:
        message = []
        for field, err in form.errors.items():
            message.append(field + ' ' + '|'.join(err))
        flash('Errors ' + str(message))

    return render_template('pages/home.html')
Exemple #8
0
def create_venue_submission():

    error = False
    data = {}
    for fieldname, value in request.form.items():
        if fieldname == "genres":
            try:
                data["genres"] = data["genres"].append(value)
            except KeyError:
                data["genres"] = [value]
        else:
            data[fieldname] = value

    try:
        venue = Venue(
            name=data["name"],
            city=data["city"],
            state=data["state"],
            address=data["address"],
            phone=data["phone"],
            genres=data["genres"],
            facebook_link=data["facebook_link"],
        )
        db.session.add(venue)
        db.session.commit()
    except Exception:
        error = True
        db.session.rollback()
        print(exc_info())
    finally:
        db.session.close()
        if error:
            flash('An error occurred. Venue ' + data['name'] + 'could not be\
                listed.')
        else:
            flash('Venue ' + request.form['name'] + ' was successfully\
                listed!')

    return render_template('pages/home.html')
Exemple #9
0
def create_venue_submission():

    form = VenueForm(request.form, meta={'csrf': False})
    if form.validate():
        try:
            venue = Venue()
            form.populate_obj(venue)
            db.session.add(venue)
            db.session.commit()
            flash('The Venue was successfully listed!')
        except ValueError as e:
            print(e)
            flash('An error occurred. The Venue could not be listed.')
            db.session.rollback()
        finally:
            db.session.close()
    else:
        message = []
        for field, err in form.errors.items():
            message.append(field + ' ' + '|'.join(err))
        flash('Errors ' + str(message))
    return render_template('pages/home.html')
Exemple #10
0
def create_venue_submission():
  # TODO: insert form data as a new Venue record in the db, instead
  # TODO: modify data to be the data object returned from db insertion
    error = False
    form = VenueForm(request.form)
    try:
        name = form.name.data
        city = form.city.data
        state = form.state.data
        address = form.address.data
        phone = form.phone.data
        genres = request.form.getlist('genres')
        image_link = form.image_link.data
        facebook_link = form.facebook_link.data
        website = form.website.data
        seeking_talent = form.seeking_talent.data
        seeking_description = form.seeking_description.data
       
        venue = Venue(name = name, city=city, 
                state=state, address=address,phone=phone,
                website=website,genres=genres,image_link=image_link,
                facebook_link=facebook_link,seeking_talent=seeking_talent,
                seeking_description=seeking_description )

        db.session.add(venue)
        db.session.commit()

        # on successful db insert, flash success
        flash('Venue ' + request.form['name'] + ' was successfully listed!')

    except:
        error = True
        db.session.rollback()
        # TODO: on unsuccessful db insert, flash an error instead.
        flash('An error occurred. Venue ' + venue.name + ' could not be listed.')
    finally:
        db.session.close()
    if not error:
        return render_template('pages/home.html')
Exemple #11
0
def create_venue_submission():
    # insert form data as a new Venue record in the db, instead
    try:
        venue = Venue(name=request.form['name'],
                      city=request.form['city'],
                      state=request.form['state'],
                      address=request.form['address'],
                      phone=request.form['phone'],
                      genres=request.form['genres'],
                      facebook_link=request.form['facebook_link'])
        db.session.add(venue)
        db.session.commit()
        # on successful db insert, flash success
        flash('Venue ' + request.form['name'] + ' was successfully listed!')
    except:
        db.session.rollback()
        print(sys.exc_info())
        # On unsuccessful db insert, flash an error instead.
        flash('There was an issue posting your venue.')
    finally:
        db.session.close()
    return render_template('pages/home.html')
def create_venue_submission():
    form = VenueForm(request.form, csrf_enabled=False)
    if form.validate():
        try:
            # Using FlaskForm:
            venue = Venue(
                name=form.name.data,
                city=form.city.data,
                state=form.state.data,
                address=form.address.data,
                phone=form.phone.data,
                image_link=form.image_link.data,
                website=form.website.data,
                seeking_talent=form.seeking_talent.data,
                seeking_description=form.seeking_description.data,
                genres=form.genres.data,
                facebook_link=form.facebook_link.data,
            )
            # Or:
            # venue = Venue()
            # form.populate_obj(venue)

            db.session.add(venue)
            db.session.commit()
            flash('Venue ' + form.name.data + ' was successfully listed!')
        except ValueError as e:
            print(e)
            flash('An error occured. Venue ' + form.name.data +
                  ' Could not be listed!')
            db.session.rollback()
        finally:
            db.session.close()
    else:
        message = []
        for field, err in form.errors.items():
            message.append(field + ' ' + '|'.join(err))
        flash('Errors ' + str(message))

    return render_template('pages/home.html')
Exemple #13
0
def create_venue_submission():
    try:
        # Done: insert form data as a new Venue record in the db, instead
        # Done: modify data to be the data object returned from db insertion
        form = VenueForm(request.form)
        venue = Venue()
        form.populate_obj(venue)
        db.session.add(venue)
        db.session.commit()
        # on successful db insert, flash success
        flash('Venue ' + venue.name + ' was successfully listed!')
    except Exception:
        db.session.rollback()
        # Done: on unsuccessful db insert, flash an error instead.
        # e.g., flash('An error occurred. Venue ' + data.name + ' could not be listed.')
        # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
        flash('An error occurred. Venue ' + venue.name +
              ' could not be listed.')
        print(sys.exc_info())
    finally:
        db.session.close()
    return render_template('pages/home.html')
Exemple #14
0
def create_venue_submission():
  error = False
  form = VenueForm(request.form)
  try:
    venue = Venue()
    if form.validate_on_submit():
      # Venue.genres is a list
      form.genres.data = [
        VenueGenre(category=item) for item in request.form.getlist('genres')
      ]
      form.populate_obj(venue)
      db.session.add(venue)
      db.session.commit()
      flash('Venue ' + request.form['name'] + ' was successfully listed!')
    else:
      error = True
      print(f'form errors: {form.errors}')
      for key, value in form.errors.items():
        flash(f'[{key}] {value}')
  except Exception as e:
    error = True
    print(f'error inserting venue for {request.form["name"]}.')
    print(f'error message: \n{e}')
    print(sys.exc_info())
    db.session.rollback()
  finally:
    db.session.close()
  # TODO: insert form data as a new Venue record in the db, instead
  # TODO: modify data to be the data object returned from db insertion

  # on successful db insert, flash success
  
  # TODO: on unsuccessful db insert, flash an error instead.
  # e.g., flash('An error occurred. Venue ' + data.name + ' could not be listed.')
  # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
  if not error:
    return redirect(url_for('show_venue_by_name', venue_name=request.form['name']))
  else:
    return render_template('forms/new_venue.html', form=form)
Exemple #15
0
def create_venue_submission():
    error_msg = ''
    try:
        f = request.form
        vf = VenueForm(f)
        if not vf.validate():
            for key, val in vf.errors.items():
                error_msg += key + ": " + ';'.join(val) + "\n"
        assert vf.validate()
        g_ids = [int(i) for i in f.getlist('genres')]
        vn = Venue(
            name=f['name'],
            city=f['city'],
            state=f['state'],
            address=f['address'],
            phone=f['phone'],
            facebook_link=f['facebook_link'],
            genres=db.session.query(Genre).filter(Genre.id.in_(g_ids)).all(),
            image_link=f['image_link'],
            website=f['website'],
            seeking_talent=('seeking_talent' in f),
            seeking_description=f['seeking_description'],
        )
        db.session.add(vn)
        db.session.commit()
        flash('Venue ' + request.form['name'] + ' was successfully listed!')
    except AssertionError:
        db.session.rollback()
        print(sys.exc_info())
        flash('The form is invalid.' + error_msg)
    except SQLAlchemyError:
        db.session.rollback()
        print(sys.exc_info())
        flash('A database error occurred. Venue ' + request.form['name'] +
              ' could not be listed.')
    finally:
        db.session.close()
    return render_template('pages/home.html')
Exemple #16
0
def create_venue_submission():
    """
  Creates a new venue in the Venue database 

  Returns: 
    on POST: Redirects to the home page after the new venue has been added
             to the database.
  """
    # TODO: insert form data as a new Venue record in the db, instead
    # TODO: modify data to be the data object returned from db insertion
    form = VenueForm(request.form)

    try:
        new_venue = Venue(name=form.name.data,
                          city=form.city.data,
                          state=form.state.data,
                          address=form.address.data,
                          phone=form.phone.data,
                          facebook_link=form.facebook_link.data,
                          genres=form.genres.data,
                          image_link=form.image_link.data,
                          website=form.website.data,
                          seeking_talent=True
                          if form.seeking_talent.data == "Yes" else False,
                          seeking_description=form.seeking_description.data)
        db.session.add(new_venue)
        db.session.commit()

        # on successful db insert, flash success
        flash('Venue ' + form.name.data + ' was successfully listed!')
    # TODO: on unsuccessful db insert, flash an error instead.
    except Exception as e:
        flash('An error occurred. Artist ' + form.name.data +
              ' could not be listed.')
        db.session.rollback()
    finally:
        db.session.close()
    return render_template('pages/home.html')
Exemple #17
0
def create_venue_submission():

    error = False
    data = {}

    name = request.form.get('name')
    city = request.form.get('city')
    state = request.form.get('state')
    address = request.form.get('address')
    phone = request.form.get('phone')
    image_link = request.form.get('image_link')
    genres = request.form.getlist('genres')
    facebook_link = request.form.get('facebook_link')

    seeking_talent = False
    if 'seeking_talent' in request.form:
        seeking_talent = request.form['seeking_talent'] == 'y'

    seeking_description = request.form.get('seeking_description')

    website = request.form.get('website')

    try:
        v = Venue(name, city, state, address, phone, image_link, facebook_link,
                  website, seeking_talent, seeking_description, genres)
        v.insert()

    except:
        error = True
        db.session.rollback()

    if error:
        flash('An error occurred. Venue ' + request.form['name'] +
              ' could not be listed.')
    else:
        flash('Venue ' + request.form['name'] + ' was successfully listed!')

    return render_template('pages/home.html')
Exemple #18
0
def edit_venue_submission(venue_id):
    error = False
    name = request.form['name']
    city = request.form['city']
    state = request.form['state']
    address = request.form['address']
    phone = request.form['phone']
    image_link = request.form['image_link']
    facebook_link = request.form['facebook_link']
    genres = request.form.getlist('genres')
    website = request.form['website']
    seeking_talent = False
    if 'seeking_talent' in request.form:
        seeking_talent = True
    seeking_description = request.form['seeking_description']
    venue = Venue(
        name=name, city=city, state=state, address=address, phone=phone, image_link=image_link,
        facebook_link=facebook_link, genres=genres, website=website, seeking_talent=seeking_talent,
        seeking_description=seeking_description
    )
    try:

        db.session.add(venue)
        db.session.commit()

    except Exception as e:
        error = True
        db.session.rollback()
        print(sys.exc_info())
        print(e)
    finally:
        db.session.close()
    if error:
        flash('An error occurred. Venue ' + name + ' could not be updated.')
    if not error:
        flash('Venue ' + request.form['name'] + ' was successfully updated!')

    return redirect(url_for('show_venue', venue_id=venue_id))
Exemple #19
0
def create_venue_submission():
    # TODO: insert form data as a new Venue record in the db, instead
    new_venue_dict = request.form.to_dict()
    new_venue = Venue(name=new_venue_dict['name'],
                      city=new_venue_dict['city'],
                      state=new_venue_dict['state'],
                      address=new_venue_dict['address'],
                      phone=new_venue_dict['phone'],
                      image_link=new_venue_dict['image_link'],
                      facebook_link=new_venue_dict['facebook_link'],
                      genres=','.join(request.form.getlist('genres')),
                      website_link='',
                      seeking=False)
    try:
        db.session.add(new_venue)
        db.session.commit()
        flash('Venue ' + request.form['name'] + ' was successfully listed!')
    except:
        db.session.rollback()
        flash('An error occurred. Venue ' + new_venue_dict['name'] +
              ' could not be listed.')
    finally:
        return render_template('pages/home.html')
Exemple #20
0
def create_venue_submission():
    """insert form data as a new Venue record in the db, instead
    on successful db insert, flash success
    on unsuccessful db insert, flash an error instead."""

    try:
        data = request.form.to_dict()
        data["genres"] = ",".join(request.form.getlist("genres"))
        venue = Venue(**data)
        db.session.add(venue)
        db.session.commit()

    except:
        db.session.rollback()
        flash('An error occurred. Venue ' + data["name"] +
              ' could not be listed.')
        print(sys.exc_info())
    else:
        flash('Venue ' + request.form['name'] + ' was successfully listed!')
    finally:
        db.session.close()

    return render_template('pages/home.html')
def test_create_payment_for_booking_with_pending_status(app):
    # given
    user = create_user()
    stock = create_stock(price=10, available=5)
    booking = create_booking(user, stock=stock, quantity=1)
    booking.stock.offer = Offer()
    booking.stock.offer.venue = Venue()
    offerer = create_offerer()
    booking.stock.offer.venue.managingOfferer = offerer
    offerer_bank_information = create_bank_information(bic='QSDFGH8Z555',
                                                       iban='CF13QSDFGH456789',
                                                       offerer=offerer)
    booking_reimbursement = BookingReimbursement(
        booking, ReimbursementRules.PHYSICAL_OFFERS, Decimal(10))

    # when
    payment = create_payment_for_booking(booking_reimbursement)

    # then
    assert len(payment.statuses) == 1
    assert payment.statuses[0].status == TransactionStatus.PENDING
    assert payment.statuses[0].detail is None
    assert payment.statuses[0].date == datetime(2018, 10, 15, 9, 21, 34)
def create_venue_submission():
    # TODO: insert form data as a new Venue record in the db, instead
    try:
        venue = Venue(name=request.form.get('name'),
                      city=request.form.get('city'),
                      state=request.form.get('state'),
                      genres=request.form.get('genres'),
                      address=request.form.get('address'),
                      phone=request.form.get('phone'),
                      facebook_link=request.form.get('facebook_link'))
        venue.insert()
        flash('Venue ' + Venue.query.filter_by(name=venue.name).first().name + ' was successfully listed!')
    except:
        db.session.rollback()
        flash('An error occurred. Venue ' + request.form['name'] + ' could not be listed.')
    # TODO: modify data to be the data object returned from db insertion

    # on successful db insert, flash success
    # TODO: on unsuccessful db insert, flash an error instead.
    # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
    finally:
        db.session.close()
        return render_template('pages/home.html')
Exemple #23
0
def create_venue_submission():
    # TODO: insert form data as a new Venue record in the db, instead
    # TODO: modify data to be the data object returned from db insertion

    form = VenueForm(request.form, meta={'csrf': False})
    try:
        venue = Venue()
        form.populate_obj(venue)
        db.session.add(venue)
        db.session.commit()
        # on successful db insert, flash success
        flash('Venue ' + form.name.data + ' was successfully listed!')
    except ValueError as e:
        print(e)
        error = True
        db.session.rollback()
        # TODO: on unsuccessful db insert, flash an error instead.
        flash('An error occurred. Venue ' + form.name.data +
              ' could not be listed.')
    finally:
        db.session.close()
    # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
    return render_template('pages/home.html')
Exemple #24
0
def create_venue_submission():
  # TODO: insert form data as a new Venue record in the db, instead
  # TODO: modify data to be the data object returned from db insertion
  form = VenueForm(request.form)
  new_venue = Venue(
                name=request.form['name'],
                genres=request.form.getlist('genres'),
                address=request.form['address'],
                city=request.form['city'],
                state=request.form['state'],
                phone=request.form['phone'],
                website=request.form['website'],
                facebook_link=request.form['facebook_link'],
                image_link=request.form['image_link']
            )
  Venue.insert(new_venue)

  # on successful db insert, flash success
  flash('Venue ' + request.form['name'] + ' was successfully listed!')
  # TODO: on unsuccessful db insert, flash an error instead.
  # e.g., flash('An error occurred. Venue ' + data.name + ' could not be listed.')
  # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
  return render_template('pages/home.html')
Exemple #25
0
def create_venue_submission():
    # post the new data to the db
    error = False
    form = VenueForm(request.form, csrf_enabled=False)
    if form.validate():
        try:
            venue = Venue()
            form.populate_obj(venue)
            db.session.add(venue)
            db.session.commit()
        except ValueError as e:
            print(e)
            error = True
            db.session.rollback()
        finally:
            db.session.close()
    else:
        message = []
        for field, err in form.errors.items():
            message.append(field + " " + "|".join(err))
        flash("Errors " + str(message))

    return render_template("pages/home.html")
Exemple #26
0
def create_venue_submission():
    error = False
    data = {}
    venue_form = VenueForm(request.form)
    if not venue_form.validate():
        return render_template("forms/new_venue.html", form=venue_form)
    try:
        new_venue = Venue()
        venue_form.genres.data = ','.join(venue_form.genres.data)
        venue_form.populate_obj(new_venue)
        db.session.add(new_venue)
        db.session.commit()
        # on successful db insert, flash success
        flash('Venue ' + request.form['name'] + ' was successfully listed!')
    except Exception as e:
        db.session.rollback()
        error = True
        print(sys.exc_info())
    finally:
        db.session.close()
    if error:
        flash('An error occurred. Venue ' + data['name'] + ' could not be listed.')
    return redirect(url_for('index'))
Exemple #27
0
def create_venue_submission():
    try:
        request_data = {**request.form}
        request_data['genres'] = ','.join(request.form.getlist('genres') or [])
        request_data['seeking_talent'] = (request_data.get('seeking_talent')
                                          or '').lower() == 'y'

        form = VenueForm(**request_data)
        if not form.validate_on_submit():
            return render_template('forms/new_venue.html', form=form)

        request_data.pop('csrf_token', None)
        venue = Venue(**request_data)
        db.session.add(venue)
        db.session.commit()
        flash('Venue ' + request.form['name'] + ' was successfully listed!')
    except:
        flash('Venue ' + request.form['name'] + ' was failed!')
        db.session.rollback()
    finally:
        db.session.close()

    return render_template('pages/home.html')
Exemple #28
0
def create_venue_submission():
    form=VenueForm(meta={"csrf": False})

    # Error Handling
    if not form.validate_on_submit():
        errors = form.errors
        for error in errors.values():
            flash( error[0] )
        return redirect(url_for('create_venue_form'))

    error=False
    data=request.form

    try:
        new_venue=Venue(
            name=data.get('name'),
            city=data.get('city'),
            state=data.get('state'),
            address=data.get('address'),
            phone=data.get('phone'),
            image_link=data.get('image_link'),
            facebook_link=data.get('facebook_link'),
            genres=data.getlist('genres'),
            website=data.get('website'),
            seeking_talent=bool(data.get('seeking_talent')),
            seeking_description=data.get('seeking_description')
        )
        db.session.add(new_venue)
        db.session.commit()
        # on successful db insert, flash success
        flash('Venue ' + data['name'] + ' was successfully listed!')
    except():
        db.session.rollback()
        error=True
        flash('An error occurred. Venue ' +
              data['name'] + ' could not be listed.')
    return render_template('pages/home.html')
Exemple #29
0
def create_venue_submission():
    form = VenueForm(request.form)
    venue = Venue()
    form.populate_obj(venue)
    if not form.validate():
        flash(form.errors)
        return render_template('pages/home.html')
    else:
        error = False
        try:

            db.session.add(venue)
            db.session.commit()
        except:
            print('In except venue')
            db.session.rollback()
            error = True
        finally:
            db.session.close()
        # called upon submitting the new artist listing form
        # TODO: insert form data as a new Venue record in the db, instead
        # TODO: modify data to be the data object returned from db insertion
        if error:
            flash('An error occured. Venue ' + request.form['name'] +
                  ' cannote be listed!')
        else:
            flash('Venue ' + request.form['name'] +
                  ' was successfully listed!')
        # on successful db insert, flash success
        # TODO: insert form data as a new Venue record in the db, instead
        # TODO: modify data to be the data object returned from db insertion

        # on successful db insert, flash success
        # TODO: on unsuccessful db insert, flash an error instead.
        # e.g., flash('An error occurred. Venue ' + data.name + ' could not be listed.')
        # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
        return render_template('pages/home.html')
def create_venue_submission():
  """
    Creates a database entry for a new Venue, the details of which are POSTed
  """
  form = VenueForm()
  if form.validate():
    name = form.name.data
    city = form.city.data
    state = form.state.data
    address = form.address.data
    phone = form.phone.data
    image_link = form.image_link.data
    genres = form.genres.data
    website_link = form.website_link.data
    facebook_link = form.facebook_link.data
    date_added = datetime.datetime.utcnow()

    try: 
      venue = Venue(name=name, city=city, state=state, address=address, phone=phone, image_link=image_link, genres=genres, website_link=website_link, facebook_link=facebook_link, date_added=date_added)
      db.session.add(venue)
      db.session.commit()
      flash('Venue ' + form.name.data + ' was successfully listed!')
      # TODO: insert form data as a new Venue record in the db, instead
      # TODO: modify data to be the data object returned from db insertion
    except Exception:
      db.session.rollback()
      flash('ERROR: Venue not added')
    finally:
      db.session.close()
  else:
    flash('ERROR: Venue not added, please check errors below:')
    return render_template('forms/new_venue.html', form=form)    
  
  # TODO: on unsuccessful db insert, flash an error instead.
  # e.g., flash('An error occurred. Venue ' + data.name + ' could not be listed.')
  # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
  return redirect(url_for('index'))