34 from soc.logic.models.organization import logic as org_logic |
34 from soc.logic.models.organization import logic as org_logic |
35 from soc.logic.models.program import logic as program_logic |
35 from soc.logic.models.program import logic as program_logic |
36 from soc.logic.models.review import logic as review_logic |
36 from soc.logic.models.review import logic as review_logic |
37 from soc.logic.models.student import logic as student_logic |
37 from soc.logic.models.student import logic as student_logic |
38 from soc.logic.models.student_project import logic as student_project_logic |
38 from soc.logic.models.student_project import logic as student_project_logic |
|
39 from soc.logic.models.student_proposal import logic as student_proposal_logic |
39 from soc.logic.models.timeline import logic as timeline_logic |
40 from soc.logic.models.timeline import logic as timeline_logic |
40 from soc.tasks.helper import decorators |
41 from soc.tasks.helper import decorators |
41 from soc.tasks.helper import error_handler |
42 from soc.tasks.helper import error_handler |
42 |
43 |
43 |
44 |
268 # store all the new GSoCStudents |
269 # store all the new GSoCStudents |
269 db.put(gsoc_students) |
270 db.put(gsoc_students) |
270 |
271 |
271 # task completed, return |
272 # task completed, return |
272 return |
273 return |
|
274 |
|
275 |
|
276 @decorators.iterative_task(student_proposal_logic) |
|
277 def runStudentProposalUpdate(request, entities, context, *args, **kwargs): |
|
278 """AppEngine Task that updates StudentProposal entities. |
|
279 |
|
280 Args: |
|
281 request: Django Request object |
|
282 entities: list of StudentProposal entities to update |
|
283 context: the context of this task |
|
284 """ |
|
285 |
|
286 from soc.modules.gsoc.logic.models.mentor import logic as mentor_logic |
|
287 from soc.modules.gsoc.logic.models.organization import logic as org_logic |
|
288 from soc.modules.gsoc.logic.models.program import logic as program_logic |
|
289 from soc.modules.gsoc.logic.models.student import logic as student_logic |
|
290 |
|
291 for entity in entities: |
|
292 entity.scope = student_logic.getFromKeyName( |
|
293 entity.scope.key().id_or_name()) |
|
294 entity.mentor = mentor_logic.getFromKeyName( |
|
295 entity.mentor.key().id_or_name()) |
|
296 entity.org = org_logic.getFromKeyName(entity.org.key().id_or_name()) |
|
297 entity.program = program_logic.getFromKeyName( |
|
298 entity.program.key().id_or_name()) |
|
299 |
|
300 old_mentors = entity.possible_mentors |
|
301 new_mentors = [] |
|
302 |
|
303 for old_mentor in old_mentors: |
|
304 new_mentors.append( |
|
305 mentor_logic.getFromKeyName(old_mentor.id_or_name())) |
|
306 |
|
307 entity.possible_mentors = new_mentors |
|
308 |
|
309 # store all StudentProposal |
|
310 db.put(entities) |
|
311 |
|
312 # task completed, return |
|
313 return |
|
314 |
273 |
315 |
274 |
316 |
275 @decorators.iterative_task(review_logic) |
317 @decorators.iterative_task(review_logic) |
276 def runReviewUpdate(request, entities, context, *args, **kwargs): |
318 def runReviewUpdate(request, entities, context, *args, **kwargs): |
277 """AppEngine Task that updates Review entities. |
319 """AppEngine Task that updates Review entities. |