app/soc/views/models/program.py
changeset 2136 5d55e61dd338
parent 2130 83f4fab7c556
child 2139 43a02512ebf7
equal deleted inserted replaced
2135:cafa4caec14f 2136:5d55e61dd338
   296 
   296 
   297     locked_slots = adjusted_slots = {}
   297     locked_slots = adjusted_slots = {}
   298 
   298 
   299     if request.method == 'POST' and 'result' in request.POST:
   299     if request.method == 'POST' and 'result' in request.POST:
   300       result = request.POST['result']
   300       result = request.POST['result']
       
   301       submit = request.GET.get('submit')
   301 
   302 
   302       from_json = simplejson.loads(result)
   303       from_json = simplejson.loads(result)
   303 
       
   304       locked_slots = dicts.groupDictBy(from_json, 'locked', 'slots')
   304       locked_slots = dicts.groupDictBy(from_json, 'locked', 'slots')
   305 
   305 
   306     orgs = {}
   306     orgs = {}
   307     applications = {}
   307     applications = {}
   308     max = {}
   308     max = {}
   309 
   309 
   310     for org in organizations:
   310     for org in organizations:
   311       orgs[org.link_id] = org
   311       orgs[org.link_id] = org
   312       applications[org.link_id] = org.nr_applications
   312       applications[org.link_id] = org.nr_applications
   313       max[org.link_id] = min(org.nr_mentors, org.slots_desired)
   313       max[org.link_id] = min(org.nr_mentors, org.slots_desired)
       
   314 
       
   315       if submit:
       
   316         org_post = from_json[org.link_id]
       
   317         org_slots = org_post['slots']
       
   318         try:
       
   319           org_slots = int(org_slots)
       
   320         except ValueError:
       
   321           continue
       
   322         org.slots = org_slots
       
   323         org.put()
   314 
   324 
   315     # TODO: Use configuration variables here
   325     # TODO: Use configuration variables here
   316     max_slots_per_org = 50
   326     max_slots_per_org = 50
   317     min_slots_per_org = 2
   327     min_slots_per_org = 2
   318     iterative = False
   328     iterative = False