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 +++++++
.../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.