示例#1
0
    def render_page(self, template_values, in_action=None, in_tab=None):
        """Renders a page using provided template values."""
        template_values['header_title'] = template_values['page_title']
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS
        ]
        template_values['course_picker'] = self.get_course_picker()
        template_values['course_title'] = self.app_context.get_title()
        template_values['top_nav'] = self._get_top_nav(in_action, in_tab)
        template_values['gcb_course_base'] = self.get_base_href(self)
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())).append(
                safe_dom.Element('a',
                                 href=users.create_logout_url(
                                     self.request.uri)).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app_identity.get_application_id()
        template_values['application_version'] = (
            os.environ['CURRENT_VERSION_ID'])
        template_values[
            'can_highlight_code'] = oeditor.CAN_HIGHLIGHT_CODE.value
        template_values['extra_css_href_list'] = self.EXTRA_CSS_HREF_LIST
        template_values['extra_js_href_list'] = self.EXTRA_JS_HREF_LIST
        if not template_values.get('sections'):
            template_values['sections'] = []

        self.response.write(
            self.get_template('view.html', []).render(template_values))
示例#2
0
    def render_page(self, template_values, in_action=None):
        page_title = template_values['page_title']
        template_values['header_title'] = page_title
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS]
        template_values['breadcrumbs'] = page_title

        current_action = (in_action or self.request.get('action')
            or self.default_action_for_current_permissions())
        current_menu_item = self.actions_to_menu_items.get(current_action)
        template_values['root_menu_group'] = self.root_menu_group
        template_values['current_menu_item'] = current_menu_item
        template_values['is_global_admin'] = True
        template_values['course_app_contexts'] = dashboard.get_visible_courses()

        template_values['gcb_course_base'] = '/'
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())
        ).append(
            safe_dom.Element(
                'a', href=users.create_logout_url(self.request.uri)
            ).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app.get_application_id()
        template_values['application_version'] = (
            os.environ['CURRENT_VERSION_ID'])
        if not template_values.get('sections'):
            template_values['sections'] = []

        self.response.write(
            self.get_template('view.html', []).render(template_values))
示例#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'))
        else:
            self.template_value['loginUrl'] = users.create_login_url(
                self.request.uri)
            self.template_value['transient_student'] = True
            return None

        return user
示例#4
0
    def render_page(self, template_values, in_action=None):
        page_title = template_values['page_title']
        template_values['header_title'] = page_title
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS]
        template_values['breadcrumbs'] = page_title

        current_action = (in_action or self.request.get('action')
            or self.default_action_for_current_permissions())
        current_menu_item = self.actions_to_menu_items.get(current_action)
        template_values['root_menu_group'] = self.root_menu_group
        template_values['current_menu_item'] = current_menu_item
        template_values['is_global_admin'] = True
        template_values['course_app_contexts'] = dashboard.get_visible_courses()

        template_values['gcb_course_base'] = '/'
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())
        ).append(
            safe_dom.Element(
                'a', href=users.create_logout_url(self.request.uri)
            ).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app.get_application_id()
        template_values['application_version'] = (
            os.environ['CURRENT_VERSION_ID'])
        template_values['can_highlight_code'] = oeditor.CAN_HIGHLIGHT_CODE.value
        if not template_values.get('sections'):
            template_values['sections'] = []

        self.response.write(
            self.get_template('view.html', []).render(template_values))
示例#5
0
    def test_create_logout_url_falls_back_to_gae_if_not_enabled(self):
        self.runtime_config.enabled = False
        gitkit.Runtime.set_current_runtime_config(self.runtime_config)

        self.assertEquals(('https://www.google.com/accounts/Logout?'
                           'continue=http%3A//foo%3Fbar%3Db%20az'),
                          users.create_logout_url('http://foo?bar=b az'))
示例#6
0
    def test_create_logout_url_with_dest_url(self):
        self.runtime_config.enabled = True
        gitkit.Runtime.set_current_runtime_config(self.runtime_config)

        self.assertEquals(('/modules/gitkit/signout?'
                           'dest_url=http%3A%2F%2Ffoo%3Fbar%3Db+az'),
                          users.create_logout_url('http://foo?bar=b az'))
示例#7
0
    def render_page(self, template_values, in_action=None, in_tab=None):
        page_title = template_values['page_title']
        template_values['header_title'] = page_title
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS]
        template_values['breadcrumbs'] = page_title

        template_values['top_nav'] = self._get_top_nav(in_action, in_tab)
        template_values['gcb_course_base'] = '/'
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())
        ).append(
            safe_dom.Element(
                'a', href=users.create_logout_url(self.request.uri)
            ).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app.get_application_id()
        template_values['application_version'] = (
            os.environ['CURRENT_VERSION_ID'])
        template_values['can_highlight_code'] = oeditor.CAN_HIGHLIGHT_CODE.value
        if not template_values.get('sections'):
            template_values['sections'] = []

        self.response.write(
            self.get_template('view.html', []).render(template_values))
示例#8
0
 def jinja2_config(self):
     # Configure global context/filters/settings for Jinja2
     DATE_FORMAT = '%d/%m/%Y'
     DATETIME_FORMAT = '%d/%m/%Y %H:%M:%S'
     return {
         'globals': {
             'base_url': self.request.host_url,
             'uri_for': uri_for,
             'logout_url': users.create_logout_url,
             'logoutUrl': users.create_logout_url('/'),
             'date_format': DATE_FORMAT,
             'datetime_format': DATETIME_FORMAT,
             '_': gettext,
             'ngettext': ngettext,
             'analytics_code': secrets.SecretManager.analytics_code(),
             'nonce_token': self._get_nonce_token(),
             'to_json': json.dumps,
         },
         'filters': {
             'format_timestamp': datetime_helper.format_timestamp,
             'nl2br': string_helper.nl2br,
             'var_replace': string_helper.var_replace,
             'sanitize': custom_filters.sanitize,
         },
     }
示例#9
0
    def render_page(self, template_values, in_action=None, in_tab=None):
        page_title = template_values['page_title']
        template_values['header_title'] = page_title
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS
        ]
        template_values['breadcrumbs'] = page_title

        template_values['top_nav'] = self._get_top_nav(in_action, in_tab)
        template_values['gcb_course_base'] = '/'
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())).append(
                safe_dom.Element('a',
                                 href=users.create_logout_url(
                                     self.request.uri)).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app.get_application_id()
        template_values['application_version'] = (
            os.environ['CURRENT_VERSION_ID'])
        template_values[
            'can_highlight_code'] = oeditor.CAN_HIGHLIGHT_CODE.value
        if not template_values.get('sections'):
            template_values['sections'] = []

        self.response.write(
            self.get_template('view.html', []).render(template_values))
示例#10
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")
        else:
            self.template_value["loginUrl"] = users.create_login_url(self.request.uri)
            self.template_value["transient_student"] = True
            return None

        return user
示例#11
0
    def render_page(self, template_values, in_action=None, in_tab=None):
        """Renders a page using provided template values."""
        template_values['header_title'] = template_values['page_title']
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS]
        template_values['course_picker'] = self.get_course_picker()
        template_values['course_title'] = self.app_context.get_title()
        template_values['top_nav'] = self._get_top_nav(in_action, in_tab)
        template_values['gcb_course_base'] = self.get_base_href(self)
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())
        ).append(
            safe_dom.Element(
                'a', href=users.create_logout_url(self.request.uri)
            ).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app_identity.get_application_id()
        template_values['application_version'] = (
            os.environ['CURRENT_VERSION_ID'])
        template_values['can_highlight_code'] = oeditor.CAN_HIGHLIGHT_CODE.value
        template_values['extra_css_href_list'] = self.EXTRA_CSS_HREF_LIST
        template_values['extra_js_href_list'] = self.EXTRA_JS_HREF_LIST
        if not template_values.get('sections'):
            template_values['sections'] = []

        self.response.write(
            self.get_template('view.html', []).render(template_values))
示例#12
0
    def test_create_logout_url_falls_back_to_gae_if_not_enabled(self):
        self.runtime_config.enabled = False
        gitkit.Runtime.set_current_runtime_config(self.runtime_config)

        self.assertEquals(
            ('https://www.google.com/accounts/Logout?'
             'continue=http%3A//foo%3Fbar%3Db%20az'),
            users.create_logout_url('http://foo?bar=b az'))
示例#13
0
    def test_create_logout_url_with_dest_url(self):
        self.runtime_config.enabled = True
        gitkit.Runtime.set_current_runtime_config(self.runtime_config)

        self.assertEquals(
            ('/modules/gitkit/signout?'
             'dest_url=http%3A%2F%2Ffoo%3Fbar%3Db+az'),
            users.create_logout_url('http://foo?bar=b az'))
示例#14
0
 def initialize_page_and_get_user(self):
     """Add basic fields to template and return user."""
     self.template_values['course_info'] = Courses.COURSE_TEMPLATE_DICT
     self.template_values['course_info']['course'] = {
         'locale': self.get_locale_for_user()}
     user = users.get_current_user()
     if not user:
         self.template_values['loginUrl'] = users.create_login_url('/')
     else:
         self.template_values['email'] = user.email()
         self.template_values['is_super_admin'] = Roles.is_super_admin()
         self.template_values['logoutUrl'] = users.create_logout_url('/')
     return user
示例#15
0
    def render_page(self, template_values, in_action=None):
        """Render page contents and write them into the response.

        NOTE: The resulting contents are *not* sent to the client (user's
        browser) as a result of calling render_page(). webapp2 does not
        forward the response and its contents to the client until the
        handler itself completes.
        """
        page_title = template_values['page_title']
        template_values['header_title'] = page_title
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS]
        template_values['breadcrumbs'] = page_title

        # menu
        current_action = (in_action or self.request.get('action')
            or self.default_action_for_current_permissions())
        template_values['current_menu_item'] = self.actions_to_menu_items\
            .get(current_action)
        template_values['courses_menu_item'] = self.actions_to_menu_items.get(
            'courses')
        template_values['root_menu_group'] = self.root_menu_group

        template_values['course_app_contexts'] = dashboard.get_visible_courses()
        template_values['gcb_course_base'] = self.BASE_URL
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())
        ).append(
            safe_dom.Element(
                'a', href=users.create_logout_url(self.request.uri)
            ).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app.get_application_id()
        version = os.environ['CURRENT_VERSION_ID']
        if '.' not in version or not appengine_config.PRODUCTION_MODE:
            template_values['application_version'] = version
        else:
            version, deployed_at = version.split('.', 1)
            template_values['application_version'] = version
            template_values['deployed_at'] = datetime.datetime.utcfromtimestamp(
                int(deployed_at) >> 28)  # Yes, really.
        if not template_values.get('sections'):
            template_values['sections'] = []
        if not appengine_config.PRODUCTION_MODE:
            template_values['page_uuid'] = str(uuid.uuid1())

        self.response.write(
            self.get_template('view.html').render(template_values))
示例#16
0
    def render_page(self, template_values, in_action=None):
        """Renders a page using provided template values."""
        template_values['header_title'] = template_values['page_title']
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS
        ]
        template_values['course_title'] = self.app_context.get_title()

        current_action = in_action or self._get_current_menu_action()
        template_values['current_menu_item'] = self.actions_to_menu_items.get(
            current_action)
        template_values['courses_menu_item'] = self.actions_to_menu_items.get(
            'courses')
        template_values['root_menu_group'] = self.root_menu_group

        template_values['course_app_contexts'] = get_visible_courses()
        template_values['app_context'] = self.app_context
        template_values['current_course'] = self.get_course()
        template_values['gcb_course_base'] = self.get_base_href(self)
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())).append(
                safe_dom.Element('a',
                                 href=users.create_logout_url(
                                     self.request.uri)).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app_identity.get_application_id()
        version = os.environ['CURRENT_VERSION_ID']
        if '.' not in version or not appengine_config.PRODUCTION_MODE:
            template_values['application_version'] = version
        else:
            version, deployed_at = version.split('.', 1)
            template_values['application_version'] = version
            template_values[
                'deployed_at'] = datetime.datetime.utcfromtimestamp(
                    int(deployed_at) >> 28)  # Yes, really.

        template_values['extra_css_href_list'] = self.EXTRA_CSS_HREF_LIST
        template_values['extra_js_href_list'] = self.EXTRA_JS_HREF_LIST
        template_values['powered_by_url'] = services.help_urls.get(
            'dashboard:powered_by')

        if not template_values.get('sections'):
            template_values['sections'] = []
        if not appengine_config.PRODUCTION_MODE:
            template_values['page_uuid'] = str(uuid.uuid1())

        self.response.write(
            self.get_template('view.html').render(template_values))
示例#17
0
 def initialize_page_and_get_user(self):
     """Add basic fields to template and return user."""
     self.template_values['course_info'] = Courses.COURSE_TEMPLATE_DICT
     self.template_values['course_info']['course'] = {
         'locale': self.get_locale_for_user()
     }
     user = users.get_current_user()
     if not user:
         self.template_values['loginUrl'] = users.create_login_url('/')
     else:
         self.template_values['email'] = user.email()
         self.template_values['is_super_admin'] = Roles.is_super_admin()
         self.template_values['logoutUrl'] = users.create_logout_url('/')
     return user
示例#18
0
    def render_page(self, template_values, in_action=None):
        """Renders a page using provided template values."""
        template_values['header_title'] = template_values['page_title']
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS]
        template_values['course_title'] = self.app_context.get_title()

        current_action = in_action or self._get_current_menu_action()
        template_values['current_menu_item'] = self.actions_to_menu_items.get(
            current_action)
        template_values['courses_menu_item'] = self.actions_to_menu_items.get(
            'courses')
        template_values['root_menu_group'] = self.root_menu_group

        template_values['course_app_contexts'] = get_visible_courses()
        template_values['app_context'] = self.app_context
        template_values['current_course'] = self.get_course()
        template_values['gcb_course_base'] = self.get_base_href(self)
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())
        ).append(
            safe_dom.Element(
                'a', href=users.create_logout_url(self.request.uri)
            ).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app_identity.get_application_id()
        version = os.environ['CURRENT_VERSION_ID']
        if '.' not in version or not appengine_config.PRODUCTION_MODE:
            template_values['application_version'] = version
        else:
            version, deployed_at = version.split('.', 1)
            template_values['application_version'] = version
            template_values['deployed_at'] = datetime.datetime.utcfromtimestamp(
                int(deployed_at) >> 28)  # Yes, really.

        template_values['extra_css_href_list'] = self.EXTRA_CSS_HREF_LIST
        template_values['extra_js_href_list'] = self.EXTRA_JS_HREF_LIST
        template_values['powered_by_url'] = services.help_urls.get(
            'dashboard:powered_by')
        if not template_values.get('sections'):
            template_values['sections'] = []
        if not appengine_config.PRODUCTION_MODE:
            template_values['page_uuid'] = str(uuid.uuid1())

        self.response.write(
            self.get_template('view.html').render(template_values))
示例#19
0
    def render_page(self, template_values, in_action=None):
        page_title = template_values['page_title']
        template_values['header_title'] = page_title
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS]
        template_values['breadcrumbs'] = page_title

        # menu
        current_action = (in_action or self.request.get('action')
            or self.default_action_for_current_permissions())
        template_values['current_menu_item'] = self.actions_to_menu_items\
            .get(current_action)
        template_values['courses_menu_item'] = self.actions_to_menu_items.get(
            'courses')
        template_values['root_menu_group'] = self.root_menu_group

        template_values['course_app_contexts'] = dashboard.get_visible_courses()
        template_values['gcb_course_base'] = self.BASE_URL
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())
        ).append(
            safe_dom.Element(
                'a', href=users.create_logout_url(self.request.uri)
            ).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app.get_application_id()
        template_values['application_version'] = (
            os.environ['CURRENT_VERSION_ID'])
        if not template_values.get('sections'):
            template_values['sections'] = []
        if not appengine_config.PRODUCTION_MODE:
            template_values['page_uuid'] = str(uuid.uuid1())

        self.response.write(
            self.get_template('view.html').render(template_values))
示例#20
0
    def render_page(self, template_values, in_action=None):
        """Renders a page using provided template values."""
        template_values['header_title'] = template_values['page_title']
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS
        ]
        template_values['course_title'] = self.app_context.get_title()

        current_action = (in_action or self.request.get('action')
                          or self.default_action_for_current_permissions())
        current_menu_item = self.actions_to_menu_items.get(current_action)
        template_values['root_menu_group'] = self.root_menu_group
        template_values['current_menu_item'] = current_menu_item
        template_values['app_context'] = self.app_context
        template_values['course_app_contexts'] = get_visible_courses()
        template_values['current_course'] = self.get_course()

        template_values['gcb_course_base'] = self.get_base_href(self)
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())).append(
                safe_dom.Element('a',
                                 href=users.create_logout_url(
                                     self.request.uri)).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app_identity.get_application_id()
        template_values['application_version'] = (
            os.environ['CURRENT_VERSION_ID'])
        template_values['extra_css_href_list'] = self.EXTRA_CSS_HREF_LIST
        template_values['extra_js_href_list'] = self.EXTRA_JS_HREF_LIST
        if not template_values.get('sections'):
            template_values['sections'] = []

        self.response.write(
            self.get_template('view.html', []).render(template_values))
示例#21
0
    def render_page(self, template_values, in_action=None):
        """Renders a page using provided template values."""
        template_values['header_title'] = template_values['page_title']
        template_values['page_headers'] = [
            hook(self) for hook in self.PAGE_HEADER_HOOKS]
        template_values['course_title'] = self.app_context.get_title()

        current_action = (in_action or self.request.get('action')
            or self.default_action_for_current_permissions())
        current_menu_item = self.actions_to_menu_items.get(current_action)
        template_values['root_menu_group'] = self.root_menu_group
        template_values['current_menu_item'] = current_menu_item
        template_values['app_context'] = self.app_context
        template_values['course_app_contexts'] = get_visible_courses()
        template_values['current_course'] = self.get_course()

        template_values['gcb_course_base'] = self.get_base_href(self)
        template_values['user_nav'] = safe_dom.NodeList().append(
            safe_dom.Text('%s | ' % users.get_current_user().email())
        ).append(
            safe_dom.Element(
                'a', href=users.create_logout_url(self.request.uri)
            ).add_text('Logout'))
        template_values[
            'page_footer'] = 'Page created on: %s' % datetime.datetime.now()
        template_values['coursebuilder_version'] = (
            os.environ['GCB_PRODUCT_VERSION'])
        template_values['application_id'] = app_identity.get_application_id()
        template_values['application_version'] = (
            os.environ['CURRENT_VERSION_ID'])
        template_values['extra_css_href_list'] = self.EXTRA_CSS_HREF_LIST
        template_values['extra_js_href_list'] = self.EXTRA_JS_HREF_LIST
        if not template_values.get('sections'):
            template_values['sections'] = []

        self.response.write(
            self.get_template('view.html', []).render(template_values))
示例#22
0
 def test_create_logout_url_falls_back_to_gae_if_no_runtime_config(self):
     self.assertEquals(
         ('https://www.google.com/accounts/Logout?'
          'continue=http%3A//foo%3Fbar%3Db%20az'),
         users.create_logout_url('http://foo?bar=b az'))
示例#23
0
 def resolve_logout_url(self, args, info):
     return users.create_logout_url(dest_url=args['dest_url'])
示例#24
0
 def resolve_logout_url(self, args, info):
     return users.create_logout_url(dest_url=args['dest_url'])
示例#25
0
    def test_create_logout_url_delegates_to_gae_users_service(self):
        users_result = users.create_logout_url('destination')
        gae_users_result = gae_users.create_logout_url('destination')

        self.assert_service_results_equal_and_not_none(
            users_result, gae_users_result)
示例#26
0
    def test_create_logout_url_delegates_to_gae_users_service(self):
        users_result = users.create_logout_url('destination')
        gae_users_result = gae_users.create_logout_url('destination')

        self.assert_service_results_equal_and_not_none(users_result,
                                                       gae_users_result)
示例#27
0
 def test_create_logout_url_falls_back_to_gae_if_no_runtime_config(self):
     self.assertEquals(('https://www.google.com/accounts/Logout?'
                        'continue=http%3A//foo%3Fbar%3Db%20az'),
                       users.create_logout_url('http://foo?bar=b az'))