Commit 034ac1c8 by Arbab Nazar

Merge pull request #10271 from edx/arbab/enrollment-user-list

take the list of users for enrolment change
parents b50daf5f 85e67bea
...@@ -17,7 +17,11 @@ class Command(BaseCommand): ...@@ -17,7 +17,11 @@ class Command(BaseCommand):
Change enrollment for user joe from audit to honor: 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 Change enrollment for all users in some/course/id from audit to honor
...@@ -40,7 +44,7 @@ class Command(BaseCommand): ...@@ -40,7 +44,7 @@ class Command(BaseCommand):
metavar='USER', metavar='USER',
dest='user', dest='user',
default=False, 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', make_option('-c', '--course',
metavar='COURSE_ID', metavar='COURSE_ID',
dest='course_id', dest='course_id',
...@@ -70,19 +74,21 @@ class Command(BaseCommand): ...@@ -70,19 +74,21 @@ class Command(BaseCommand):
mode=options['from_mode'] mode=options['from_mode']
) )
if options['user']: if options['user']:
if '@' in options['user']: user_str = options['user']
user = User.objects.get(email=options['user']) for username in user_str.split(","):
else: if '@' in username:
user = User.objects.get(username=options['user']) user = User.objects.get(email=username)
filter_args['user'] = user else:
enrollments = CourseEnrollment.objects.filter(**filter_args) user = User.objects.get(username=username)
if options['noop']: filter_args['user'] = user
print "Would have changed {num_enrollments} students from {from_mode} to {to_mode}".format( enrollments = CourseEnrollment.objects.filter(**filter_args)
num_enrollments=enrollments.count(), if options['noop']:
from_mode=options['from_mode'], print "Would have changed {num_enrollments} students from {from_mode} to {to_mode}".format(
to_mode=options['to_mode'] num_enrollments=enrollments.count(),
) from_mode=options['from_mode'],
else: to_mode=options['to_mode']
for enrollment in enrollments: )
enrollment.update_enrollment(mode=options['to_mode']) else:
enrollment.save() for enrollment in enrollments:
enrollment.update_enrollment(mode=options['to_mode'])
enrollment.save()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment