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
dca22308
Commit
dca22308
authored
Aug 08, 2014
by
Zia Fazal
Committed by
Jonathan Piacenti
Aug 20, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ziafazal/api-add-filters-to-users-api
added course filter to user groups api
parent
6c1181c7
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
2 deletions
+20
-2
lms/djangoapps/api_manager/groups/views.py
+1
-1
lms/djangoapps/api_manager/users/tests.py
+11
-0
lms/djangoapps/api_manager/users/views.py
+8
-1
No files found.
lms/djangoapps/api_manager/groups/views.py
View file @
dca22308
...
@@ -513,7 +513,7 @@ class GroupsCoursesList(SecureAPIView):
...
@@ -513,7 +513,7 @@ class GroupsCoursesList(SecureAPIView):
def
post
(
self
,
request
,
group_id
):
def
post
(
self
,
request
,
group_id
):
"""
"""
POST /api/groups/{group_id}/courses/
{course_id}
POST /api/groups/{group_id}/courses/
"""
"""
response_data
=
{}
response_data
=
{}
try
:
try
:
...
...
lms/djangoapps/api_manager/users/tests.py
View file @
dca22308
...
@@ -549,6 +549,10 @@ class UsersApiTests(ModuleStoreTestCase):
...
@@ -549,6 +549,10 @@ class UsersApiTests(ModuleStoreTestCase):
response
=
self
.
do_post
(
user_groups_uri
,
data
)
response
=
self
.
do_post
(
user_groups_uri
,
data
)
self
.
assertEqual
(
response
.
status_code
,
201
)
self
.
assertEqual
(
response
.
status_code
,
201
)
course_id
=
unicode
(
self
.
course
.
id
)
response
=
self
.
do_post
(
'{}/{}/courses/'
.
format
(
group_url
,
group_id
),
{
'course_id'
:
course_id
})
self
.
assertEqual
(
response
.
status_code
,
201
)
response
=
self
.
do_get
(
fail_user_id_group_uri
)
response
=
self
.
do_get
(
fail_user_id_group_uri
)
self
.
assertEqual
(
response
.
status_code
,
404
)
self
.
assertEqual
(
response
.
status_code
,
404
)
...
@@ -561,6 +565,13 @@ class UsersApiTests(ModuleStoreTestCase):
...
@@ -561,6 +565,13 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
len
(
response
.
data
[
'groups'
]),
1
)
self
.
assertEqual
(
len
(
response
.
data
[
'groups'
]),
1
)
course
=
{
'course'
:
course_id
}
group_type_uri
=
'{}?{}'
.
format
(
user_groups_uri
,
urlencode
(
course
))
response
=
self
.
do_get
(
group_type_uri
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
len
(
response
.
data
[
'groups'
]),
1
)
self
.
assertEqual
(
response
.
data
[
'groups'
][
0
][
'id'
],
group_id
)
error_type_uri
=
'{}?type={}'
.
format
(
user_groups_uri
,
'error_type'
)
error_type_uri
=
'{}?type={}'
.
format
(
user_groups_uri
,
'error_type'
)
response
=
self
.
do_get
(
error_type_uri
)
response
=
self
.
do_get
(
error_type_uri
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
status_code
,
200
)
...
...
lms/djangoapps/api_manager/users/views.py
View file @
dca22308
...
@@ -569,6 +569,8 @@ class UsersGroupsList(SecureAPIView):
...
@@ -569,6 +569,8 @@ class UsersGroupsList(SecureAPIView):
- URI: ```/api/users/{user_id}/groups/```
- URI: ```/api/users/{user_id}/groups/```
- GET: Returns a JSON representation (array) of the set of related Group entities
- GET: Returns a JSON representation (array) of the set of related Group entities
* type: Set filtering parameter
* type: Set filtering parameter
* course: Set filtering parameter to groups associated to a course or courses
- URI: ```/api/users/{user_id}/groups/?type=series,seriesX&course=slashes
%3
AMITx
%2
B999
%2
BTEST_COURSE```
- POST: Append a Group entity to the set of related Group entities for the specified User
- POST: Append a Group entity to the set of related Group entities for the specified User
* group_id: __required__, The identifier for the Group being added
* group_id: __required__, The identifier for the Group being added
- POST Example:
- POST Example:
...
@@ -616,12 +618,17 @@ class UsersGroupsList(SecureAPIView):
...
@@ -616,12 +618,17 @@ class UsersGroupsList(SecureAPIView):
except
ObjectDoesNotExist
:
except
ObjectDoesNotExist
:
return
Response
({},
status
=
status
.
HTTP_404_NOT_FOUND
)
return
Response
({},
status
=
status
.
HTTP_404_NOT_FOUND
)
group_type
=
request
.
QUERY_PARAMS
.
get
(
'type'
,
None
)
group_type
=
request
.
QUERY_PARAMS
.
get
(
'type'
,
None
)
course
=
request
.
QUERY_PARAMS
.
get
(
'course'
,
None
)
response_data
=
{}
response_data
=
{}
base_uri
=
generate_base_uri
(
request
)
base_uri
=
generate_base_uri
(
request
)
response_data
[
'uri'
]
=
base_uri
response_data
[
'uri'
]
=
base_uri
groups
=
existing_user
.
groups
.
all
()
groups
=
existing_user
.
groups
.
all
()
if
group_type
:
if
group_type
:
groups
=
groups
.
filter
(
groupprofile__group_type
=
group_type
)
group_type
=
group_type
.
split
(
','
)
groups
=
groups
.
filter
(
groupprofile__group_type__in
=
group_type
)
if
course
:
course
=
course
.
split
(
','
)
groups
=
groups
.
filter
(
coursegrouprelationship__course_id__in
=
course
)
response_data
[
'groups'
]
=
[]
response_data
[
'groups'
]
=
[]
for
group
in
groups
:
for
group
in
groups
:
group_profile
=
GroupProfile
.
objects
.
get
(
group_id
=
group
.
id
)
group_profile
=
GroupProfile
.
objects
.
get
(
group_id
=
group
.
id
)
...
...
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