Files
edx-platform/common/djangoapps/student/management/commands/_create_users.py
Awais Qureshi 2dcaf9d5a6 BOM-2375-student-part1
pyupgrade in student app.
2021-03-08 18:29:25 +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(f'Created user {user.username} as course staff')
else:
print(f'Created user {user.username}')