95 lines
No EOL
2 KiB
JavaScript
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;
|
|
} |