From 28e54e1e4b518264d926f48cd456cfd698fabeb3 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 19 Feb 2013 14:49:20 +0100 Subject: [PATCH] Bug 9043: Changes to the advanced search page New syspref: OpacAdvSearch. This syspref is multivalued and you can add or remove some elements on the adv search page. --- installer/data/mysql/sysprefs.sql | 1 + installer/data/mysql/updatedatabase.pl | 7 +++++++ .../prog/en/modules/admin/preferences/opac.pref | 11 ++++++++++ .../opac-tmpl/prog/en/modules/opac-advsearch.tt | 21 ++++++++++++++++++-- opac/opac-search.pl | 5 ++++- 5 files changed, 42 insertions(+), 3 deletions(-) diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index c8caee7..ff64d13 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -430,3 +430,4 @@ INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) V INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('CalculateFinesOnReturn','1','Switch to control if overdue fines are calculated on return or not', '', 'YesNo'); INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('AcqWarnOnDuplicateInvoice','0','Warn librarians when they try to create a duplicate invoice', '', 'YesNo'); INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES ('AllowTooManyOverride', '1', 'If on, allow staff to override and check out items when the patron has reached the maximum number of allowed checkouts', '', 'YesNo'); +INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacAdvSearch','pubdate|itemtype|language|subtype|sorting|location','Show search options','pubdate|itemtype|language|subtype|sorting|location','multiple'); diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 74aeb3e..02ac66e 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -7067,6 +7067,13 @@ if ( CheckVersion($DBversion) ) { SetVersion($DBversion); } +$DBversion = "3.13.00.XXX"; +if ( CheckVersion($DBversion) ) { + $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacAdvSearch','pubdate|itemtype|language|subtype|sorting|location','Show search options','pubdate|itemtype|language|subtype|sorting|location','multiple');"); + print "Upgrade to $DBversion done (Bug 9043: Add OpacAdvSearch)\n"; + SetVersion ($DBversion); +} + =head1 FUNCTIONS =head2 TableExists($table) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref index 90295ef..01dba1d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -619,3 +619,14 @@ OPAC: - pref: PatronSelfRegistrationAdditionalInstructions type: textarea class: html + Advanced Search Options: + - + - Show search options + - pref: OpacAdvSearch + multiple: + pubdate: Publication date + itemtype: Item types + language: Language + subtype: Subtypes + sorting: Sorting + location: Location diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tt index 4fef1c6..33b01e1 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tt @@ -146,6 +146,7 @@ [New search] +[% IF OpacAdvSearch.grep('pubdate').size > 0 || expanded_options %]
@@ -157,7 +158,10 @@
+[% END %] +
+[% IF OpacAdvSearch.grep('itemtype').size > 0 || expanded_options %]
    [% FOREACH advsearchloo IN advancedsearchesloop %] @@ -189,6 +193,9 @@
[% END %]
+[% END %] + +[% IF OpacAdvSearch.grep('language').size > 0 || expanded_options %]
Language @@ -206,7 +213,9 @@
-[% IF ( expanded_options ) %] +[% END %] + +[% IF OpacAdvSearch.grep('subtype').size > 0 || expanded_options %] [% IF ( usmarc ) %]
@@ -279,10 +288,11 @@ [% INCLUDE 'subtypes_unimarc.inc' %]
[% END %] [% END %] - +
+[% IF OpacAdvSearch.grep('location').size > 0 || expanded_options %]
[% UNLESS ( singleBranchMode ) %] @@ -313,6 +323,9 @@ [% END %]
+[% END%] + +[% IF OpacAdvSearch.grep('sorting').size > 0 || expanded_options %]
Sorting: @@ -321,8 +334,10 @@
+[% END %]
+[% IF OpacAdvSearch.size > 0 || expanded_options %]
@@ -336,6 +351,8 @@
+[% END %] +