Commit 83ff497e by Miles Steele

add beta to endpoint, rename endpoint

parent 0a657bef
......@@ -10,7 +10,7 @@ TODO sync instructor and staff flags
"""
from django.contrib.auth.models import User, Group
from courseware.access import get_access_group_name
from courseware.access import get_access_group_name, course_beta_test_group_name
from django_comment_common.models import (Role,
FORUM_ROLE_ADMINISTRATOR,
FORUM_ROLE_MODERATOR,
......@@ -29,7 +29,7 @@ def allow_access(course, user, level):
"""
Allow user access to course modification.
level is one of ['instructor', 'staff']
level is one of ['instructor', 'staff', 'beta']
"""
_change_access(course, user, level, 'allow')
......@@ -38,7 +38,7 @@ def revoke_access(course, user, level):
"""
Revoke access from user to course modification.
level is one of ['instructor', 'staff']
level is one of ['instructor', 'staff', 'beta']
"""
_change_access(course, user, level, 'revoke')
......@@ -47,9 +47,13 @@ def _change_access(course, user, level, mode):
"""
Change access of user.
level is one of ['instructor', 'staff']
level is one of ['instructor', 'staff', 'beta']
mode is one of ['allow', 'revoke']
"""
if level in ['beta']:
grpname = course_beta_test_group_name(course)
else:
grpname = get_access_group_name(course, level)
group, _ = Group.objects.get_or_create(name=grpname)
......
......@@ -61,7 +61,7 @@ def access_allow_revoke(request, course_id):
Query parameters:
email is the target users email
rolename is one of ['instructor', 'staff']
rolename is one of ['instructor', 'staff', 'beta']
mode is one of ['allow', 'revoke']
"""
course = get_course_with_access(request.user, course_id, 'instructor', depth=None)
......@@ -88,18 +88,18 @@ def access_allow_revoke(request, course_id):
@ensure_csrf_cookie
@cache_control(no_cache=True, no_store=True, must_revalidate=True)
def list_instructors_staff(request, course_id):
def list_course_role_members(request, course_id):
"""
List instructors and staff.
Requires staff access.
rolename is one of ['instructor', 'staff']
rolename is one of ['instructor', 'staff', 'beta']
"""
course = get_course_with_access(request.user, course_id, 'staff', depth=None)
rolename = request.GET.get('rolename', '')
if not rolename in ['instructor', 'staff']:
if not rolename in ['instructor', 'staff', 'beta']:
return HttpResponseBadRequest()
def extract_user_info(user):
......
......@@ -107,7 +107,7 @@ def _section_membership(course_id):
'section_display_name': 'Membership',
'enroll_button_url': reverse('enroll_unenroll', kwargs={'course_id': course_id}),
'unenroll_button_url': reverse('enroll_unenroll', kwargs={'course_id': course_id}),
'list_instructors_staff_url': reverse('list_instructors_staff', kwargs={'course_id': course_id}),
'list_course_role_members_url': reverse('list_course_role_members', kwargs={'course_id': course_id}),
'access_allow_revoke_url': reverse('access_allow_revoke', kwargs={'course_id': course_id}),
'list_forum_members_url': reverse('list_forum_members', kwargs={'course_id': course_id}),
'update_forum_role_membership_url': reverse('update_forum_role_membership', kwargs={'course_id': course_id}),
......
......@@ -3,7 +3,6 @@
log = -> console.log.apply console, arguments
plantTimeout = (ms, cb) -> setTimeout cb, ms
CSS_INSTRUCTOR_CONTENT = 'instructor-dashboard-content-2'
CSS_ACTIVE_SECTION = 'active-section'
CSS_IDASH_SECTION = 'idash-section'
......
......@@ -257,8 +257,8 @@ if settings.COURSEWARE_ENABLED:
# api endpoints for instructor
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/enroll_unenroll$',
'instructor.views.api.enroll_unenroll', name="enroll_unenroll"),
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/list_instructors_staff$',
'instructor.views.api.list_instructors_staff', name="list_instructors_staff"),
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/list_course_role_members$',
'instructor.views.api.list_course_role_members', name="list_course_role_members"),
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/access_allow_revoke$',
'instructor.views.api.access_allow_revoke', name="access_allow_revoke"),
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/grading_config$',
......
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