[Koha-patches] [PATCH] Bug 2969 - Report Name should be mandatory for saved reports
Owen Leonard
oleonard at myacpl.org
Fri Jul 19 16:04:36 CEST 2013
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.
---
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 8f9b30c..4ad79f2 100644
--- a/installer/data/mysql/kohastructure.sql
+++ b/installer/data/mysql/kohastructure.sql
@@ -1841,7 +1841,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 fd8421e..6ead258 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -7050,6 +7050,13 @@ if ( CheckVersion($DBversion) ) {
SetVersion($DBversion);
}
+$DBversion = "3.13.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, requiring that saved report name not be NULL. (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 8c34135..6bf0845 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
@@ -636,7 +636,7 @@ canned reports and writing custom SQL reports.</p>
[% END %]
[% IF ( save ) %]
-<form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
+<form action="/cgi-bin/koha/reports/guided_reports.pl" method="post" class="validated">
<input type="hidden" name="sql" value="[% sql |html %]" />
<input type="hidden" name="type" value="[% type %]" />
<input type="hidden" name="area" value="[% area %]" />
@@ -645,7 +645,7 @@ canned reports and writing custom SQL reports.</p>
<fieldset class="rows">
<legend>Save your custom report</legend>
<ol>
- <li><label for="reportname">Report name: </label><input type="text" id="reportname" name="reportname" /></li>
+ <li><label for="reportname" class="required">Report name: </label><input type="text" id="reportname" name="reportname" class="required" required="required" /> <span class="required">Required</span></li>
[% PROCESS group_and_subgroup_selection %]
<li><label for="notes">Notes:</label> <textarea name="notes" id="notes"></textarea></li>
</ol></fieldset>
@@ -803,13 +803,13 @@ $(document).ready(function() {
load_group_subgroups();
});
</script>
-<form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
+<form action="/cgi-bin/koha/reports/guided_reports.pl" method="post" class="validated">
<fieldset class="rows">
<legend>Create report from SQL</legend>
<ol>
- <li><label for="reportname">Report name:</label>
- [% IF ( reportname ) %]<input type="text" id="reportname" name="reportname" value="[% reportname %]" />
- [% ELSE %]<input type="text" id="reportname" name="reportname" />[% END %]
+ <li><label for="reportname" class="required">Report name:</label>
+ [% IF ( reportname ) %]<input type="text" class="required" required="required" id="reportname" name="reportname" value="[% reportname %]" />
+ [% ELSE %]<input type="text" class="required" required="required" id="reportname" name="reportname" />[% END %] <span class="required">Required</span>
</li>
[% PROCESS group_and_subgroup_selection %]
@@ -840,7 +840,7 @@ $(document).ready(function() {
<fieldset class="rows">
<legend>SQL:</legend>
<div style="margin:1em;">
-<textarea id="sql" name="sql" cols="50" rows="10">[% sql %]</textarea>
+<textarea id="sql" name="sql" class="required" required="required" cols="50" rows="10">[% sql %]</textarea> <span class="required">Required</span>
</div>
</fieldset>
--
1.7.9.5
More information about the Koha-patches
mailing list