From ee28ab59f51514dd495543c330fbef23e8bf876f Mon Sep 17 00:00:00 2001 From: Chris Cormack Date: Mon, 1 Oct 2012 10:58:06 +1300 Subject: [PATCH] Bug 8732: Allowing biblio level itemtypes to display instead of MARC ones If you switch BiblioItemtypeImage to Koha, you will see the Koha itemtypes, if it is Control you will get the ones generated from the MARC control fields. Squashed commit of the following: commit a36d5fdbfc484639ae7939f14e0363fda79b9323 Author: Chris Cormack Date: Mon Oct 1 10:56:47 2012 +1300 WR96747, Bug 8732 Finishing staff side commit feff903c77ffc0fcec9459ecffab6c2ee5b1349d Author: Chris Cormack Date: Mon Oct 1 09:47:07 2012 +1300 Bug 8732 : Now working for staff side too commit 641be286401cf1be54fddb3cc58a53566d80dcca Author: Chris Cormack Date: Mon Oct 1 09:10:27 2012 +1300 Bug 8732 - generalising syspref Signed-off-by: Chris Cormack commit c4ce95c12a773d84e6f8d0b05664649e170799d8 Author: Chris Cormack Date: Wed Sep 12 09:19:31 2012 +1200 Bug 8732 : Showing the images on the OPAC detail page commit 105acad0f76628536840577fa96fb0839f9f3e2f Author: Chris Cormack Date: Thu Sep 6 14:19:37 2012 +1200 Bug 8732 : Allowing biblio level itemtypes to display instead of MARC ones If you switch OpacResultsItemtypeImage to Koha, you will see the Koha itemtypes, if it is Control you will get the ones generated from the MARC control fields. --- C4/XSLT.pm | 2 +- catalogue/detail.pl | 2 +- installer/data/mysql/sysprefs.sql | 1 + installer/data/mysql/updatedatabase.pl | 10 ++++ .../en/modules/admin/preferences/searching.pref | 6 +++ .../prog/en/modules/catalogue/detail.tt | 28 +++++++++-- .../prog/en/xslt/MARC21slim2intranetDetail.xsl | 5 +- koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt | 18 +++++-- .../opac-tmpl/prog/en/modules/opac-results.tt | 2 +- .../prog/en/xslt/MARC21slim2OPACDetail.xsl | 3 ++ .../prog/en/xslt/MARC21slim2OPACResults.xsl | 53 +++++++++++--------- opac/opac-detail.pl | 1 + opac/opac-search.pl | 2 + 13 files changed, 97 insertions(+), 36 deletions(-) diff --git a/C4/XSLT.pm b/C4/XSLT.pm index 76a424b..41453f1 100644 --- a/C4/XSLT.pm +++ b/C4/XSLT.pm @@ -190,7 +190,7 @@ sub XSLTParse4Display { UseControlNumber IntranetBiblioDefaultView BiblioDefaultView singleBranchMode OPACItemLocation AlternateHoldingsField AlternateHoldingsSeparator - TrackClicks / ) + TrackClicks BiblioItemtypeImage/ ) { my $sp = C4::Context->preference( $syspref ); next unless defined($sp); diff --git a/catalogue/detail.pl b/catalogue/detail.pl index ec6f6eb..1036be0 100755 --- a/catalogue/detail.pl +++ b/catalogue/detail.pl @@ -384,7 +384,6 @@ if (C4::Context->preference('OPACBaseURL')){ } # Displaying tags - my $tag_quantity; if (C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->preference('TagsShowOnDetail')) { $template->param( @@ -397,5 +396,6 @@ if (C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->pref my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1); $template->param( holdcount => $holdcount, holds => $holds ); +$template->{VARS}->{'BiblioItemtypeImage'} = C4::Context->preference('BiblioItemtypeImage'); output_html_with_http_headers $query, $cookie, $template->output; diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index 0189c6b..13971fb 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -418,3 +418,4 @@ INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) V INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('UseQueryParser', '0', 'If enabled, try to use QueryParser for queries.', NULL, 'YesNo'); INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('FinesIncludeGracePeriod','1','If enabled, fines calculations will include the grace period.',NULL,'YesNo'); INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('UNIMARCAuthorsFacetsSeparator',', ', 'UNIMARC authors facets separator', NULL, 'short'); +INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('BiblioItemtypeImage','Control','Control which itemtype info displays for biblio level itemtypes','Control|Koha','Choice'); diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index dbb3faa..00c90d3 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -6557,6 +6557,16 @@ if ( CheckVersion($DBversion) ) { SetVersion($DBversion); } +$DBversion = "XXX"; +if ( CheckVersion($DBversion) ) { + $dbh->do( +"INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('BiblioItemtypeImage', 'Control','Control what biblio level itemtype image displays','Control|Koha','Choice')" + ); + print +"Upgrade to $DBversion done (Add new BiblioItemtypeImage to system preferences)"; + SetVersion($DBversion); +} + =head1 FUNCTIONS =head2 TableExists($table) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref index 29da64e..dc16682 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref @@ -187,3 +187,9 @@ Searching: - Use the following text as separator for UNIMARC authors facets - pref: UNIMARCAuthorsFacetsSeparator class: short + - + - "Display " + - pref: BiblioItemtypeImage + choices: + Control: "Itemtype information from the MARC control fields" + Koha: "Itemtype information from the Koha biblio level itemtype" diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt index 8f40e31..5f84e95 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt @@ -192,10 +192,22 @@ function verify_images() { [% END %] MARC Preview: Show + [% IF !item_level_itypes || BiblioItemtypeImage == 'Koha' %] + Itemtype: + [% IF ( description ) %] + [% description %] + [% ELSE %] + [% itemtype %] + [% END %] + + [% END %] [% IF ( holdcount ) %]Holds: [% holdcount %][% ELSE %][% END %] [% IF ( AmazonCoverImages ) %]
- [% END %] + + [% END %] + + [% ELSE %]

[% title |html %]

@@ -328,9 +340,19 @@ function verify_images() { [% END %] [% END %] - [% IF ( holdcount ) %]
  • Holds: [% holdcount %]
  • [% ELSE %][% END %] + [% IF ( holdcount ) %]
  • Holds: [% holdcount %]
  • [% ELSE %][% END %] + [% IF !item_level_itypes || BiblioItemtypeImage == 'Koha' %] +
  • Itemtype: + [% IF ( description ) %] + [% description %] + [% ELSE %] + [% itemtype %] + [% END %] +
  • + [% END %] - [% END %] + [% END %] +
    diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl index 1ce9d00..b8bb71e 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl +++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl @@ -25,6 +25,7 @@ + { @@ -141,7 +142,7 @@ - + Type: /intranet-tmpl/prog/img/famfamfam/.png @@ -149,7 +150,7 @@ - + diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt index 6321efd..eaa068a 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt @@ -527,15 +527,15 @@ YAHOO.util.Event.onContentReady("furtherm", function () {

    [% title |html %][% IF ( subtitle ) %] [% FOREACH subtitl IN subtitle %][% subtitl.subfield |html %] [% END %][% END %]

    [% IF ( author ) %]
    by [% author |html %]
    [% END %] - [% UNLESS ( item_level_itypes ) %] - [ + + [% IF !item_level_itypes || BiblioItemtypeImage == 'Koha' %] [% IF ( description ) %] [% description %] [% ELSE %] [% itemtype %] [% END %] - ] [% END %] - [% IF ( unititle ) %], [% unititle %][% END %] + [% END %] + [% IF ( unititle ) %], [% unititle %][% END %] [% IF ( MARCAUTHORS ) %] @@ -746,6 +746,16 @@ YAHOO.util.Event.onContentReady("furtherm", function () { [% END %] [% END %] + [% IF !item_level_itypes || BiblioItemtypeImage == 'Koha' %] +
    Itemtype: + [% IF ( description ) %] + [% description %] + [% ELSE %] + [% itemtype %] + [% END %] +
    + [% END %] + [% IF ( LibraryThingForLibrariesID ) %] [% UNLESS ( LibraryThingForLibrariesTabbedView ) %] diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt index 28b0932..b6e34ba 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt @@ -468,7 +468,7 @@ $(document).ready(function(){ [% IF ( RequestOnOpac ) %][% UNLESS ( SEARCH_RESULT.norequests ) %][% IF ( opacuserlogin ) %] [% END %][% END %][% END %][% END %][% END %] [% UNLESS suppress_result_number %][% SEARCH_RESULT.result_number %].[% END %] - [% UNLESS ( item_level_itypes ) %] + [% IF !item_level_itypes || BiblioItemtypeImage == 'Koha' %] [% UNLESS ( noItemTypeImages ) %] diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl index 5130e8b..41179e1 100644 --- a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl +++ b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl @@ -28,6 +28,7 @@ + { @@ -151,12 +152,14 @@ + Type: /opac-tmpl/lib/famfamfam/.pngmaterialTypeLabelmaterialtype + diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl index 4335e50..3f9d507 100644 --- a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl +++ b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl @@ -2,34 +2,35 @@ ]> - - - - +xmlns:marc="http://www.loc.gov/MARC21/slim" +xmlns:items="http://www.koha-community.org/items" +xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +exclude-result-prefixes="marc items"> + + + + - - - - + + + + - - + + - - - - - - - - - - + + + + + + + + + + + @@ -532,6 +533,9 @@ + + + Type: @@ -872,6 +876,7 @@ + diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index 068122e..33a21ff 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -992,6 +992,7 @@ my $defaulttab = @serialcollections > 0 ? 'serialcollection' : 'subscriptions'; $template->param('defaulttab' => $defaulttab); +$template->{VARS}->{'BiblioItemtypeImage'} = C4::Context->preference('BiblioItemtypeImage'); if (C4::Context->preference('OPACLocalCoverImages') == 1) { my @images = ListImagesForBiblio($biblionumber); diff --git a/opac/opac-search.pl b/opac/opac-search.pl index a0ba296..c38b3e2 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -3,6 +3,7 @@ # Copyright 2008 Garry Collum and the Koha Development team # Copyright 2010 BibLibre # Copyright 2011 KohaAloha, NZ +# Copyright 2012 Catalyst IT, NZ # # This file is part of Koha. # @@ -844,6 +845,7 @@ $template->{VARS}->{DidYouMean} = $template->{VARS}->{IDreamBooksReviews} = C4::Context->preference('IDreamBooksReviews'); $template->{VARS}->{IDreamBooksReadometer} = C4::Context->preference('IDreamBooksReadometer'); $template->{VARS}->{IDreamBooksResults} = C4::Context->preference('IDreamBooksResults'); +$template->{VARS}->{'BiblioItemtypeImage'} = C4::Context->preference('BiblioItemtypeImage'); $template->param( borrowernumber => $borrowernumber); output_with_http_headers $cgi, $cookie, $template->output, $content_type; -- 1.7.10.4