diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6b0af2d5be..a7a77c1d02 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,9 @@ These are notable changes in edx-platform. This is a rolling list of changes, in roughly chronological order, most recent first. Add your entries at or near the top. Include a label indicating the component affected. +Blades: Change the track field to a dropdown that will allow students +to download the transcript of the video without timecodes. BLD-368. + Blades: Video player start-end time range is now shown even before Play is clicked. Video player VCR time shows correct non-zero total time for YouTube videos even before Play is clicked. BLD-529. diff --git a/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py b/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py index 932c21b7a6..d3c0beb284 100644 --- a/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py +++ b/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py @@ -140,7 +140,7 @@ def verify_setting_entry(setting, display_name, value, explicitly_set): for the problem, rather than derived from the defaults. This is verified by the existence of a "Clear" button next to the field value. """ - assert_equal(display_name, setting.find_by_css('.setting-label')[0].html) + assert_equal(display_name, setting.find_by_css('.setting-label')[0].html.strip()) # Check if the web object is a list type # If so, we use a slightly different mechanism for determining its value diff --git a/cms/djangoapps/contentstore/features/video-editor.py b/cms/djangoapps/contentstore/features/video-editor.py index 6f7801469e..5b4dffcdc0 100644 --- a/cms/djangoapps/contentstore/features/video-editor.py +++ b/cms/djangoapps/contentstore/features/video-editor.py @@ -40,12 +40,12 @@ def correct_video_settings(_step): # advanced ['Display Name', 'Video', False], - ['Download Transcript', '', False], ['Download Video', '', False], ['End Time', '00:00:00', False], ['HTML5 Transcript', '', False], ['Show Transcript', 'True', False], ['Start Time', '00:00:00', False], + ['Transcript Download Allowed', 'False', False], ['Video Sources', '', False], ['Youtube ID', 'OEoXaMPEzfM', False], ['Youtube ID for .75x speed', '', False], diff --git a/cms/static/js/views/metadata.js b/cms/static/js/views/metadata.js index 2f07ab117f..98646117d3 100644 --- a/cms/static/js/views/metadata.js +++ b/cms/static/js/views/metadata.js @@ -94,6 +94,19 @@ function(BaseView, _, MetadataModel, AbstractEditor, VideoList) { templateName: "metadata-string-entry", + render: function () { + AbstractEditor.prototype.render.apply(this); + + // If the model has property `non editable` equals `true`, + // the field is disabled, but user is able to clear it. + if (this.model.get('non_editable')) { + this.$el.find('#' + this.uniqueId) + .prop('readonly', true) + .addClass('is-disabled'); + } + }, + + getValueFromEditor : function () { return this.$el.find('#' + this.uniqueId).val(); }, diff --git a/cms/static/sass/views/_unit.scss b/cms/static/sass/views/_unit.scss index 663fa3161e..d240fd7be8 100644 --- a/cms/static/sass/views/_unit.scss +++ b/cms/static/sass/views/_unit.scss @@ -708,6 +708,12 @@ body.course.unit,.view-unit { text-overflow: ellipsis; } + //Allows users to copy full value of disabled inputs. + input.is-disabled{ + text-overflow: clip; + opacity: .5; + } + input[type="number"] { width: 38.5%; diff --git a/common/lib/xmodule/xmodule/tests/test_video.py b/common/lib/xmodule/xmodule/tests/test_video.py index 78f5205c44..116aad767a 100644 --- a/common/lib/xmodule/xmodule/tests/test_video.py +++ b/common/lib/xmodule/xmodule/tests/test_video.py @@ -25,7 +25,6 @@ from .test_import import DummySystem from xblock.field_data import DictFieldData from xblock.fields import ScopeIds -from textwrap import dedent from xmodule.tests import get_test_descriptor_system @@ -187,6 +186,7 @@ class VideoDescriptorImportTestCase(unittest.TestCase):