Exemple #1
0
def create_venue_submission():
    # validate form
    form = VenueForm(request.form)
    if not form.validate():
        return render_template('forms/new_venue.html', form=form)

    # create venue
    error = False
    try:
        venue = Venue()
        venue.set_data(form_data=request.form)
        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.get('name', '') +
              ' could not be listed.')
    else:
        flash('Venue ' + request.form.get('name', '') +
              ' was successfully listed!')

    return render_template('pages/home.html')
Exemple #2
0
def create_venue_submission():
    form = VenueForm(request.form)
    if form.validate_phone(form.phone):
        try:
            new_venue = Venue(
                name=form.name.data,
                city=form.city.data,
                state=form.state.data,
                address=form.address.data,
                phone=form.phone.data,
                genres=form.genres.data,
                facebook_link=form.facebook_link.data,
                image_link=form.image_link.data,
                website=form.website.data,
                seeking_talent=form.seeking_talent.data,
                seeking_description=form.seeking_description.data)
            Venue.create(new_venue)
            flash(
                'Venue ' + request.form['name'] + ' was successfully listed!',
                "success")
        except:
            flash(
                'Error occurred. Venue ' + form.name + ' could not be listed.',
                "danger")
    else:
        flash("Phone number is not valid", 'warning')

    return render_template('pages/home.html')
Exemple #3
0
def create_venue_submission():
    form = VenueForm()
    if form.validate_on_submit():
        data = request.form
        try:
            is_seeking_talent = True if data['seeking_description'].strip(
            ) else False
            venue = Venue(name=data['name'],
                          city=data['city'],
                          state=data['state'],
                          address=data['address'],
                          genres=request.form.getlist('genres'),
                          phone=data['phone'],
                          image_link=data['image_link'],
                          facebook_link=data['facebook_link'],
                          website=data['website'],
                          seeking_talent=is_seeking_talent,
                          seeking_description=data['seeking_description'])
            db.session.add(venue)
            db.session.commit()
            flash(f'Venue {data["name"]} was successfully listed!')
        except:
            db.session.rollback()
            flash(
                f'An error occurred. Venue {data["name"]} could not be listed.'
            )
        finally:
            db.session.close()
        return render_template('pages/home.html')
    # Flashing current errors
    for input, errors in form.errors.items():
        flash(f'Invalid value for "{input}". {"".join(errors)}')
    return render_template('forms/new_venue.html', form=form)
Exemple #4
0
def create_venue_submission():
    form = VenueForm()
    if form.validate_on_submit():
        try:
            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
                if form.image_link.data else None,
                facebook_link=form.facebook_link.data
                if form.facebook_link.data else None,
                genres=form.genres.data,
                website=form.website.data if form.website.data else None,
                seeking_talent=True
                if form.seeking_talent_description.data else False,
                seeking_description=form.seeking_talent_description.data
                if form.seeking_talent_description.data else None)
            db.session.add(venue)
            db.session.commit()
            flash('Venue ' + form.name.data + ' was successfully listed!')
            return render_template('pages/home.html')
        except Exception:
            db.session.rollback()
            print(sys.exc_info())
            flash('An error occurred. Venue ' + form.name.data +
                  ' could not be listed.')
            return render_template('pages/home.html')
        finally:
            db.session.close()
    else:
        return render_template('forms/new_venue.html', form=form)
Exemple #5
0
def create_venue():
    """Either load the blank form or submit a filled form to create a new venue."""

    form = VenueForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            venue = Venue(name=form.name.data,
                          genres=json.dumps(form.genres.data),
                          city=form.city.data,
                          state=form.state.data,
                          address=form.address.data,
                          phone=form.phone.data,
                          facebook_link=form.facebook_link.data,
                          website=form.website.data,
                          seeking_talent=form.seeking_talent.data,
                          seeking_description=form.seeking_description.data,
                          email=form.email.data)
            try:
                db.session.add(venue)
                db.session.commit()
                message = f'Venue {venue.name} was successfully listed!', 'info'
            except Exception as e:
                app.logger.error(e)
                db.session.rollback()
                message = f'An error occurred. Venue {venue.name} could not be listed.', 'danger'
            flash(*message)
            return redirect(url_for('index'))
        else:
            errors = form.errors
            for e in errors:
                flash(f'{e}: {errors[e][0]}', 'danger')
    return render_template('forms/new_venue.html', form=form)
