diff -r 182e4a773ef2 -r 601057af86c2 event/views.py --- a/event/views.py Tue Apr 20 01:55:09 2010 +0530 +++ b/event/views.py Tue Apr 20 02:28:09 2010 +0530 @@ -1,8 +1,8 @@ from django.http import Http404 -from django.shortcuts import render_to_response +from django.shortcuts import render_to_response, redirect from offline.event.models import Event - +from offline.event.forms import EventCreateForm from offline.settings import ADMIN_KEY def event_home(request): @@ -22,11 +22,11 @@ return render_to_response('home.html', {'event':event, 'can_submit_feedback':can_submit_feedback, 'can_take_quiz':can_take_quiz}) -def event_admin(request, key_word): +def event_admin(request, admin_key): """ see if the key is correct and then display options. """ - if not key_word == ADMIN_KEY: + if not admin_key == ADMIN_KEY: raise Http404 try: @@ -36,7 +36,28 @@ return render_to_response('admin.html', {'event':event, 'admin_key':ADMIN_KEY}) -def event_create(): - pass +def event_create(request, admin_key): + + if not admin_key == ADMIN_KEY: + raise Http404 + + try: + event = Event.objects.all()[0] + return redirect("/event/admin/%s"%admin_key) + except IndexError: + new_event = Event() + if request.method == "POST": + form = EventCreateForm(request.POST) + if form.is_valid(): + new_event.title = form.cleaned_data['title'] + new_event.start_date = form.cleaned_data['start_date'] + new_event.stop_date = form.cleaned_data['stop_date'] + new_event.save() + return redirect('/event/admin/%s'%ADMIN_KEY) + else: + return render_to_response('create_event.html',{'form':form}) + else: + form = EventCreateForm() + return render_to_response('create_event.html',{'form':form})