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
66301fcf
Commit
66301fcf
authored
Jul 21, 2014
by
Ben McMorran
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor to use usage_key_with_run in item.py
parent
91438613
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
21 deletions
+15
-21
cms/djangoapps/contentstore/views/item.py
+15
-21
No files found.
cms/djangoapps/contentstore/views/item.py
View file @
66301fcf
...
@@ -62,6 +62,15 @@ def hash_resource(resource):
...
@@ -62,6 +62,15 @@ def hash_resource(resource):
return
md5
.
hexdigest
()
return
md5
.
hexdigest
()
def
usage_key_with_run
(
usage_key_string
):
"""
Converts usage_key_string to a UsageKey, adding a course run if necessary
"""
usage_key
=
UsageKey
.
from_string
(
usage_key_string
)
usage_key
=
usage_key
.
replace
(
course_key
=
modulestore
()
.
fill_in_run
(
usage_key
.
course_key
))
return
usage_key
# pylint: disable=unused-argument
# pylint: disable=unused-argument
@require_http_methods
((
"DELETE"
,
"GET"
,
"PUT"
,
"POST"
))
@require_http_methods
((
"DELETE"
,
"GET"
,
"PUT"
,
"POST"
))
@login_required
@login_required
...
@@ -100,9 +109,7 @@ def xblock_handler(request, usage_key_string):
...
@@ -100,9 +109,7 @@ def xblock_handler(request, usage_key_string):
The locator (unicode representation of a UsageKey) for the created xblock (minus children) is returned.
The locator (unicode representation of a UsageKey) for the created xblock (minus children) is returned.
"""
"""
if
usage_key_string
:
if
usage_key_string
:
usage_key
=
UsageKey
.
from_string
(
usage_key_string
)
usage_key
=
usage_key_with_run
(
usage_key_string
)
# usage_key's course_key may have an empty run property
usage_key
=
usage_key
.
replace
(
course_key
=
modulestore
()
.
fill_in_run
(
usage_key
.
course_key
))
if
not
has_course_access
(
request
.
user
,
usage_key
.
course_key
):
if
not
has_course_access
(
request
.
user
,
usage_key
.
course_key
):
raise
PermissionDenied
()
raise
PermissionDenied
()
...
@@ -137,16 +144,8 @@ def xblock_handler(request, usage_key_string):
...
@@ -137,16 +144,8 @@ def xblock_handler(request, usage_key_string):
)
)
elif
request
.
method
in
(
'PUT'
,
'POST'
):
elif
request
.
method
in
(
'PUT'
,
'POST'
):
if
'duplicate_source_locator'
in
request
.
json
:
if
'duplicate_source_locator'
in
request
.
json
:
parent_usage_key
=
UsageKey
.
from_string
(
request
.
json
[
'parent_locator'
])
parent_usage_key
=
usage_key_with_run
(
request
.
json
[
'parent_locator'
])
# usage_key's course_key may have an empty run property
duplicate_source_usage_key
=
usage_key_with_run
(
request
.
json
[
'duplicate_source_locator'
])
parent_usage_key
=
parent_usage_key
.
replace
(
course_key
=
modulestore
()
.
fill_in_run
(
parent_usage_key
.
course_key
)
)
duplicate_source_usage_key
=
UsageKey
.
from_string
(
request
.
json
[
'duplicate_source_locator'
])
# usage_key's course_key may have an empty run property
duplicate_source_usage_key
=
duplicate_source_usage_key
.
replace
(
course_key
=
modulestore
()
.
fill_in_run
(
duplicate_source_usage_key
.
course_key
)
)
dest_usage_key
=
_duplicate_item
(
dest_usage_key
=
_duplicate_item
(
parent_usage_key
,
parent_usage_key
,
...
@@ -177,9 +176,7 @@ def xblock_view_handler(request, usage_key_string, view_name):
...
@@ -177,9 +176,7 @@ def xblock_view_handler(request, usage_key_string, view_name):
resources: A list of tuples where the first element is the resource hash, and
resources: A list of tuples where the first element is the resource hash, and
the second is the resource description
the second is the resource description
"""
"""
usage_key
=
UsageKey
.
from_string
(
usage_key_string
)
usage_key
=
usage_key_with_run
(
usage_key_string
)
# usage_key's course_key may have an empty run property
usage_key
=
usage_key
.
replace
(
course_key
=
modulestore
()
.
fill_in_run
(
usage_key
.
course_key
))
if
not
has_course_access
(
request
.
user
,
usage_key
.
course_key
):
if
not
has_course_access
(
request
.
user
,
usage_key
.
course_key
):
raise
PermissionDenied
()
raise
PermissionDenied
()
...
@@ -319,8 +316,7 @@ def _save_item(user, usage_key, data=None, children=None, metadata=None, nullout
...
@@ -319,8 +316,7 @@ def _save_item(user, usage_key, data=None, children=None, metadata=None, nullout
if
children
is
not
None
:
if
children
is
not
None
:
children_usage_keys
=
[]
children_usage_keys
=
[]
for
child
in
children
:
for
child
in
children
:
child_usage_key
=
UsageKey
.
from_string
(
child
)
child_usage_key
=
usage_key_with_run
(
child
)
child_usage_key
=
child_usage_key
.
replace
(
course_key
=
modulestore
()
.
fill_in_run
(
child_usage_key
.
course_key
))
children_usage_keys
.
append
(
child_usage_key
)
children_usage_keys
.
append
(
child_usage_key
)
existing_item
.
children
=
children_usage_keys
existing_item
.
children
=
children_usage_keys
...
@@ -387,9 +383,7 @@ def _save_item(user, usage_key, data=None, children=None, metadata=None, nullout
...
@@ -387,9 +383,7 @@ def _save_item(user, usage_key, data=None, children=None, metadata=None, nullout
@expect_json
@expect_json
def
_create_item
(
request
):
def
_create_item
(
request
):
"""View for create items."""
"""View for create items."""
usage_key
=
UsageKey
.
from_string
(
request
.
json
[
'parent_locator'
])
usage_key
=
usage_key_with_run
(
request
.
json
[
'parent_locator'
])
# usage_key's course_key may have an empty run property
usage_key
=
usage_key
.
replace
(
course_key
=
modulestore
()
.
fill_in_run
(
usage_key
.
course_key
))
category
=
request
.
json
[
'category'
]
category
=
request
.
json
[
'category'
]
display_name
=
request
.
json
.
get
(
'display_name'
)
display_name
=
request
.
json
.
get
(
'display_name'
)
...
...
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