Bug 13346: OpacExportOptions becomes multiple
authorJonathan Druart <jonathan.druart@biblibre.com>
Wed, 26 Nov 2014 11:58:41 +0000 (12:58 +0100)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Sun, 4 Jan 2015 15:36:45 +0000 (12:36 -0300)
The list of options is limited, the interface could be more ergonomic.

Test plan:
- verify that you are still allowed to change (add/remove) options for the
  OpacExportOptions pref.
- At the OPAC, verify the selected options appear correctly (check the
  3 pages opac-ISBDdetail.pl, opac-MARCdetail.pl and opac-detail.pl).

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_system_preferences.sql
installer/data/mysql/sysprefs.sql
installer/data/mysql/updatedatabase.pl
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-detail-sidebar.inc
opac/opac-ISBDdetail.pl
opac/opac-MARCdetail.pl
opac/opac-detail.pl

index 065c6b3..94ee493 100644 (file)
@@ -24,4 +24,4 @@ UPDATE systempreferences SET value = 'Ma bibliothèque' WHERE variable = 'Librar
 UPDATE systempreferences SET value = 'fr-FR' WHERE variable = 'opaclanguages';
 UPDATE systempreferences SET value = 1 WHERE variable = 'opaclanguagesdisplay';
 UPDATE systempreferences SET value = 'Bienvenue dans Koha...\r\n<hr>' WHERE variable = 'OpacMainUserBlock';
-UPDATE systempreferences SET value = 'bibtex|dc|marcxml|marc8|utf8|marcstd|ris' WHERE variable = 'OpacExportOptions';
+UPDATE systempreferences SET value = 'bibtex,dc,marcxml,marc8,utf8,marcstd,ris' WHERE variable = 'OpacExportOptions';
index db9fd84..89707ef 100644 (file)
@@ -252,7 +252,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
 ('OPACdefaultSortOrder','dsc','asc|dsc|za|az','Specify the default sort order','Choice'),
 ('OPACdidyoumean',NULL,NULL,'Did you mean? configuration for the OPAC. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free'),
 ('OPACDisplay856uAsImage','OFF','OFF|Details|Results|Both','Display the URI in the 856u field as an image, the corresponding OPACXSLT option must be on','Choice'),
-('OpacExportOptions','bibtex|dc|marcxml|marc8|utf8|marcstd|mods|ris','','Define export options available on OPAC detail page.','free'),
+('OpacExportOptions','bibtex,dc,marcxml,marc8,utf8,marcstd,mods,ris','','Define export options available on OPAC detail page.','multiple'),
 ('OPACFallback', 'prog', 'bootstrap|prog', 'Define the fallback theme for the OPAC interface.', 'Themes'),
 ('OpacFavicon','','','Enter a complete URL to an image to replace the default Koha favicon on the OPAC','free'),
 ('OPACFineNoRenewals','100','','Fine limit above which user cannot renew books via OPAC','Integer'),
index c380800..6d48be4 100755 (executable)
@@ -9628,6 +9628,20 @@ if ( CheckVersion($DBversion) ) {
     SetVersion($DBversion);
 }
 
+$DBversion = "3.19.00.XXX";
+if ( CheckVersion($DBversion) ) {
+    my $pref_value = C4::Context->preference('OpacExportOptions');
+    $pref_value =~ s/\|/,/g; # multiple is separated by ,
+    $dbh->do(q{
+        UPDATE systempreferences
+            SET value = ?,
+                type = 'multiple'
+        WHERE variable = 'OpacExportOptions'
+    }, {}, $pref_value );
+    print "Upgrade to $DBversion done (Bug XXXXX: OpacExportOptions is now multiple)\n";
+    SetVersion ($DBversion);
+}
+
 =head1 FUNCTIONS
 
 =head2 TableExists($table)
index 45df9f8..f0c0951 100644 (file)
@@ -275,10 +275,15 @@ OPAC:
         -
             - 'List export options that should be available from OPAC detail page separated by |:'
             - pref: OpacExportOptions
-              class: multi
-            - '<br />Note: Available options are: BIBTEX (<code>bibtex</code>), Dublin Core (<code>dc</code>),'
-            - 'MARCXML (<code>marcxml</code>), MARC-8 encoded MARC (<code>marc8</code>), Unicode/UTF-8 encoded MARC (<code>utf8</code>),'
-            - 'Unicode/UTF-8 encoded MARC without local use -9xx, x9x, xx9- fields and subfields (<code>marcstd</code>), MODS (<code>mods</code>), RIS (<code>ris</code>)'
+              multiple:
+                bibtex: BibTeX
+                dc: Dublin Core
+                marcxml: MARCXML
+                marc8: MARC-8 encoded MARC
+                utf8: Unicode/UTF-8 encoded MARC
+                marcstd: Unicode/UTF-8 encoded MARC without local use -9xx, x9x, xx9- fields and subfields
+                mods: MODS
+                ris: RIS
         -
             - pref: OpacSeparateHoldings
               choices:
index b15333b..3efa10c 100644 (file)
@@ -34,7 +34,8 @@
     </li>
     [% END %]
 
-    [% IF ( export_options.size ) %]
+    [% SET export_options = Koha.Preference('OpacExportOptions').split(',') %]
+    [% IF export_options.size %]
         <li>
             <div id="export">
                 <div class="dropdown">
index c3c03c1..2acddb4 100755 (executable)
@@ -180,11 +180,6 @@ $template->param(
     reviews             => $reviews,
 );
 
-#Export options
-my $OpacExportOptions=C4::Context->preference("OpacExportOptions");
-my @export_options = split(/\|/,$OpacExportOptions);
-$template->{VARS}->{'export_options'} = \@export_options;
-
 #Search for title in links
 my $marccontrolnumber   = GetMarcControlnumber ($record, $marcflavour);
 my $marcissns = GetMarcISSN ( $record, $marcflavour );
index f8fab90..2e9b537 100755 (executable)
@@ -314,11 +314,6 @@ if(C4::Context->preference("ISBD")) {
        $template->param(ISBD => 1);
 }
 
-#Export options
-my $OpacExportOptions=C4::Context->preference("OpacExportOptions");
-my @export_options = split(/\|/,$OpacExportOptions);
-$template->{VARS}->{'export_options'} = \@export_options;
-
 #Search for title in links
 my $marcflavour  = C4::Context->preference("marcflavour");
 my $dat = TransformMarcToKoha( $dbh, $record );
index 3bf703f..9ba8120 100755 (executable)
@@ -1058,11 +1058,6 @@ if (C4::Context->preference("OPACURLOpenInNewWindow")) {
     $template->param(covernewwindow => 'false');
 }
 
-#Export options
-my $OpacExportOptions=C4::Context->preference("OpacExportOptions");
-my @export_options = split(/\|/,$OpacExportOptions);
-$template->{VARS}->{'export_options'} = \@export_options;
-
 if ( C4::Context->preference('OpacStarRatings') !~ /disable/ ) {
     my $rating = GetRating( $biblionumber, $borrowernumber );
     $template->param(