RunSavedOutputReportAction.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. *+------------------------------------------------------------------------+
  3. *| Licensed Materials - Property of IBM
  4. *| IBM Cognos Products: Viewer
  5. *| (C) Copyright IBM Corp. 2001, 2011
  6. *|
  7. *| US Government Users Restricted Rights - Use, duplication or
  8. *| disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  9. *|
  10. *+------------------------------------------------------------------------+
  11. */
  12. /**
  13. * RunSavedOutputReportAction - implements re-run in cognos viewer
  14. */
  15. function RunSavedOutputReportAction(){}
  16. RunSavedOutputReportAction.prototype = new CognosViewerAction();
  17. RunSavedOutputReportAction.prototype.updateMenu = function(jsonSpec) {
  18. var sAction = this.m_oCV.envParams["ui.action"];
  19. var bLiveReport = (sAction != "view" && sAction != "buxView" && this.m_oCV.getStatus() !== "fault");
  20. this.addMenuItemChecked(bLiveReport, jsonSpec);
  21. return jsonSpec;
  22. };
  23. RunSavedOutputReportAction.prototype.dispatchRequest = function(filters) {
  24. var cognosViewer = this.getCognosViewer();
  25. // The savedReportName will only be set if the user opened a saved dashboard, switched to saved output
  26. // and then reran the report. In this situation we need to clear the savedReportName so that when the user
  27. // saves the dashboard, a new report is created under the dashboard (bug COGCQ00278882)
  28. if (cognosViewer.envParams["savedReportName"]) {
  29. delete cognosViewer.envParams["savedReportName"];
  30. }
  31. // clear off the error page if this is invoked after a fault
  32. if( cognosViewer.getStatus() === 'fault')
  33. {
  34. var widget = this.getCognosViewer().getViewerWidget();
  35. widget.clearErrorDlg();
  36. }
  37. var sAction = cognosViewer.envParams["ui.action"];
  38. var formWarpRequest = document.getElementById("formWarpRequest" + cognosViewer.getId());
  39. if (cognosViewer.envParams["ui.reRunObj"])
  40. {
  41. cognosViewer.envParams["ui.object"] = cognosViewer.envParams["ui.reRunObj"];
  42. }
  43. else if (sAction == "view" && formWarpRequest && typeof formWarpRequest["reRunObj"] != "undefined" && formWarpRequest["reRunObj"] != null && formWarpRequest["reRunObj"].value.length > 0)
  44. {
  45. cognosViewer.envParams["ui.object"] = formWarpRequest["reRunObj"].value;
  46. }
  47. var oReq = new ViewerDispatcherEntry(cognosViewer);
  48. oReq.addFormField("ui.action", "bux");
  49. oReq.addFormField("widget.runFromSavedOutput", "true");
  50. oReq.addFormField("ui.object", cognosViewer.envParams["ui.object"]);
  51. oReq.addFormField("run.outputFormat", "HTML");
  52. oReq.addFormField("ui.primaryAction","");
  53. oReq.addFormField("widget.reloadToolbar", "true");
  54. oReq.addDefinedNonNullFormField("cv.objectPermissions", cognosViewer.envParams["cv.objectPermissions"]);
  55. oReq.addDefinedNonNullFormField("run.prompt", cognosViewer.envParams["promptOnRerun"]);
  56. oReq.addDefinedNonNullFormField("limitedInteractiveMode", cognosViewer.envParams["limitedInteractiveMode"]);
  57. oReq.addDefinedNonNullFormField("widget.globalPromptInfo", cognosViewer.getViewerWidget().getGlobalPromptsInfo());
  58. oReq.addDefinedNonNullFormField("baseReportSearchPath", cognosViewer.envParams["baseReportSearchPath"]);
  59. oReq.addNonEmptyStringFormField("cv.updateDataFilters", filters);
  60. // Clear the properties dialog to it'll get rebuilt. This is needed for the 'View report specification' link
  61. cognosViewer.getViewerWidget().clearPropertiesDialog();
  62. cognosViewer.preparePromptValues(oReq);
  63. cognosViewer.dispatchRequest(oReq);
  64. this.fireModifiedReportEvent();
  65. cognosViewer.envParams["ui.action"] = "run";
  66. };
  67. RunSavedOutputReportAction.prototype.execute = function() {
  68. this.gatherFilterInfoBeforeAction("RunSavedOutputReport");
  69. };