seitime-frappe/webnotes/public/js/legacy/handler.js
2013-12-11 10:54:35 +05:30

95 lines
No EOL
2 KiB
JavaScript

// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
// MIT License. See license.txt
function $c(command, args, callback, error, no_spinner, freeze_msg, btn) {
return wn.request.call({
args: $.extend(args, {cmd: command}),
success: callback,
error: error,
btn: btn,
freeze: freeze_msg,
show_spinner: !no_spinner
})
}
// For calling an object
function $c_obj(doclist, method, arg, callback, no_spinner, freeze_msg, btn) {
if(arg && typeof arg!='string') arg = JSON.stringify(arg);
args = {
cmd:'runserverobj',
args: arg,
method: method
};
if(typeof doclist=='string')
args.doctype = doclist;
else
args.docs = wn.model.compress(doclist)
return wn.request.call({
args: args,
success: callback,
btn: btn,
freeze: freeze_msg,
show_spinner: !no_spinner
});
}
// For call a page metho
function $c_page(module, page, method, arg, callback, no_spinner, freeze_msg, btn) {
if(arg && typeof arg!='string') arg = JSON.stringify(arg);
return wn.request.call({
args: {
cmd: module+'.page.'+page+'.'+page+'.'+method,
arg: arg,
method: method
},
success: callback,
btn: btn,
freeze: freeze_msg,
show_spinner: !no_spinner
});
}
// For calling an for output as csv
function $c_obj_csv(doclist, method, arg) {
// single
var args = {}
args.cmd = 'runserverobj';
args.as_csv = 1;
args.method = method;
args.arg = arg;
if(doclist.substr)
args.doctype = doclist;
else
args.docs = wn.model.compress(doclist);
// open
open_url_post(wn.request.url, args);
}
// call a url as POST
function open_url_post(URL, PARAMS, new_window) {
var temp=document.createElement("form");
temp.action=URL;
temp.method="POST";
temp.style.display="none";
if(new_window){
temp.target = '_blank';
}
for(var x in PARAMS) {
var opt=document.createElement("textarea");
opt.name=x;
var val = PARAMS[x];
if(typeof val!='string')
val = JSON.stringify(val);
opt.value=val;
temp.appendChild(opt);
}
document.body.appendChild(temp);
temp.submit();
return temp;
}