Commit Graph

4234 Commits

Author SHA1 Message Date
Александр
e96108629d Fix LTI tests. 2013-12-04 15:55:47 -05:00
Александр
c4515faedf Make has_score to be XField insted of decriptor property.
Conflicts:
	common/lib/xmodule/xmodule/lti_module.py
2013-12-04 15:55:42 -05:00
polesye
e4403815e7 Fix LTI max_score method. 2013-12-04 15:54:51 -05:00
Calen Pennington
11bbf4c182 Add grading functionality to LTI xmodule
Co-author: Alexander Kryklia <kryklia@edx.org>
Co-author: Ned Batchelder <ned@edx.org>
Co-author: Oleg Marchev <oleg@edx.org>
Co-author: Valera Rozuvan <valera@edx.org>
Co-author: polesye
[BLD-384]
2013-11-26 16:30:55 -05:00
Calen Pennington
9b6edea406 Rename the LTIModuleDescriptor to LTIDescriptor to follow convention 2013-11-26 16:29:34 -05:00
Calen Pennington
6d613f9d4e Enable un-authenticated handler urls
Updates to depend on the latest version of XBlock, which includes
support for service-to-service (thirdparty) handler urls, which aren't
authenticated with a user (unlike handler requests coming from the
xblock client-side javascript).

Co-author: Ned Batchelder <ned@edx.org>
2013-11-26 16:29:34 -05:00
Calen Pennington
329419696e Merge pull request #1746 from cpennington/fix-lms-1532
Fix LMS-1532 (partially instantiated XModules after an exception)
2013-11-22 10:01:43 -08:00
Calen Pennington
3c042b52fd Clear out the cache xmodule_instance after an exception in XModule init
This guarantees that the ErrorModule will be created, instead of
potentially using a partially instatiated broken module. Fixes
[LMS-1532].
2013-11-22 12:08:29 -05:00
Calen Pennington
8d62fa14d8 Tests for LMS-1532 2013-11-22 12:08:29 -05:00
Ned Batchelder
75532987ce Properly convert files from Webob to pure files.
Webob represents uploaded files as cgi.FieldStorage objects.  The
XModule code expects pure Python file objects.  Each FieldStorage object
is wrapped to present the proper file interface, with file names.

LMS-1492
2013-11-22 11:47:34 -05:00
Ned Batchelder
1c27ec3d7e Add two tests of problems-with-files
One test passes already, the other fails.  Fix in next commit.
2013-11-22 11:47:33 -05:00
Ned Batchelder
6d94b71203 Clean up test files, no substantive changes.
These changes prepare for the changes to the tests that are coming, but
make no change to the behavior themselves.
2013-11-22 11:47:33 -05:00
Don Mitchell
3ab17d7523 Allow colons in Locator fields. 2013-11-21 10:41:49 -05:00
Calen Pennington
b4a1840344 Move xmodule_runtime.xmodule_instance registration earlier
This allows XModules (specifically CombinedOpenEnded) to use ajax_url
during their init functions (which would, before, have thrown an
exception).

[LMS-1493]
2013-11-20 10:15:09 -05:00
Calen Pennington
6c9ad30ee1 Update open-ended tests to load the module between 'requests'
Under normal operation, XModules are reloaded on each request from a
student. CombinedOpenEnded modules have code that runs at initialization
that validates the students state. These changes makes that code run
during several long-form unit tests (testing CombinedOpenEnded across
multiple 'requests').

These tests are marked as expectedFailure because they now exhibit the
same failures as observed in [LMS-1493] (namely, the students state gets
reset, because CombinedOpenEnded interprets system.ajax_url raising an
error as meaning that the problem definition and the student answers are
in conflict)
2013-11-20 10:15:09 -05:00
Giulio Gratta
745f45090f Merge pull request #1702 from edx/giulio/anon-user-id-yml
Adding a YAML file to demonstrate how to include anonymized user IDs in Studio elements.
2013-11-19 11:29:26 -08:00
cahrens
ed9a61e2d9 The forcing of IDs to non-draft must happen in base.py instead of draft.py.
The draft.py solution only worked when the parent was also in the draft store.
2013-11-19 12:08:29 -05:00
Jim Abramson
57cb983308 Merge pull request #1704 from edx/release-hotfix-2013-11-15
merge 2013-11-15 hotfix branch to master
2013-11-19 07:56:12 -08:00
polesye
38163cf942 BLD-410: Add tests. 2013-11-19 14:37:14 +02:00
Giulio Gratta
f125a604a4 Adding a YAML file to demonstrate how to include anonymized user IDs in Studio elements. 2013-11-18 14:44:46 -08:00
polesye
4b87237825 BLD-193: Add template for checkboxes to studio. 2013-11-18 09:50:53 +02:00
Calen Pennington
43c0210889 Use correct set of OpenEndedChild states 2013-11-16 11:04:00 -05:00
Calen Pennington
e47e60f68b Assign a score of 0 to tasks with no attempts 2013-11-16 10:30:05 -05:00
Calen Pennington
347f0c7508 Centralize to a single GradingServiceError, so that it's caught when expected 2013-11-15 15:42:22 -05:00
Calen Pennington
4c21cb200f Teach OEE to consider old task_states when trying to recover from an xml mismatch 2013-11-15 14:13:19 -05:00
polesye
153bc25d8c BLD-502: Add improvements to Video player. 2013-11-15 18:12:51 +02:00
polesye
50250d82d0 Merge pull request #1653 from edx/anton/video-add-test
Video: tests to check speed change
2013-11-15 07:12:49 -08:00
Christina Roberts
e2926a94e0 Merge pull request #1621 from edx/christina/item-create
Change save_item and create_item to be RESTful.
2013-11-15 06:16:54 -08:00
polesye
526f791800 BLD-424: Add test to check speed change. 2013-11-15 13:39:49 +02:00
cahrens
569c86de74 Code review feedback. 2013-11-14 17:09:24 -05:00
David Baumgold
81e1d18de3 Merge pull request #1670 from antoviaque/hidden-module-unicode
hidden-module-unicode: Return unicode string to pass assertion
2013-11-14 14:02:07 -08:00
cahrens
a170c6f4e7 Change save_item and create_item to RESTful URL.
Part of STUD-847.
2013-11-14 11:03:31 -05:00
Xavier Antoviaque
0293727220 hidden-module-unicode: Return unicode string to pass assertion
XBlock Fragments expect unicode strings, and fail on an assertion when
it isn't:

