You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 line
2.0 KiB

  1. // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
  2. // MIT License. See license.txt
  3. function $c(command, args, callback, error, no_spinner, freeze_msg, btn) {
  4. return wn.request.call({
  5. args: $.extend(args, {cmd: command}),
  6. success: callback,
  7. error: error,
  8. btn: btn,
  9. freeze: freeze_msg,
  10. show_spinner: !no_spinner
  11. })
  12. }
  13. // For calling an object
  14. function $c_obj(doclist, method, arg, callback, no_spinner, freeze_msg, btn) {
  15. if(arg && typeof arg!='string') arg = JSON.stringify(arg);
  16. args = {
  17. cmd:'runserverobj',
  18. args: arg,
  19. method: method
  20. };
  21. if(typeof doclist=='string')
  22. args.doctype = doclist;
  23. else
  24. args.docs = wn.model.compress(doclist)
  25. return wn.request.call({
  26. args: args,
  27. success: callback,
  28. btn: btn,
  29. freeze: freeze_msg,
  30. show_spinner: !no_spinner
  31. });
  32. }
  33. // For call a page metho
  34. function $c_page(module, page, method, arg, callback, no_spinner, freeze_msg, btn) {
  35. if(arg && typeof arg!='string') arg = JSON.stringify(arg);
  36. return wn.request.call({
  37. args: {
  38. cmd: module+'.page.'+page+'.'+page+'.'+method,
  39. arg: arg,
  40. method: method
  41. },
  42. success: callback,
  43. btn: btn,
  44. freeze: freeze_msg,
  45. show_spinner: !no_spinner
  46. });
  47. }
  48. // For calling an for output as csv
  49. function $c_obj_csv(doclist, method, arg) {
  50. // single
  51. var args = {}
  52. args.cmd = 'runserverobj';
  53. args.as_csv = 1;
  54. args.method = method;
  55. args.arg = arg;
  56. if(doclist.substr)
  57. args.doctype = doclist;
  58. else
  59. args.docs = wn.model.compress(doclist);
  60. // open
  61. open_url_post(wn.request.url, args);
  62. }
  63. // call a url as POST
  64. function open_url_post(URL, PARAMS, new_window) {
  65. var temp=document.createElement("form");
  66. temp.action=URL;
  67. temp.method="POST";
  68. temp.style.display="none";
  69. if(new_window){
  70. temp.target = '_blank';
  71. }
  72. for(var x in PARAMS) {
  73. var opt=document.createElement("textarea");
  74. opt.name=x;
  75. var val = PARAMS[x];
  76. if(typeof val!='string')
  77. val = JSON.stringify(val);
  78. opt.value=val;
  79. temp.appendChild(opt);
  80. }
  81. document.body.appendChild(temp);
  82. temp.submit();
  83. return temp;
  84. }