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
c8cceb71
Commit
c8cceb71
authored
Apr 08, 2013
by
Brian Talbot
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into feature/btalbot/studio-alerts
parents
4d0d3d3a
146f09b7
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
39 additions
and
7 deletions
+39
-7
common/djangoapps/xmodule_modifiers.py
+19
-0
common/lib/xmodule/xmodule/modulestore/inheritance.py
+2
-1
common/lib/xmodule/xmodule/xml_module.py
+3
-0
lms/djangoapps/instructor/views.py
+2
-2
lms/templates/staff_problem_info.html
+11
-3
lms/xmodule_namespace.py
+2
-1
No files found.
common/djangoapps/xmodule_modifiers.py
View file @
c8cceb71
...
...
@@ -108,6 +108,22 @@ def add_histogram(get_html, module, user):
histogram
=
grade_histogram
(
module_id
)
render_histogram
=
len
(
histogram
)
>
0
if
settings
.
MITX_FEATURES
.
get
(
'ENABLE_LMS_MIGRATION'
):
[
filepath
,
filename
]
=
getattr
(
module
.
descriptor
,
'xml_attributes'
,
{})
.
get
(
'filename'
,
[
''
,
None
])
osfs
=
module
.
system
.
filestore
if
filename
is
not
None
and
osfs
.
exists
(
filename
):
# if original, unmangled filename exists then use it (github
# doesn't like symlinks)
filepath
=
filename
data_dir
=
osfs
.
root_path
.
rsplit
(
'/'
)[
-
1
]
giturl
=
getattr
(
module
.
lms
,
'giturl'
,
''
)
or
'https://github.com/MITx'
edit_link
=
"
%
s/
%
s/tree/master/
%
s"
%
(
giturl
,
data_dir
,
filepath
)
else
:
edit_link
=
False
# Need to define all the variables that are about to be used
giturl
=
""
data_dir
=
""
source_file
=
module
.
lms
.
source_file
# source used to generate the problem XML, eg latex or word
# useful to indicate to staff if problem has been released or not
...
...
@@ -121,12 +137,15 @@ def add_histogram(get_html, module, user):
staff_context
=
{
'fields'
:
[(
field
.
name
,
getattr
(
module
,
field
.
name
))
for
field
in
module
.
fields
],
'lms_fields'
:
[(
field
.
name
,
getattr
(
module
.
lms
,
field
.
name
))
for
field
in
module
.
lms
.
fields
],
'xml_attributes'
:
getattr
(
module
.
descriptor
,
'xml_attributes'
,
{}),
'location'
:
module
.
location
,
'xqa_key'
:
module
.
lms
.
xqa_key
,
'source_file'
:
source_file
,
'source_url'
:
'
%
s/
%
s/tree/master/
%
s'
%
(
giturl
,
data_dir
,
source_file
),
'category'
:
str
(
module
.
__class__
.
__name__
),
# Template uses element_id in js function names, so can't allow dashes
'element_id'
:
module
.
location
.
html_id
()
.
replace
(
'-'
,
'_'
),
'edit_link'
:
edit_link
,
'user'
:
user
,
'xqa_server'
:
settings
.
MITX_FEATURES
.
get
(
'USE_XQA_SERVER'
,
'http://xqa:server@content-qa.mitx.mit.edu/xqa'
),
'histogram'
:
json
.
dumps
(
histogram
),
...
...
common/lib/xmodule/xmodule/modulestore/inheritance.py
View file @
c8cceb71
...
...
@@ -8,7 +8,8 @@ INHERITABLE_METADATA = (
# How many days early to show a course element to beta testers (float)
# intended to be set per-course, but can be overridden in for specific
# elements. Can be a float.
'days_early_for_beta'
'days_early_for_beta'
,
'giturl'
# for git edit link
)
def
compute_inherited_metadata
(
descriptor
):
...
...
common/lib/xmodule/xmodule/xml_module.py
View file @
c8cceb71
...
...
@@ -102,6 +102,7 @@ class XmlDescriptor(XModuleDescriptor):
'start'
,
'due'
,
'graded'
,
'display_name'
,
'url_name'
,
'hide_from_toc'
,
'ispublic'
,
# if True, then course is listed for all users; see
'xqa_key'
,
# for xqaa server access
'giturl'
,
# url of git server for origin of file
# information about testcenter exams is a dict (of dicts), not a string,
# so it cannot be easily exportable as a course element's attribute.
'testcenter_info'
,
...
...
@@ -222,6 +223,7 @@ class XmlDescriptor(XModuleDescriptor):
definition
,
children
=
cls
.
definition_from_xml
(
definition_xml
,
system
)
if
definition_metadata
:
definition
[
'definition_metadata'
]
=
definition_metadata
definition
[
'filename'
]
=
[
filepath
,
filename
]
return
definition
,
children
...
...
@@ -315,6 +317,7 @@ class XmlDescriptor(XModuleDescriptor):
model_data
[
'children'
]
=
children
model_data
[
'xml_attributes'
]
=
{}
model_data
[
'xml_attributes'
][
'filename'
]
=
definition
.
get
(
'filename'
,
[
''
,
None
])
# for git link
for
key
,
value
in
metadata
.
items
():
if
key
not
in
set
(
f
.
name
for
f
in
cls
.
fields
+
cls
.
lms
.
fields
):
model_data
[
'xml_attributes'
][
key
]
=
value
...
...
lms/djangoapps/instructor/views.py
View file @
c8cceb71
...
...
@@ -93,13 +93,13 @@ def instructor_dashboard(request, course_id):
data
+=
compute_course_stats
(
course
)
.
items
()
if
request
.
user
.
is_staff
:
for
field
in
course
.
fields
:
if
getattr
(
field
.
scope
,
'
student
'
,
False
):
if
getattr
(
field
.
scope
,
'
user
'
,
False
):
continue
data
.
append
([
field
.
name
,
json
.
dumps
(
field
.
read_json
(
course
))])
for
namespace
in
course
.
namespaces
:
for
field
in
getattr
(
course
,
namespace
)
.
fields
:
if
getattr
(
field
.
scope
,
'
student
'
,
False
):
if
getattr
(
field
.
scope
,
'
user
'
,
False
):
continue
data
.
append
([
"{}.{}"
.
format
(
namespace
,
field
.
name
),
json
.
dumps
(
field
.
read_json
(
course
))])
...
...
lms/templates/staff_problem_info.html
View file @
c8cceb71
## The JS for this is defined in xqa_interface.html
${module_content}
%if location.category in ['problem','video','html']:
%if location.category in ['problem','video','html'
,'combinedopenended'
]:
% if edit_link:
<div>
<a
href=
"${edit_link}"
>
Edit
</a>
/
<a
href=
"#${element_id}_xqa-modal"
onclick=
"javascript:getlog('${element_id}', {
<a
href=
"${edit_link}"
>
Edit
</a>
% if xqa_key:
/
<a
href=
"#${element_id}_xqa-modal"
onclick=
"javascript:getlog('${element_id}', {
'location': '${location}',
'xqa_key': '${xqa_key}',
'category': '${category}',
'user': '${user}'
})"
id=
"${element_id}_xqa_log"
>
QA
</a>
% endif
</div>
% endif
<div><a
href=
"#${element_id}_debug"
id=
"${element_id}_trig"
>
Staff Debug Info
</a></div>
...
...
@@ -61,6 +63,12 @@ location = ${location | h}
<tr><td>
${name}
</td><td><pre
style=
"display:inline-block; margin: 0;"
>
${field | h}
</pre></td></tr>
%endfor
</table>
<table>
<tr><th>
XML attributes
</th></tr>
%for name, field in xml_attributes.items():
<tr><td>
${name}
</td><td><pre
style=
"display:inline-block; margin: 0;"
>
${field | h}
</pre></td></tr>
%endfor
</table>
category = ${category | h}
</div>
%if render_histogram:
...
...
lms/xmodule_namespace.py
View file @
c8cceb71
...
...
@@ -52,7 +52,8 @@ class LmsNamespace(Namespace):
start
=
Date
(
help
=
"Start time when this module is visible"
,
scope
=
Scope
.
settings
)
due
=
Date
(
help
=
"Date that this problem is due by"
,
scope
=
Scope
.
settings
)
source_file
=
String
(
help
=
"DO NOT USE"
,
scope
=
Scope
.
settings
)
source_file
=
String
(
help
=
"source file name (eg for latex)"
,
scope
=
Scope
.
settings
)
giturl
=
String
(
help
=
"url root for course data git repository"
,
scope
=
Scope
.
settings
)
xqa_key
=
String
(
help
=
"DO NOT USE"
,
scope
=
Scope
.
settings
)
ispublic
=
Boolean
(
help
=
"Whether this course is open to the public, or only to admins"
,
scope
=
Scope
.
settings
)
graceperiod
=
Timedelta
(
...
...
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