Commit Graph

113 Commits

Author SHA1 Message Date
Ned Batchelder
3bbdd2f4c3 No need to invoke classmethods through self.__class__ 2013-10-02 10:35:58 -04:00
Ned Batchelder
c36adf84a0 Minor cosmetic code fixes. 2013-09-30 21:09:43 -04:00
Ned Batchelder
d7e441088b Adjust parameters to construct_xblock_from_class to match XBlock repo. 2013-09-30 21:09:43 -04:00
Calen Pennington
f500b72290 Make sure that we have the right set of fields available during xml parsing
We had a bug where mixins weren't being applied before `load_from_xml`
was called. This meant that not all of the fields were being loaded
correctly. To fix it, we used the mixoligist from the runtime to apply
the mixins earlier in the process. However, that caused the mixins to be
applied twice.

The included fixes to xblock resolved the multiply-applied mixins, and
the fixes to the parsing code make it simpler to understand, and add
some unit tests of the parsing to boot.
2013-09-27 10:57:39 -04:00
Julian Arni
920b76410c Revert "don't remove comments from xml module"
This reverts commit 343456e314.
2013-09-22 21:39:36 -04:00
Adam
343456e314 don't remove comments from xml module 2013-09-18 15:39:18 -04:00
cahrens
1184a97b0b Do not store expanded action URLs.
They are not portable. STUD-681.

Minor updates.
2013-09-12 09:47:30 -04:00
Don Mitchell
fc131fa841 Add InheritanceKVS and standardize inherited attr patterns 2013-09-06 12:19:50 -04:00
Calen Pennington
8201b1412e Use XBlock 0.3 2013-09-06 09:45:59 -04:00
cahrens
96b4914fef Make our deserializing consistent with serializing.
Also fixes problems with double-quoted strings (historical artifact).

STUD-640

Conflicts:

	common/lib/xmodule/xmodule/video_module.py
2013-08-15 16:17:29 -04:00
Chris Dodge
22802a4d29 change from_xml class method on video class to make sure we honor the fact that the xml string could actually be a pointer to another file on disk which actually contains the attributes 2013-07-19 13:54:22 -04:00
Don Mitchell
3722685e1a No longer persist XModule templates
Instead, we use XModule field default values when creating an empty
XModule. Driven by this use case, we also allow for XModules to be
created in memory without being persisted to the database at all. This
necessitates a change to the Modulestore api, replacing clone_item with
create_draft and save_xmodule.
2013-07-16 14:33:58 -04:00
Chris Dodge
ac4e20b4f3 change serialize_field to check for type. If value is a string, simply return that, otherwise do a json.dumps 2013-07-12 15:27:36 -04:00
Chris Dodge
958ecdb053 raise a more appropriate Exception 2013-07-12 12:47:51 -04:00
Chris Dodge
50bea28d75 Add a 'string literal' serialization method and use it in the lambda function mapping table when the value to xml serialize is of basestring type. Also a couple of drive-by pep8 fixes. 2013-07-12 11:13:59 -04:00
Don Mitchell
1c5706fb1f Add JSON encoder for datetimes to xml export
During policy export, we want to write any python datetime objects found
as iso timestamps, rather than throwing exceptions.
2013-06-28 14:19:10 -04:00
Don Mitchell
8b23eeca7e Minor pylint/whitespace changes 2013-06-25 22:34:29 -04:00
Don Mitchell
1ff022e181 Incidental pep8 changes 2013-06-18 17:25:06 -04:00
Calen Pennington
82606a062c Make XModuleDescriptor use __init__ from XBlock
Fixes JIRA LMS-203
2013-06-17 13:38:57 -04:00
cahrens
6e92ddf3dd Cannot set String field to a dict anymore! 2013-06-12 17:07:41 -04:00
cahrens
89d0003603 Be strict about ModelType expected types, rename Object as Dict. 2013-06-12 14:59:17 -04:00
cahrens
86d952bf91 Change to putting serialize/de-serialize directly in xml_module. 2013-06-12 13:34:38 -04:00
cahrens
0baec0a164 Move string fields, get rid of hard-coded list of booleans. 2013-06-07 15:45:34 -04:00
Chris Dodge
b6090952da randomize_module.py was missing 'import lxml' to support definition_to_xml(). Also, fix serialization of show_timezone to expect a bool 2013-05-23 14:24:36 -04:00
cahrens
37d594ce37 Get rid of non-editable scope. 2013-05-03 14:58:33 -04:00
cahrens
94e41319ee Unit test, remove display_name for now so there is no visible change. 2013-05-01 09:09:33 -04:00
cahrens
8705ff8805 Remove system_metadata_fields. 2013-04-29 16:41:07 -04:00
Chris Dodge
d7b148d0d9 Merge branch 'master' of github.com:MITx/mitx into fix/cdodge/export-draft-modules
Conflicts:
	common/lib/xmodule/xmodule/modulestore/draft.py
2013-04-08 15:02:47 -04:00
ichuang
8cafadc03b make "edit" links work - fixes giturl (was broken by xblocks migration)
Conflicts:

	lms/templates/staff_problem_info.html
	lms/xmodule_namespace.py
