app/projrev/views/proposal.py
changeset 22 0321f984fb16
parent 21 153db75bb515
child 23 91cf6872d853
--- 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