diff options
Diffstat (limited to 'yaksh/static')
-rw-r--r-- | yaksh/static/yaksh/js/requesthandler.js | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/yaksh/static/yaksh/js/requesthandler.js b/yaksh/static/yaksh/js/requesthandler.js index 7ff90df..1c9a290 100644 --- a/yaksh/static/yaksh/js/requesthandler.js +++ b/yaksh/static/yaksh/js/requesthandler.js @@ -53,16 +53,53 @@ function response_handler(method_type, content_type, data, uid){ } else if(content_type.indexOf("application/json") !== -1) { res = JSON.parse(data); request_status = res.status; - if(method_type === "POST") { - uid = res.uid; + if (request_status){ + if(method_type === "POST") { + uid = res.uid; + } + check_state(request_status, uid); + } + else{ + unlock_screen(); + error_array = res.error; + generic_error(error_array) + } - check_state(request_status, uid); } else { reset_values(); unlock_screen(); } } +function generic_error(error_array){ + var error_output = document.getElementById("error_panel"); + error_output.innerHTML = "" + for (var i = 0; i < error_array.length; i++) { + var panel_danger = document.createElement('div'); + panel_danger.setAttribute('class', "panel panel-danger"); + + var panel_heading = document.createElement('div'); + panel_heading.setAttribute('class', "panel-heading"); + panel_heading.innerHTML = "Error no. " + (i + 1); + + var panel_body = document.createElement('div'); + panel_body.setAttribute('class', "panel-body"); + + var well = document.createElement('div'); + well.setAttribute('class', "well well-sm"); + + var pre = document.createElement('pre'); + var code = document.createElement('code'); + console.log(error_array[i]) + code.append(error_array[i]); + pre.appendChild(code); + well.appendChild(pre); + panel_body.appendChild(well); + panel_danger.appendChild(panel_heading); + panel_danger.appendChild(panel_body); + error_output.appendChild(panel_danger); + } +} function ajax_check_code(url, method_type, data_type, data, uid) { $.ajax({ method: method_type, |