# 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 }}
    -

    -

    - Reviews (5) - Last reviewed: Nov 11, 2006 - Last submitted: Nov 11, 2006 -

    - +

    + +

    + Reviews: + {% if nr_reviews %} + {{ nr_reviews }} + {% else %} + (None) + {% endif %} + + Last reviewed: + {% if last_reviewed %} + {{ last_reviewed|date:"jS F Y h:iA" }} + {% else %} + (Not Reviewed) + {% endif %} + + Last submitted: + {% if last_submitted %} + {{ last_submitted|date:"jS F Y h:iA" }} + {% else %} + (New Submission) + {% endif %} + +

    {% 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}),