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
eb0e09d6
Commit
eb0e09d6
authored
Nov 01, 2013
by
Sarina Canelake
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Clean up some instructor dash code
parent
00185687
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
18 deletions
+18
-18
lms/djangoapps/instructor/access.py
+1
-1
lms/djangoapps/instructor/tests/test_access.py
+11
-11
lms/djangoapps/instructor/views/api.py
+6
-6
No files found.
lms/djangoapps/instructor/access.py
View file @
eb0e09d6
...
@@ -82,7 +82,7 @@ def _change_access(course, user, level, action):
...
@@ -82,7 +82,7 @@ def _change_access(course, user, level, action):
raise
ValueError
(
"unrecognized action '{}'"
.
format
(
action
))
raise
ValueError
(
"unrecognized action '{}'"
.
format
(
action
))
def
update_forum_role
_membership
(
course_id
,
user
,
rolename
,
action
):
def
update_forum_role
(
course_id
,
user
,
rolename
,
action
):
"""
"""
Change forum access of user.
Change forum access of user.
...
...
lms/djangoapps/instructor/tests/test_access.py
View file @
eb0e09d6
...
@@ -17,7 +17,7 @@ from django_comment_common.models import (Role,
...
@@ -17,7 +17,7 @@ from django_comment_common.models import (Role,
from
instructor.access
import
(
allow_access
,
from
instructor.access
import
(
allow_access
,
revoke_access
,
revoke_access
,
list_with_level
,
list_with_level
,
update_forum_role
_membership
)
update_forum_role
)
@override_settings
(
MODULESTORE
=
TEST_DATA_MIXED_MODULESTORE
)
@override_settings
(
MODULESTORE
=
TEST_DATA_MIXED_MODULESTORE
)
...
@@ -148,44 +148,44 @@ class TestInstructorAccessForum(ModuleStoreTestCase):
...
@@ -148,44 +148,44 @@ class TestInstructorAccessForum(ModuleStoreTestCase):
def
test_allow
(
self
):
def
test_allow
(
self
):
user
=
UserFactory
.
create
()
user
=
UserFactory
.
create
()
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'allow'
)
update_forum_role
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'allow'
)
self
.
assertIn
(
user
,
self
.
mod_role
.
users
.
all
())
self
.
assertIn
(
user
,
self
.
mod_role
.
users
.
all
())
def
test_allow_twice
(
self
):
def
test_allow_twice
(
self
):
user
=
UserFactory
.
create
()
user
=
UserFactory
.
create
()
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'allow'
)
update_forum_role
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'allow'
)
self
.
assertIn
(
user
,
self
.
mod_role
.
users
.
all
())
self
.
assertIn
(
user
,
self
.
mod_role
.
users
.
all
())
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'allow'
)
update_forum_role
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'allow'
)
self
.
assertIn
(
user
,
self
.
mod_role
.
users
.
all
())
self
.
assertIn
(
user
,
self
.
mod_role
.
users
.
all
())
@raises
(
Role
.
DoesNotExist
)
@raises
(
Role
.
DoesNotExist
)
def
test_allow_badrole
(
self
):
def
test_allow_badrole
(
self
):
user
=
UserFactory
.
create
()
user
=
UserFactory
.
create
()
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
'robot-not-a-real-role'
,
'allow'
)
update_forum_role
(
self
.
course
.
id
,
user
,
'robot-not-a-real-role'
,
'allow'
)
def
test_revoke
(
self
):
def
test_revoke
(
self
):
user
=
self
.
moderators
[
0
]
user
=
self
.
moderators
[
0
]
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'revoke'
)
update_forum_role
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'revoke'
)
self
.
assertNotIn
(
user
,
self
.
mod_role
.
users
.
all
())
self
.
assertNotIn
(
user
,
self
.
mod_role
.
users
.
all
())
def
test_revoke_twice
(
self
):
def
test_revoke_twice
(
self
):
user
=
self
.
moderators
[
0
]
user
=
self
.
moderators
[
0
]
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'revoke'
)
update_forum_role
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'revoke'
)
self
.
assertNotIn
(
user
,
self
.
mod_role
.
users
.
all
())
self
.
assertNotIn
(
user
,
self
.
mod_role
.
users
.
all
())
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'revoke'
)
update_forum_role
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'revoke'
)
self
.
assertNotIn
(
user
,
self
.
mod_role
.
users
.
all
())
self
.
assertNotIn
(
user
,
self
.
mod_role
.
users
.
all
())
def
test_revoke_notallowed
(
self
):
def
test_revoke_notallowed
(
self
):
user
=
UserFactory
()
user
=
UserFactory
()
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'revoke'
)
update_forum_role
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'revoke'
)
self
.
assertNotIn
(
user
,
self
.
mod_role
.
users
.
all
())
self
.
assertNotIn
(
user
,
self
.
mod_role
.
users
.
all
())
@raises
(
Role
.
DoesNotExist
)
@raises
(
Role
.
DoesNotExist
)
def
test_revoke_badrole
(
self
):
def
test_revoke_badrole
(
self
):
user
=
self
.
moderators
[
0
]
user
=
self
.
moderators
[
0
]
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
'robot-not-a-real-role'
,
'allow'
)
update_forum_role
(
self
.
course
.
id
,
user
,
'robot-not-a-real-role'
,
'allow'
)
@raises
(
ValueError
)
@raises
(
ValueError
)
def
test_bad_mode
(
self
):
def
test_bad_mode
(
self
):
user
=
UserFactory
()
user
=
UserFactory
()
update_forum_role
_membership
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'robot-not-a-mode'
)
update_forum_role
(
self
.
course
.
id
,
user
,
FORUM_ROLE_MODERATOR
,
'robot-not-a-mode'
)
lms/djangoapps/instructor/views/api.py
View file @
eb0e09d6
...
@@ -35,7 +35,7 @@ from instructor_task.views import get_task_completion_info
...
@@ -35,7 +35,7 @@ from instructor_task.views import get_task_completion_info
import
instructor.enrollment
as
enrollment
import
instructor.enrollment
as
enrollment
from
instructor.enrollment
import
enroll_email
,
unenroll_email
from
instructor.enrollment
import
enroll_email
,
unenroll_email
from
instructor.views.tools
import
strip_if_string
,
get_student_from_identifier
from
instructor.views.tools
import
strip_if_string
,
get_student_from_identifier
import
instructor.access
as
access
from
instructor.access
import
list_with_level
,
allow_access
,
revoke_access
,
update_forum_role
import
analytics.basic
import
analytics.basic
import
analytics.distributions
import
analytics.distributions
import
analytics.csvs
import
analytics.csvs
...
@@ -294,9 +294,9 @@ def modify_access(request, course_id):
...
@@ -294,9 +294,9 @@ def modify_access(request, course_id):
)
)
if
action
==
'allow'
:
if
action
==
'allow'
:
a
ccess
.
a
llow_access
(
course
,
user
,
rolename
)
allow_access
(
course
,
user
,
rolename
)
elif
action
==
'revoke'
:
elif
action
==
'revoke'
:
access
.
revoke_access
(
course
,
user
,
rolename
)
revoke_access
(
course
,
user
,
rolename
)
else
:
else
:
return
HttpResponseBadRequest
(
"unrecognized action '{}'"
.
format
(
action
))
return
HttpResponseBadRequest
(
"unrecognized action '{}'"
.
format
(
action
))
...
@@ -352,7 +352,7 @@ def list_course_role_members(request, course_id):
...
@@ -352,7 +352,7 @@ def list_course_role_members(request, course_id):
response_payload
=
{
response_payload
=
{
'course_id'
:
course_id
,
'course_id'
:
course_id
,
rolename
:
map
(
extract_user_info
,
access
.
list_with_level
(
rolename
:
map
(
extract_user_info
,
list_with_level
(
course
,
rolename
course
,
rolename
)),
)),
}
}
...
@@ -381,7 +381,7 @@ def get_grading_config(request, course_id):
...
@@ -381,7 +381,7 @@ def get_grading_config(request, course_id):
@ensure_csrf_cookie
@ensure_csrf_cookie
@cache_control
(
no_cache
=
True
,
no_store
=
True
,
must_revalidate
=
True
)
@cache_control
(
no_cache
=
True
,
no_store
=
True
,
must_revalidate
=
True
)
@require_level
(
'staff'
)
@require_level
(
'staff'
)
def
get_students_features
(
request
,
course_id
,
csv
=
False
):
# pylint: disable=W0613
def
get_students_features
(
request
,
course_id
,
csv
=
False
):
# pylint: disable=W0613
, W0621
"""
"""
Respond with json which contains a summary of all enrolled students profile information.
Respond with json which contains a summary of all enrolled students profile information.
...
@@ -882,7 +882,7 @@ def update_forum_role_membership(request, course_id):
...
@@ -882,7 +882,7 @@ def update_forum_role_membership(request, course_id):
return
HttpResponseBadRequest
(
"Cannot revoke instructor forum admin privelages."
)
return
HttpResponseBadRequest
(
"Cannot revoke instructor forum admin privelages."
)
try
:
try
:
access
.
update_forum_role_membership
(
course_id
,
user
,
rolename
,
action
)
update_forum_role
(
course_id
,
user
,
rolename
,
action
)
except
Role
.
DoesNotExist
:
except
Role
.
DoesNotExist
:
return
HttpResponseBadRequest
(
"Role does not exist."
)
return
HttpResponseBadRequest
(
"Role does not exist."
)
...
...
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