# HG changeset patch
# User Madhusudan.C.S
# Date 1249596608 -19800
# Node ID 8c9e6c98de823bc8af9582ea2a621b01f10721f1
# Parent 9d720dfded680cce2e0434898a209230a4c142eb
Ranking of proposals view completion.
diff -r 9d720dfded68 -r 8c9e6c98de82 app/projrev/views/proposal.py
--- a/app/projrev/views/proposal.py Fri Aug 07 03:16:44 2009 +0530
+++ b/app/projrev/views/proposal.py Fri Aug 07 03:40:08 2009 +0530
@@ -293,23 +293,33 @@
"""
"""
+ context = {}
+
if not micr_code:
template = 'projrev/proposal/list.html'
- context = {
- 'projects': Project.objects.all(),
- 'row_url': '/proposal/rank/',
- }
+ context['projects'] = Project.objects.all()
+ context['row_url'] = '/proposal/rank/'
return render_to_response(template, RequestContext(request, context))
- projects = Project.objects.get(micr_code=micr_code)
+ project = Project.objects.get(micr_code=micr_code)
+
+ proposal = project.proposal_set.all().order_by('-submitted_on')[0]
+
+ if proposal:
+ proposal_path = str(proposal.document)
+
+ proposal_name = proposal_path.split('/')[-1]
- proposal_path = str(
- projects.proposal_set.all().order_by('-submitted_on')[0].document)
+ context['proposal_path'] = proposal_path
+ context['proposal_name'] = proposal_name
+ context['last_submitted'] = proposal.submitted_on
- proposal_name = proposal_path.split('/')[-1]
-
- reviews = projects.review_set.all()
+ reviews = project.review_set.all().order_by('-reviewed_on')
+ nr_reviews = len(reviews)
+ if reviews:
+ context['last_reviewed'] = reviews[0].reviewed_on
+ context['nr_reviews'] = nr_reviews
review_score = [0] * 9
for review in reviews:
@@ -325,13 +335,23 @@
total_score = sum(review_score)
- context = {
- 'project': projects,
- 'proposal_path': proposal_path,
- 'proposal_name': proposal_name,
- 'review_score': review_score,
- 'total_score': total_score,
- }
+ review_avg = [0] * 9
+ for i, rs in enumerate(review_score):
+ try:
+ review_avg[i] = float(rs) / nr_reviews
+ except ZeroDivisionError:
+ review_avg[i] = 0
+
+ try:
+ total_avg = float(total_score) / nr_reviews
+ except ZeroDivisionError:
+ total_avg = 0
+
+ context['project'] = project
+ context['review_score'] = review_score
+ context['total_score'] = total_score
+ context['review_avg'] = review_avg
+ context['total_avg'] = total_avg
template = 'projrev/proposal/rank.html'
diff -r 9d720dfded68 -r 8c9e6c98de82 app/templates/projrev/base.html
--- a/app/templates/projrev/base.html Fri Aug 07 03:16:44 2009 +0530
+++ b/app/templates/projrev/base.html Fri Aug 07 03:40:08 2009 +0530
@@ -53,6 +53,7 @@
Logout
{% if user.is_staff%}
Review Proposals
+ Aggregated Scores for Proposals
{% else %}
Create/Edit Proposals
{% endif %}
diff -r 9d720dfded68 -r 8c9e6c98de82 app/templates/projrev/proposal/rank.html
--- a/app/templates/projrev/proposal/rank.html Fri Aug 07 03:16:44 2009 +0530
+++ b/app/templates/projrev/proposal/rank.html Fri Aug 07 03:40:08 2009 +0530
@@ -56,77 +56,105 @@
Attribute Name
- Score
+ Score Average
Attribute 1:
- {{ review_score.0 }}
+ {{ review_score.0 }}
+ {{ review_avg.0 }}
Attribute 2:
- {{ review_score.1 }}
+ {{ review_score.1 }}
+ {{ review_avg.1 }}
Attribute 3:
- {{ review_score.2 }}
+ {{ review_score.2 }}
+ {{ review_avg.2 }}
Attribute 4:
- {{ review_score.3 }}
+ {{ review_score.3 }}
+ {{ review_avg.3 }}
Attribute 5:
- {{ review_score.4 }}
+ {{ review_score.4 }}
+ {{ review_avg.4 }}
Attribute 6:
- {{ review_score.5 }}
+ {{ review_score.5 }}
+ {{ review_avg.5 }}
Attribute 7:
- {{ review_score.6 }}
+ {{ review_score.6 }}
+ {{ review_avg.6 }}
Attribute 8:
- {{ review_score.7 }}
+ {{ review_score.7 }}
+ {{ review_avg.7 }}
Attribute 9:
- {{ review_score.8 }}
-
+ {{ review_score.8 }}
+ {{ review_avg.8 }}
+
Overall Score:
- {{ total_score }}
+ {{ total_score }}
+ {{ total_avg }}
-
-
-
+
+
+
{% endblock content %}
\ No newline at end of file
diff -r 9d720dfded68 -r 8c9e6c98de82 app/urls.py
--- a/app/urls.py Fri Aug 07 03:16:44 2009 +0530
+++ b/app/urls.py Fri Aug 07 03:40:08 2009 +0530
@@ -31,7 +31,7 @@
(r'^proposal/review/(?P[A-Z]{6}\d{9})/$',
'app.projrev.views.proposal.review'),
(r'^proposal/rank/$', 'app.projrev.views.proposal.rank'),
- (r'^proposal/rank/(?P[A-Z]{6}\d{9})$',
+ (r'^proposal/rank/(?P[A-Z]{6}\d{9})/$',
'app.projrev.views.proposal.rank'),
(r'^site-content/(?P.*)', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT}),