예제 #1
0
파일: base.py 프로젝트: saadtaame/cms
        self.r_params["user_test_count"] = count
        self.r_params["user_tests"] = \
            query.slice(offset, offset + page_size).all()
        self.r_params["user_test_page"] = page
        self.r_params["user_test_pages"] = \
            (count + page_size - 1) // page_size

    def render_params_for_remove_confirmation(self, query):
        count = query.count()

        if self.r_params is None:
            self.r_params = self.render_params()
        self.r_params["submission_count"] = count


FileHandler = file_handler_gen(BaseHandler)


class FileFromDigestHandler(FileHandler):
    """Return the file, using the given name, and as plain text."""
    @require_permission(BaseHandler.AUTHENTICATED)
    def get(self, digest, filename):
        # TODO: Accept a MIME type
        self.sql_session.close()
        self.fetch(digest, "text/plain", filename)


def SimpleHandler(page, authenticated=True, permission_all=False):
    if permission_all:
        class Cls(BaseHandler):
            @require_permission(BaseHandler.PERMISSION_ALL)
예제 #2
0
파일: contest.py 프로젝트: KasunDA/cms-3
        if len(self.contest.allowed_localizations) > 0:
            lang_codes = filter_language_codes(
                lang_codes, self.contest.allowed_localizations)
        for lang_code, trans in self.langs.iteritems():
            language_name = None
            # Filter lang_codes with allowed localizations
            if lang_code not in lang_codes:
                continue
            try:
                language_name = translate_language_country_code(
                    lang_code, trans)
            except ValueError:
                language_name = translate_language_code(
                    lang_code, trans)
            ret["lang_names"][lang_code.replace("_", "-")] = language_name

        ret["cookie_lang"] = self.cookie_lang
        ret["browser_lang"] = self.browser_lang

        return ret

    def get_login_url(self):
        """The login url depends on the contest name, so we can't just
        use the "login_url" application parameter.

        """
        return self.contest_url()


FileHandler = file_handler_gen(ContestHandler)