feedback/views.py
changeset 11 afc41af983e5
parent 10 7535305b1104
child 36 9e0d6aecf269
equal deleted inserted replaced
10:7535305b1104 11:afc41af983e5
     5 
     5 
     6 from offline.event.models import Event
     6 from offline.event.models import Event
     7 
     7 
     8 from offline.feedback.models import Feedback
     8 from offline.feedback.models import Feedback
     9 from offline.feedback.forms import FeedbackForm
     9 from offline.feedback.forms import FeedbackForm
    10 
    10 from offline.feedback.utils import make_day_report
    11 
    11 
    12 def submit_feedback(request):
    12 def submit_feedback(request):
    13 
    13 
    14     """ see if the ip address has already submitted a feedback.
    14     """ see if the ip address has already submitted a feedback.
    15     if not, collect the feedback.
    15     if not, collect the feedback.
   124                                 feed.applicability, feed.problems, feed.exercises, feed.comments)))
   124                                 feed.applicability, feed.problems, feed.exercises, feed.comments)))
   125             feeds_list.extend(["Day %s"%day, day_list])
   125             feeds_list.extend(["Day %s"%day, day_list])
   126 
   126 
   127     return render_to_response('list_feedbacks.html',{'event':event, 'feeds_list':feeds_list})
   127     return render_to_response('list_feedbacks.html',{'event':event, 'feeds_list':feeds_list})
   128 
   128 
       
   129 def view_report(request, admin_key):
       
   130     """ compile the report and display it.
       
   131     """
       
   132 
       
   133     if not admin_key == ADMIN_KEY:
       
   134         raise Http404
       
   135 
       
   136     try:
       
   137         event = Event.objects.all()[0]
       
   138     except IndexError:
       
   139         raise Http404
       
   140 
       
   141     no_of_days = (event.stop_date - event.start_date).days
       
   142     days = range(1,no_of_days+2)
       
   143 
       
   144     workshop_report = []
       
   145 
       
   146     for day in days:
       
   147         day_num = str(day)
       
   148         day_feeds = event.feedback.filter(day=day_num)
       
   149 
       
   150         day_report = make_day_report(day_feeds) 
       
   151         if day_report:
       
   152             day_comments = [ feed.comments for feed in day_feeds if feed.comments ]
       
   153             day_report.extend(["General comments:",day_comments])
       
   154             workshop_report.extend( [ "Day %s"%day_num, day_report] )
       
   155 
       
   156     return render_to_response("show_report.html", {"event":event, "workshop_report":workshop_report})