def create_venue_submission():
    error = False
    form = VenueForm()
    try:
        if form.validate_on_submit():
            venue = Venue(name=form.name.data,
                          city=form.city.data,
                          state=form.state.data,
                          address=form.address.data,
                          phone=form.phone.data,
                          image_link='',
                          facebook_link=form.facebook_link.data,
                          genres=form.genres.data,
                          website=form.website.data,
                          seeking_talent=form.seeking_talent.data,
                          seeking_description=form.seeking_description.data)
            db.session.add(venue)
            db.session.commit()
            flash('Venue {} was successfully listed!'.format(form.name.data))
            return redirect(url_for('index'))
        flash('An error occurred. Venue {} could not be listed. {}'.format(
            form.name.data, form.errors))
    except ():
        db.session.rollback()
        error = True
        print(sys.exc_info())
    finally:
        db.session.close()
    if error:
        abort(500)
        flash('There was an error, please try again.')

    return render_template('forms/new_venue.html')
Exemple #7
0
def create_venue_submission():
    venue = Venue()
    form = VenueForm()
    if not form.validate_on_submit():
        flash('Invalid value found in ' + ', '.join(form.errors.keys()) +
              ' field(s).')
        return render_template('forms/new_venue.html', form=form)
    else:
        error = False
        try:
            form.populate_obj(venue)
            venue.phone = format_phone(venue.phone)
            db.session.add(venue)
            db.session.flush()
            venue_id = venue.id
            db.session.commit()
        except:
            error = True
            db.session.rollback()
        finally:
            db.session.close()
        if error:
            flash('An error occurred. Venue ' + venue.name +
                  ' could not be listed.')
            return redirect(url_for('index'))
        else:
            flash('Venue ' + request.form['name'] +
                  ' was successfully listed!')
            return redirect(url_for('show_venue', venue_id=venue_id))
Exemple #8
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
  # 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/

  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 ValueError as e:
      print(e)
      flash('Error in listing venue. Please try again.')
      db.session.rollback()
    finally:
      db.session.close()
  else:
    err_msg = []
    for field, err in form.errors.items():
      err_msg.append(field + '-' + '|'.join(err))
    flash('Errors: ' + str(err_msg))

  return render_template('pages/home.html')
def create_venue_submission():
    form = VenueForm()
    if form.validate_on_submit():
        try:
            venue = Venue()
            venue.name = request.form['name']
            venue.city = request.form['city']
            venue.state = request.form['state']
            venue.address = request.form['address']
            venue.phone = request.form['phone']
            venue.image_link = request.form['image_link']
            venue.genres = request.form.getlist('genres')
            venue.facebook_link = request.form['facebook_link']
            venue.website = request.form['website']
            venue.seeking_talent = True if 'seeking_talent' in request.form else False
            venue.seeking_description = request.form['seeking_description']
            db.session.add(venue)
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            flash(
                'An error occurred. Venue {} Could not be listed!, {}'.format(
                    request.form['name'], str(e)))
        finally:
            db.session.close()
            flash('Venue {} was successfully listed!'.format(
                request.form['name']))
            return redirect(url_for('venues'))
    return render_template('forms/new_venue.html', form=form)
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
    form = VenueForm()
    name = form.name.data
    created = False
    if form.validate_on_submit():
        try:
            attrs = {attr: getattr(form, attr).data for attr in VENUE_SIMPLE_ATTRS}

            genres = ",".join(x for x in form.genres.data)
            new_venue = Venue(**attrs, genres=genres)
            db.session.add(new_venue)
            db.session.commit()
            # on successful db insert, flash success
            created = True
            flash("Venue " + name + " was successfully listed!")

        except:
            print(sys.exc_info())
        finally:
            db.session.close()

        if created:
            return redirect(url_for("index"))

    # TODO: on unsuccessful db insert, flash an error instead.
    # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
    flash("An error occurred. Venue " + name + " could not be listed.")
    return render_template("forms/new_venue.html", form=form)
