app/django/contrib/databrowse/views.py
author Todd Larsen <tlarsen@google.com>
Wed, 15 Oct 2008 17:10:27 +0000
changeset 339 b9be44e09530
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Define the Models for implementing Quizzes (collections of Questions) and their Responses (collections of Answers to those Questions). These Models would form the basis of storage for such items as: Terms of Service (Quiz) Question ("I agree...") Response -> Answer (answer to "I agree..." confirmation) solution ("Yes" Answer to the "I agree..." Question) Mentor and Student surveys (Quiz) Questions (including "Pay this student?") Response -> Answers solution ("Yes" Answer to the "Pay this student?" Question) Organization applications Student Proposal review, comment, and scoring system GHOP task tracking (a specific task list item would be a Quiz) Patch by: Todd Larsen Review by: Pawel Solyga, Sverre Rabbelier, Chen Lunpeng Review URL: http://codereviews.googleopensourceprograms.com/1403

from django.http import Http404
from django.shortcuts import render_to_response

###########
# CHOICES #
###########

def choice_list(request, app_label, module_name, field_name, models):
    m, f = lookup_field(app_label, module_name, field_name, models)
    return render_to_response('databrowse/choice_list.html', {'model': m, 'field': f})

def choice_detail(request, app_label, module_name, field_name, field_val, models):
    m, f = lookup_field(app_label, module_name, field_name, models)
    try:
        label = dict(f.field.choices)[field_val]
    except KeyError:
        raise Http404('Invalid choice value given')
    obj_list = m.objects(**{f.field.name: field_val})
    return render_to_response('databrowse/choice_detail.html', {'model': m, 'field': f, 'value': label, 'object_list': obj_list})