From f9965d53c2c0bed10407b27874ae5dadb2c64e6c Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Wed, 23 Jan 2013 10:05:22 -0500 Subject: [PATCH] Bug 2969 - Report Name should be mandatory for saved reports This patch re-implements the database changes from the original patch and adds an update for existing reports. It also reimplements the client-side validation using the new built-in validation plugin and adds coverage for SQL reports. I have also added the "required" attribute to the SQL report textarea since saving a report with no SQL triggers an error. To test: - Create a new guided report. Confirm that you cannot save your guided report without a report name. - Create or edit a saved SQL report. Confirm that you cannot save your report without a name or without SQL. - Confirm that the saved_sql table structure has been updated. Signed-off-by: Liz Rea Functional tests pass, database tables look correct to me. Signed-off-by: Chris Cormack Even with JS disabled, the form can not be submitted without the report name filled in. However we are not checking this server side .. if this was the public interface that would be a fail. I will leave this up to the RM to decided if client side checks are ok for this. Bearing in mind we weren't handling any sql errors properly server side before this. Signed-off-by: Chris Cormack Signed-off-by: Jonathan Druart Amended patch: description of the updatedb entry Signed-off-by: Tomas Cohen Arazi --- installer/data/mysql/kohastructure.sql | 2 +- installer/data/mysql/updatedatabase.pl | 7 +++++++ .../prog/en/modules/reports/guided_reports_start.tt | 14 +++++++------- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index e33c16812b..e91bb6bd01 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -1877,7 +1877,7 @@ CREATE TABLE saved_sql ( -- saved sql reports `last_modified` datetime default NULL, -- the date this report was last edited `savedsql` text, -- the SQL for this report `last_run` datetime default NULL, - `report_name` varchar(255) default NULL, -- the name of this report + `report_name` varchar(255) NOT NULL default '', -- the name of this report `type` varchar(255) default NULL, -- always 1 for tabular `notes` text, -- the notes or description given to this report `cache_expiry` int NOT NULL default 300, diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index e34d2145f8..0819da62cf 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -8838,6 +8838,13 @@ if ( CheckVersion($DBversion) ) { SetVersion($DBversion); } +$DBversion = "3.17.00.XXX"; +if ( CheckVersion($DBversion) ) { + $dbh->do("ALTER TABLE saved_sql CHANGE report_name report_name VARCHAR( 255 ) NOT NULL DEFAULT '' "); + print "Upgrade to $DBversion done (Bug 2969: Report Name should be mandatory for saved reports)\n"; + SetVersion ($DBversion); +} + =head1 FUNCTIONS =head2 TableExists($table) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt index 447a5f2ab2..7508730a78 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt @@ -683,7 +683,7 @@ canned reports and writing custom SQL reports.

[% END %] [% IF ( save ) %] -
+ @@ -692,7 +692,7 @@ canned reports and writing custom SQL reports.

Save your custom report
    -
  1. +
  2. Required
  3. [% PROCESS group_and_subgroup_selection %]
@@ -851,13 +851,13 @@ $(document).ready(function() { load_group_subgroups(); }); - +
Create report from SQL
    -
  1. - [% IF ( reportname ) %] - [% ELSE %][% END %] +
  2. + [% IF ( reportname ) %] + [% ELSE %][% END %] Required
  3. [% PROCESS group_and_subgroup_selection %] @@ -888,7 +888,7 @@ $(document).ready(function() {
    SQL:
    - + Required
    -- 2.11.0