Exemple #11
0
def edit_venue_submission(venue_id):
    # TODO: take values from the form submitted, and update existing
    # venue record with ID <venue_id> using the new attributes
    form = VenueForm(request.form)
    try:
        form.validate()

        venue = Venue.query.filter(Venue.id == venue_id).first()
        venue.name = form.name.data
        venue.city = form.city.data
        venue.state = form.state.data.name
        venue.address = form.address.data
        venue.genres = [genre.name for genre in form.genres.data]
        venue.phone = form.phone.data
        venue.image_link = form.image_link.data
        venue.facebook_link = form.facebook_link.data
        venue.website = form.website.data
        venue.seeking_talent = form.seeking_talent.data
        venue.seeking_description = form.seeking_description.data

        db.session.commit()

    except Exception as e:
        print(e)

        db.session.rollback()
    finally:
        db.session.close()

    return redirect(url_for('show_venue', venue_id=venue_id))
def create_venue_submission():
    """ Submit callback for venue create form  """
    # Get the form data
    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']
    website = request.form['website']
    seeking_talent = request.form['seeking_talent'] == 'Yes'
    seeking_description = request.form['seeking_description']
    # genres is a list
    genres = request.form.getlist('genres')

    error = False
    form = VenueForm()
    # Validate form data
    if not form.validate_on_submit():
        flash(form.errors)
        # Redirect to the new_venue.html page with the error message in the above line
        return redirect(url_for('create_venue_submission'))

    try:
        # Create a venue instance using form data
        venue = Venue(
            name=name,
            city=city,
            state=state,
            address=address,
            phone=phone,
            image_link=image_link,
            facebook_link=facebook_link,
            website=website,
            seeking_talent=seeking_talent,
            seeking_description=seeking_description
        )
        db.session.add(venue)

        # Creating Venue generes instances and assigning using backref
        for genre in genres:
            new_genre = VenuesGenres(genre=genre)
            new_genre.venue = venue             # backref
            db.session.add(new_genre)

        db.session.commit()
    except Exception as err:
        print(err)
        db.session.rollback()
        error = True
    finally:
        db.session.close()

    if error:
        flash(f'An error occurred. Venue {name} could not be listed.')
        abort(500)

    flash(f'Venue {name} listed successfully')
    return render_template('pages/home.html')
Exemple #13
0
def create_venue_submission():
    # insert form data as a new Venue record in the db, instead
    # modify data to be the data object returned from db insertion
    # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/

    form = VenueForm(request.form, meta={"csrf": False})

    if form.validate_on_submit():
        try:
            venue: Venue = Venue()
            form.populate_obj(venue)
            db.session.add(venue)
            db.session.commit()
            # on successful db insert, flash success
            flash(f"Venue {request.form['name']} was successfully listed!")
        except ValueError as e:
            print(sys.exc_info())
            db.session.rollback()
            # on unsuccessful db insert, flash an error instead.
            flash(f"An error occurred: {str(e)}")
        finally:
            db.session.close()

    else:
        error_msg = []
        for field, error in form.errors.items():
            error_msg.append(f"{field}: {str(error)}")
        flash(f"Error occurred: {str(error_msg)}")

    return render_template('pages/home.html')
Exemple #14
0
def edit_venue_submission(venue_id):
    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():
            venue = Venue.query.filter_by(id=venue_id).first()
            return render_template('forms/edit_venue.html',
                                   form=form,
                                   venue=venue)

        request_data.pop('csrf_token', None)

        Venue.query.filter_by(id=venue_id).update(request_data)
        db.session.commit()
        flash('Venue ' + request.form['name'] + ' was successfully updated!')
    except:
        flash('Venue ' + request.form['name'] + ' was not updated!')
        db.session.rollback()
    finally:
        db.session.close()

    return redirect(url_for('show_venue', venue_id=venue_id))
