Exemplo n.º 1
0
 def handle_redirect(self, rosebotics_student):
     track = recent_track_utils.get_most_recent_course(
         rosebotics_student.key)
     if track is None:
         self.redirect("/courses")
     else:
         self.redirect(track.path)
Exemplo n.º 2
0
 def get(self):
     values = {"page_title": self.page_title()}
     values['courses'] = COURSE_LIST
     user = users.get_current_user()
     if user:
         rosebotics_student = RoseboticsStudent.get_by_id(
             user.email().lower())
         if rosebotics_student is None:
             rosebotics_student = RoseboticsStudent(id=user.email().lower())
             rosebotics_student.put()
         values["logout_url"] = users.create_logout_url("/")
         values["rosebotics_student"] = rosebotics_student
         most_recent_course = recent_track_utils.get_most_recent_course(
             rosebotics_student.key)
         if most_recent_course is not None:
             values["most_recent_track"] = most_recent_course
         values.update(
             recent_track_utils.get_recent_tracks(rosebotics_student.key))
     elif self.requires_oauth():
         self.redirect("/courses")
         return
     else:
         values["login_url"] = users.create_login_url("/courses")
     self.update_values(user, values)
     template = jinja_env.get_template(self.template_file())
     self.response.out.write(template.render(values))
Exemplo n.º 3
0
    def personalize_page_and_get_user(self):
        """If the user exists, add personalized fields to the navbar."""
        user = self.get_user()
        PageInitializerService.get().initialize(self.template_value)

        if hasattr(self, 'app_context'):
            self.template_value['can_register'] = self.app_context.get_environ(
            )['reg_form']['can_register']

        if user:
            email = user.email()
            self.template_value['email_no_domain_name'] = (
                email[:email.find('@')] if '@' in email else email)
            self.template_value['email'] = email
            self.template_value['logoutUrl'] = (users.create_logout_url(
                self.request.uri))
            self.template_value['transient_student'] = False

            # configure page events
            self.template_value['record_tag_events'] = (
                CAN_PERSIST_TAG_EVENTS.value)
            self.template_value['record_page_events'] = (
                CAN_PERSIST_PAGE_EVENTS.value)
            self.template_value['record_events'] = (
                CAN_PERSIST_ACTIVITY_EVENTS.value)
            self.template_value['event_xsrf_token'] = (
                XsrfTokenManager.create_xsrf_token('event-post'))
            ## ROSEbotics ##
            namespace = namespace_manager.get_namespace()
            namespace_manager.set_namespace('')
            rosebotics_student = RoseboticsStudent.get_by_id(email.lower())
            if rosebotics_student is None:
                rosebotics_student = RoseboticsStudent(id=user.email().lower())
                rosebotics_student.put()
            recent_track_utils.set_recent_track(rosebotics_student.key,
                                                self.request.path_qs)
            most_recent_course = recent_track_utils.get_most_recent_course(
                rosebotics_student.key)
            if most_recent_course is not None:
                self.template_value["most_recent_track"] = most_recent_course
            self.template_value.update(
                recent_track_utils.get_recent_tracks(rosebotics_student.key))
            self.template_value["logout_url"] = users.create_logout_url("/")
            self.template_value["rosebotics_student"] = rosebotics_student
            namespace_manager.set_namespace(namespace)
            ## END ##
        else:
            self.template_value['loginUrl'] = users.create_login_url(
                self.request.uri)
            self.template_value["login_url"] = users.create_login_url(
                self.request.uri)
            self.template_value['transient_student'] = True
            return None

        return user
Exemplo n.º 4
0
    def personalize_page_and_get_user(self):
        """If the user exists, add personalized fields to the navbar."""
        user = self.get_user()
        PageInitializerService.get().initialize(self.template_value)

        if hasattr(self, 'app_context'):
            self.template_value['can_register'] = self.app_context.get_environ(
                )['reg_form']['can_register']

        if user:
            email = user.email()
            self.template_value['email_no_domain_name'] = (
                email[:email.find('@')] if '@' in email else email)
            self.template_value['email'] = email
            self.template_value['logoutUrl'] = (
                users.create_logout_url(self.request.uri))
            self.template_value['transient_student'] = False

            # configure page events
            self.template_value['record_tag_events'] = (
                CAN_PERSIST_TAG_EVENTS.value)
            self.template_value['record_page_events'] = (
                CAN_PERSIST_PAGE_EVENTS.value)
            self.template_value['record_events'] = (
                CAN_PERSIST_ACTIVITY_EVENTS.value)
            self.template_value['event_xsrf_token'] = (
                XsrfTokenManager.create_xsrf_token('event-post'))
            ## ROSEbotics ##
            namespace = namespace_manager.get_namespace()
            namespace_manager.set_namespace('')
            rosebotics_student = RoseboticsStudent.get_by_id(email.lower())
            if rosebotics_student is None:
              rosebotics_student = RoseboticsStudent(id=user.email().lower())
              rosebotics_student.put()
            recent_track_utils.set_recent_track(rosebotics_student.key, self.request.path_qs)
            most_recent_course = recent_track_utils.get_most_recent_course(rosebotics_student.key)
            if most_recent_course is not None:
              self.template_value["most_recent_track"] = most_recent_course
            self.template_value.update(recent_track_utils.get_recent_tracks(rosebotics_student.key))
            self.template_value["logout_url"] = users.create_logout_url("/")
            self.template_value["rosebotics_student"] = rosebotics_student
            namespace_manager.set_namespace(namespace)
            ## END ##
        else:
            self.template_value['loginUrl'] = users.create_login_url(self.request.uri)
            self.template_value["login_url"] = users.create_login_url(self.request.uri)
            self.template_value['transient_student'] = True
            return None

        return user
Exemplo n.º 5
0
 def get(self):
   values = {"page_title": self.page_title()}
   values['courses'] = COURSE_LIST
   user = users.get_current_user()
   if user:
     rosebotics_student = RoseboticsStudent.get_by_id(user.email().lower())
     if rosebotics_student is None:
       rosebotics_student = RoseboticsStudent(id=user.email().lower())
       rosebotics_student.put()
     values["logout_url"] = users.create_logout_url("/")
     values["rosebotics_student"] = rosebotics_student
     most_recent_course = recent_track_utils.get_most_recent_course(rosebotics_student.key)
     if most_recent_course is not None:
       values["most_recent_track"] = most_recent_course
     values.update(recent_track_utils.get_recent_tracks(rosebotics_student.key))
   elif self.requires_oauth():
     self.redirect("/courses")
     return
   else:
     values["login_url"] = users.create_login_url("/courses")
   self.update_values(user, values)
   template = jinja_env.get_template(self.template_file())
   self.response.out.write(template.render(values))
Exemplo n.º 6
0
 def handle_redirect(self, rosebotics_student):
   track = recent_track_utils.get_most_recent_course(rosebotics_student.key)
   if track is None:
     self.redirect("/courses")
   else:
     self.redirect(track.path)