From 8ad52e513ae5c823a913bfed88bf4820cc89cb7a Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Wed, 6 Aug 2014 10:41:25 -0400 Subject: [PATCH] LP#1329503 report editing additional repairs * correctly propagate values for the "between" widget * propagate pivot data and label when present * propagate report run time * improvements to report email propagation Signed-off-by: Bill Erickson Signed-off-by: Kathy Lussier Signed-off-by: Ben Shum --- .../web/reports/oils_rpt_report_editor.js | 29 +++++++++++++++++-- Open-ILS/web/reports/oils_rpt_widget.js | 3 ++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/Open-ILS/web/reports/oils_rpt_report_editor.js b/Open-ILS/web/reports/oils_rpt_report_editor.js index cec13ef6e4..4cbebcf813 100644 --- a/Open-ILS/web/reports/oils_rpt_report_editor.js +++ b/Open-ILS/web/reports/oils_rpt_report_editor.js @@ -106,6 +106,14 @@ oils_rpt_editor_pivot_data setSelector(DOM.oils_rpt_recur_interval_type, parts[1]); } + if (rpt.data()) { + var rpt_data = JSON2js(rpt.data()); + if (rpt_data.__pivot_label) + setSelector(DOM.oils_rpt_editor_pivot_label, rpt_data.__pivot_label); + if (rpt_data.__pivot_data) + setSelector(DOM.oils_rpt_editor_pivot_data, rpt_data.__pivot_data); + } + if (run = this.last_run) { DOM.oils_rpt_report_editor_name.disabled = true; DOM.oils_rpt_report_editor_desc.disabled = true; @@ -114,6 +122,25 @@ oils_rpt_editor_pivot_data DOM.oils_rpt_format_html.checked = run.html_format() == 't'; DOM.oils_rpt_format_chart_bar.checked = run.chart_bar() == 't'; DOM.oils_rpt_format_chart_line.checked = run.chart_line() == 't'; + DOM.oils_rpt_param_editor_sched_email = run.email(); + + if (run.run_time()) { + DOM.oils_rpt_report_editor_schedule.checked = true; + if (new Date(Date.parse(run.run_time())) < new Date()) { + // editing a report with a past-tense run time + // clear the value so the user will have to edit + DOM.oils_rpt_param_editor_sched_start_date.value = ''; + } else { + DOM.oils_rpt_param_editor_sched_start_date.value = + run.run_time().match(/(\d\d\d\d-\d\d-\d\d)/)[1] + setSelector( + DOM.oils_rpt_param_editor_sched_start_hour, + run.run_time().match(/T(\d\d:\d\d)/)[1] + ); + } + } else { + DOM.oils_rpt_param_editor_sched_start_date.value = mkYearMonDay(); + } } } @@ -223,8 +250,6 @@ oils_rpt_editor_pivot_data DOM.oils_rpt_param_editor_sched_email.value = this.last_run ? this.last_run.email() : USER.email(); - DOM.oils_rpt_param_editor_sched_start_date.value = mkYearMonDay(); - _debug("fleshing template:\n" + tmpl.name() + '\n' + formatJSON(tmpl.data())); } diff --git a/Open-ILS/web/reports/oils_rpt_widget.js b/Open-ILS/web/reports/oils_rpt_widget.js index 5f4dc2661d..f4f5263c45 100644 --- a/Open-ILS/web/reports/oils_rpt_widget.js +++ b/Open-ILS/web/reports/oils_rpt_widget.js @@ -96,7 +96,10 @@ oilsRptSetWidget.prototype.strToObj = function(str) { --------------------------------------------------------------------- */ function oilsRptBetweenWidget(args) { this.node = args.node; + var seedValue = args.value; + if (seedValue) args.value = seedValue[0]; this.startWidget = new args.startWidget(args); + if (seedValue) args.value = seedValue[1]; this.endWidget = new args.endWidget(args); } oilsRptBetweenWidget.prototype.draw = function() { -- 2.43.2