Exemple #1
0
def new_event():
    if request.method == 'GET':
        return render_template("new.html")
    else:
        #done this way and not with wtforms to preserve cool data binding in JS
        r = request.form
        img = request.files['img']
        name = r.get("name")
        event_type = r.get("type")
        periodicity = r.get("periodicity")
        if periodicity != 'Recurring':
            date = r.get("date")
            date = datetime.strptime(date, '%Y-%m-%d')
        else:
            date = None
        period = r.get("period")
        location = r.get("location")
        starting_time = r.get("starting")
        link = r.get("link")
        organizer = r.get("organizer")
        organizer_web = r.get("web")
        description = r.get("description")
        #check for errors in the selects
        if event_type not in EVENT_TYPES or periodicity not in PERIODICITIES:
            return render_template("new.html")
        #commit to the database
        event = Event(name=name,
                      event_type=event_type,
                      recurrence=periodicity,
                      periodicity=period,
                      location=location,
                      starting_time=starting_time,
                      link=link,
                      organizer=organizer,
                      organizer_web=organizer_web,
                      description=description,
                      img=img.read(),
                      user_id=current_user.get_id())
        if date:
            event.date = date
        db.session.add(event)
        db.session.commit()
        return redirect(url_for('event', id=event.id))
Exemple #2
0
    event_type = session.query(EventType).filter(
        EventType.code == event_item.get('type')).first()

    locations_list = event_item.get('location').split(', ')
    locations = session.query(Location).filter(
        Location.code.in_(locations_list)).all()

    categories_list = event_item.get('category').split(', ')
    categories = session.query(EventCategory).filter(
        EventCategory.code.in_(categories_list)).all()

    date_time_template = '{} {}'.format(event_item.get('date'),
                                        event_item.get('time'))
    date_time = datetime.datetime.strptime(date_time_template,
                                           '%d.%m.%Y %H:%M')

    event = Event()
    event.title = event_item.get('title')
    event.description = event_item.get('description')
    event.date = date_time.date()
    event.time = date_time.time()
    event.address = event_item.get('address')
    event.seats = event_item.get('seats')
    event.type = event_type
    event.locations = locations
    event.categories = categories

    session.add(event)

session.commit()