@@ -10,13 +10,22 @@ import frappe.sessions | |||||
import frappe.utils.file_manager | import frappe.utils.file_manager | ||||
import frappe.desk.form.run_method | import frappe.desk.form.run_method | ||||
from frappe.utils.response import build_response | from frappe.utils.response import build_response | ||||
from werkzeug.wrappers import Response | |||||
def handle(): | def handle(): | ||||
"""handle request""" | """handle request""" | ||||
cmd = frappe.local.form_dict.cmd | cmd = frappe.local.form_dict.cmd | ||||
if cmd!='login': | if cmd!='login': | ||||
execute_cmd(cmd) | |||||
data = execute_cmd(cmd) | |||||
if data: | |||||
if isinstance(data, Response): | |||||
# method returns a response object, pass it on | |||||
return data | |||||
# add the response to `message` label | |||||
frappe.response['message'] = data | |||||
return build_response("json") | return build_response("json") | ||||
@@ -39,11 +48,8 @@ def execute_cmd(cmd, from_async=False): | |||||
is_whitelisted(method) | is_whitelisted(method) | ||||
ret = frappe.call(method, **frappe.form_dict) | |||||
return frappe.call(method, **frappe.form_dict) | |||||
# returns with a message | |||||
if ret: | |||||
frappe.response['message'] = ret | |||||
def is_whitelisted(method): | def is_whitelisted(method): | ||||
# check if whitelisted | # check if whitelisted | ||||
@@ -497,6 +497,10 @@ h6.uppercase, | |||||
} | } | ||||
.frappe-control pre { | .frappe-control pre { | ||||
white-space: pre-wrap; | white-space: pre-wrap; | ||||
background-color: inherit; | |||||
border: none; | |||||
padding: 0px; | |||||
margin: 0px; | |||||
} | } | ||||
.hide-control { | .hide-control { | ||||
display: none !important; | display: none !important; | ||||
@@ -153,8 +153,9 @@ $(window).on('hashchange', function() { | |||||
return; | return; | ||||
// hide open dialog | // hide open dialog | ||||
if(cur_dialog && cur_dialog.hide_on_page_refresh) | |||||
if(cur_dialog && cur_dialog.hide_on_page_refresh) { | |||||
cur_dialog.hide(); | cur_dialog.hide(); | ||||
} | |||||
frappe.route(); | frappe.route(); | ||||
@@ -60,6 +60,12 @@ frappe.socket = { | |||||
if (frappe.flags.doc_subscribe) { | if (frappe.flags.doc_subscribe) { | ||||
return; | return; | ||||
} | } | ||||
frappe.flags.doc_subscribe = true; | |||||
// throttle to 1 per sec | |||||
setTimeout(function() { frappe.flags.doc_subscribe = false }, 1000); | |||||
if (frm.is_new()) { | if (frm.is_new()) { | ||||
return; | return; | ||||
} | } | ||||
@@ -72,11 +78,6 @@ frappe.socket = { | |||||
} | } | ||||
} | } | ||||
frappe.flags.doc_subscribe = true; | |||||
// throttle to 1 per sec | |||||
setTimeout(function() { frappe.flags.doc_subscribe = false }, 1000); | |||||
frappe.socket.doc_subscribe(frm.doctype, frm.docname); | frappe.socket.doc_subscribe(frm.doctype, frm.docname); | ||||
}); | }); | ||||
@@ -625,6 +625,10 @@ h6.uppercase, .h6.uppercase { | |||||
pre { | pre { | ||||
white-space: pre-wrap; | white-space: pre-wrap; | ||||
background-color: inherit; | |||||
border: none; | |||||
padding: 0px; | |||||
margin: 0px; | |||||
} | } | ||||
} | } | ||||