From b39c762ddeec0ee3e99595937b35eae052abadd7 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Fri, 2 Nov 2012 11:03:20 +0100 Subject: [PATCH] Bug 7674: Add 2 sysprefs to indicate the branch we want to separate on The 2 sysprefs are SeparateHoldingsBranch and OpacSeparateHoldingsBranch and permit to chose between home branch and holding branch. Signed-off-by: Kyle M Hall Signed-off-by: Katrin Fischer Signed-off-by: Jared Camins-Esakov --- catalogue/detail.pl | 9 +++--- installer/data/mysql/sysprefs.sql | 2 ++ installer/data/mysql/updatedatabase.pl | 32 +++++++++---------- .../admin/preferences/cataloguing.pref | 17 +++++----- .../en/modules/admin/preferences/opac.pref | 11 +++++++ opac/opac-detail.pl | 5 +-- 6 files changed, 45 insertions(+), 31 deletions(-) diff --git a/catalogue/detail.pl b/catalogue/detail.pl index 204fea381b..b20e4c5b73 100755 --- a/catalogue/detail.pl +++ b/catalogue/detail.pl @@ -188,9 +188,9 @@ my $currentbranch = C4::Context->userenv ? C4::Context->userenv->{branch} : unde if ($currentbranch and C4::Context->preference('SeparateHoldings')) { $template->param(SeparateHoldings => 1); } +my $separatebranch = C4::Context->preference('SeparateHoldingsBranch') || 'homebranch'; foreach my $item (@items) { - - my $homebranchcode = $item->{homebranch}; + my $itembranchcode = $item->{$separatebranch}; $item->{homebranch} = GetBranchName($item->{homebranch}); # can place holds defaults to yes @@ -273,8 +273,9 @@ foreach my $item (@items) { if (defined($item->{'materials'}) && $item->{'materials'} =~ /\S/){ $materials_flag = 1; - if ($currentbranch and $currentbranch ne "NO_LIBRARY_SET" and C4::Context->preference('SeparateHoldings')) { - if ($homebranchcode and $homebranchcode eq $currentbranch) { + if ($currentbranch and $currentbranch ne "NO_LIBRARY_SET" + and C4::Context->preference('SeparateHoldings')) { + if ($itembranchcode and $itembranchcode eq $currentbranch) { push @itemloop, $item; } else { push @otheritemloop, $item; diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index ad53759c29..6dcab3de3a 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -396,4 +396,6 @@ INSERT INTO systempreferences (`variable`, `value`, `options`, `explanation`, `t ('PatronSelfRegistrationBorrowerMandatoryField', 'surname|firstname', NULL , 'Choose the mandatory fields for a patron''s account, when registering via the OPAC.', 'free'), ('PatronSelfRegistrationBorrowerUnwantedField', '', NULL , 'Name the fields you don''t want to display when registering a new patron via the OPAC.', 'free'); INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SeparateHoldings', '0', 'Separate current branch holdings from other holdings', NULL, 'YesNo'); +INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SeparateHoldingsBranch', 'homebranch', 'Branch used to separate holdings', 'homebranch|holdingbranch', 'Choice'); INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacSeparateHoldings', '0', 'Separate current branch holdings from other holdings (OPAC)', NULL, 'YesNo'); +INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacSeparateHoldingsBranch', 'homebranch', 'Branch used to separate holdings (OPAC)', 'homebranch|holdingbranch', 'Choice'); diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 8d1b88dbd9..07d9b67768 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -5927,22 +5927,6 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } -$DBversion = "XXX"; -if (C4::Context->preference("Version") < TransformToNum($DBversion)) { - $dbh->do(" - INSERT INTO systempreferences (variable,value,explanation,options,type) - VALUES('SeparateHoldings', '0', 'Separate current branch holdings from other holdings', NULL, 'YesNo'); - "); - $dbh->do(" - INSERT INTO systempreferences (variable,value,explanation,options,type) - VALUES('OpacSeparateHoldings', '0', 'Separate current branch holdings from other holdings (OPAC)', NULL, 'YesNo'); - "); - - print "Upgrade to $DBversion done (Add systempreferences SeparateHoldings and OpacSeparateHoldings) \n"; - SetVersion ($DBversion); -} - - $DBversion = "3.09.00.053"; if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $dbh->do( @@ -6128,6 +6112,7 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { SetVersion($DBversion); } +<<<<<<< HEAD $DBversion = "3.11.00.005"; if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { $dbh->do(qq{CREATE TABLE borrower_attribute_types_branches(bat_code VARCHAR(10), b_branchcode VARCHAR(10),FOREIGN KEY (bat_code) REFERENCES borrower_attribute_types(code) ON DELETE CASCADE,FOREIGN KEY (b_branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ) ENGINE=INNODB DEFAULT CHARSET=utf8;}); @@ -6300,6 +6285,21 @@ if (CheckVersion($DBversion)) { SetVersion ($DBversion); } +$DBversion = "3.11.00.XXX"; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do(" + INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES + ('SeparateHoldings', '0', 'Separate current branch holdings from other holdings', NULL, 'YesNo'), + ('SeparateHoldingsBranch', 'homebranch', 'Branch used to separate holdings', 'homebranch|holdingbranch', 'Choice'), + ('OpacSeparateHoldings', '0', 'Separate current branch holdings from other holdings (OPAC)', NULL, 'YesNo'), + ('OpacSeparateHoldingsBranch', 'homebranch', 'Branch used to separate holdings (OPAC)', 'homebranch|holdingbranch', 'Choice') + "); + + print "Upgrade to $DBversion done (Add systempreferences SeparateHoldings, SeparateHoldingsBranch, OpacSeparateHoldings and OpacSeparateHoldingsBranch) \n"; + SetVersion ($DBversion); +} + + =head1 FUNCTIONS =head2 TableExists($table) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref index 098f498ff5..f2a16c67ec 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref @@ -159,12 +159,11 @@ Cataloging: - - pref: SeparateHoldings choices: - yes: "Separate" - no: "Don't separate" - - current branch holdings from other holdings at staff interface. - - - - pref: OpacSeparateHoldings - choices: - yes: "Separate" - no: "Don't separate" - - current branch holdings from other holdings at OPAC. + yes: Separate + no: Don't separate + - 'items display into two tabs. First tab contains items whose' + - pref: SeparateHoldingsBranch + choices: + homebranch: 'home branch' + holdingbranch: 'holding branch' + - 'is the branch of user logged in. The other tab contains other items.' 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 bcf712428b..9239f12d22 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 @@ -258,6 +258,17 @@ OPAC: - '
Note: Available options are: BIBTEX (bibtex), Dublin Core (dc),' - 'MARCXML (marcxml), MARC-8 encoded MARC (marc8), Unicode/UTF-8 encoded MARC (utf8),' - 'Unicode/UTF-8 encoded MARC without local use -9xx, x9x, xx9- fields and subfields (marcstd), MODS (mods), RIS (ris)' + - + - pref: OpacSeparateHoldings + choices: + yes: Separate + no: Don't separate + - 'items display into two tabs. First tab contains items whose' + - pref: OpacSeparateHoldingsBranch + choices: + homebranch: 'home branch' + holdingbranch: 'holding branch' + - 'is the branch of user logged in. The other tab contains other items.' Features: - - pref: opacuserlogin diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index c0483a3110..c4760c076f 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -517,6 +517,7 @@ my $currentbranch = C4::Context->userenv ? C4::Context->userenv->{branch} : unde if ($currentbranch and C4::Context->preference('OpacSeparateHoldings')) { $template->param(SeparateHoldings => 1); } +my $separatebranch = C4::Context->preference('OpacSeparateHoldingsBranch'); for my $itm (@items) { $itm->{holds_count} = $item_reserves{ $itm->{itemnumber} }; $itm->{priority} = $priority{ $itm->{itemnumber} }; @@ -567,9 +568,9 @@ for my $itm (@items) { $itm->{transfertfrom} = $branches->{$transfertfrom}{branchname}; $itm->{transfertto} = $branches->{$transfertto}{branchname}; } - my $homebranch = $itm->{homebranch}; + my $itembranch = $itm->{$separatebranch}; if ($currentbranch and C4::Context->preference('OpacSeparateHoldings')) { - if ($homebranch and $homebranch eq $currentbranch) { + if ($itembranch and $itembranch eq $currentbranch) { push @itemloop, $itm; } else { push @otheritemloop, $itm; -- 2.39.5