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
+ yes: Separate
+ no: Don't separate
+ - 'items display into two tabs. First tab contains items whose'
+ - pref: SeparateHoldingsBranch
choices:
- yes: "Separate"
- no: "Don't separate"
- - current branch holdings from other holdings at OPAC.
+ 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;