From c4dc624c7f56ecdf10d696c3cb6cf42372d7b22e Mon Sep 17 00:00:00 2001 From: arbabnazar Date: Tue, 20 Oct 2015 14:00:59 -0400 Subject: [PATCH 1/4] take the list of users for enrolment change --- .../management/commands/change_enrollment.py | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/common/djangoapps/student/management/commands/change_enrollment.py b/common/djangoapps/student/management/commands/change_enrollment.py index 62ce9e3779..a9db87b600 100644 --- a/common/djangoapps/student/management/commands/change_enrollment.py +++ b/common/djangoapps/student/management/commands/change_enrollment.py @@ -70,19 +70,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() From 361035c098f9dc63454a65f59a25c5cf7f737ea1 Mon Sep 17 00:00:00 2001 From: arbabnazar Date: Tue, 20 Oct 2015 14:51:18 -0400 Subject: [PATCH 2/4] change the help text --- .../student/management/commands/change_enrollment.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/common/djangoapps/student/management/commands/change_enrollment.py b/common/djangoapps/student/management/commands/change_enrollment.py index a9db87b600..24ca6a4097 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,8 @@ class Command(BaseCommand): metavar='USER', dest='user', default=False, - help="User to move, if not specified will move all users in the course"), + action="append", + help="List of users to move in the course"), make_option('-c', '--course', metavar='COURSE_ID', dest='course_id', From b3e37e54bae754ca9df2049f8b151fedd699ac28 Mon Sep 17 00:00:00 2001 From: arbabnazar Date: Tue, 20 Oct 2015 15:30:06 -0400 Subject: [PATCH 3/4] remove the append action --- .../djangoapps/student/management/commands/change_enrollment.py | 1 - 1 file changed, 1 deletion(-) diff --git a/common/djangoapps/student/management/commands/change_enrollment.py b/common/djangoapps/student/management/commands/change_enrollment.py index 24ca6a4097..e1fcf945a4 100644 --- a/common/djangoapps/student/management/commands/change_enrollment.py +++ b/common/djangoapps/student/management/commands/change_enrollment.py @@ -44,7 +44,6 @@ class Command(BaseCommand): metavar='USER', dest='user', default=False, - action="append", help="List of users to move in the course"), make_option('-c', '--course', metavar='COURSE_ID', From 85e67bea4a4d851183c6a431a48c2cd177f5cccb Mon Sep 17 00:00:00 2001 From: arbabnazar Date: Tue, 20 Oct 2015 15:37:09 -0400 Subject: [PATCH 4/4] help updated --- .../djangoapps/student/management/commands/change_enrollment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/djangoapps/student/management/commands/change_enrollment.py b/common/djangoapps/student/management/commands/change_enrollment.py index e1fcf945a4..d6199a468c 100644 --- a/common/djangoapps/student/management/commands/change_enrollment.py +++ b/common/djangoapps/student/management/commands/change_enrollment.py @@ -44,7 +44,7 @@ class Command(BaseCommand): metavar='USER', dest='user', default=False, - help="List of users to move in the course"), + help="Comma-separated list of users to move in the course"), make_option('-c', '--course', metavar='COURSE_ID', dest='course_id',