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 |