app/projrev/views/proposal.py
changeset 27 37612f295cd4
parent 26 97bd3c28c957
child 30 94fe7fe7394d
equal deleted inserted replaced
26:97bd3c28c957 27:37612f295cd4
   283 
   283 
   284     context['proposal_path'] = proposal_path
   284     context['proposal_path'] = proposal_path
   285     context['proposal_name'] = proposal_name
   285     context['proposal_name'] = proposal_name
   286     context['last_submitted'] = proposal.submitted_on
   286     context['last_submitted'] = proposal.submitted_on
   287 
   287 
   288   reviews = project.review_set.all().order_by('-reviewed_on')
   288   reviews = project.review_set.all().order_by('reviewed_on')
   289   if reviews:
   289   if reviews:
   290     context['last_reviewed'] = reviews[0].reviewed_on
   290     context['reviews'] = reviews
       
   291     context['last_reviewed'] = reviews[len(reviews)-1].reviewed_on
   291     context['nr_reviews'] = len(reviews)
   292     context['nr_reviews'] = len(reviews)
   292 
   293 
   293   template = 'projrev/proposal/review.html'
   294   template = 'projrev/proposal/review.html'
   294 
   295 
   295   return render_to_response(template, RequestContext(request, context))
   296   return render_to_response(template, RequestContext(request, context))
   321 
   322 
   322     context['proposal_path'] = proposal_path
   323     context['proposal_path'] = proposal_path
   323     context['proposal_name'] = proposal_name
   324     context['proposal_name'] = proposal_name
   324     context['last_submitted'] = proposal.submitted_on
   325     context['last_submitted'] = proposal.submitted_on
   325 
   326 
   326   reviews = project.review_set.all().order_by('-reviewed_on')
   327   # Get all the reviews and put them to context.
       
   328   reviews = project.review_set.all().order_by('reviewed_on')
   327   nr_reviews = len(reviews)
   329   nr_reviews = len(reviews)
   328   if reviews:
   330   if reviews:
   329     context['last_reviewed'] = reviews[0].reviewed_on
   331     context['reviews'] = reviews
       
   332     context['last_reviewed'] = reviews[len(reviews)-1].reviewed_on
   330     context['nr_reviews'] = nr_reviews
   333     context['nr_reviews'] = nr_reviews
   331 
   334 
       
   335   # Calculate the review scores
   332   review_score = [0] * 9
   336   review_score = [0] * 9
   333   for review in reviews:
   337   for review in reviews:
   334     review_score[0] += review.attribute1
   338     review_score[0] += review.attribute1
   335     review_score[1] += review.attribute2
   339     review_score[1] += review.attribute2
   336     review_score[2] += review.attribute3
   340     review_score[2] += review.attribute3
   341     review_score[7] += review.attribute8
   345     review_score[7] += review.attribute8
   342     review_score[8] += review.attribute9
   346     review_score[8] += review.attribute9
   343 
   347 
   344   total_score = sum(review_score)
   348   total_score = sum(review_score)
   345 
   349 
       
   350   # Get the Average for each attribute
   346   review_avg = [0] * 9
   351   review_avg = [0] * 9
   347   for i, rs in enumerate(review_score):
   352   for i, rs in enumerate(review_score):
   348     try:
   353     try:
   349       review_avg[i] = float(rs) / nr_reviews
   354       review_avg[i] = "%.2f" % (float(rs) / nr_reviews)
   350     except ZeroDivisionError:
   355     except ZeroDivisionError:
   351       review_avg[i] = 0
   356       review_avg[i] = 0
   352 
   357 
   353   try:
   358   try:
   354     total_avg = float(total_score) / nr_reviews
   359     total_avg = "%.2f" % (float(total_score) / nr_reviews)
   355   except ZeroDivisionError:
   360   except ZeroDivisionError:
   356     total_avg = 0
   361     total_avg = 0
   357 
   362 
   358   context['project'] = project
   363   context['project'] = project
   359   context['review_score'] = review_score
   364   context['review_score'] = review_score