Bug 7674: Add 2 sysprefs to indicate the branch we want to separate on
authorJulian Maurice <julian.maurice@biblibre.com>
Fri, 2 Nov 2012 10:03:20 +0000 (11:03 +0100)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Mon, 17 Dec 2012 14:41:16 +0000 (09:41 -0500)
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>
catalogue/detail.pl
installer/data/mysql/sysprefs.sql
installer/data/mysql/updatedatabase.pl
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
opac/opac-detail.pl

index 204fea3..b20e4c5 100755 (executable)
@@ -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;
index ad53759..6dcab3d 100644 (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');
index 8d1b88d..07d9b67 100755 (executable)
@@ -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)
index 098f498..f2a16c6 100644 (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
-              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.'
index bcf7124..9239f12 100644 (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
index c0483a3..c4760c0 100755 (executable)
@@ -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;