Bugzilla – Attachment 21330 Details for
Bug 8918
ILS-DI: HoldTitle and HoldItem do not calculate rank of hold
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 8918: Move $rank and $found calculation into AddReserve
Bug-8918-Move-rank-and-found-calculation-into-AddR.patch (text/plain), 8.31 KB, created by
Julian Maurice
on 2013-09-23 07:38:01 UTC
(
hide
)
Description:
Bug 8918: Move $rank and $found calculation into AddReserve
Filename:
MIME Type:
Creator:
Julian Maurice
Created:
2013-09-23 07:38:01 UTC
Size:
8.31 KB
patch
obsolete
>From 31fd8900ccc8634d3bd1165a055d76889156e45c Mon Sep 17 00:00:00 2001 >From: Julian Maurice <julian.maurice@biblibre.com> >Date: Thu, 2 May 2013 08:38:36 +0000 >Subject: [PATCH] Bug 8918: Move $rank and $found calculation into AddReserve > >and update scripts that call it. >--- > C4/ILSDI/Services.pm | 26 ++++---------------------- > C4/Reserves.pm | 24 ++++++++++++++++++++++-- > opac/opac-reserve.pl | 14 ++------------ > reserve/placerequest.pl | 21 ++++----------------- > 4 files changed, 32 insertions(+), 53 deletions(-) > >diff --git a/C4/ILSDI/Services.pm b/C4/ILSDI/Services.pm >index 93facd4..af8dd7c 100644 >--- a/C4/ILSDI/Services.pm >+++ b/C4/ILSDI/Services.pm >@@ -26,7 +26,7 @@ use C4::Circulation; > use C4::Branch; > use C4::Accounts; > use C4::Biblio; >-use C4::Reserves qw(AddReserve CancelReserve GetReservesFromBiblionumber GetReservesFromBorrowernumber CanBookBeReserved CanItemBeReserved GetReserveNextRank); >+use C4::Reserves qw(AddReserve CancelReserve GetReservesFromBiblionumber GetReservesFromBorrowernumber CanBookBeReserved CanItemBeReserved); > use C4::Context; > use C4::AuthoritiesMarc; > use C4::ILSDI::Utility; >@@ -623,11 +623,9 @@ sub HoldTitle { > $branch = $$borrower{branchcode}; > } > >- my $rank = GetReserveNextRank($biblionumber); >- > # Add the reserve > # $branch, $borrowernumber, $biblionumber, $constraint, $bibitems, $priority, $notes, $title, $checkitem, $found >- AddReserve( $branch, $borrowernumber, $biblionumber, 'a', undef, $rank, undef, $title, undef, undef ); >+ AddReserve( $branch, $borrowernumber, $biblionumber, 'a', undef, undef, undef, $title, undef, undef ); > > # Hashref building > my $out; >@@ -689,9 +687,8 @@ sub HoldItem { > my $canbookbereserved = C4::Reserves::CanBookBeReserved( $borrowernumber, $biblionumber ); > return { code => 'NotHoldable' } unless $canbookbereserved and $canitembereserved; > >- my $branch; >- > # Pickup branch management >+ my $branch; > if ( $cgi->param('pickup_location') ) { > $branch = $cgi->param('pickup_location'); > my $branches = GetBranches(); >@@ -700,24 +697,9 @@ sub HoldItem { > $branch = $$borrower{branchcode}; > } > >- my $rank; >- my $found; >- >- # Get rank and found >- if (C4::Context->preference('ReservesNeedReturns')) { >- $rank = GetReserveNextRank($biblionumber); >- } else { >- $rank = '0'; >- if ($item->{'holdingbranch'} eq $branch) { >- $found = 'W'; >- } else { >- $found = 'T'; >- } >- } >- > # Add the reserve > # $branch,$borrowernumber,$biblionumber,$constraint,$bibitems,$priority,$resdate,$expdate,$notes,$title,$checkitem,$found >- AddReserve( $branch, $borrowernumber, $biblionumber, 'a', undef, $rank, '', '', '', $title, $itemnumber, $found ); >+ AddReserve( $branch, $borrowernumber, $biblionumber, 'a', undef, undef, '', '', '', $title, $itemnumber ); > > # Hashref building > my $out; >diff --git a/C4/Reserves.pm b/C4/Reserves.pm >index 286a604..22871da 100644 >--- a/C4/Reserves.pm >+++ b/C4/Reserves.pm >@@ -164,9 +164,29 @@ sub AddReserve { > } else { > undef $expdate; # make reserves.expirationdate default to null rather than '0000-00-00' > } >+ >+ # Calculate priority if not given >+ if (not defined $priority) { >+ if ($checkitem and not C4::Context->preference('ReservesNeedReturns')) { >+ $priority = 0; >+ } else { >+ $priority = GetReserveNextRank($biblionumber); >+ } >+ } >+ >+ # Calculate found if not given >+ if ($priority == 0 and not defined $found) { >+ my $item = GetItem($checkitem); >+ if ($item->{holdingbranch} eq $branch) { >+ $found = 'W'; >+ } else { >+ $found = 'T'; >+ } >+ } >+ > if ( C4::Context->preference( 'AllowHoldDateInFuture' ) ) { >- # Make room in reserves for this before those of a later reserve date >- $priority = _ShiftPriorityByDateAndPriority( $biblionumber, $resdate, $priority ); >+ # Make room in reserves for this before those of a later reserve date >+ $priority = _ShiftPriorityByDateAndPriority( $biblionumber, $resdate, $priority ); > } > my $waitingdate; > >diff --git a/opac/opac-reserve.pl b/opac/opac-reserve.pl >index 4bba9a6..76fb7ba 100755 >--- a/opac/opac-reserve.pl >+++ b/opac/opac-reserve.pl >@@ -223,7 +223,6 @@ if ( $query->param('place_reserve') ) { > } > > my $biblioData = $biblioDataHash{$biblioNum}; >- my $found; > > # Check for user supplied reserve date > my $startdate; >@@ -235,17 +234,8 @@ if ( $query->param('place_reserve') ) { > > my $expiration_date = $query->param("expiration_date_$biblioNum"); > >- # If a specific item was selected and the pickup branch is the same as the >- # holdingbranch, force the value $rank and $found. >- my $rank = $biblioData->{rank}; > if ( $itemNum ne '' ) { > $canreserve = 1 if CanItemBeReserved( $borrowernumber, $itemNum ); >- $rank = '0' unless C4::Context->preference('ReservesNeedReturns'); >- my $item = GetItem($itemNum); >- if ( $item->{'holdingbranch'} eq $branch ) { >- $found = 'W' >- unless C4::Context->preference('ReservesNeedReturns'); >- } > } > else { > $canreserve = 1 if CanBookBeReserved( $borrowernumber, $biblioNum ); >@@ -266,10 +256,10 @@ if ( $query->param('place_reserve') ) { > AddReserve( > $branch, $borrowernumber, > $biblioNum, 'a', >- [$biblioNum], $rank, >+ [$biblioNum], undef, > $startdate, $expiration_date, > $notes, $biblioData->{title}, >- $itemNum, $found >+ $itemNum, undef > ); > ++$reserve_cnt; > } >diff --git a/reserve/placerequest.pl b/reserve/placerequest.pl >index 3fe459c..bd1ce13 100755 >--- a/reserve/placerequest.pl >+++ b/reserve/placerequest.pl >@@ -68,19 +68,6 @@ foreach my $bibnum (@biblionumbers) { > $bibinfos{$bibnum} = \%bibinfo; > } > >-my $found; >- >-# if we have an item selectionned, and the pickup branch is the same as the holdingbranch >-# of the document, we force the value $rank and $found . >-if ($checkitem ne ''){ >- $rank[0] = '0' unless C4::Context->preference('ReservesNeedReturns'); >- my $item = $checkitem; >- $item = GetItem($item); >- if ( $item->{'holdingbranch'} eq $branch ){ >- $found = 'W' unless C4::Context->preference('ReservesNeedReturns'); >- } >-} >- > if ($type eq 'str8' && $borrower){ > > foreach my $biblionumber (keys %bibinfos) { >@@ -110,17 +97,17 @@ if ($type eq 'str8' && $borrower){ > if ($multi_hold) { > my $bibinfo = $bibinfos{$biblionumber}; > AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,'a',[$biblionumber], >- $bibinfo->{rank},$startdate,$expirationdate,$notes,$bibinfo->{title},$checkitem,$found); >+ $bibinfo->{rank},$startdate,$expirationdate,$notes,$bibinfo->{title},$checkitem, undef); > } else { > if ($input->param('request') eq 'any'){ > # place a request on 1st available >- AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,'a',\@realbi,$rank[0],$startdate,$expirationdate,$notes,$title,$checkitem,$found); >+ AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,'a',\@realbi,undef,$startdate,$expirationdate,$notes,$title,$checkitem,undef); > } elsif ($reqbib[0] ne ''){ > # FIXME : elsif probably never reached, (see top of the script) > # place a request on a given item >- AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,'o',\@reqbib,$rank[0],$startdate,$expirationdate,$notes,$title,$checkitem, $found); >+ AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,'o',\@reqbib,undef,$startdate,$expirationdate,$notes,$title,$checkitem,undef); > } else { >- AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,'a',\@realbi,$rank[0],$startdate,$expirationdate,$notes,$title,$checkitem, $found); >+ AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,'a',\@realbi,undef,$startdate,$expirationdate,$notes,$title,$checkitem,undef); > } > } > } >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 8918
:
12810
|
13472
|
13565
|
15435
|
17376
|
17881
|
17882
|
17888
|
17889
|
17890
|
21328
|
21329
|
21330
|
22731
|
22732
|
24863
|
24864
|
24880
|
24881
|
24882
|
24883
|
24884
|
24885
|
24886
|
24887
|
24888
|
24920
|
25080
|
25081
|
25082
|
25083
|
25084
|
25118
|
25119
|
25139
|
25140
|
25141
|
25142
|
25143
|
25144