app/soc/views/models/program.py
changeset 1470 5e887fb80921
parent 1437 eec60d5bbe95
child 1475 22b63ab59b27
equal deleted inserted replaced
1469:d69b00439d59 1470:5e887fb80921
   257     filter = {'user': user,
   257     filter = {'user': user,
   258               'scope': program_entity}
   258               'scope': program_entity}
   259     student_entity = student_logic.logic.getForFields(filter, unique=True)
   259     student_entity = student_logic.logic.getForFields(filter, unique=True)
   260 
   260 
   261     if student_entity:
   261     if student_entity:
   262       items += self._getStudentEntries(program_entity, params, id, user)
   262       items += self._getStudentEntries(program_entity, student_entity,
       
   263                                        params, id, user)
   263 
   264 
   264     # get mentor and org_admin entity for this user and program
   265     # get mentor and org_admin entity for this user and program
   265     filter = {'user': user,
   266     filter = {'user': user,
   266               'program': program_entity}
   267               'program': program_entity}
   267     mentor_entity = mentor_logic.logic.getForFields(filter, unique=True)
   268     mentor_entity = mentor_logic.logic.getForFields(filter, unique=True)
   268     org_admin_entity = org_admin_logic.logic.getForFields(filter, unique=True)
   269     org_admin_entity = org_admin_logic.logic.getForFields(filter, unique=True)
   269 
   270 
   270     if mentor_entity or org_admin_entity:
   271     if mentor_entity or org_admin_entity:
   271       items += self._getOrganizationEntries(program_entity, params, id, user)
   272       items += self._getOrganizationEntries(program_entity, org_admin_entity,
       
   273                                             mentor_entity, params, id, user)
   272 
   274 
   273     if not (student_entity or mentor_entity or org_admin_entity):
   275     if not (student_entity or mentor_entity or org_admin_entity):
   274       if timeline_helper.isActivePeriod(timeline_entity, 'student_signup'):
   276       if timeline_helper.isActivePeriod(timeline_entity, 'student_signup'):
   275         # this user does not have a role yet for this program
   277         # this user does not have a role yet for this program
   276         items += [('/student/apply/%s' % (program_entity.key().name()),
   278         items += [('/student/apply/%s' % (program_entity.key().name()),
   287         items += [('/org/apply_mentor/%s' % (program_entity.key().name()),
   289         items += [('/org/apply_mentor/%s' % (program_entity.key().name()),
   288          "Apply to become a Mentor", 'any_access')]
   290          "Apply to become a Mentor", 'any_access')]
   289 
   291 
   290     return items
   292     return items
   291 
   293 
   292   def _getStudentEntries(self, program_entity, params, id, user):
   294   def _getStudentEntries(self, program_entity, student_entity, params, id, user):
   293     """Returns a list with menu items for students in a specific program.
   295     """Returns a list with menu items for students in a specific program.
   294     """
   296     """
   295 
   297 
   296     items = []
   298     items = []
   297 
   299 
   300     # TODO(ljvderijk) add the student application links
   302     # TODO(ljvderijk) add the student application links
   301 
   303 
   302     if timeline_helper.isActivePeriod(timeline_entity, 'student_signup'):
   304     if timeline_helper.isActivePeriod(timeline_entity, 'student_signup'):
   303       #items += [('/org/apply_mentor/%s' % (program_entity.key().name()),
   305       #items += [('/org/apply_mentor/%s' % (program_entity.key().name()),
   304       #   "Send in your student proposal (N/A)", 'any_access')]
   306       #   "Send in your student proposal (N/A)", 'any_access')]
   305       #items += [('/org/apply_mentor/%s' % (program_entity.key().name()),
   307       items += [(redirects.getListSelfRedirect(student_entity,
   306       #   "List my student proposals (N/A)", 'any_access')]
   308              {'url_name':'student_proposal'}),
   307       pass
   309          "List my Student Proposals", 'any_access')]
   308 
   310 
   309     return items
   311     return items
   310 
   312 
   311   def _getOrganizationEntries(self, program_entity, params, id, user):
   313   def _getOrganizationEntries(self, program_entity, org_admin_entity,
       
   314                               mentor_entity, params, id, user):
   312     """Returns a list with menu items for org admins and mentors in a 
   315     """Returns a list with menu items for org admins and mentors in a 
   313        specific program.
   316        specific program.
   314     """
   317     """
   315 
   318 
   316     # TODO(ljvderijk) think about adding specific org items like submit review
   319     # TODO(ljvderijk) think about adding specific org items like submit review