31 from soc.logic.models.org_admin import logic as org_admin_logic |
31 from soc.logic.models.org_admin import logic as org_admin_logic |
32 from soc.logic.models.organization import logic as org_logic |
32 from soc.logic.models.organization import logic as org_logic |
33 from soc.logic.models.program import logic as program_logic |
33 from soc.logic.models.program import logic as program_logic |
34 from soc.logic.models.review import logic as review_logic |
34 from soc.logic.models.review import logic as review_logic |
35 from soc.logic.models.student import logic as student_logic |
35 from soc.logic.models.student import logic as student_logic |
|
36 from soc.logic.models.student_project import logic as student_project_logic |
36 from soc.tasks.helper import decorators |
37 from soc.tasks.helper import decorators |
37 from soc.tasks.helper import error_handler |
38 from soc.tasks.helper import error_handler |
38 |
39 |
39 |
40 |
40 # batch size to use when going through the entities |
41 # batch size to use when going through the entities |
268 return |
269 return |
269 |
270 |
270 |
271 |
271 @decorators.iterative_task(review_logic) |
272 @decorators.iterative_task(review_logic) |
272 def runReviewUpdate(request, entities, context, *args, **kwargs): |
273 def runReviewUpdate(request, entities, context, *args, **kwargs): |
273 """AppEngine Task that updated Review entities. |
274 """AppEngine Task that updates Review entities. |
274 |
275 |
275 Args: |
276 Args: |
276 request: Django Request object |
277 request: Django Request object |
277 entities: list of Review entities to update |
278 entities: list of Review entities to update |
278 context: the context of this task |
279 context: the context of this task |
284 # store all Reviews |
285 # store all Reviews |
285 db.put(entities) |
286 db.put(entities) |
286 |
287 |
287 # task completed, return |
288 # task completed, return |
288 return |
289 return |
|
290 |
|
291 |
|
292 @decorators.iterative_task(student_project_logic) |
|
293 def runStudentProjectUpdate(request, entities, context, *args, **kwargs): |
|
294 """AppEngine Task that updates StudentProject entities. |
|
295 |
|
296 Args: |
|
297 request: Django Request object |
|
298 entities: list of StudentProject entities to update |
|
299 context: the context of this task |
|
300 """ |
|
301 |
|
302 from soc.modules.gsoc.logic.models.mentor import logic as mentor_logic |
|
303 from soc.modules.gsoc.logic.models.organization import logic as org_logic |
|
304 from soc.modules.gsoc.logic.models.program import logic as program_logic |
|
305 from soc.modules.gsoc.logic.models.student import logic as student_logic |
|
306 |
|
307 for entity in entities: |
|
308 entity.scope = org_logic.getFromKeyName(entity.scope.key().id_or_name()) |
|
309 entity.mentor = mentor_logic.getFromKeyName( |
|
310 entity.mentor.key().id_or_name()) |
|
311 entity.student = student_logic.getFromKeyName( |
|
312 entity.student.key().id_or_name()) |
|
313 entity.program = program_logic.getFromKeyName( |
|
314 entity.program.key().id_or_name()) |
|
315 |
|
316 old_mentors = entity.additional_mentors |
|
317 new_mentors = [] |
|
318 |
|
319 for old_mentor in old_mentors: |
|
320 new_mentors.append( |
|
321 mentor_logic.getFromKeyName(old_mentor.id_or_name())) |
|
322 |
|
323 entity.additional_mentors = new_mentors |
|
324 |
|
325 # store all StudentProjects |
|
326 db.put(entities) |
|
327 |
|
328 # task completed, return |
|
329 return |