Calling "next" from within a "try" block results in a memory leak,
presumably because "try" is a tangled nest of subs and evals.
Replacing the "try" with a good ol' "eval" avoids the leak.
This particular leak in the fine generator is onerous when the fine
generator is run often (e.g. every 15 mins), which means circs that
have already been processed for the day are re-analzyed over and over,
causing the code to continue early (next) to the next loop iteration
for large numbers of circs. It also happens when a circs are skipped
because they have no fine interval, rate, or max fine.
You know this is happening because you will see something like this in
the storage stderr log:
Exiting eval via next at
/usr/local/share/perl/5.10.1/OpenILS/Application/Storage/Publisher/action.pm
line 820.
Exiting subroutine via next at
/usr/local/share/perl/5.10.1/OpenILS/Application/Storage/Publisher/action.pm
line 820.
This patch does not avoid the "exiting eval via next" warning, since
we're still next'ing out of the eval. It just avoids the memory leak
(and the "Exiting subroutine" warning). More extensive refactoring is
needed to to completely remove the second warning.
Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Mike Rylander <email address hidden>
TPAC - set autofocus to user input when placing holds in staff client
When placing holds in TPAC via the staff client, the focus had been on the
basic search field above. Change this to have autofocus on the input field
for the hold user by default.
This can potentially save staff from having to perform an extra click to
select the input field. Now they can immediately begin entering the barcode
of the user they plan to create a hold on behalf of.
LP1081576 - fix utf8 characters in searches using portal page
Replace escape() with encodeURIComponent() on the portal page to allow utf8
characters to be passed more appropriately to the subsequent search in catalog.
Thanks Dan Scott for pointing this out.
Signed-off-by: Ben Shum <email address hidden>
Signed-off-by: Pasi Kallinen <email address hidden>
The Authority Control Set code expects the format of subfields
that it will be used to build a MARC.Field object to be of the
form: [[code,value],...] This commit makes that true.
Additionally, dojo.filter over a list of lists can cause the
nested array set to be flattened. So, instead, we loop directly.