diff --git a/common/djangoapps/student/management/commands/change_enrollment.py b/common/djangoapps/student/management/commands/change_enrollment.py index 62ce9e3779..d6199a468c 100644 --- a/common/djangoapps/student/management/commands/change_enrollment.py +++ b/common/djangoapps/student/management/commands/change_enrollment.py @@ -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()