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 <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This commit is contained in:
Julian Maurice 2012-11-02 11:03:20 +01:00 committed by Jared Camins-Esakov
parent 9d7dc5bb86
commit b39c762dde
6 changed files with 44 additions and 30 deletions

View File

@ -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;

View File

@ -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');

View File

@ -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)

View File

@ -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.'

View File

@ -258,6 +258,17 @@ OPAC:
- '<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>)'
-
- 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

View File

@ -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;