def handler(request, event_key): """Handler for viewing the edit form.""" assert request.user.is_staff try: if event_key == 'add': event = models.Event(created_by=request.user) else: event = shortcuts.get_object_or_404(models.Event, pk=event_key) except IndexError: return shortcuts.redirect('/events') template_values = {} if event: template_values['agenda'] = offers.get_event_agenda(event) else: template_values['agenda'] = None template_values['event'] = event template_values['fridays'] = lastfridays() template_values['templates'] = get_templates() template_values['offers'] = models.TalkOffer.objects.all()[:100] return shortcuts.render(request, 'editevent.html', template_values)
def handler(request, event_key): """Handler for viewing the edit form.""" assert request.user.is_staff try: if event_key == "add": event = models.Event(created_by=request.user) else: event = shortcuts.get_object_or_404(models.Event, pk=event_key) except IndexError: return shortcuts.redirect("/events") template_values = {} if event: template_values["agenda"] = offers.get_event_agenda(event) else: template_values["agenda"] = None template_values["event"] = event template_values["fridays"] = lastfridays() template_values["templates"] = get_templates() template_values["offers"] = models.TalkOffer.objects.all()[:100] return shortcuts.render(request, "editevent.html", template_values)
def handler_event_post(request, event_key): if not event_key or event_key == 'None': event = models.Event(created_by=request.user) else: event = shortcuts.get_object_or_404(models.Event, pk=event_key) assert request.user.is_staff start_date = datetime_tz.datetime_tz.smartparse(request.REQUEST['start']) end_date = datetime_tz.datetime_tz.smartparse(request.REQUEST['end']) event.name = request.REQUEST['name'] event.input = request.REQUEST['input'] event.start = start_date.asdatetime() event.end = end_date.asdatetime() event.save() # We can't do this template subsitution until we have saved the event. try: plaintext = str( template.Template(event.input).render( template.Context({ 'event': event, 'request': request, 'agenda': offers.get_event_agenda(event) }), )) html = markdown.markdown(plaintext, extensions).encode('utf-8') event.plaintext = plaintext event.html = html except Exception: sio = StringIO.StringIO() traceback.print_exc(file=sio) event.plaintext = sio.getvalue() logging.debug("e.a %s, e.n %s", event.announcement, event.name) event.save() return shortcuts.redirect('%s/edit' % event.get_url())
def handler_event_post(request, event_key): if not event_key or event_key == 'None': event = models.Event(created_by=request.user) else: event = shortcuts.get_object_or_404(models.Event, pk=event_key) assert request.user.is_staff start_date = datetime_tz.datetime_tz.smartparse(request.REQUEST['start']) end_date = datetime_tz.datetime_tz.smartparse(request.REQUEST['end']) event.name = request.REQUEST['name'] event.input = request.REQUEST['input'] event.start = start_date.asdatetime() event.end = end_date.asdatetime() event.save() # We can't do this template subsitution until we have saved the event. try: plaintext = str(template.Template(event.input).render( template.Context({ 'event': event, 'request': request, 'agenda': offers.get_event_agenda(event) }), )) html = markdown.markdown(plaintext, extensions).encode('utf-8') event.plaintext = plaintext event.html = html except Exception: sio = StringIO.StringIO() traceback.print_exc(file=sio) event.plaintext = sio.getvalue() logging.debug("e.a %s, e.n %s", event.announcement, event.name) event.save() return shortcuts.redirect('%s/edit' % event.get_url())