Esempio n. 1
0
    def dispatch(self):
        if self.restricted and not users.is_current_user_admin():
            if self.current_user:
                user_permission = UserPermission.get_by_id(
                    self.current_user.email().lower())
                if not user_permission:
                    self.abort(403)
                if not user_permission.check_permission(self.__class__):
                    self.abort(403)
            else:
                self.redirect(
                    users.create_login_url(dest_url=self.request.url))

        if self.use_cache and self.request.method == "GET" and not self.debug:
            memcache_key = self._generate_memcache_key(self.request.path)
            response_values = memcache.get(memcache_key)

            if response_values:
                logging.info("Hit memcache key: " + memcache_key)
                self.response.headerlist = response_values[0]
                self.response.body = response_values[1]
            else:
                logging.info("Miss memcache key: " + memcache_key)
                super(BaseHandler, self).dispatch()
                # extract response body and headers and save them for the future
                response_values = (self.response.headerlist,
                                   self.response.body)
                memcache.add(memcache_key, response_values)
                logging.info("Added memcache key: " + memcache_key)
        else:
            logging.info("Skipping memcache: " + self.request.path)
            super(BaseHandler, self).dispatch()
Esempio n. 2
0
    def generate_manage_bar(self):
        if users.is_current_user_admin():
            displayed_pages = Manage_Restricted_Pages.keys()
        else:
            user_permission = UserPermission.get_by_id(self.current_user.email().lower())
            displayed_pages = user_permission.PermittedPageClasses

        pages = {}
        for page in displayed_pages:
            if page in Other_Restricted_Pages:
                continue

            group, link = Manage_Restricted_Pages[page]
            if group in pages:
                pages[group].append(link)
            else:
                pages[group] = [link, ]

        final_pages = []
        for group in sorted(pages.keys()):
            final_group = []
            for link in sorted(pages[group], key=lambda x: x[1]):
                final_group.append(link)
            final_pages.append(final_group)

        self.template_vars['manage_pages'] = final_pages
Esempio n. 3
0
    def dispatch(self):
        if self.restricted and not users.is_current_user_admin():
            if self.current_user:
                user_permission = UserPermission.get_by_id(self.current_user.email().lower())
                if not user_permission:
                    self.abort(403)
                if not user_permission.check_permission(self.__class__):
                    self.abort(403)
            else:
                self.redirect(users.create_login_url(dest_url=self.request.url))

        if self.use_cache and self.request.method == "GET" and not self.debug:
            memcache_key = self._generate_memcache_key(self.request.path)
            response_values = memcache.get(memcache_key)

            if response_values:
                logging.info("Hit memcache key: " + memcache_key)
                self.response.headerlist = response_values[0]
                self.response.body = response_values[1]
            else:
                logging.info("Miss memcache key: " + memcache_key)
                super(BaseHandler, self).dispatch()
                # extract response body and headers and save them for the future
                response_values = (self.response.headerlist, self.response.body)
                memcache.add(memcache_key, response_values)
                logging.info("Added memcache key: " + memcache_key)
        else:
            logging.info("Skipping memcache: " + self.request.path)
            super(BaseHandler, self).dispatch()
Esempio n. 4
0
    def get(self):
        self.template_vars['user_permissions'] = UserPermission.query()
        self.template_vars['form'] = self.generate_form(UserPermission_Form)

        self.render_template("admin/user_permissions.html")
Esempio n. 5
0
    def get(self):
        self.template_vars['user_permissions'] = UserPermission.query()
        self.template_vars['form'] = self.generate_form(UserPermission_Form)

        self.render_template("admin/user_permissions.html")