diff -r af9ab5ad2786 -r e2699e042129 reg/views.py --- 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)) +