Merge pull request #23807 from edx/ahtisham/PROD-1491
Fixed unicode-objects must be encoded before hashing mako template error
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
|
<%page expression_filter="h"/>
|
||||||
<%
|
<%
|
||||||
import hashlib
|
import hashlib
|
||||||
|
from openedx.core.djangolib.js_utils import js_escaped_string
|
||||||
from six import text_type
|
from six import text_type
|
||||||
hlskey = hashlib.md5(text_type(module.location)).hexdigest()
|
hlskey = hashlib.md5(text_type(module.location).encode('utf-8')).hexdigest()
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<section id="hls-modal-${hlskey}" class="upload-modal modal" style="overflow:scroll; background:#ddd; padding: 10px 0;box-shadow: 0 0 5px 0 #555;" >
|
<section id="hls-modal-${hlskey}" class="upload-modal modal" style="overflow:scroll; background:#ddd; padding: 10px 0;box-shadow: 0 0 5px 0 #555;" >
|
||||||
@@ -13,7 +15,7 @@
|
|||||||
|
|
||||||
<form id="hls-form" enctype="multipart/form-data">
|
<form id="hls-form" enctype="multipart/form-data">
|
||||||
<section class="source-edit">
|
<section class="source-edit">
|
||||||
<textarea name="" data-metadata-name="source_code" class="source-edit-box hls-data" rows="8" cols="40">${editable_metadata_fields['source_code']['value']|h}</textarea>
|
<textarea name="" data-metadata-name="source_code" class="source-edit-box hls-data" rows="8" cols="40">${editable_metadata_fields['source_code']['value']}</textarea>
|
||||||
</section>
|
</section>
|
||||||
<div class="submit">
|
<div class="submit">
|
||||||
<button type="reset" class="hls-compile">Save & Compile to edX XML</button>
|
<button type="reset" class="hls-compile">Save & Compile to edX XML</button>
|
||||||
@@ -30,8 +32,8 @@
|
|||||||
|
|
||||||
<script type = "text/javascript">
|
<script type = "text/javascript">
|
||||||
require(["jquery", "jquery.leanModal", "codemirror/stex"], function($) {
|
require(["jquery", "jquery.leanModal", "codemirror/stex"], function($) {
|
||||||
hlstrig = $('#hls-trig-${hlskey}');
|
hlstrig = $('#hls-trig-${hlskey | n, js_escaped_string}');
|
||||||
hlsmodal = $('#hls-modal-${hlskey}');
|
hlsmodal = $('#hls-modal-${hlskey | n, js_escaped_string}');
|
||||||
|
|
||||||
hlstrig.leanModal({
|
hlstrig.leanModal({
|
||||||
top: 0,
|
top: 0,
|
||||||
@@ -44,27 +46,26 @@ require(["jquery", "jquery.leanModal", "codemirror/stex"], function($) {
|
|||||||
mode: 'stex'
|
mode: 'stex'
|
||||||
}));
|
}));
|
||||||
|
|
||||||
$('#hls-trig-${hlskey}').click(function() {
|
hlstrig.click(function() {
|
||||||
|
|
||||||
## cannot do this with css or it gets overwritten
|
// cannot do this with css or it gets overwritten
|
||||||
var editorH = $( window ).height() - 100;
|
var editorH = $( window ).height() - 100;
|
||||||
var editorW = $( window ).innerWidth() - 70;
|
var editorW = $( window ).innerWidth() - 70;
|
||||||
hlsmodal.attr('style', function(i,s) { return s + 'margin: 2% 0 0 10% !important; left:10%; height:' + editorH + 'px;'});
|
hlsmodal.attr('style', function(i,s) { return s + 'margin: 2% 0 0 10% !important; left:10%; height:' + editorH + 'px;'});
|
||||||
|
|
||||||
## setup file input
|
// setup file input
|
||||||
## need to insert this only after hls triggered, because otherwise it
|
// need to insert this only after hls triggered, because otherwise it
|
||||||
## causes other <form> elements to become multipart/form-data,
|
// causes other <form> elements to become multipart/form-data,
|
||||||
## thus breaking multiple-choice input forms, for example.
|
// thus breaking multiple-choice input forms, for example.
|
||||||
$('#hls-finput').html('<input type="file" name="hlsfile" id="hlsfile" />');
|
edx.HtmlUtils.setHtml($('#hls-finput'),edx.HtmlUtils.HTML('<input type="file" name="hlsfile" id="hlsfile" />'));
|
||||||
|
// var el = $('#hls-modal-${hlskey | n, js_escaped_string}');
|
||||||
var el = $('#hls-modal-${hlskey}');
|
setup_autoupload(hlsmodal);
|
||||||
setup_autoupload(el);
|
slow_refresh_hls(hlsmodal);
|
||||||
slow_refresh_hls(el);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// file upload button
|
// file upload button
|
||||||
hlsmodal.find('.hls-upload').click(function() {
|
hlsmodal.find('.hls-upload').click(function() {
|
||||||
$('#hls-modal-${hlskey}').find('#hlsfile').trigger('click');
|
hlsmodal.find('#hlsfile').trigger('click');
|
||||||
});
|
});
|
||||||
|
|
||||||
// auto-upload after file is chosen
|
// auto-upload after file is chosen
|
||||||
@@ -105,9 +106,8 @@ require(["jquery", "jquery.leanModal", "codemirror/stex"], function($) {
|
|||||||
|
|
||||||
// compile & save button
|
// compile & save button
|
||||||
hlsmodal.find('.hls-compile').click(function() {
|
hlsmodal.find('.hls-compile').click(function() {
|
||||||
var el = $('#hls-modal-${hlskey}');
|
compile_hls(hlsmodal);
|
||||||
compile_hls(el);
|
$(hlsmodal).css('display', 'none')
|
||||||
$(el).css('display', 'none')
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// connect to server using POST (requires cross-domain-access)
|
// connect to server using POST (requires cross-domain-access)
|
||||||
@@ -146,25 +146,6 @@ require(["jquery", "jquery.leanModal", "codemirror/stex"], function($) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function process_return_${hlskey}(datadict) {
|
|
||||||
// datadict is json of array with "xml" and "message"
|
|
||||||
// if "xml" value is '' then the conversion failed
|
|
||||||
var xml = datadict.xml;
|
|
||||||
if (xml.length == 0) {
|
|
||||||
alert('Conversion failed! error:' + datadict.message);
|
|
||||||
} else {
|
|
||||||
set_raw_edit_box(xml, '${hlskey}');
|
|
||||||
save_hls($('#hls-modal-${hlskey}'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function set_raw_edit_box(data, key) {
|
|
||||||
// get the codemirror editor for the raw-edit-box
|
|
||||||
// it's a CodeMirror-wrap class element
|
|
||||||
$('#hls-modal-' + key).closest('.xblock-studio_view').find('.CodeMirror-wrap')[0].CodeMirror.setValue(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
// save button
|
// save button
|
||||||
|
|
||||||
hlsmodal.find('.hls-save').click(function() {
|
hlsmodal.find('.hls-save').click(function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user