From: Ian Walls To: koha-patches@lists.koha-community.org Cc: Henri-Damien LAURENT , Galen Charlton , Ian Walls Subject: [PATCH] [SIGNED OFF](bug 3536) fix homeorholdingbranch on return Date: Thu, 9 Sep 2010 14:54:12 -0400 Message-Id: <1284058452-31988-1-git-send-email-ian.walls@bywatersolutions.com> X-Mailer: git-send-email 1.5.6.5 Content-Type: text/plain; charset="utf-8" From: Henri-Damien LAURENT this patch create a new systempreference "homeorholdingbranch"-like used only for returns. Signed-off-by: Galen Charlton An additional edit was made to circ/returns.pl by Ian Walls of ByWater Solutions to force the dialog message for the return to use the branch specified by the new HomeOrHoldingBranchReturn system preference, rather than always Homebranch. Signed-off-by: Ian Walls --- C4/Circulation.pm | 3 ++- admin/systempreferences.pl | 1 + circ/returns.pl | 3 ++- installer/data/mysql/en/mandatory/sysprefs.sql | 1 + .../1-Obligatoire/unimarc_standard_systemprefs.sql | 1 + installer/data/mysql/updatedatabase.pl | 9 +++++++++ kohaversion.pl | 2 -- 7 files changed, 16 insertions(+), 4 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 034a8d6..28ee185 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -1440,7 +1440,8 @@ sub AddReturn { my $item = GetItem($itemnumber) or die "GetItem($itemnumber) failed"; # full item data, but no borrowernumber or checkout info (no issue) # we know GetItem should work because GetItemnumberFromBarcode worked - my $hbr = $item->{C4::Context->preference("HomeOrHoldingBranch")} || ''; + my $hbr = C4::Context->preference("HomeOrHoldingBranchReturn") || "homebranch"; + $hbr = $item->{$hbr} || ''; # item must be from items table -- issues table has branchcode and issuingbranch, not homebranch nor holdingbranch my $borrowernumber = $borrower->{'borrowernumber'} || undef; # we don't know if we had a borrower or not diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl index 824b058..b30138e 100755 --- a/admin/systempreferences.pl +++ b/admin/systempreferences.pl @@ -193,6 +193,7 @@ $tabsysprefs{finesCalendar} = "Circulation"; $tabsysprefs{previousIssuesDefaultSortOrder} = "Circulation"; $tabsysprefs{todaysIssuesDefaultSortOrder} = "Circulation"; $tabsysprefs{HomeOrHoldingBranch} = "Circulation"; +$tabsysprefs{HomeOrHoldingBranchReturn} = "Circulation"; $tabsysprefs{RandomizeHoldsQueueWeight} = "Circulation"; $tabsysprefs{StaticHoldsQueueWeight} = "Circulation"; $tabsysprefs{AllowOnShelfHolds} = "Circulation"; diff --git a/circ/returns.pl b/circ/returns.pl index 2611099..a33a699 100755 --- a/circ/returns.pl +++ b/circ/returns.pl @@ -208,6 +208,7 @@ if ($barcode) { # ( $returned, $messages, $issueinformation, $borrower ) = AddReturn( $barcode, $userenv_branch, $exemptfine, $dropboxmode); # do the return + my $homeorholdingbranchreturn = C4::Context->preference('HomeOrHoldingBranchReturn') or 'homebranch'; # get biblio description my $biblio = GetBiblioFromItemNumber($itemnumber); @@ -217,7 +218,7 @@ if ($barcode) { $template->param( title => $biblio->{'title'}, homebranch => $biblio->{'homebranch'}, - homebranchname => GetBranchName( $biblio->{'homebranch'} ), + homebranchname => GetBranchName( $biblio->{$homeorholdingbranchreturn} ), author => $biblio->{'author'}, itembarcode => $biblio->{'barcode'}, itemtype => $biblio->{'itemtype'}, diff --git a/installer/data/mysql/en/mandatory/sysprefs.sql b/installer/data/mysql/en/mandatory/sysprefs.sql index 8bfed37..858b36b 100644 --- a/installer/data/mysql/en/mandatory/sysprefs.sql +++ b/installer/data/mysql/en/mandatory/sysprefs.sql @@ -175,6 +175,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacRenewalAllowed',0,'If ON, users can renew their issues directly from their OPAC account',NULL,'YesNo'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('PatronsPerPage','20','Number of Patrons Per Page displayed by default','20','Integer'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('HomeOrHoldingBranch','holdingbranch','Used by Circulation to determine which branch of an item to check with independent branches on, and by search to determine which branch to choose for availability ','holdingbranch|homebranch','Choice'); +INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('HomeOrHoldingBranchReturn','homebranch','Used by Circulation to determine which branch of an item to check checking-in items','holdingbranch|homebranch','Choice'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacHighlightedWords','1','If Set, then queried words are higlighted in OPAC','','YesNo'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH','0','if ON, OAI-PMH server is enabled',NULL,'YesNo'); diff --git a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql index 76db9c9..e6883d2 100644 --- a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql +++ b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql @@ -174,6 +174,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACBaseURL',NULL,'Définit l''adresse de base de l''OPAC, par exemple :opac.mylibrary.com, le http:// sera automatiquement ajouté par Koha',NULL,'Free'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacRenewalAllowed',0,'Si activé, les utilisateurs peuvent renouveller leurs prêts directement depuis leur compte à l''OPAC',NULL,'YesNo'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('HomeOrHoldingBranch','holdingbranch','Détermine si l''on utilise le site propriétaire ou le site dépositaire dans les opérations de circulation ou d''affichage de la disponibilité','holdingbranch|homebranch','Choice'); +INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('HomeOrHoldingBranchReturn','holdingbranch','Détermine si l''on utilise le site propriétaire ou le site dépositaire dans les opérations de retour','holdingbranch|homebranch','Choice'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacHighlightedWords','0','Si activé, les mots recherchés dans la notices sont affichés dans l''OPAC','','YesNo'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH','0','Si activé, le service OAI-PMH est disponible',NULL,'YesNo'); INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH:archiveID','KOHA-OAI-TEST','Identification de l''archive OAI-PMH',NULL,'Free'); diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index a0b5c4a..18d2287 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -3701,6 +3701,15 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } +$DBversion = "3.01.00.XXX"; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + my $value = $dbh->selectrow_array("SELECT value FROM systempreferences WHERE variable = 'HomeOrHoldingBranch'"); + $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('HomeOrHoldingBranchReturn','$value','Used by Circulation to determine which branch of an item to check checking-in items','holdingbranch|homebranch','Choice');"); + print "Upgrade to $DBversion done (Add HomeOrHoldingBranchReturn system preference)\n"; + SetVersion ($DBversion); +} + + =item DropAllForeignKeys($table) Drop all foreign keys of the table $table diff --git a/kohaversion.pl b/kohaversion.pl index 63b6d31..98807e1 100644 --- a/kohaversion.pl +++ b/kohaversion.pl @@ -10,9 +10,7 @@ use strict; sub kohaversion { - our $VERSION = '3.01.00.145'; - # version needs to be set this way # so that it can be picked up by Makefile.PL # during install -- 1.5.6.5