David Ormsbee
483e654fcf
Make CustomTagModule safe (remove Mako) [SEC-609]
...
Prior to this commit, it was possible for course authoring teams
to import and execute Mako templates using the obscure "customtag"
tag (CustomTagModule). Since Mako templates can run Python code
(e.g. imports, database queries, etc.), this would give a course
team the ability to execute arbitrary, unsandboxed code on the
server.
This commit converts CustomTagModule to use the Python library's
string.Template instead. This should be broadly compatible with
the most basic and common usage of customtag, which is simple
variable substitution in the style of ${var_name}.
2019-08-06 13:54:58 -04:00
Maxim Dorovkov
8702e40589
INCR-230 - Run python-modernize and isort on common/lib/xmodule/xmodule ( #20506 )
...
* INCR-230 - Run python-modernize and isort on common/lib/xmodule/xmodule, plus a few minor fixes suggested by Jeremy
2019-05-16 10:09:15 -04:00
Diana Huang
6572d99e76
Remove all references to datadog from our code.
2019-01-08 15:41:24 -05:00
Andy Armstrong
93235d118d
Reorder imports using isort (except lms and cms)
2017-05-30 16:04:54 -04:00
Christina Roberts
2497f0a0eb
WIP: xblock pipeline work ( #10176 )
...
[PERF-303] Integer XBlocks/XModules into the static asset pipeline.
This PR, based on hackathon work from Christina/Andy, implements a way to discover all installed XBlocks and XModules and to enumerate their public assets, then pulling them in during the collectstatic phase and hashing them. In turn, the methods for generating URLs to resources will then returned the hashed name for assets, allowing them to be served from nginx/CDNs, and cached heavily.
2016-04-29 10:52:42 -04:00
John Eskew
34adb256a6
Add datadog counters everywhere a "VS[compat]" comment exists.
...
Conflicts:
common/lib/xmodule/xmodule/xml_module.py
2015-03-26 16:18:15 -04:00
stv
fb9f324f2f
Fix PEP8: E303 too many blank lines
2014-11-10 11:00:14 -08:00
Calen Pennington
407b02b358
Centralize startup code, and execute in all contexts
...
Inspired by: http://eldarion.com/blog/2013/02/14/entry-point-hook-django-projects/
Moves startup code to lms.startup and cms.startup, and calls the startup
methods in wsgi.py and manage.py for both projects.
2013-08-27 12:12:20 -04:00
Don Mitchell
115b214df1
Retrieve location from self in CustomTagDescriptor
2013-06-28 14:19:10 -04:00
Ned Batchelder
181b1e979b
Remove unused imports from common, as reported by pylint.
2013-06-19 16:56:34 -04:00
Don Mitchell
1ff022e181
Incidental pep8 changes
2013-06-18 17:25:06 -04:00
Calen Pennington
4f555f6480
Merge remote-tracking branch 'origin/master' into feature/cale/xmodule-storage-model
...
Conflicts:
cms/djangoapps/contentstore/course_info_model.py
cms/djangoapps/contentstore/module_info_model.py
cms/djangoapps/contentstore/tests/factories.py
cms/djangoapps/contentstore/tests/test_course_settings.py
cms/djangoapps/contentstore/views.py
cms/djangoapps/models/settings/course_details.py
cms/djangoapps/models/settings/course_grading.py
cms/templates/edit_subsection.html
common/djangoapps/mitxmako/shortcuts.py
common/djangoapps/static_replace.py
common/djangoapps/util/converters.py
common/djangoapps/xmodule_modifiers.py
common/lib/xmodule/setup.py
common/lib/xmodule/xmodule/abtest_module.py
common/lib/xmodule/xmodule/capa_module.py
common/lib/xmodule/xmodule/course_module.py
common/lib/xmodule/xmodule/discussion_module.py
common/lib/xmodule/xmodule/error_module.py
common/lib/xmodule/xmodule/html_module.py
common/lib/xmodule/xmodule/js/src/video/display.coffee
common/lib/xmodule/xmodule/mako_module.py
common/lib/xmodule/xmodule/modulestore/mongo.py
common/lib/xmodule/xmodule/modulestore/store_utilities.py
common/lib/xmodule/xmodule/modulestore/xml.py
common/lib/xmodule/xmodule/modulestore/xml_importer.py
common/lib/xmodule/xmodule/raw_module.py
common/lib/xmodule/xmodule/self_assessment_module.py
common/lib/xmodule/xmodule/seq_module.py
common/lib/xmodule/xmodule/template_module.py
common/lib/xmodule/xmodule/tests/__init__.py
common/lib/xmodule/xmodule/tests/test_export.py
common/lib/xmodule/xmodule/tests/test_import.py
common/lib/xmodule/xmodule/video_module.py
common/lib/xmodule/xmodule/x_module.py
common/lib/xmodule/xmodule/xml_module.py
lms/djangoapps/courseware/access.py
lms/djangoapps/courseware/courses.py
lms/djangoapps/courseware/grades.py
lms/djangoapps/courseware/models.py
lms/djangoapps/courseware/module_render.py
lms/djangoapps/courseware/tests/tests.py
lms/djangoapps/courseware/views.py
lms/djangoapps/django_comment_client/utils.py
lms/templates/staff_problem_info.html
lms/templates/video.html
rakefile
2013-02-07 15:12:30 -05:00
Calen Pennington
cfae1cdf62
Pep8 autofixes
2013-02-06 11:13:50 -05:00
Calen Pennington
89a0b82e5c
Decrease the number of queries needed for LMS courseware
...
This cuts the number of queries in 6.002 courseware loads from ~650 to
~5-40. Still to do: cache CustomTag templates so that we only load them
once per request.
2013-01-10 13:55:46 -05:00
Calen Pennington
d61c91c139
Fix errors around error descriptors and custom tag modules
2012-12-28 14:53:30 -05:00
Calen Pennington
8ba4163557
WIP. Data loads, but not all of it
2012-12-28 14:39:13 -05:00
Chris Dodge
050cb89cf7
fix crash with working with custom tags with XML filestore
2012-11-29 13:24:41 -05:00
Chris Dodge
f4822c23de
lots of tweeks to better support importing of existing courseware
2012-10-30 11:52:31 -04:00
Calen Pennington
bacd728efc
Squelch some (but not all, yet) errors during template loading
2012-10-24 16:25:20 -04:00
Victor Shnayder
298954fc01
Clean up customtag handling
...
* load the template at descriptor init
* make it export inline, not as a pointer
* update import/export test to do export to initial directory
2012-08-09 13:32:57 -04:00
Victor Shnayder
9867dceca5
Load templates at descriptor load
...
* instead of being lazy
2012-08-09 10:47:08 -04:00
Bridger Maxwell
eb58f7c37c
Changed to more specific import of xmodule.util.decorators.
2012-08-07 18:32:53 -04:00
Bridger Maxwell
1f34cf33fa
Speed improvements by making the mako rendering in CustomTagModule lazy.
2012-08-07 16:01:42 -04:00
Bridger Maxwell
f872e41d1d
Added descriptor to xmodule init. Now xmodules have pointer to their descriptor.
2012-08-07 13:43:30 -04:00
Victor Shnayder
ea26c25cb4
add back-compat code to customtag
...
* apparently 6002x is using the impl-as-child structure already.
2012-08-01 16:33:28 -04:00
Victor Shnayder
740c9b7df1
fixed docstring for customtag
2012-08-01 11:48:18 -04:00
Victor Shnayder
9461148b6e
make customtag take impl as attribute rather than child
2012-07-27 16:08:22 -04:00
Calen Pennington
dbfcd78c88
Get custom_tag templates using system.filestore so that they work in multicourse
2012-07-10 10:46:18 -04:00
Calen Pennington
a0f550396c
Make xmodule fit the typical python installation setup
2012-07-02 13:19:27 -04:00