From: erickson Date: Mon, 2 Oct 2006 01:30:53 +0000 (+0000) Subject: added output support, more tuning X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=30f3958eb6454ad9aa9b6de98c063cd92b33f11b;p=evergreen%2Fpines.git added output support, more tuning git-svn-id: svn://svn.open-ils.org/ILS/trunk@6319 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/reports/oils_rpt.js b/Open-ILS/web/reports/oils_rpt.js index 7751fdcd6b..74a559a7ee 100644 --- a/Open-ILS/web/reports/oils_rpt.js +++ b/Open-ILS/web/reports/oils_rpt.js @@ -5,6 +5,8 @@ function oilsInitReports() { document.captureEvents(Event.MOUSEMOVE); document.onmousemove = setMousePos; + //DEBUG = 1; + var cgi = new CGI(); fetchUser(cgi.param('ses')); DOM.oils_rpt_user.appendChild(text(USER.usrname())); diff --git a/Open-ILS/web/reports/oils_rpt_folder_window.js b/Open-ILS/web/reports/oils_rpt_folder_window.js index 3f01eb49b1..f954c91af1 100644 --- a/Open-ILS/web/reports/oils_rpt_folder_window.js +++ b/Open-ILS/web/reports/oils_rpt_folder_window.js @@ -26,9 +26,9 @@ oilsRptFolderWindow.prototype.draw = function() { _debug(this.folderNode.folder.owner().id() + ' : ' + USER.id()); - if( this.folderNode.folder.owner().id() != USER.id() ) - hideMe(DOM.oils_rpt_folder_window_contents_new_template.parentNode); - else unHideMe(DOM.oils_rpt_folder_window_contents_new_template.parentNode); + if( this.folderNode.folder.owner().id() == USER.id() && this.type == 'template') + unHideMe(DOM.oils_rpt_folder_window_contents_new_template.parentNode); + else hideMe(DOM.oils_rpt_folder_window_contents_new_template.parentNode); unHideMe(DOM.oils_rpt_folder_window_contents_div); hideMe(DOM.oils_rpt_folder_manager_div); @@ -57,15 +57,19 @@ oilsRptFolderWindow.prototype.draw = function() { this.fetchFolderData(); var sel = DOM.oils_rpt_folder_contents_action_selector; + var x = true; for( var i = 0; i < sel.options.length; i++ ) { var opt = sel.options[i]; - if( opt.getAttribute('type') == this.type ) + if( opt.getAttribute('type') == this.type ) { + if(x) opt.selected = true; + x = false; unHideMe(opt); + } else hideMe(opt); } + sel.options[0].selected = true; this.drawEditActions(); - } oilsRptFolderWindow.prototype.drawEditActions = function() { @@ -76,10 +80,6 @@ oilsRptFolderWindow.prototype.drawEditActions = function() { goTo( 'oils_rpt_builder.xhtml'+s+'&folder='+obj.folderNode.folder.id()); } - if( this.type == 'template' ) - unHideMe(DOM.oils_rpt_folder_window_contents_new_template) - else - hideMe(DOM.oils_rpt_folder_window_contents_new_template) if( this.folderNode.folder.owner().id() != USER.id() ) hideMe(DOM.oils_rpt_folder_manager_tab_table); @@ -147,11 +147,25 @@ oilsRptFolderWindow.prototype.doFolderAction = function() { for(var r = 0; r < objs.length; r++) this.deleteTemplate(objs[r]); break; + case 'show_output': + this.showOutput(objs[0]); + break; } } + +oilsRptFolderWindow.prototype.showOutput = function(sched) { + oilsRptFetchReport(sched.report(), + function(r) { + var url = oilsRptBuildOutputLink(r.template(), r.id(), sched.id()); + goTo(url); + } + ); +} + + oilsRptFolderWindow.prototype.deleteReport = function(report) { if(!confirmId('oils_rpt_folder_contents_confirm_report_delete')) return; var req = new Request(OILS_RPT_DELETE_REPORT, SESSION, report.id()); @@ -205,19 +219,26 @@ oilsRptFolderWindow.prototype.fetchFolderData = function(callback) { removeChildren(this.selector); var req = new Request(OILS_RPT_FETCH_FOLDER_DATA, SESSION, this.type, this.folderNode.folder.id()); + + if(this.type == 'output') + req = new Request(OILS_RPT_FETCH_OUTPUT, SESSION, this.folderNode.folder.id()); + + var obj = this; removeChildren(obj.selector); req.callback( function(r) { + var res = r.getResultObject(); obj.fmTable = drawFMObjectTable( { dest : obj.selector, - obj : r.getResultObject(), + obj : res, selectCol : true, - selectColName : 'Select Row' + selectColName : 'Select', + selectAllName : 'All', + selectNoneName : 'None' } ); - //sortables_init(); if(callback) callback(); } ); diff --git a/Open-ILS/web/reports/oils_rpt_folder_window.xhtml b/Open-ILS/web/reports/oils_rpt_folder_window.xhtml index f6df979cfc..09a1044b39 100644 --- a/Open-ILS/web/reports/oils_rpt_folder_window.xhtml +++ b/Open-ILS/web/reports/oils_rpt_folder_window.xhtml @@ -1,6 +1,6 @@
- Create a new Template + Create a new Template for this folder
@@ -14,6 +14,8 @@ + + @@ -42,5 +44,6 @@ The selected template could not be deleted because there are reports that depend on it. + diff --git a/Open-ILS/web/reports/oils_rpt_utils.js b/Open-ILS/web/reports/oils_rpt_utils.js index ddce821bbf..9a3ac6c85a 100644 --- a/Open-ILS/web/reports/oils_rpt_utils.js +++ b/Open-ILS/web/reports/oils_rpt_utils.js @@ -275,5 +275,16 @@ function oilsRptCreateFolder(folder, type, callback) { } } +function oilsRptFetchReport(id, callback) { + var req = new Request(OILS_RPT_FETCH_REPORT, SESSION, id); + req.callback(function(r){ callback(r.getResultObject());}); + req.send(); +} + + function oilsRptAlertSuccess() { alertId('oils_rpt_generic_success'); } + +function oilsRptBuildOutputLink(tid, rid, sid) { + return OILS_IDL_OUTPUT_URL + tid+'/'+rid+'/'+sid+'/'+ OILS_IDL_OUTPUT_FILE; +} diff --git a/Open-ILS/web/reports/oils_rpt_vars.js b/Open-ILS/web/reports/oils_rpt_vars.js index acc28f2f21..495270d0c2 100644 --- a/Open-ILS/web/reports/oils_rpt_vars.js +++ b/Open-ILS/web/reports/oils_rpt_vars.js @@ -23,6 +23,9 @@ var oilsRptSharedOutputFolderTree; /* URL to retrieve the IDL from */ var OILS_IDL_URL = "/reports/fm_IDL.xml"; +var OILS_IDL_OUTPUT_URL = '/reporter/' +var OILS_IDL_OUTPUT_FILE = 'report-data.html'; + /* multi-select which shows the user what data they want to see in the report */ var oilsRptDisplaySelector; @@ -74,6 +77,9 @@ var OILS_RPT_CREATE_TEMPLATE = 'open-ils.reporter:open-ils.reporter.template.cr var OILS_RPT_CREATE_SCHEDULE = 'open-ils.reporter:open-ils.reporter.schedule.create'; var OILS_RPT_UPDATE_REPORT = 'open-ils.reporter:open-ils.reporter.report.update'; var OILS_RPT_UPDATE_TEMPLATE = 'open-ils.reporter:open-ils.reporter.template.update'; +var OILS_RPT_FETCH_OUTPUT = 'open-ils.reporter:open-ils.reporter.schedule.retrieve_by_folder'; +var OILS_RPT_FETCH_REPORT = 'open-ils.reporter:open-ils.reporter.report.retrieve'; +var OILS_RPT_FETCH_TEMPLATE = 'open-ils.reporter:open-ils.reporter.template.retrieve'; var oilsRptCurrentFolderManager;