def create_event(): form = EventForm() if form.validate_on_submit(): event = Event() with db.transaction as session: event.name = form.name.data event.venue = form.venue.data event.description = form.description.data event.user = current_user event.starts_at = times.to_universal(form.starts_at.data, current_user.timezone) session.add(event) with db.transaction: event.contacts_invited_ids_str = form.contacts_invited_ids_str.data send_email_invites(event) return redirect(url_for('facebook_event', id=event.id)) else: # default starts_at td = datetime.timedelta(days=1) dt = times.to_local(times.now(), current_user.timezone) + td dt = datetime.datetime.combine(dt.date(), datetime.time(20, 00, 00)) form.starts_at.data = dt return render_template('create_event.html', form=form)
def edit_event(id): """Event editing.""" event = current_user.event_or_404(id) form = EventForm(obj=event) if form.validate_on_submit(): with db.transaction as session: form.populate_obj(event) event.starts_at = times.to_universal(form.starts_at.data, current_user.timezone) send_email_invites(event) return redirect(url_for('facebook_event', id=event.id)) return render_template('edit_event.html', event=event, action='edit', form=form)