diff -r 153db75bb515 -r 0321f984fb16 app/projrev/views/proposal.py --- a/app/projrev/views/proposal.py Sun Aug 09 13:04:03 2009 +0530 +++ b/app/projrev/views/proposal.py Sun Aug 09 22:52:45 2009 +0530 @@ -12,6 +12,7 @@ import time from django.core.urlresolvers import reverse +from django.http import HttpResponse from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext @@ -194,6 +195,7 @@ else: if not prop_form: + prop_form = projrev_forms.ProposalForm() context['form'] = prop_form @@ -360,3 +362,27 @@ template = 'projrev/proposal/rank.html' return render_to_response(template, RequestContext(request, context)) + +def getDistrictsForState(request): + """View function that sends the districts for the given state code via AJAXy. + """ + import json + get_params = request.GET + st_code = get_params['_value'] + dt_dict = Project.DISTRICT_CHOICES + + # Get the Districts corresponding to the given State code. + dt_names = {} + count = 1 + for dt_code in dt_dict: + if dt_code[:2] == st_code: + dt_names[dt_code] = dt_dict[dt_code] + count += 1 + + # Sort the List based on District Name. + dt_send = [{'': "---------" }] + dt_names_sorted = sorted(dt_names.items(), key=lambda (k,v): (v,k)) + for dt_code, dt_name in dt_names_sorted: + dt_send.append({dt_code: dt_name}) + + return HttpResponse(json.dumps(dt_send)) \ No newline at end of file