* Generate common/djangoapps import shims for LMS * Generate common/djangoapps import shims for Studio * Stop appending project root to sys.path * Stop appending common/djangoapps to sys.path * Import from common.djangoapps.course_action_state instead of course_action_state * Import from common.djangoapps.course_modes instead of course_modes * Import from common.djangoapps.database_fixups instead of database_fixups * Import from common.djangoapps.edxmako instead of edxmako * Import from common.djangoapps.entitlements instead of entitlements * Import from common.djangoapps.pipline_mako instead of pipeline_mako * Import from common.djangoapps.static_replace instead of static_replace * Import from common.djangoapps.student instead of student * Import from common.djangoapps.terrain instead of terrain * Import from common.djangoapps.third_party_auth instead of third_party_auth * Import from common.djangoapps.track instead of track * Import from common.djangoapps.util instead of util * Import from common.djangoapps.xblock_django instead of xblock_django * Add empty common/djangoapps/__init__.py to fix pytest collection * Fix pylint formatting violations * Exclude import_shims/ directory tree from linting
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
""" Shared behavior between create_test_users and create_random_users """
|
|
from xmodule.modulestore.django import modulestore
|
|
|
|
from lms.djangoapps.instructor.access import allow_access
|
|
from openedx.core.djangoapps.user_authn.views.registration_form import AccountCreationForm
|
|
from common.djangoapps.student.helpers import do_create_account
|
|
from common.djangoapps.student.models import CourseEnrollment
|
|
|
|
|
|
def create_users(
|
|
course_key,
|
|
user_data,
|
|
enrollment_mode=None,
|
|
course_staff=False,
|
|
activate=False
|
|
):
|
|
"""Create users, enrolling them in course_key if it's not None"""
|
|
for single_user_data in user_data:
|
|
account_creation_form = AccountCreationForm(
|
|
data=single_user_data,
|
|
tos_required=False
|
|
)
|
|
|
|
(user, _, _) = do_create_account(account_creation_form)
|
|
|
|
if activate:
|
|
user.is_active = True
|
|
user.save()
|
|
|
|
if course_key is not None:
|
|
CourseEnrollment.enroll(user, course_key, mode=enrollment_mode)
|
|
if course_staff:
|
|
course = modulestore().get_course(course_key, depth=1)
|
|
allow_access(course, user, 'staff', send_email=False)
|
|
|
|
if course_key and course_staff:
|
|
print('Created user {} as course staff'.format(user.username))
|
|
else:
|
|
print('Created user {}'.format(user.username))
|