// N.B. this file is preceded wit 02 as it is based on GenerateReport // which we may want to add some JS for at some point, that would be 01 // TODO: may want to change this into an object, see comment in 02_ScreenReport.js // setup namespace Zymonic.Action.FileReport = {}; // function call by filter action to generate the report Zymonic.Action.FileReport.filterActionGenerateReport = function(zname, filter, params, filter_action) { // assemble params as form data var form_data = Zymonic.new_form_data(); for (var key in params) { form_data.append(key, params[key]); } // flag to force filter to not set report_only form_data.skip_params = { report_only: true }; // set the filter action icon loading var unblock = Zymonic.Utils.block_gui_element( filter_action.getLink() ); // run the filter in order to run the report filter.getFilterData( form_data, // success response function(xml) { // fine our result in the response var filter_action_result = $(xml).find(filter_action.zname+" Result"); var message; var errors = []; if (filter_action_result) { var file_report_action_result = filter_action_result.find("Action "+zname); if (file_report_action_result && file_report_action_result.attr('success') == 'true') { message = "File successfully generated." if (file_report_action_result.find('Message')) { message = file_report_action_result.find('Message').text(); } } else if (file_report_action_result && file_report_action_result.find('error')) { errors.push(file_report_action_result.find('error').text()); } else { errors.push("Filter action result missing or not successful"); } } else { errors.push("Unable to find result for this filter action: "+filter_action.zname); } // alert out some kind of result if (errors.length > 0) { alert(errors.join("\n")); } else if (message) { alert(message); } else { Zymonic.log_error("Unexpected error, no filter result or errors"); } unblock(); }, // always async false, // unblock function unblock, // unique key filter_action.ident, // function to trigger loading again, used if relogin function() { Zymonic.Utils.block_gui_element( filter_action.getLink() ); } ); };