Exemple #15
0
def edit_venue_submission(venue_id):
    venue = Venue.query.get(venue_id)
    if venue is None:
        abort(404)
    name = venue.name
    form = VenueForm()
    if not form.validate_on_submit():
        flash('Invalid value found in ' + ', '.join(form.errors.keys()) +
              ' field(s).')
        return render_template('forms/edit_venue.html', form=form, venue=venue)
    else:
        error = False
        try:
            edited = Venue()
            form.populate_obj(edited)
            for col in Venue.__table__.columns.keys():
                if col != 'id':
                    setattr(venue, col, getattr(edited, col))
            name = venue.name
            venue.phone = format_phone(venue.phone)
            db.session.commit()
        except:
            error = True
            db.session.rollback()
        finally:
            db.session.close()
        if error:
            flash('An error occurred. Venue ' + name +
                  ' could not be updated.')
            return redirect(url_for('index'))
        else:
            flash('Venue ' + name + ' was successfully updated!')
            return redirect(url_for('show_venue', venue_id=venue_id))
Exemple #16
0
def edit_venue_submission(venue_id):
    form = VenueForm()

    if form.validate_on_submit():
        data = request.form
        try:
            is_seeking_talent = True if data['seeking_description'].strip(
            ) else False
            venue = Venue.query.get(venue_id)
            venue.name = data['name']
            venue.city = data['city']
            venue.state = data['state']
            venue.address = data['address']
            venue.genres = request.form.getlist('genres')
            venue.phone = data['phone']
            venue.image_link = data['image_link']
            venue.facebook_link = data['facebook_link']
            venue.website = data['website']
            venue.seeking_talent = is_seeking_talent
            venue.seeking_description = data['seeking_description']
            db.session.commit()
            flash(f'Venue {data["name"]} was successfully edited!')
        except:
            db.session.rollback()
            flash(
                f'An error occurred. Venue {data["name"]} could not be edited.'
            )
        finally:
            db.session.close()
    # Flashing form validation errors
    for input, errors in form.errors.items():
        flash(f'Invalid value for "{input}". {"".join(errors)}')
    return redirect(url_for('show_venue', venue_id=venue_id))
Exemple #17
0
def create_venue_submission():

    form = VenueForm(request.form)
    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 ValueError as e:

            flash('An error occurred. Venue ' + request.form['name'] +
                  ' could not be listed.')
            db.session.rollback()
            print(e)

        finally:

            db.session.close()
    else:
        #Get validation messages
        message = []
        for field, err in form.errors.items():
            message.append(field + '' + '|'.join(err))
        flash('Errors ' + str(message))
    return render_template('pages/home.html')
Exemple #18
0
def edit_venue_submission(venue_id):
  form = VenueForm(request.form)
  # TODO: take values from the form submitted, and update existing
  if form.validate_on_submit():
    try:
      a = db.session.query(Venue).get(venue_id)
      a.name = form.name.data
      a.city = form.city.data
      a.state = form.state.data
      a.phone = form.phone.data
      a.address = form.address.data
      a.facebook_link = form.facebook_link.data
      a.genres = form.genres.data
      a.image_link = form.image_link.data
      a.website = form.website.data
      a.seeking_talent = bool(form.seeking_talent.data)
      a.seeking_description = form.seeking_description.data
      db.session.commit()
      flash('Venue ' + request.form['name'] + ' was successfully updated!')
    # TODO: on unsuccessful db insert, flash an error instead.
    except:
      flash('An error occurred. Venue ' + form.name.data + ' could not be updated.')
      db.session.rollback()
      print(sys.exc_info())
    finally:
      db.session.close()
    return redirect(url_for('show_venue', venue_id=venue_id))
  else:
    print(form.errors)
    return render_template('forms/edit_venue.html', form=form)
Exemple #19
0
def edit_venue_submission(venue_id):
    # TODO: take values from the form submitted, and update existing
    # venue record with ID <venue_id> using the new attributes
    error = False
    form = VenueForm()
    venue = Venue.query.get(venue_id)

    if venue is None:
        abort(404)

    try:
        if form.validate_on_submit():
            form.populate_obj(venue)
            venue.genres = ','.join(form.genres.data)
            db.session.commit()
        else:
            error = True
            for fieldName, errorMessages in form.errors.items():
                for err in errorMessages:
                    print(err, file=sys.stdout)
    except:
        error = True
        db.session.rollback()
        print(sys.exc_info())
    finally:
        db.session.close()

    if error:
        flash('Error!')
        return render_template('forms/edit_venue.html', form=form, venue=venue)
    else:
        flash('Venue Id : ' + str(venue_id) + ' edited!')

    return redirect(url_for('show_venue', venue_id=venue_id))
