Merge pull request #10271 from edx/arbab/enrollment-user-list
take the list of users for enrolment change
This commit is contained in:
@@ -17,7 +17,11 @@ class Command(BaseCommand):
|
||||
|
||||
Change enrollment for user joe from audit to honor:
|
||||
|
||||
$ ... change_enrollment -u joe -c some/course/id --from audit --to honor
|
||||
$ ... change_enrollment -u joe,frank,bill -c some/course/id --from audit --to honor
|
||||
|
||||
Or
|
||||
|
||||
$ ... change_enrollment -u "joe@example.com,frank@example.com,bill@example.com" -c some/course/id --from audit --to honor
|
||||
|
||||
Change enrollment for all users in some/course/id from audit to honor
|
||||
|
||||
@@ -40,7 +44,7 @@ class Command(BaseCommand):
|
||||
metavar='USER',
|
||||
dest='user',
|
||||
default=False,
|
||||
help="User to move, if not specified will move all users in the course"),
|
||||
help="Comma-separated list of users to move in the course"),
|
||||
make_option('-c', '--course',
|
||||
metavar='COURSE_ID',
|
||||
dest='course_id',
|
||||
@@ -70,19 +74,21 @@ class Command(BaseCommand):
|
||||
mode=options['from_mode']
|
||||
)
|
||||
if options['user']:
|
||||
if '@' in options['user']:
|
||||
user = User.objects.get(email=options['user'])
|
||||
else:
|
||||
user = User.objects.get(username=options['user'])
|
||||
filter_args['user'] = user
|
||||
enrollments = CourseEnrollment.objects.filter(**filter_args)
|
||||
if options['noop']:
|
||||
print "Would have changed {num_enrollments} students from {from_mode} to {to_mode}".format(
|
||||
num_enrollments=enrollments.count(),
|
||||
from_mode=options['from_mode'],
|
||||
to_mode=options['to_mode']
|
||||
)
|
||||
else:
|
||||
for enrollment in enrollments:
|
||||
enrollment.update_enrollment(mode=options['to_mode'])
|
||||
enrollment.save()
|
||||
user_str = options['user']
|
||||
for username in user_str.split(","):
|
||||
if '@' in username:
|
||||
user = User.objects.get(email=username)
|
||||
else:
|
||||
user = User.objects.get(username=username)
|
||||
filter_args['user'] = user
|
||||
enrollments = CourseEnrollment.objects.filter(**filter_args)
|
||||
if options['noop']:
|
||||
print "Would have changed {num_enrollments} students from {from_mode} to {to_mode}".format(
|
||||
num_enrollments=enrollments.count(),
|
||||
from_mode=options['from_mode'],
|
||||
to_mode=options['to_mode']
|
||||
)
|
||||
else:
|
||||
for enrollment in enrollments:
|
||||
enrollment.update_enrollment(mode=options['to_mode'])
|
||||
enrollment.save()
|
||||
|
||||
Reference in New Issue
Block a user