diff --git a/beat/web/algorithms/templates/algorithms/diff.html b/beat/web/algorithms/templates/algorithms/diff.html index cee54a2d1b31e9cedd5fafe54a0e1010d276c656..9234c6923ef3865c44afb4bcf7e92b684ec12670 100644 --- a/beat/web/algorithms/templates/algorithms/diff.html +++ b/beat/web/algorithms/templates/algorithms/diff.html @@ -2,21 +2,21 @@ {% comment %} * Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/ * Contact: beat.support@idiap.ch - * + * * This file is part of the beat.web module of the BEAT platform. - * + * * Commercial License Usage * Licensees holding valid commercial BEAT licenses may use this file in * accordance with the terms contained in a written agreement between you * and Idiap. For further information contact tto@idiap.ch - * + * * Alternatively, this file may be used under the terms of the GNU Affero * Public License version 3 as published by the Free Software and appearing * in the file LICENSE.AGPL included in the packaging of this file. * The BEAT platform is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. - * + * * You should have received a copy of the GNU Affero Public License along * with the BEAT platform. If not, see http://www.gnu.org/licenses/. {% endcomment %} @@ -129,13 +129,6 @@ function process_diff(lines, editor, diff_line_numbers_classname) </div> </div> -<div id="errors" class="row" style="display:none"> - <div class="col-sm-offset-1 col-sm-10"> - <h2></h2> - <p></p> - </div> -</div> - <script type="text/javascript"> jQuery(document).ready(function() { @@ -143,79 +136,58 @@ jQuery(document).ready(function() { $('h4').hide(); $('#progress').show(); - $.get('{% url 'api_algorithms:diff' algorithm1_author algorithm1_name algorithm1_version algorithm2_author algorithm2_name algorithm2_version %}') - .done(function(data) { - - $('#progress').hide(); - $('h4').show(); - - var source_code_lines = data.source_code_diff.split('\n') - - var code = ''; - for (var i = 0; i < source_code_lines.length; ++i) - code += source_code_lines[i].substr(2) + '\n'; - - var declaration_lines = data.diff.split('\n') - - var declaration = ''; - for (var i = 0; i < declaration_lines.length; ++i) - declaration += declaration_lines[i].substr(2) + '\n'; - - var diff_line_numbers_classname = (Math.log10(Math.max(source_code_lines.length, declaration_lines.length)) > 3 ? - 'diff_line_numbers_large' : - 'diff_line_numbers'); - - var code_editor = CodeMirror($('#code_editor_container')[0], - { - value: code, - mode: 'python', - readOnly: true, - lineNumbers: false, - gutters: [diff_line_numbers_classname, 'diff_addition_deletion'], - } - ); - - var declaration_editor = CodeMirror($('#declaration_container')[0], - { - value: declaration, - mode: 'javascript', - readOnly: true, - lineNumbers: false, - gutters: [diff_line_numbers_classname, 'diff_addition_deletion'], - } - ); - - process_diff(source_code_lines, code_editor, diff_line_numbers_classname); - process_diff(declaration_lines, declaration_editor, diff_line_numbers_classname); - }) - .fail(function(jqXHR, textStatus, errorThrown) { - $('#title').hide(); - - var errors_box = $('.container #errors'); - - if (jqXHR.status == 404) - { - errors_box.find('h2').text('Algorithm not found'); - errors_box.find('p').html("We are sorry, but the algorithm called <strong>" + - jqXHR.responseText + "</strong> could not be found."); - } - else if (jqXHR.status == 401) - { - errors_box.find('h2').text('Unauthorized access'); - errors_box.find('p').html("We are sorry, but your aren't authorized to access the algorithm called <strong>" + - jqXHR.responseText + "</strong>."); - } - else if (jqXHR.responseText.length > 0) - { - errors_box.find('h2').text(textStatus); - errors_box.find('p').html(jqXHR.responseText); + var d = $.get('{% url 'api_algorithms:diff' algorithm1_author algorithm1_name algorithm1_version algorithm2_author algorithm2_name algorithm2_version %}'); + + d.done(function(data) { + + $('#progress').hide(); + $('h4').show(); + + var source_code_lines = data.source_code_diff.split('\n'); + + var code = ''; + for (var i = 0; i < source_code_lines.length; ++i) { + code += source_code_lines[i].substr(2) + '\n'; } - else - { - errors_box.find('h2').text(textStatus); + + var declaration_lines = data.diff.split('\n'); + var declaration = ''; + + for (var i = 0; i < declaration_lines.length; ++i) { + declaration += declaration_lines[i].substr(2) + '\n'; } - errors_box.show(); + var diff_line_numbers_classname = (Math.log10(Math.max(source_code_lines.length, declaration_lines.length)) > 3 ? + 'diff_line_numbers_large' : + 'diff_line_numbers'); + + var code_editor = CodeMirror($('#code_editor_container')[0], + { + value: code, + mode: 'python', + readOnly: true, + lineNumbers: false, + gutters: [diff_line_numbers_classname, 'diff_addition_deletion'], + } + ); + + var declaration_editor = CodeMirror($('#declaration_container')[0], + { + value: declaration, + mode: 'javascript', + readOnly: true, + lineNumbers: false, + gutters: [diff_line_numbers_classname, 'diff_addition_deletion'], + } + ); + + process_diff(source_code_lines, code_editor, diff_line_numbers_classname); + process_diff(declaration_lines, declaration_editor, diff_line_numbers_classname); + }); + + d.fail(function (data, status_text) { + $('#progress').hide(); + process_error(data, status_text, document.referrer); }); }); diff --git a/beat/web/libraries/templates/libraries/diff.html b/beat/web/libraries/templates/libraries/diff.html index c99165a7dad9ca3e4f5d4eeba9c36318b884edce..b3ef4196d45acb9b1ec6afea08aa101712d8dbc3 100644 --- a/beat/web/libraries/templates/libraries/diff.html +++ b/beat/web/libraries/templates/libraries/diff.html @@ -2,21 +2,21 @@ {% comment %} * Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/ * Contact: beat.support@idiap.ch - * + * * This file is part of the beat.web module of the BEAT platform. - * + * * Commercial License Usage * Licensees holding valid commercial BEAT licenses may use this file in * accordance with the terms contained in a written agreement between you * and Idiap. For further information contact tto@idiap.ch - * + * * Alternatively, this file may be used under the terms of the GNU Affero * Public License version 3 as published by the Free Software and appearing * in the file LICENSE.AGPL included in the packaging of this file. * The BEAT platform is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. - * + * * You should have received a copy of the GNU Affero Public License along * with the BEAT platform. If not, see http://www.gnu.org/licenses/. {% endcomment %} @@ -129,93 +129,61 @@ function process_diff(lines, editor, diff_line_numbers_classname) </div> </div> -<div id="errors" class="row" style="display:none"> - <div class="col-sm-offset-1 col-sm-10"> - <h2></h2> - <p></p> - </div> -</div> - <script type="text/javascript"> jQuery(document).ready(function() { $('#progress').show(); $('h4').hide(); - $.get('{% url 'api_libraries:diff' library1_author library1_name library1_version library2_author library2_name library2_version %}') - .done(function(data) { - $('#progress').hide(); - $('h4').show(); - - var source_code_lines = data.source_code_diff.split('\n') - - var code = ''; - for (var i = 0; i < source_code_lines.length; ++i) - code += source_code_lines[i].substr(2) + '\n'; - - var declaration_lines = data.diff.split('\n') - - var declaration = ''; - for (var i = 0; i < declaration_lines.length; ++i) - declaration += declaration_lines[i].substr(2) + '\n'; - - var diff_line_numbers_classname = (Math.log10(Math.max(source_code_lines.length, declaration_lines.length)) > 3 ? - 'diff_line_numbers_large' : - 'diff_line_numbers'); - - var code_editor = CodeMirror($('#code_editor_container')[0], - { - value: code, - mode: 'python', - readOnly: true, - lineNumbers: false, - gutters: [diff_line_numbers_classname, 'diff_addition_deletion'], - } - ); - - var declaration_editor = CodeMirror($('#declaration_container')[0], - { - value: declaration, - mode: 'javascript', - readOnly: true, - lineNumbers: false, - gutters: [diff_line_numbers_classname, 'diff_addition_deletion'], - } - ); - - process_diff(source_code_lines, code_editor, diff_line_numbers_classname); - process_diff(declaration_lines, declaration_editor, diff_line_numbers_classname); - }) - .fail(function(jqXHR, textStatus, errorThrown) { + var d = $.get('{% url 'api_libraries:diff' library1_author library1_name library1_version library2_author library2_name library2_version %}'); + + d.done(function(data) { $('#progress').hide(); - $('#title').hide(); + $('h4').show(); - var errors_box = $('.container #errors'); + var source_code_lines = data.source_code_diff.split('\n'); - if (jqXHR.status == 404) - { - errors_box.find('h2').text('Library not found'); - errors_box.find('p').html("We are sorry, but the library called <strong>" + - jqXHR.responseText + "</strong> could not be found."); - } - else if (jqXHR.status == 401) - { - errors_box.find('h2').text('Unauthorized access'); - errors_box.find('p').html("We are sorry, but your aren't authorized to access the library called <strong>" + - jqXHR.responseText + "</strong>."); + var code = ''; + for (var i = 0; i < source_code_lines.length; ++i) { + code += source_code_lines[i].substr(2) + '\n'; } - else if (jqXHR.responseText.length > 0) - { - errors_box.find('h2').text(textStatus); - errors_box.find('p').html(jqXHR.responseText); - } - else - { - errors_box.find('h2').text(textStatus); + + var declaration_lines = data.diff.split('\n'); + + var declaration = ''; + for (var i = 0; i < declaration_lines.length; ++i) { + declaration += declaration_lines[i].substr(2) + '\n'; } - errors_box.show(); + var diff_line_numbers_classname = (Math.log10(Math.max(source_code_lines.length, declaration_lines.length)) > 3 ? + 'diff_line_numbers_large' : + 'diff_line_numbers'); + + var code_editor = CodeMirror($('#code_editor_container')[0], + { + value: code, + mode: 'python', + readOnly: true, + lineNumbers: false, + gutters: [diff_line_numbers_classname, 'diff_addition_deletion'], + } + ); + + var declaration_editor = CodeMirror($('#declaration_container')[0], + { + value: declaration, + mode: 'javascript', + readOnly: true, + lineNumbers: false, + gutters: [diff_line_numbers_classname, 'diff_addition_deletion'], + } + ); + + process_diff(source_code_lines, code_editor, diff_line_numbers_classname); + process_diff(declaration_lines, declaration_editor, diff_line_numbers_classname); }); + + d.fail(process_error); }); </script>