Exemple #20
0
def edit_venue(venue_id):
    vn = Venue.query.get(venue_id)
    venue = {
        "id": vn.id,
        "name": vn.name,
        "address": vn.address,
        "city": vn.city,
        "state": vn.state,
        "phone": vn.phone,
        "website": vn.website,
        "facebook_link": vn.facebook_link,
        "seeking_talent": vn.seeking_talent,
        "seeking_description": vn.seeking_description,
        "image_link": vn.image_link,
        "genres": [g.id for g in vn.genres]
    }
    form = VenueForm(**venue)
    error_msg = ''
    form.validate()
    for key, val in form.errors.items():
        if key != 'csrf_token':
            error_msg += key + ": " + ';'.join(val)
    if error_msg:
        flash(
            'There are few errors in the old venue info. Please fix them first! '
            + error_msg)

    return render_template('forms/edit_venue.html', form=form, venue=venue)
Exemple #21
0
def create_venue_submission():
    error = False
    form = VenueForm()

    # Form validation
    if not form.validate():
        for fieldName, errorMessages in form.errors.items():
            show_form_errors(fieldName, errorMessages)

        return redirect(url_for('create_venue_form'))

    # Get data
    name = request.form['name']
    city = request.form['city']
    state = request.form['state']
    address = request.form['address']
    phone = request.form['phone']
    genres = request.form.getlist('genres')
    image_link = request.form['image_link']
    facebook_link = request.form['facebook_link']
    website = request.form['website']
    seeking_talent = True if 'seeking_talent' in request.form else False
    seeking_description = request.form['seeking_description']

    try:
        # Create model
        venue = Venue(
            name=name,
            city=city,
            state=state,
            address=address,
            phone=phone,
            genres=genres,
            image_link=image_link,
            facebook_link=facebook_link,
            website=website,
            seeking_talent=seeking_talent,
            seeking_description=seeking_description,
        )

        # Update DB
        db.session.add(venue)
        db.session.commit()
    except Exception:
        error = True
        db.session.rollback()
        print(sys.exc_info())
    finally:
        db.session.close()

    # Show banner
    if error:
        abort(400)
        flash('An error occurred. Venue ' + name + ' could not be listed.',
              'danger')
    if not error:
        flash('Venue ' + name + ' was successfully listed!', 'success')

    return render_template('pages/home.html')
Exemple #22
0
def edit_venue(venue_id):
    venue = Venue.query.get(venue_id)
    form = VenueForm(obj=venue)
    if form.validate():
        form.populate_obj(venue)
    # TODO: populate form with values from venue with ID <venue_id>

    return render_template("forms/edit_venue.html", form=form, venue=venue)
Exemple #23
0
def edit_venue(venue_id):
    form = VenueForm()
    venue = Venue.find(venue_id)
    if venue is None:
        return abort(404)
    else:
        form = VenueForm(data=venue)
        return render_template('forms/edit_venue.html', form=form, venue=venue)
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()
    if form.validate_on_submit():
        form = VenueForm()
        if bool(
                VenueLocation.query.filter_by(
                    city=request.form['city']).first()) == False:
            city = request.form['city']
            state = request.form['state']
            try:
                location = VenueLocation(state=state, city=city)
                db.session.add(location)
                db.session.commit()
            except:
                db.session.rollback()
                flash('Oops! incorrect city/state value. Venue ' +
                      request.form['name'] + ' could not be listed.')
            finally:
                db.session.close()
        try:
            name = request.form['name']
            genres = form.genres.data
            city = request.form['city']
            address = request.form['address']
            phone = request.form['phone']
            image_link = "https://i.ibb.co/31v1Gfq/no-image.png" if form.image_link.data == '' else request.form[
                'image_link']
            website = request.form['website']
            facebook_link = request.form['facebook_link']
            seeking_talent = True if form.seeking_talent.data == 'Yes' else False
            seeking_description = request.form['seeking_description']
            venue = Venue(name=name,
                          genres=genres,
                          city=city,
                          address=address,
                          phone=phone,
                          image_link=image_link,
                          website=website,
                          facebook_link=facebook_link,
                          seeking_talent=seeking_talent,
                          seeking_description=seeking_description)
            db.session.add(venue)
            db.session.commit()
            flash('Venue ' + request.form['name'] +
                  ' was successfully listed!')
        except:
            db.session.rollback()
            flash('Oops! An error ' + str(sys.exc_info()[0]) +
                  ' ocurred. Venue ' + request.form['name'] +
                  ' could not be listed.')
        finally:
            db.session.close()
        return render_template('pages/home.html')
    else:
        return render_template('forms/new_venue.html', form=form)
