reg/views.py
changeset 8 e2699e042129
parent 6 057498d12450
child 9 e29ecb7819e7
--- a/reg/views.py	Fri Apr 09 15:48:47 2010 +0530
+++ b/reg/views.py	Fri Apr 09 16:51:56 2010 +0530
@@ -75,3 +75,44 @@
     else:
         form = reg_forms.RegisterForm()
         return render_to_response('register.html', {'form':form})
+
+def create_event(request):
+    """ see if the user is a staff and only then let him do it.
+    """
+
+    user = request.user
+    if user.is_authenticated() and user.is_staff:
+        if request.method ==  "POST":
+            form = reg_forms.EventCreateForm(request.POST)
+            if form.is_valid():
+                data = form.cleaned_data
+                new_event = reg_events.create_event(title=data['title'],
+                                                    description=data['description'],
+                                                    start_date=data['start_date'],
+                                                    stop_date=data['stop_date'],
+                                                    created_by=user,
+                                                   )
+                event_url = "/reg/event/view/%s"%(new_event.key)
+                return redirect(event_url)
+            else:
+                return render_to_response('event_create.html', {'form':form})
+        else:
+            form = reg_forms.EventCreateForm()
+            return render_to_response('event_create.html', {'form':form})
+    else:
+        return redirect('/reg')
+
+def view_event(request, key):
+    """ get the event by its key and display it.
+    """
+
+    user = request.user
+    is_guest = False if user.is_authenticated() else True
+
+    try:
+        event = Event.objects.get(key__iexact=key)
+    except Event.DoesNotExist:
+        return HttpResponse("F off")
+
+    return HttpResponse(str(event))
+