From 609f5371288d2876b52cd086aeabf5e07ae08537 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Wed, 22 Jun 2016 14:52:03 -0300 Subject: [PATCH] Bug 15485: (QA followup) Simplify logic and use *ResultsDisplay value during upgrade This patch makes the new sysprefs work as the previously defined. Instead of falling back to what *ResultsDisplay is set, it now has its own 'default' (that still defaults to the *Results*.xslt). The default values are set to 'default' as the rest of XSLT-related sysprefs, and the upgrade picks whatever is set in OPACXSLTResultsDisplay and XSLTResultsDisplay so current behaviour is preserved. Signed-off-by: Tomas Cohen Arazi Signed-off-by: Hector Castro New XSLTs for Lists work as advertised Signed-off-by: Kyle M Hall --- .../atomicupdate/bug_15485_xslt_for_lists.sql | 23 +++++++++++-------- installer/data/mysql/sysprefs.sql | 4 ++-- .../en/modules/admin/preferences/opac.pref | 2 +- .../admin/preferences/staff_client.pref | 2 +- opac/opac-shelves.pl | 3 +-- virtualshelves/shelves.pl | 4 +--- 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/installer/data/mysql/atomicupdate/bug_15485_xslt_for_lists.sql b/installer/data/mysql/atomicupdate/bug_15485_xslt_for_lists.sql index 96cb493f4c..73568892b3 100644 --- a/installer/data/mysql/atomicupdate/bug_15485_xslt_for_lists.sql +++ b/installer/data/mysql/atomicupdate/bug_15485_xslt_for_lists.sql @@ -1,19 +1,24 @@ -INSERT IGNORE INTO systempreferences ( variable, value, options, explanation,type ) -VALUES ('OPACXSLTListsDisplay','','','Enable XSLT stylesheet control over lists pages display on OPAC','Free'); -INSERT IGNORE INTO systempreferences ( variable, value, options, explanation,type ) -VALUES ('XSLTListsDisplay','','','Enable XSLT stylesheet control over lists pages display on intranet','Free'); + +INSERT IGNORE INTO systempreferences ( variable, value, options, explanation, type ) + SELECT 'OPACXSLTListsDisplay', COALESCE(value,''), '', 'Enable XSLT stylesheet control over lists pages display on OPAC', 'Free' + FROM systempreferences WHERE variable='OPACXSLTResultsDisplay'; + +INSERT IGNORE INTO systempreferences ( variable, value, options, explanation, type ) + SELECT 'XSLTListsDisplay', COALESCE(value,''), '', 'Enable XSLT stylesheet control over lists pages display on intranet', 'Free' + FROM systempreferences WHERE variable='XSLTResultsDisplay'; -- $DBversion = '16.06.00.XXX'; -- if ( CheckVersion($DBversion) ) { -- $dbh->do(q{ --- INSERT IGNORE INTO systempreferences ( variable, value, options, explanation,type ) --- VALUES ('OPACXSLTListsDisplay','','','Enable XSLT stylesheet control over lists pages display on OPAC','Free') +-- INSERT IGNORE INTO systempreferences ( variable, value, options, explanation, type ) +-- SELECT 'OPACXSLTListsDisplay', COALESCE(value,''), '', 'Enable XSLT stylesheet control over lists pages display on OPAC', 'Free' +-- FROM systempreferences WHERE variable='OPACXSLTResultsDisplay'; -- }); -- $dbh->do(q{ --- INSERT IGNORE INTO systempreferences ( variable, value, options, explanation,type ) --- VALUES ('XSLTListsDisplay','','','Enable XSLT stylesheet control over lists pages display on intranet','Free') - +-- INSERT IGNORE INTO systempreferences ( variable, value, options, explanation, type ) +-- SELECT 'XSLTListsDisplay', COALESCE(value,''), '', 'Enable XSLT stylesheet control over lists pages display on intranet', 'Free' +-- FROM systempreferences WHERE variable='XSLTResultsDisplay'; -- }); -- print "Upgrade to $DBversion done (Bug 15485: Allow choosing different XSLTs for lists)\n"; diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index 308cbe021c..25dccf7745 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -360,7 +360,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('opacuserlogin','1',NULL,'Enable or disable display of user login features','YesNo'), ('OPACViewOthersSuggestions','0',NULL,'If ON, allows all suggestions to be displayed in the OPAC','YesNo'), ('OPACXSLTDetailsDisplay','default','','Enable XSL stylesheet control over details page display on OPAC','Free'), -('OPACXSLTListsDisplay','','','Enable XSLT stylesheet control over lists pages display on OPAC','Free'), +('OPACXSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on OPAC','Free'), ('OPACXSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on OPAC','Free'), ('OpenLibraryCovers','0',NULL,'If ON Openlibrary book covers will be show','YesNo'), ('OpenLibrarySearch','0',NULL,'If Yes Open Library search results will show in OPAC','YesNo'), @@ -535,7 +535,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('XISBN','0','','Use with FRBRizeEditions. If ON, Koha will use the OCLC xISBN web service in the Editions tab on the detail pages. See: http://www.worldcat.org/affiliate/webservices/xisbn/app.jsp','YesNo'), ('XISBNDailyLimit','999','','The xISBN Web service is free for non-commercial use when usage does not exceed 1000 requests per day','Integer'), ('XSLTDetailsDisplay','default','','Enable XSL stylesheet control over details page display on intranet','Free'), -('XSLTListsDisplay','','','Enable XSLT stylesheet control over lists pages display on intranet','Free'), +('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'), ('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'), ('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'), ('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo') 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 87bd661b90..0ebbf613f9 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 @@ -83,7 +83,7 @@ OPAC: - 'Display lists in the OPAC using XSLT stylesheet at: ' - pref: OPACXSLTListsDisplay class: file - - '
Options:
  • Leave empty for the default stylesheet (picked from OPACXSLTResultsDisplay).
  • put a path to define an xslt file.
  • put an URL for an external specific stylesheet.
{langcode} will be replaced with current interface language' + - '
Options:
  • Leave empty for "no xslt"
  • enter "default" for the default one
  • put a path to define a xslt file
  • put an URL for an external specific stylesheet.
{langcode} will be replaced with current interface language' - - 'Display OPAC results using XSLT stylesheet at: ' - pref: OPACXSLTResultsDisplay diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/staff_client.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/staff_client.pref index e10ce5d59e..46736418fe 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/staff_client.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/staff_client.pref @@ -59,7 +59,7 @@ Staff Client: - 'Display lists in the staff client using XSLT stylesheet at: ' - pref: XSLTListsDisplay class: file - - '
Options:
  • Leave empty for the default stylesheet (picked from XSLTResultsDisplay).
  • put a path to define an xslt file.
  • put an URL for an external specific stylesheet.
{langcode} will be replaced with current interface language' + - '
Options:
  • Leave empty for "no xslt"
  • enter "default" for the default one
  • put a path to define a xslt file
  • put an URL for an external specific stylesheet.
{langcode} will be replaced with current interface language' - - 'Display results in the staff client using XSLT stylesheet at: ' - pref: XSLTResultsDisplay diff --git a/opac/opac-shelves.pl b/opac/opac-shelves.pl index 75b7e94072..54d93a1af1 100755 --- a/opac/opac-shelves.pl +++ b/opac/opac-shelves.pl @@ -249,8 +249,7 @@ if ( $op eq 'view' ) { my $borrower = GetMember( borrowernumber => $loggedinuser ); # Lists display falls back to search results configuration - my $xslfile = C4::Context->preference('OPACXSLTListsDisplay') || - C4::Context->preference('OPACXSLTResultsDisplay'); + my $xslfile = C4::Context->preference('OPACXSLTListsDisplay'); my $lang = $xslfile ? C4::Languages::getlanguage() : undef; my $sysxml = $xslfile ? C4::XSLT::get_xslt_sysprefs() : undef; diff --git a/virtualshelves/shelves.pl b/virtualshelves/shelves.pl index 98ff255f56..0540f3e4e5 100755 --- a/virtualshelves/shelves.pl +++ b/virtualshelves/shelves.pl @@ -215,9 +215,7 @@ if ( $op eq 'view' ) { my $borrower = GetMember( borrowernumber => $loggedinuser ); - # Lists display falls back to search results configuration - my $xslfile = C4::Context->preference('XSLTListsDisplay') || - C4::Context->preference('XSLTResultsDisplay'); + my $xslfile = C4::Context->preference('XSLTListsDisplay'); my $lang = $xslfile ? C4::Languages::getlanguage() : undef; my $sysxml = $xslfile ? C4::XSLT::get_xslt_sysprefs() : undef; -- 2.39.5