Exemple #25
0
def edit_venue_submission(venue_id):
    # LASTXX: take values from the form submitted, and update existing
    # venue record with ID <venue_id> using the new attributes
    form = VenueForm()
    name = form.name.data
    city = form.city.data
    state = form.state.data
    address = form.address.data
    phone = form.phone.data
    genres = form.genres.data
    facebook_link = form.facebook_link.data
    image_link = form.image_link.data
    web_site = form.web_site.data
    seeking_talent = True if form.seeking_talent.data == 'Yes' else False
    seeking_description = form.seeking_description.data

    if not form.validate():
        flash(form.errors)
        return redirect(url_for('edit_venue_submission', venue_id=venue_id))

    else:
        error_in_update = False
        try:
            venue = Venue.query.get(venue_id)
            venue.name = name
            venue.city = city
            venue.state = state
            venue.address = address
            venue.phone = phone
            venue.seeking_talent = seeking_talent
            venue.seeking_description = seeking_description
            venue.image_link = image_link
            venue.web_site = web_site
            venue.facebook_link = facebook_link
            venue.genres = []
            for genre in genres:
                venue.genres.append(genre)

            db.session.commit()
        except Exception:
            error_in_update = True
            print(f'Exception "{Exception}" in edit_venue_submission()')
            db.session.rollback()
        finally:
            db.session.close()

        if not error_in_update:
            # on successful db update, flash success
            flash('Venue ' + request.form['name'] +
                  ' was successfully updated!')
            return redirect(url_for('show_venue', venue_id=venue_id))

        else:
            flash('An error occurred. Venue ' + name +
                  ' could not be updated.')
            print("Error in edit_venue_submission()")
            return render_template('errors/500.html')
Exemple #26
0
def addvenue():
    form = VenueForm()
    if form.validate_on_submit():
        add_venue('aditya166', str(form.venue_name.data), form.venue_open.data,
                  form.venue_close.data, str(form.zip_code.data),
                  str(form.city.data), str(form.address.data))
        flash(f'Venue has been successfully added', 'success')
        return redirect(url_for('about'))
    return render_template('addvenue.html', title='Add Venue', form=form)
Exemple #27
0
def edit_place(request, place_id=None):
    # if place_id:
    # place =
    if request.method == "POST":
        form = VenueForm(request.POST)
        if form.is_valid():
            pass
    else:
        form = VenueForm()
    return render_to_response("accounts/makeplace.html", {"form": form}, context_instance=RequestContext(request))
Exemple #28
0
def new_venue():
    """createVenue view."""
    form = VenueForm()
    if form.validate_on_submit():
        venue = models.Venue(postcode=form.postcode.data, city=form.city.data, name=form.name.data, description=form.description.data,
                             venueId=form.venueId.data, street=form.street.data, number=form.number.data, lat=form.lat.data, long=form.long.data, location = db.GeoPt(float(form.lat.data), float(form.long.data)))
        venue.update_location()
        venue = venue.put()
        flash('Venue saved.')
        return redirect(url_for('list_venues'))
    return render_template('create_venue.html', form=form)
Exemple #29
0
def edit_venue_submission(venue_id):

    venue = Venue.query.get(venue_id)

    form = VenueForm(request.form)  # maybe need obj=venue param?

    form.populate_obj(venue)

    db.session.add(venue)
    db.session.commit()
    flash("Venue " + request.form["name"] + " was successfully updated!")
    return redirect(url_for("show_venue", venue_id=venue_id))
