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