Exemple #1
0
    def post(self):
        """Handles POST requests."""
        user = self.personalize_page_and_get_user()
        if not user:
            self.redirect(users.create_login_url(self.request.uri), normalize=False)
            return

        if not self.assert_xsrf_token_or_fail(self.request, "register-post"):
            return

        can_register = self.app_context.get_environ()["reg_form"]["can_register"]
        if not can_register:
            self.redirect("/course#registration_closed")
            return

        if "name_from_profile" in self.request.POST.keys():
            profile = StudentProfileDAO.get_profile_by_user_id(user.user_id())
            name = profile.nick_name
        else:
            name = self.request.get("form01")

        Student.add_new_student_for_current_user(name, transforms.dumps(self.request.POST.items()))

        course = sites.get_course_for_current_request()
        if course.get_slug().split("_")[-1] == "DFR":
            self.redirect("/gDefier/register")
        else:
            self.redirect("/course#registration_confirmation")
Exemple #2
0
def get_unit_title_template(course_properties=None):
    """Prepare an internationalized display for the unit title."""
    if not course_properties:
        course_properties = _get_course_properties()
    if course_properties['course'].get('display_unit_title_without_index'):
        return '%(title)s'
    else:
        app_context = sites.get_course_for_current_request()
        # I18N: Message displayed as title for unit within a course.
        return app_context.gettext('Unit %(index)s - %(title)s')
Exemple #3
0
def display_short_unit_title(unit, course_properties=None):
    """Prepare a short unit title."""
    if not course_properties:
        course_properties = _get_course_properties()
    if course_properties['course'].get('display_unit_title_without_index'):
        return unit.title
    if unit.type != 'U':
        return unit.title
    app_context = sites.get_course_for_current_request()
    # I18N: Message displayed as title for unit within a course.
    unit_title = app_context.gettext('Unit %s')
    return unit_title % unit.index
Exemple #4
0
    def get_template(self, template_file, additional_dirs=None):
        """Computes location of template files for the current namespace."""
        self.template_value[COURSE_INFO_KEY] = self.app_context.get_environ()
        self.template_value["is_course_admin"] = Roles.is_course_admin(self.app_context)
        self.template_value["is_read_write_course"] = self.app_context.fs.is_read_write()
        self.template_value["is_super_admin"] = Roles.is_super_admin()
        self.template_value[COURSE_BASE_KEY] = self.get_base_href(self)
        template_environ = self.app_context.get_template_environ(
            self.template_value[COURSE_INFO_KEY]["course"]["locale"], additional_dirs
        )
        template_environ.filters["gcb_tags"] = jinja_utils.get_gcb_tags_filter(self)

        course = sites.get_course_for_current_request()
        if course.get_slug().split("_")[-1] == "DFR":
            self.template_value["gDefier_enabled"] = True

        return template_environ.get_template(template_file)
Exemple #5
0
def _get_course_properties():
    return Course.get_environ(sites.get_course_for_current_request())
Exemple #6
0
def _get_course_properties():
    return Course.get_environ(sites.get_course_for_current_request())