2013-04-07 00:03:36 +00:00
Chris Dodge
3727edabf2 Merge branch 'master' of github.com:MITx/mitx into fix/cdodge/export-draft-modules
Conflicts:
	cms/djangoapps/contentstore/views.py
	common/lib/xmodule/xmodule/modulestore/draft.py
	common/lib/xmodule/xmodule/modulestore/xml_importer.py
	common/lib/xmodule/xmodule/xml_module.py
2013-04-02 09:09:45 -04:00
Calen Pennington
dc2dbb3412 Do metadata name translation in json import as well as xml import 2013-03-13 07:42:14 -04:00
Calen Pennington
8ace7eeb2d Translate metadata names that are coming in from the policy file as well as from xml attributes 2013-03-13 07:42:14 -04:00
Victor Shnayder
84f05f9f61 Merge remote-tracking branch 'origin/master' into feature/alex/poll-merged
Conflicts:
	common/lib/xmodule/xmodule/capa_module.py
	common/lib/xmodule/xmodule/foldit_module.py
	common/lib/xmodule/xmodule/tests/__init__.py
	common/lib/xmodule/xmodule/tests/test_capa_module.py
	common/lib/xmodule/xmodule/tests/test_combined_open_ended.py
	common/lib/xmodule/xmodule/tests/test_conditional.py
	common/lib/xmodule/xmodule/tests/test_self_assessment.py
2013-03-08 00:40:18 -05:00
Chris Dodge
9ba759802c make export a bit more resilient. If there's a piece of metadata that we can't serialize - i.e. someone wrote a new bool attribute and didn't put it in the type mapping table - then we log the exception and continue. 2013-03-07 10:43:36 -05:00
Calen Pennington
1bfb933518 Merge remote-tracking branch 'origin/master' into feature/alex/poll-merged
Conflicts:
	cms/djangoapps/contentstore/tests/test_contentstore.py
	cms/djangoapps/contentstore/views.py
	cms/templates/edit_subsection.html
	cms/templates/overview.html
	cms/templates/unit.html
	cms/templates/widgets/header.html
	common/djangoapps/course_groups/tests/tests.py
	common/lib/xmodule/setup.py
	common/lib/xmodule/xmodule/capa_module.py
	common/lib/xmodule/xmodule/combined_open_ended_module.py
	common/lib/xmodule/xmodule/course_module.py
	common/lib/xmodule/xmodule/js/src/.gitignore
	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_exporter.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/controller_query_service.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/openendedchild.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
	common/lib/xmodule/xmodule/peer_grading_module.py
	common/lib/xmodule/xmodule/tests/__init__.py
	common/lib/xmodule/xmodule/tests/test_capa_module.py
	common/lib/xmodule/xmodule/tests/test_self_assessment.py
	common/lib/xmodule/xmodule/x_module.py
	lms/djangoapps/courseware/grades.py
	lms/djangoapps/courseware/models.py
	lms/djangoapps/courseware/views.py
	lms/djangoapps/open_ended_grading/tests.py
2013-03-04 16:33:40 -05:00
Chris Dodge
68a8587ed2 don't serialize weight out as an int - use a string. The code in capa-module.py expects a string and tries to convert to a float. So this impedence mismatch is causing a crash on import when importing empty strings for 'weight' or 'attempts' 2013-02-21 11:02:47 -05:00
Chris Dodge
66c91b704a init work. Export the 'draft' store under a distinct folder in the export. TBD: do the import from that directory as well. 2013-02-15 17:16:05 -05: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
Chris Dodge
22695d80c7 Merge branch 'master' into feature/cdodge/cms-master-merge4
Conflicts:
	common/djangoapps/student/models.py
	common/lib/capa/capa/responsetypes.py
	common/lib/xmodule/setup.py
	common/lib/xmodule/xmodule/course_module.py
	common/lib/xmodule/xmodule/xml_module.py
	jenkins/test.sh
	lms/djangoapps/courseware/access.py
	lms/djangoapps/courseware/tests/tests.py
	lms/djangoapps/django_comment_client/models.py
	requirements.txt
2013-01-17 09:15:37 -05:00
Brian Wilson
3b28e328c4 disable export of testcenter_exam from course module (and add test). 2013-01-15 17:54:10 -05:00
Chris Dodge
dc8f23d6ae the parent directory might not already exist, so we have to call makedir with recursive=true to auto-create any parent folders 2013-01-10 14:41:19 -05:00
Calen Pennington
789ac3fc87 Use the XBlock library as the base for XModule, so that we can incrementally rely on more and more of the XBlock api 2013-01-04 16:19:58 -05:00
Chris Dodge
e70db062b2 Merge branch 'feature/cale/cms-master' into feature/cale/cms-master-merge
Conflicts:
	requirements.txt
2013-01-03 10:46:24 -05:00
Calen Pennington
0bed19648e Remove filename and giturl references 2013-01-02 15:08:27 -05:00
Calen Pennington
344cb133aa Make import/export tests pass 2013-01-02 09:05:49 -05:00
Calen Pennington
84cb0ce99b Move inheritance logic out into a separate file in the modulestore 2012-12-28 14:56:42 -05:00
Calen Pennington
8693d288c8 Fix errors from running unit tests (some tests still fail) 2012-12-28 14:51:50 -05:00
Calen Pennington
01411ae66e WIP: Trying to get tests working 2012-12-28 14:48:47 -05:00
Calen Pennington
8ba4163557 WIP. Data loads, but not all of it 2012-12-28 14:39:13 -05:00