```
2013-11-14 07:55:50,774 ERROR 3788 [django.request] base.py:215 - Internal Server Error: /courses/TestU/TST101/now/courseware/41d55c576a574fde99319420228f7f88/5fef5794e34842f4a2d45ebcdeaa9a3a/
Traceback (most recent call last):
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 20, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/decorators/cache.py", line 75, in _cache_controlled
    response = viewfunc(request, *args, **kw)
  File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/views.py", line 407, in index
    context['fragment'] = section_module.render('student_view')
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/core.py", line 156, in render
    return self.runtime.render(self, view, context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 903, in render
    return block.xmodule_runtime.render(to_render, view_name, context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/runtime.py", line 356, in render
    frag = view_fn(context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/seq_module.py", line 77, in student_view
    rendered_child = child.render('student_view', context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/core.py", line 156, in render
    return self.runtime.render(self, view, context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 903, in render
    return block.xmodule_runtime.render(to_render, view_name, context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/runtime.py", line 356, in render
    frag = view_fn(context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/vertical_module.py", line 27, in student_view
    rendered_child = child.render('student_view', context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/core.py", line 156, in render
    return self.runtime.render(self, view, context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 903, in render
    return block.xmodule_runtime.render(to_render, view_name, context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/runtime.py", line 356, in render
    frag = view_fn(context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 464, in student_view
    return Fragment(self.get_html())
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/fragment.py", line 34, in __init__
    self.add_content(content)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/fragment.py", line 71, in add_content
    assert isinstance(content, unicode)
AssertionError
```
2013-11-14 13:57:08 +01:00
Sarina Canelake
9508b3f9b4 pep8/pylint fixes for capa 2013-11-13 16:12:25 -05:00
Sarina Canelake
862beafdd1 Persist student answers on input error
LMS-469
2013-11-13 14:15:52 -05:00
polesye
50674a966b BLD-457: Fix speed menu when YouTube is unavailable. 2013-11-12 21:44:06 +02:00
Ned Batchelder
c8e0fb2508 Mock servers shouldn't pollute test output.
BY writing to stderr, BaseHTTPRequestHandler writes log messages to the
console during testing.  This makes the output harder to interpret.
Write the log messages to stdout instead, so that test runners will
suppress them during passing tests, and show them during failing tests.

It would be nice to have a place to write this method just once for the
Youtube and LTI mock servers, but we don't seem to have a place for code
as common as that.
2013-11-12 10:19:19 -05:00
Calen Pennington
864d831ce3 Use XBlock handlers for handle_ajax in XModules
Adds xblock handler_url support to the LMS, and makes handle_ajax use
that code.

[LMS-230] [LMS-229]
2013-11-08 11:08:48 -05:00
Christina Roberts
cd868efc22 Merge pull request #1580 from edx/christina/item
Change delete_item to RESTful URL.
2013-11-06 10:50:56 -08:00
cahrens
16766a5ee9 Change delete_item to RESTful URL.
Part of STUD-847.
2013-11-06 13:49:24 -05:00
jmclaus
e892c979b0 Added tests to video player controls to check new WAI-ARIA functionality. Added global custom Jasmine matcher to helper.coffee
[BLD-386]
2013-11-05 16:38:33 -05:00
Alexander Kryklia
df5b1e97d8 Merge pull request #1514 from edx/alex/add_latex_compiler_key
Alex/add latex compiler key
2013-11-04 02:14:53 -08:00
Alexander Kryklia
b5bf4b7500 Enable latex problems via key in course.settings.
BLD-426
2013-11-04 12:13:23 +02:00
polesye
af71c780fe Fix bugs in Video player. BLD-468. 2013-11-04 11:30:24 +02:00
Jason Bau
64758673b5 Merge pull request #1563 from edx/jbau/OEE/feedback-handle-nonexistent-child
add error handling for update_score for OEE when no child_history
2013-11-01 16:24:18 -07:00
Jason Bau
c648db7f3d add comment explaining child_history condition 2013-11-01 15:51:20 -07:00
Calen Pennington
25ec217939 Merge pull request #1561 from cpennington/hotfix-assertion-error
Fix AssertionErrors that were raised when creation of an XModule failed
2013-11-01 13:06:35 -07:00
Don Mitchell
5fa44123bf Allow 'course' as course's id keyword 2013-11-01 14:20:41 -04:00
Calen Pennington
d7766a7b28 Fix AssertionErrors that were raised when creation of an XModule failed
The ErrorDescriptor wasn't getting the appropriate xmodule_runtime set,
and thus immediately raising an AssertionError when we tried to retrieve
and _xmodule from it.

[LMS-1388[
2013-11-01 10:15:26 -04:00
polesye
f6b69eab4e Merge pull request #1513 from edx/anton/word-cloud-total-count-in-studio-bug
Anton/word cloud total count in studio bug
2013-11-01 06:19:45 -07:00