Exemple #30
0
def edit_venue_submission(venue_id):
    form = VenueForm(request.form)  # fix to get all selected values from form.
    data = request.form
    error = False
    print(json.dumps(data, indent=4))
    if form.validate_on_submit():
        # Get City info
        city_name = data.get('city')
        city_state = data.get('state', 'AL')
        city_id = City.get_id(city_state=city_state, city_name=city_name)
        if city_id is None:
            error = True

        # Get other fields
        name = data.get('name')
        address = data.get('address')
        phone = format_phone_number(data.get('phone'))
        image_link = data.get('image_link')
        genres = format_genres(data)
        facebook_link = data.get('facebook_link')
        website = data.get('website')
        seeking_talent = True if data.get('seeking_talent') else False
        seeking_description = data.get('seeking_description')

        try:
            venue = Venue.query.get(venue_id)
            venue.name = name
            venue.city_id = city_id
            venue.address = address
            venue.phone = phone
            venue.image_link = image_link
            venue.genres = genres
            venue.facebook_link = facebook_link
            venue.website = website
            venue.seeking_talent = seeking_talent
            venue.seeking_description = seeking_description
            db.session.commit()
            flash('Venue ' + name + ' was successfully updated!')
        except:
            db.session.rollback()
            print(sys.exc_info())
            flash('An error occurred. Venue ' + name + ' could not be updated.')
            error = True
        finally:
            db.session.close()
    else:
        error = True

    if error:
        return abort(500)
    else:
        return redirect(url_for('show_venue', venue_id=venue_id))
Exemple #31
0
def create_venue_submission():
    """Creates a new venue in the db from a form submission.

    Returns:
        The template for a list of all venues
    """
    form = VenueForm()
    if not form.validate():
        flash(
            list(form.errors.values())[0][0],
            "error",
        )
        return redirect(url_for("create_venue_form"))

    error = False

    try:
        venue_name = request.form.get("name")
        city = request.form.get("city")
        state = request.form.get("state")
        venue = Venue(
            name=venue_name,
            genres=get_genres(request.form.getlist("genres")),
            address=request.form.get("address"),
            area_id=get_area_id(city, state),
            phone=request.form.get("phone"),
            website=request.form.get("website"),
            facebook_link=request.form.get("facebook_link"),
            seeking_talent=bool(request.form.get("seeking_talent")),
            seeking_description=request.form.get("seeking_description"),
            image_link=request.form.get("image_link"),
        )
        db.session.add(venue)
        db.session.commit()
        venue_id = venue.id

    except Exception:  # pylint: disable=broad-except
        error = True
        db.session.rollback()
        print(sys.exc_info())

    finally:
        db.session.close()

    if error:
        flash(f"Venue {venue_name} was unable to be listed!", "error")
        abort(500)

    flash(f"Venue {venue_name} was successfully listed!")

    return redirect(url_for("show_venue", venue_id=venue_id))
Exemple #32
0
def create_venue(request):
    if request.POST:
        form = VenueForm(request.POST)
        if form.is_valid():
            form.save()

            return HttpResponseRedirect('/')
    else:
        form = VenueForm()

    args = {}
    args.update(csrf(request))

    args['form'] = form

    return render_to_response('create_venue.html', args)
Exemple #33
0
def expert_settings(request):
    user = request.user
    places = user.place.all()
    try:
        expert = user.expert.all()[0]
    except:
        expert = None
    if request.method == "POST":
        from accounts.forms import VenueForm
        from places.models import Place

        post_data = request.POST
        place_form = VenueForm(post_data)
        form = ExpertForm(request.POST, instance=expert)
        if form.is_valid():
            if post_data["place"] == "-1":
                if place_form.is_valid():
                    place = place_form.save(request)
                else:
                    raise Exception("place not valid?")
            else:
                place = Place.objects.get(pk=int(post_data["place"]))
            expert = form.save(commit=False)
            expert.user = user
            expert.place = place
            if post_data.get("active", False):
                expert.privacy = "a"
            expert.save()
            return HttpResponseRedirect("/users/%s/expert" % (request.user.username))
    else:
        form = ExpertForm(instance=expert)
    return render_to_response(
        "accounts/expert_settings.html",
        {"expert": expert, "form": form, "places": places},
        context_instance=RequestContext(request),
    )