_Findgroupreserve, which identifies which hold request an
item should fill, is modified to check to see if
that item is targeted to fill a specific hold request.
It first checks for a targeted match with an item-level hold request,
then a targeted match with a title-level request. If no
such targeted match exists, it then checks for the top entries
in the holds queue.
The hold targeting map (i.e., the hold_fill_targets table) is
populated by the build_holds_queue.pl batch job. If that
job is not used, the behavior of _Findgroupreserve
is not changed.
This patch also
* adjusts ModReserveMinusPriority so that it calls
_FixPriority().
* adjusts circ/returns.pl so that it
correctly detects transfers.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This batch job now automatically populates the
holds request targeting table hold_fill_targets.
This patch is essentially a revamp of the job,
and includes fixes for the following bugs:
2281 (holds queue report including unavailable items)
2331 (holds queue report not working with item-level
holds)
2332 (holds queue script should attempt to fill
many requests as possible).
Several functions in this batch job are candidates
for being moved to C4::Reserves:
GetBibsWithPendingHoldRequests()
GetPendingHoldRequestsForBib()
GetItemsAvailableToFillHoldRequestsForBib()
MapItemsToHoldRequests()
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This changes some css and markup to make the return box at the top not show when one is on the checkin screen. It also moves the markup for the autocompleting search box to its own file.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
SIP code uses UNIVERSAL modules that do not tolerate the circular deps in
C4, specifically, in Auth.pm. Changing the order so that UNIVERSAL follows
the other imports is important to avoiding failures like:
perl -w -e 'use UNIVERSAL qw(can); use C4::Auth;'
"MarkIssueReturned" is not exported by the C4::Circulation module
This patch should resolve the problem earlier seen with Shelves too.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Changed so that the presence of an on-order item (items.notforloan =- -1)
permits a title-level hold request to be made. Prior to this patch,
if all of the items linked to the bib were on-order, no title-level
request was permitted.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
When placing a hold request from the staff interface,
now correctly indicate if the patron account has expired.
Prior to this patch, would warn that the account
had expired even when the expiry date is in the future,
and vice versa.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Prior to this fix, changing the priority of any hold requests
in the queue of requests for a bib would convert
all item-level requests to title-level requests.
As part of this fix, improved display of the holds queue
so that item-level and bib-level requests can be more
clearly distinguished.
Documentation note: new screenshot of list of requests for
a bib in the staff interface.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Title-level and item-level requests are now more
clearly distinguished in the patron details page
and the patron checkout page.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
AddIssue does not use the results of the lookup
of the patron whose hold request was preempted
by the issue. This patch now leaves a no-op in
the '$restype eq "Waiting"' test, but I'm not going to
refactor the hold cancellation logic now.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
* Changed C4::Reserves::ModReserve so that if using it to take an
item off the hold shelf, reserves.waitingdate is cleared.
* Improved POD.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Tag Cloud should link to user-generated tags, in a cloud display.
What used to be called "Tag Cloud" (ISBD subject links for UNIMARC libraries)
should be called a "Subject ...". AFAICT it doesn't currently use a "cloudy"
display, so some other term might be more appropriate.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch allows use of "952a" e.g. in labels format string, getting the item-level
data from the correct MARC tag. Previously it just grabbed the data from the first item tag.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch deprecates the NoReturnSetLost system preference, which, as it
turns out, was not implemented anyway. New longoverdue script allows one to
specify on the commandline system-wide delays for changing items to different
lost statuses, and optionally charge for the item.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>