Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
34806656
Commit
34806656
authored
Aug 27, 2012
by
Calen Pennington
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #541 from MITx/feature/ichuang/add-manage-course-groups-command
add manage_course_groups command to lms_migration
parents
25c83bbb
dc52956c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
76 additions
and
0 deletions
+76
-0
lms/djangoapps/lms_migration/management/commands/manage_course_groups.py
+76
-0
No files found.
lms/djangoapps/lms_migration/management/commands/manage_course_groups.py
0 → 100644
View file @
34806656
#!/usr/bin/python
#
# File: manage_course_groups
#
# interactively list and edit membership in course staff and instructor groups
import
os
,
sys
,
string
,
re
import
datetime
from
getpass
import
getpass
import
json
import
readline
from
django.core.management.base
import
BaseCommand
from
django.conf
import
settings
from
django.contrib.auth.models
import
User
,
Group
#-----------------------------------------------------------------------------
# get all staff groups
class
Command
(
BaseCommand
):
help
=
"Manage course group membership, interactively."
def
handle
(
self
,
*
args
,
**
options
):
gset
=
Group
.
objects
.
all
()
print
"Groups:"
for
cnt
,
g
in
zip
(
range
(
len
(
gset
)),
gset
):
print
"
%
d.
%
s"
%
(
cnt
,
g
)
gnum
=
int
(
raw_input
(
'Choose group to manage (enter #): '
))
group
=
gset
[
gnum
]
#-----------------------------------------------------------------------------
# users in group
uall
=
User
.
objects
.
all
()
if
uall
.
count
()
<
50
:
print
"----"
print
"List of All Users:
%
s"
%
[
str
(
x
.
username
)
for
x
in
uall
]
print
"----"
else
:
print
"----"
print
"There are
%
d users, which is too many to list"
%
uall
.
count
()
print
"----"
while
True
:
print
"Users in the group:"
uset
=
group
.
user_set
.
all
()
for
cnt
,
u
in
zip
(
range
(
len
(
uset
)),
uset
):
print
"
%
d.
%
s"
%
(
cnt
,
u
)
action
=
raw_input
(
'Choose user to delete (enter #) or enter usernames (comma delim) to add: '
)
m
=
re
.
match
(
'^[0-9]+$'
,
action
)
if
m
:
unum
=
int
(
action
)
u
=
uset
[
unum
]
print
"Deleting user
%
s"
%
u
u
.
groups
.
remove
(
group
)
else
:
for
uname
in
action
.
split
(
','
):
try
:
user
=
User
.
objects
.
get
(
username
=
action
)
except
Exception
as
err
:
print
"Error
%
s"
%
err
continue
print
"adding
%
s to group
%
s"
%
(
user
,
group
)
user
.
groups
.
add
(
group
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment