Exemplo n.º 1
0
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()
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
    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()
Exemplo n.º 4
0
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()
Exemplo n.º 5
0
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()
Exemplo n.º 6
0
    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()
Exemplo n.º 7
0
    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()
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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)