def update_values(self, user, values):
   if user and 'most_recent_track' in values:
     for course in COURSE_LIST:
       if course.prefix in values['most_recent_track'].path:
         values['current_course'] = get_total_progress_for_course(user.email().lower(), course.prefix)
         values['current_course_obj'] = course # Default to course short title
         break
   else:
     values['login'] = {}
     for course in COURSE_LIST:
       values['login'][course.prefix] = users.create_login_url(course.get_url())
     return
 def update_values(self, user, values):
     if user and 'most_recent_track' in values:
         for course in COURSE_LIST:
             if course.prefix in values['most_recent_track'].path:
                 values['current_course'] = get_total_progress_for_course(
                     user.email().lower(), course.prefix)
                 values[
                     'current_course_obj'] = course  # Default to course short title
                 break
     else:
         values['login'] = {}
         for course in COURSE_LIST:
             values['login'][course.prefix] = users.create_login_url(
                 course.get_url())
         return
 def get_total_progress(self, team_progress):
     """ Gets total ROSEbotics progress for everyone in a team """
     user_email = get_user_email()
     rosebotics_team = team_progress.team_key.get()
     team_progress.name = rosebotics_team.name
     # change to filter by visibility?
     members = RoseboticsTeamMember.query(ancestor=team_progress.team_key)
     members_progress = []
     allowed_visibilies = [TeamVisibility.ALL_MEMBERS]
     if rosebotics_team.leader == user_email:
         allowed_visibilies.append(TeamVisibility.TEAM_LEADER)
     else:
         is_user_not_in_team = True
         for member in members:
             if member.email == user_email:
                 is_user_not_in_team = False
                 break
         if is_user_not_in_team:
             raise endpoints.BadRequestException(
                 "You are not allowed to view this team!")
     courses = rosebotics_team.courses
     for member in members:
         if member.visibility in allowed_visibilies or member.email == user_email:
             mp = MemberProgress()
             student = RoseboticsStudent.get_by_id(member.email.lower())
             if student is None:
                 logging.info(member.email + " being thrown out of sweep!")
                 continue
             mp.display_name = student.name
             mp.username = student.username
             for course in courses:
                 course = get_course(course)
                 if course.coming_soon:
                     continue
                 progress = get_total_progress_for_course(
                     member.email, course.prefix)
                 mp.course_progress.append(
                     create_course_progress(course.short_title, progress,
                                            course.prefix))
             members_progress.append(mp)
     team_progress.members_progress = members_progress
     return team_progress
 def get_total_progress(self, team_progress):
     """ Gets total ROSEbotics progress for everyone in a team """
     user_email = get_user_email()
     rosebotics_team = team_progress.team_key.get()
     team_progress.name = rosebotics_team.name
     # change to filter by visibility?
     members = RoseboticsTeamMember.query(ancestor=team_progress.team_key)
     members_progress = []
     allowed_visibilies = [TeamVisibility.ALL_MEMBERS]
     if rosebotics_team.leader == user_email:
         allowed_visibilies.append(TeamVisibility.TEAM_LEADER)
     else:
         is_user_not_in_team = True
         for member in members:
             if member.email == user_email:
                 is_user_not_in_team = False
                 break
         if is_user_not_in_team:
             raise endpoints.BadRequestException("You are not allowed to view this team!")
     courses = rosebotics_team.courses
     for member in members:
         if member.visibility in allowed_visibilies or member.email == user_email:
             mp = MemberProgress()
             student = RoseboticsStudent.get_by_id(member.email.lower())
             if student is None:
                 logging.info(member.email + " being thrown out of sweep!")
                 continue
             mp.display_name = student.name
             mp.username = student.username
             for course in courses:
                 course = get_course(course)
                 if course.coming_soon:
                     continue
                 progress = get_total_progress_for_course(member.email, course.prefix)
                 mp.course_progress.append(create_course_progress(course.short_title, progress, course.prefix))
             members_progress.append(mp)
     team_progress.members_progress = members_progress
     return team_progress
 def update_values(self, user, values):
   values['course'] = self.get_course()
   values["progress"] = progress_utils.get_total_progress_for_course(user.email().lower(), self.get_course().prefix)
Exemple #6
0
 def update_values(self, user, values):
     values['course'] = self.get_course()
     values["progress"] = progress_utils.get_total_progress_for_course(
         user.email().lower(),
         self.get_course().prefix)