def create_venues(): """ Create venues defined in code """ venues = [ ("Stage A", ["talk"], 100, (52.0396099, -2.377866)), ("Stage B", ["talk", "performance"], 99, (52.0418968, -2.3766391)), ("Stage C", ["talk"], 98, (52.040485, -2.3776549)), ("Workshop 1", ["workshop"], 97, (52.04161469, -2.37593613)), ("Workshop 2", ["workshop"], 96, (52.04080079, -2.3780661)), ("Workshop 3", ["workshop"], 95, (52.0406851, -2.3780847)), ("Workshop 4", ["workshop"], 94, (52.0417884, -2.37586151)), ("Youth Workshop", ["youthworkshop"], 93, (52.041997, -2.375533)), ] for name, type, priority, latlon in venues: type_str = ",".join(type) venue = Venue.query.filter_by(name=name, type=type_str).all() if len(venue) == 1 and venue[0].lat is None: venue[0].lat = latlon[0] venue[0].lon = latlon[1] app.logger.info("Updating venue %s with latlon" % name) continue elif venue: continue venue = Venue() venue.name = name venue.type = type_str venue.priority = priority db.session.add(venue) app.logger.info('Adding venue "%s" as type "%s"' % (name, type)) db.session.commit()
def run(self): for name, type in self.venues: type_str = ','.join(type) if (Venue.query.filter_by(name=name, type=type_str).all()): continue venue = Venue() venue.name = name venue.type = type_str db.session.add(venue) app.logger.info('Adding venue "%s" as type "%s"' % (name, type)) db.session.commit()
def create_village_venues(): for village in Village.query.all(): venue = Venue.query.filter_by(village_id=village.id).first() if venue: if venue.name in EMF_VENUES: app.logger.info(f"Not updating EMF venue {venue.name}") elif venue.name != village.name: app.logger.info( f"Updating village venue name from {venue.name} to {village.name}" ) venue.name = village.name db.session.commit() continue if Venue.query.filter( func.lower(Venue.name) == func.trim(func.lower( village.name))).count(): app.logger.warning( f"Not creating village venue with colliding name {village.name}" ) continue venue = Venue(name=village.name, village_id=village.id, scheduled_content_only=False) db.session.add(venue) db.session.commit()
def create_venues(): """Create venues defined in code""" for name, ( priority, latlon, scheduled_content_only, type_str, ) in EMF_VENUES.items(): venue = Venue.query.filter_by(name=name).all() if latlon: location = f"POINT({latlon[1]} {latlon[0]})" else: location = None if len(venue) == 1 and venue[0].location is None: venue[0].location = location app.logger.info(f"Updating venue {name} with new latlon") continue elif venue: app.logger.info(f"Venue {name} already exists") continue venue = Venue( name=name, type=type_str, priority=priority, location=location, scheduled_content_only=scheduled_content_only, ) db.session.add(venue) app.logger.info(f"Adding venue {name} with type {type_str}") db.session.commit()
def run(self): for name, type, priority, latlon in self.venues: type_str = ','.join(type) venue = Venue.query.filter_by(name=name, type=type_str).all() if len(venue) == 1 and venue[0].lat is None: venue[0].lat = latlon[0] venue[0].lon = latlon[1] app.logger.info('Updating venue %s with latlon' % name) continue elif venue: continue venue = Venue() venue.name = name venue.type = type_str venue.priority = priority db.session.add(venue) app.logger.info('Adding venue "%s" as type "%s"' % (name, type)) db.session.commit()
def venues(): venues = Venue.query.order_by(Venue.scheduled_content_only.desc(), Venue.name).all() new_venue = Venue() form = VenueForm(obj=new_venue) if form.validate_on_submit(): form.populate_obj(new_venue) db.session.add(new_venue) db.session.commit() flash("Saved venue") return redirect(url_for(".venues")) return render_template("cfp_review/venues/index.html", venues=venues, form=form)
def register(): if current_user.village and current_user.village_membership.admin: return redirect( url_for(".edit", year=event_year(), village_id=current_user.village.id) ) form = VillageForm() if form.validate_on_submit(): if Village.get_by_name(form.name.data): flash("A village already exists with that name, please choose another") return redirect(url_for(".register")) village = Village(name=form.name.data, description=form.description.data) membership = VillageMember(village=village, user=current_user, admin=True) venue = Venue(village=village, name=village.name) requirements = VillageRequirements( village=village, num_attendees=form.num_attendees.data, size_sqm=form.size_sqm.data, power_requirements=form.power_requirements.data, noise=form.noise.data, structures=form.structures.data, ) db.session.add(village) db.session.add(membership) db.session.add(requirements) db.session.add(venue) db.session.commit() flash( "Your village registration has been received, thanks! You can edit it below." ) return redirect(url_for(".edit", year=event_year(), village_id=village.id)) return render_template("villages/register.html", form=form)