Beispiel #1
0
def _create_edevate_course_for_verification(sender, course_key, **kwargs):  # pylint: disable=unused-argument
    """
    Catches the signal that a course has been published in Studio and
    create course on the edevate for verification.
    """
    from cms.djangoapps.contentstore.courseware_index import CourseAboutSearchIndexer
    from student.models import CourseAccessRole, get_user

    try:
        course_access_role = CourseAccessRole.objects.get(course_id=course_key,
                                                          role='instructor')
        course_author = course_access_role.user
        edevate_db = EdevateDbConnector()
        edevate_db.update_or_create_verification_course(course_key,
                                                        course_author.email)
        edevate_db.close()
        CourseAboutSearchIndexer.remove_deleted_items(course_key)

        admin_emails_list = settings.ADMIN_VERIFICATION_EMAILS
        for admin_email in admin_emails_list:
            user, user_profile = get_user(admin_email)
            if user:
                context = {
                    'course_key': course_key
                }
                subject = "Openedx course verification"
                message = render_to_string('emails/edevate_course_verification_email.txt',
                                           context)
                from_address = settings.DEFAULT_FROM_EMAIL
                user.email_user(subject, message, from_address)
    except CourseAccessRole.DoesNotExist:
        pass
Beispiel #2
0
def other_user_login(step, name):
    step.given('I log out')
    world.visit('/')

    signin_css = 'a.action-signin'
    world.is_css_present(signin_css)
    world.css_click(signin_css)

    def fill_login_form():
        login_form = world.browser.find_by_css('form#login_form')
        login_form.find_by_name('email').fill(name + '@edx.org')
        login_form.find_by_name('password').fill("test")
        login_form.find_by_name('submit').click()
    world.retry_on_exception(fill_login_form)
    assert world.is_css_present('.new-course-button')
    world.scenario_dict['USER'] = get_user(name + '@edx.org')
Beispiel #3
0
def create_a_course():
    course = world.CourseFactory.create(org='MITx', course='999', display_name='Robot Super Course')
    world.scenario_dict['COURSE'] = course

    user = world.scenario_dict.get("USER")
    if not user:
        user = get_user('*****@*****.**')

    add_course_author(user, course)

    # Navigate to the studio dashboard
    world.visit('/')
    course_link_css = 'a.course-link'
    world.css_click(course_link_css)
    course_title_css = 'span.course-title'
    assert world.is_css_present(course_title_css)
Beispiel #4
0
def other_user_login(step, name):
    step.given('I log out')
    world.visit('/')

    signin_css = 'a.action-signin'
    world.is_css_present(signin_css)
    world.css_click(signin_css)

    def fill_login_form():
        login_form = world.browser.find_by_css('form#login_form')
        login_form.find_by_name('email').fill(name + '@edx.org')
        login_form.find_by_name('password').fill("test")
        login_form.find_by_name('submit').click()
    world.retry_on_exception(fill_login_form)
    assert_true(world.is_css_present('.new-course-button'))
    world.scenario_dict['USER'] = get_user(name + '@edx.org')
Beispiel #5
0
def create_a_course():
    course = world.CourseFactory.create(org='MITx', course='999', display_name='Robot Super Course')
    world.scenario_dict['COURSE'] = course

    user = world.scenario_dict.get("USER")
    if not user:
        user = get_user('*****@*****.**')

    add_course_author(user, course)

    # Navigate to the studio dashboard
    world.visit('/')
    course_link_css = 'a.course-link'
    world.css_click(course_link_css)
    course_title_css = 'span.course-title'
    assert_true(world.is_css_present(course_title_css))
Beispiel #6
0
def create_a_course():
    course = world.CourseFactory.create(org="MITx", course="999", display_name="Robot Super Course")
    world.scenario_dict["COURSE"] = course

    user = world.scenario_dict.get("USER")
    if not user:
        user = get_user("*****@*****.**")

    add_course_author(user, course)

    # Navigate to the studio dashboard
    world.visit("/")
    course_link_css = "a.course-link"
    world.css_click(course_link_css)
    course_title_css = "span.course-title"
    assert_true(world.is_css_present(course_title_css))
Beispiel #7
0
def other_user_login(step, name):
    step.given("I log out")
    world.visit("/")

    signin_css = "a.action-signin"
    world.is_css_present(signin_css)
    world.css_click(signin_css)

    def fill_login_form():
        login_form = world.browser.find_by_css("form#login_form")
        login_form.find_by_name("email").fill(name + "@edx.org")
        login_form.find_by_name("password").fill("test")
        login_form.find_by_name("submit").click()

    world.retry_on_exception(fill_login_form)
    assert_true(world.is_css_present(".new-course-button"))
    world.scenario_dict["USER"] = get_user(name + "@edx.org")
Beispiel #8
0
def get_edxapp_user(*args, **kwargs):
    """ Backend to get_user """
    return get_user(*args, **kwargs)
def get_user_helper(*args, **kwargs):
    """ Returns the get_user method. """
    return get_user(*args, **kwargs)
def get_user_backend(*args, **kwargs):
    """Return the method get_user from student.models."""
    return get_user(*args, **kwargs)