app/soc/tasks/updates/module_conversion.py
changeset 3007 d23d1dee5261
parent 3006 e74c4d37a61a
child 3008 525c65b0a320
equal deleted inserted replaced
3006:e74c4d37a61a 3007:d23d1dee5261
    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