@@ -, +, @@
---
catalogue/detail.pl | 9 +++--
installer/data/mysql/sysprefs.sql | 2 +
installer/data/mysql/updatedatabase.pl | 31 +++++++++----------
.../en/modules/admin/preferences/cataloguing.pref | 17 +++++------
.../prog/en/modules/admin/preferences/opac.pref | 11 +++++++
opac/opac-detail.pl | 5 ++-
6 files changed, 44 insertions(+), 31 deletions(-)
--- a/catalogue/detail.pl
+++ a/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;
--- a/installer/data/mysql/sysprefs.sql
+++ a/installer/data/mysql/sysprefs.sql
@@ -389,4 +389,6 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('alphabet','A B C D E F G H I J K L M N O P Q R S T U V W X Y Z','Alphabet than can be expanded into browse links, e.g. on Home > Patrons',NULL,'free');
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('RefundLostItemFeeOnReturn', '1', 'If enabled, the lost item fee charged to a borrower will be refunded when the lost item is returned.', NULL, 'YesNo');
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');
--- a/installer/data/mysql/updatedatabase.pl
+++ a/installer/data/mysql/updatedatabase.pl
@@ -5926,22 +5926,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,21 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
SetVersion($DBversion);
}
+$DBversion = "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)
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref
+++ a/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.'
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
+++ a/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
--- a/opac/opac-detail.pl
+++ a/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;
--