Files
edx-platform/common/djangoapps/student/management/commands/_create_users.py
Kyle McCormick 151bd13666 Use full names for common.djangoapps imports; warn when using old style (#25477)
* 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
2020-11-10 07:02:01 -05:00

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))