event/views.py
changeset 9 601057af86c2
parent 7 dfedb369f32e
child 23 f57c30096b51
--- 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})