feedback/views.py
changeset 8 182e4a773ef2
parent 7 dfedb369f32e
child 10 7535305b1104
--- a/feedback/views.py	Tue Apr 20 01:31:45 2010 +0530
+++ b/feedback/views.py	Tue Apr 20 01:55:09 2010 +0530
@@ -1,6 +1,8 @@
 from django.shortcuts import render_to_response
 from django.http import Http404
 
+from offline.settings import ADMIN_KEY
+
 from offline.event.models import Event
 
 from offline.feedback.models import Feedback
@@ -52,9 +54,47 @@
         form = FeedbackForm()
         return render_to_response('submit_feedback.html',{'form':form, 'event':event})
 
-def open_feedback():
-    pass
+def open_feedback(request, admin_key):
+    """
+    Check for key and then exiatance of event.
+    """
+
+    if not admin_key == ADMIN_KEY:
+        raise Http404
+
+    try:
+        event = Event.objects.all()[0]
+    except IndexError:
+        raise Http404
 
-def close_feedback():
-    pass
+    if event.feedback_status == '0':
+        no_of_days = (event.stop_date - event.start_date).days + 1
+        if request.method == "POST":
+            day = request.POST['day']
+            event.feedback_status = day
+            event.save()
+            return render_to_response('open_feedback.html', {'success': True, 'day':day, 'event':event})
+        else:
+            return render_to_response('open_feedback.html', {'event': event, 'days': range(1,no_of_days+1)})
+    else:
+        day = event.feedback_status
+        return render_to_response('open_feedback.html', {'success': True, 'day':day, 'event':event})
 
+def close_feedback(request, admin_key):
+    """
+    simply set feedback status to 0
+    """
+
+    if not admin_key == ADMIN_KEY:
+        raise Http404
+
+    try:
+        event = Event.objects.all()[0]
+    except IndexError:
+        raise Http404
+
+    day = event.feedback_status
+    event.feedback_status = '0'
+    event.save()
+    return render_to_response('close_feedback.html', {'event': event, 'day':day})
+