Mike Rylander [Tue, 20 Aug 2013 20:00:48 +0000 (16:00 -0400)]
Browse normalization timing fix
When indexing browse entries, we need to normalize the value we want to use
before we go looking for it in the table, for uniqueness. We do in master,
we need to in 2.4 (and before) as well.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
There's a bit in the code where it tries to pad the first digit group,
if it's the only digit group, but it assumed the digit group was the
first token.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Chris Sharp [Mon, 5 Aug 2013 18:10:56 +0000 (14:10 -0400)]
LP1208572 - Fixes for reporter.classic_item_list
This view was created before the extend_reporter schema and the reporter.
materialized_simple_record existed. Rewriting the view definition to include
those.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Kyle Tomita [Fri, 31 May 2013 18:33:59 +0000 (11:33 -0700)]
LP1185524 - Duplicate patron checking in the user editor is limited to workstation OU
Added a new library setting opac.duplicate_patron_check_use_consortium.
When true, the duplicate check will use the consortium (1) as the OU.
When false or not set, the duplicate check will use the workstation OU.
The setting is checked in subroutine that creates the search request and
sets the OU accordingly.
[LFW: Signing off but following with material changes next commit.]
Steven Chan [Mon, 5 Aug 2013 16:13:54 +0000 (12:13 -0400)]
Fix LP985075, cannot save Patron Acquisition Request form
The form is shown using a dojo EditPane attached to an EditDialog,
however, attaching the pane was done manually, resulting in the dialog
acting improperly and the pane positioned improperly.
Instead, we use dojo's attr method to define the content attribute of
the dialog to be the pane.
Signed-off-by: Steven Chan <schan@sitka.bclibraries.ca> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Chris Sharp [Wed, 31 Jul 2013 15:03:25 +0000 (11:03 -0400)]
Fixing LP 1072892 - repeated rows in reporter.classic_item_list view
The view joined the actor.card table in such a way that all library
cards (active or not) were being returned. This commit changes that
behavior so that only the current card (from actor.usr.card) is returned.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
* This commit:
- Makes sure that holding data is valid for the given caption
for new holding objects
- Teaches field_values() to fall back to '*' (unknown marker)
when a holding is missing data
- Allows the caption() method to be a setter
* This commit:
- Makes the comparison operator consider chron data, not just
enumeration data
- Teaches the comparison operator a way to handle 'unsure' data
(that is, data presented in brackets [])
* The code was assuming the $end_holding param would be uncompressed,
but this was not stated anywhere, nor enforced. Let's allow the
method to take both compressed and uncompressed holdings as the "end"
(and handle it appropriately).
* Add some holdings with missing and unsure data to test the new
comparison operators handling of such data.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Wells [Wed, 8 May 2013 19:09:41 +0000 (15:09 -0400)]
Fix logic in get_compressed_holdings()
[This commit has been squashed for merging. LFW]
* This commit rearranges some of the logic branches to protect
against an unusual case of having two holding statements with
the same start value, but one being open-ended and one not.
* The logic in get_combined_holdings() was a little sloppy and
repeated some steps unnecessarily. This cleans things up.
See the test case in the previous commit for more clarity.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Wells [Tue, 7 May 2013 22:19:34 +0000 (18:19 -0400)]
Add new get_combined_holdings() method to MFHD.pm
This commit adds a new method to the MFHD module which creates an
array of compressed holdings from all holdings for a given caption,
combining as needed.
NOTE: This method is similar to, but much less aggressive/strict than
get_compressed_holdings(). Ultimately, get_compressed_holdings()
might be deprecated in favor of this.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
In their electronic invoices, vendors sometimes include a mix of line
items that your ILS knows about, because you ordered them through it,
and line items of which your ILS knows nothing. We should not fail
altogether at processing invoices, but instead process what line items
we can.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Acq: When building invoices from EDI messages, avoid bad data
From some vendors, these EDI messages contain strings (useless ones,
like just the name of the vendor) where we had been expecting numeric
identifiers.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Mon, 6 May 2013 13:59:22 +0000 (09:59 -0400)]
LP1171875 Support locale CGI param for fm_IDL.xml
Adds support for passing the locale string directly to
/reports/fm_IDL.xml via locale= CGI parameter.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Fri, 26 Apr 2013 17:20:24 +0000 (13:20 -0400)]
LP1171875 Add locale support to IDL2js
/IDL2js now reads locale information from either locale= CGI parameter
or Accept-Language HTTP headers. The locale-aware IDL is loaded from
/reports/fm_IDL.xml via Apache subrequest. Each full copy of the IDL is
cached within the Apache processes to avoid the need to re-parse the IDL ad
infinitum for full IDL retrieval. Partial IDL retrieval is also supported
(but not cached).
No attempt is made to cleanse the locale -- invalid locale strings are
discarded -- so it's the callers responsibility to pass a valid locale.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jeff Godin [Tue, 29 May 2012 14:28:50 +0000 (10:28 -0400)]
Fix IDL and OU setting check for staged users
The IDL had references to sequences that do not exist:
staging.usr_stage_row_id_seq -- a typo, fixed
In the case of staging.billing_address_stage_row_id_seq, the
staging.billing_address_stage table is created with LIKE,
and uses the sequence staging.mailing_address_stage_row_id_seq
The OU setting check for the open-ils.actor.user.stage.create API
call was not passing an org unit, and would always fail.
We now pass the home_ou of the user being staged.
At this point, the opac.allow_pending_user OU setting type must
be manually created before its value can be set.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Mon, 8 Jul 2013 15:13:23 +0000 (11:13 -0400)]
LP1195150 batch update funds alters debits
When a fund is updated via the ACQ batch update bar (along the top of
the PO interface), ensure that any existing fund debits are updated to
use the new fund. If the selected fund exceeds the balance block
percent, the operation will fail and the user will be notified.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Mon, 22 Jul 2013 19:21:15 +0000 (15:21 -0400)]
LP1203753 AuthProxy barcode login support
When users attempt a barcode-based login with AuthProxy, the system will
determine the username of the user (based on the barcode) and use the
username instead of the barcode for all proxied login attempts. This
allows users to use their barcodes (or barcode-looking usernames) to
log in via remote authenticators.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Link checker: verification review UI needs more columns about redirects
Link checker results can contain information about redirects when URLs
in a bib record happen to point to systems that return 3XX repsonses.
All this is nicely captured in the uvuv and uvu tables, but the
user interface only offers the uvu.redirect_from column, when
uvuv.redirect_to and uvu.id are also necessary to understanding redirect
relationships among the results.
Reported by Erica Rohlfs and Bill Erickson.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Mike Rylander [Thu, 18 Jul 2013 18:48:36 +0000 (14:48 -0400)]
Point feeds to TPAC instead of slimpac or JSPAC
Where possible, point to TPAC endpoints for HMTL output of supercat feeds.
Also, just use the bookbag (container) name for bookbag feeds, instead of
wrapping them in formatting and context. The description element already
provides that.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mike Rylander [Tue, 16 Jul 2013 20:58:57 +0000 (16:58 -0400)]
Optimize away always-true hold count clause
When rendering results in the tpac we request hold counts for each record.
Most of the time (that is, whenever org unit hiding is /not/ in use) we
filter, essentially, on "where pickup_lib is in the org tree". This is
both useless and slow, so this commit will recognize that and optimize the
test away.
[LFW: fixed typo]
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Mon, 24 Jun 2013 14:12:50 +0000 (10:12 -0400)]
Avoid Z39.50 search warning for uninit var
The debug log blindly attempts to access list members that might not
exist (if, for example, an event code was returned from the attempt to
run do_service_search()), thus generating spurious log warnings.
Instead, move the debug line to only generate output when we have
created the list item in question.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Fredrick Parks [Wed, 10 Jul 2013 18:12:17 +0000 (11:12 -0700)]
LP 1103706 Hold ratios in circ policies cause errors when trying to renew items
Changed the function action.copy_related_hold_stats to accept a bigint as the perameter instead of an integer.
Copy_related_hold_stats is only called by the function action.item_user_circ_test which trys to pass a bigint.
Signed-off-by: Fredrick Parks <fparks@catalystitservices.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
In Evergreen we have authority fields defined in the database that
relate to control sets. These are used somewhere today (I'm fuzzy on
that at the moment; some places once had and may still have hardcoded
labels) but they also will be used by the bib and auth browser
that's not yet merged to master (see LP #1177810).
The 4XX tags among the set I'm talking about (in
authority.control_set_authority_fields) are mislabled, saying See Also
where they ought to say See From, e.g.
http://www.loc.gov/marc/authority/ad400.html
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Documentation for default values in Load Order Record form
Documentation for new default values and sticky fields in the acq Load
MARC Order Records form. I also moved up/modified 2.1 docs for this
interface and integrated them with the 2.2 acq/Vandelay integration docs.
Dan Wells [Wed, 10 Oct 2012 13:22:33 +0000 (09:22 -0400)]
Capture and log AuthProxy logins with no account
The current AuthProxy.pm code assumes that if the external auth
passes, the Evergreen account will be there. This protects
against cases where a user is in the external auth system but
has no matching account in Evergreen.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Wells [Thu, 27 Sep 2012 21:35:03 +0000 (17:35 -0400)]
Make AuthProxy LDAP bind code more robust
The existing version of LDAP_Auth.pm assumed that the user's
bind DN could be derived from the base DN, the ID attribute, and
the user's ID. This is frequently the case, but not always,
particularly in Active Directory setups using sAMAccountName. This
commit instead uses the initial LDAP lookup as the authority for
determining the user's DN.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Bill Erickson <berick@esilibrary.com>
If an overdue is returned after a closed date, the generate_fines code
will not generate fines for those items because the section of code that
checks for closed dates returns from the function if a closed date is
encountered.
For example, if an item is due on June 29th, but is not returned until
after July 1st (Canada Day), then when fines are generated for the item,
generate_fines creates a fine for the 30th of June, but when it
gets to the 1st of July it encouters a closed date and executes a
'return' statement which exits the generate_fines code causing the
fine from June 30th to be rolled back as well as preventing further
fines from being created.
This fix replaces the 'return' statements inside the 'for' loop
that is nested within the eval with 'next' statements.
Signed-off-by: Liam Whalen <whalen.ld@gmail.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Steven Chan [Sat, 15 Jun 2013 17:06:43 +0000 (13:06 -0400)]
Fix LP1177916, Cannot activate PO which contains only direct charges
We add a safety check in the function
Application/Acq/Order.pm/create_lineitem_list_assets(), which is called
by create_po_assets(), which is the service call initiated by the user
trying to activate a PO.
The safety check prevents the function from processing if there are no
line items specified in the arguments.
P.S. It would be better to stop the sequence of events earlier in the
client, but that will need more coding, which can been done in another
fix.
Signed-off-by: Steven Chan <schan@sitka.bclibraries.ca> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Scott [Thu, 11 Jul 2013 21:53:21 +0000 (17:53 -0400)]
Document the self check interface
This comes up from time to time on the mailing lists and on the feedback
email, and pulling together all of the pieces takes some time and
digging (thanks Bill Erickson and Ben Shum!), so let's document it once
and for all...
Steven Chan [Thu, 23 May 2013 22:22:15 +0000 (15:22 -0700)]
Patron Editor can enter erroneous values for Claims-returned count
In the staff client, Patrons interface, Edit screen, when
mouse-scrolling up and down the Edit form, it is possible to
inadvertently change the value in Claims-returned Count or Claims Never
Checked Out Count field. It will happen if the mouse hovers over either
data field while using the mouse wheel.
Both data fields use the dijit.form.NumberSpinner widget to provide a
'spin' behaviour. The fix involves cancelling the mouse scroll event as
it propagates to input fields in table rows that are using the
dijit.form.NumberSpinner widget, because the mouse scroll would be
applied too early by the widget, before the user has intentionally
focussed on one of the input fields. Now, mouse scrolling has no effect
on the two input fields; it will only have an effect in scrolling the
page up or down.
Signed-off-by: Steven Chan <schan@sitka.bclibraries.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Mark Cooper [Mon, 18 Mar 2013 22:45:14 +0000 (15:45 -0700)]
LP1156905 lineitem worksheet sorts copies by org
Lineitem copies (details) were set to be sorted by branch ('owning_lib')
by default. However this was not happening because the lineitem_details
'owning_lib' referenced a fieldmapper object (not an id or name).
This submission sets the owning_lib to the shortname so that sorting can
occur in the intended way.
Signed-off-by: Mark Cooper <markchristophercooper@gmail.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Tue, 9 Jul 2013 20:53:29 +0000 (16:53 -0400)]
Correct Linux staff client build instructions
There were a few things going on here; 2.3 introduced linux32-client and
linux64-client targets, so the old linux-client Make target no longer
worked.
Also, Wine isn't generally how many of us would recommend running staff
clients when there's a perfectly good native client likely to better
support printing, etc.
Also, rather than pointing at evergreen-ils.org for downloads, which
won't work in many situations (and which prevents the use of the
auto-update mechanism), use the "updates" target to point at the locally
downloadable clients. Eventually we'll properly document the use of
auto-updates, but for now this is hopefully a step in the right
direction.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Etheridge [Tue, 26 Jun 2012 15:39:48 +0000 (11:39 -0400)]
fix clear hold shelf with 25 or more holds
When there are 25 or more shelf expired holds to be processed, the API call
returns an array of objects instead of an object, which the staff client wasn't
prepared to accommodate. This fixes that.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Thu, 27 Jun 2013 13:46:55 +0000 (09:46 -0400)]
Avoid 0788 duplication from 2.3 failure
Recent installs of 2.3, or upgrades during 2.3, will have introduced
0788 already into the upgrade process -- meaning that the 2.3-2.4.0
script will rollback the entire transaction if it hits the duplicated
0788. Instead, move 0788 into its own transaction to increase the
chances that the 2.3-2.4.0 script will work for sites that stay up to
date or that recently installed Evergreen.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 24 Jun 2013 19:48:07 +0000 (15:48 -0400)]
Create upgrade script for ingest normalization changes
This provides the upgrade script for the ingest changes outlined
in LP 1187433. In addition, the version-upgrade script for 2.3 to
2.4.0 has been modified to move the final reingest step until after
this incremental change has been applied.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 13 Jun 2013 05:16:23 +0000 (01:16 -0400)]
Retain index granularity with minimal bloat
The previous approach to reducing index bloat arguably went too far, in
that analytics such as separately catalogued songs for an album were all
simply aggregated together in a single metabib.title_field_entry row,
rather than being added as separated metabib.title_field_entry rows for
each unique value.
To avoid the original problem of exact duplicate rows being inserted, we
now check for an existing matching row before inserting into the index.
A good test record is title "Cello concerto." which results in 1 title
proper row and 4 added entry title rows in metabib.title_field_entry
after this change.
Mike Rylander [Wed, 12 Jun 2013 15:17:08 +0000 (11:17 -0400)]
Bring back "split-brain" indexing normalization
Before 2.4-era changes to indexing and search, normalizers were applied
in a way that resulted in different effects on the value and index_vector
columns of metabib.*field_entry tables. This behavior was lost during
the changes mentioned above, but we need it for several things to work
properly, phrase search and (likely) facets among them. This commit
brings that behavior back.
See here for the original behavioral documentation:
Bob Wicksall [Thu, 13 Jun 2013 05:06:10 +0000 (01:06 -0400)]
Reduce index bloat involving non-search_field values
Rows in metabib.title_field_entry, subject_field_entry,
series_field_entry, and author_field_entry are doubled or tripled due to
bad logic in biblio.extract_metabib_field_entry. This results in these
tables being 2 or more times their correct size.
This was introduced in 2.2.0 when the logic for browse_field and
facet_field were added to biblio.extract_metabib_field_entry. 2.1 is not
affected.
The duplicates are caused when biblio.extract_metabib_field_entry
returns TRUE in the search_field column for all rows even if they should
just be facet_field or browse_field after the first search_field value
is returned.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Mike Rylander [Tue, 25 Jun 2013 11:44:22 +0000 (07:44 -0400)]
Only attempt to map copies once per hold
The development of Calculated Proximity Adjustment (CPA) for 2.4 added a "prox"
column to action.hold_copy_map (ahcm) to store on variant of copy proximity. That
value is calculated at the same time that certain other data structures are
set up, and is conceptually tied to them, so the resulting combined data
set is used to insert values into the ahcm. However, user configuration
can cause that data set to contain non-unique values, where the data structure
used previous to CPA was guaranteed to be unique. This lack of uniqueness
would then violate a constraint on the achm table. This commit restores the
required uniqueness for the purpose of creating the ahcm rows.
Dan Scott [Fri, 21 Jun 2013 18:49:27 +0000 (14:49 -0400)]
Prevent JavaScript error on non-Novelist sites
Unless the Evergreen site in question is signed up and configured to
support Novelist added content, every details page will generate a
JavaScript error due to the reference to an undefined JavaScript
function. Guard against that by testing for the presence of the Novelist
URL.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Wed, 19 Jun 2013 20:49:14 +0000 (16:49 -0400)]
Silence QP warning due to inappropriate cmp op
In QueryParser, we're comparing two strings, but using the numeric !=
operator. Switching to the 'ne' operator silences a warning that came up
7,000 today in our logs so far...
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Fri, 21 Jun 2013 03:11:20 +0000 (23:11 -0400)]
Silence uninit var warnings from query normalizer
$field_info can return undef from the search for a matching ID from the
list of normalizers, which in turn generates several uninit var warnings
when attempts are made to access members of the undef variable. We saw
6700 occurrences of these warnings during a typical day of operations.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Fri, 21 Jun 2013 03:39:21 +0000 (23:39 -0400)]
return, not next, from eval BLOCK
Per perldoc eval, exiting an eval BLOCK is not allowed. And it generates
warnings - 37,000 of them in one day - on a system on which the fine
generator runs every 15 minutes. Simply returning from the block
achieves the same goal without generating scads of warnings.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Mon, 13 May 2013 17:22:37 +0000 (13:22 -0400)]
LP1179609 ACQ lineitem identifier inline update
When the identifier value for a linetiem is changed, apply the change
and refresh the lineitem in real time instead of requiring users to
click the 'Apply Lineitem Identifier' link.
The 'Apply Lineitem Identifier' link has also been removed, since it is
no longer needed.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Scott [Mon, 17 Jun 2013 04:38:43 +0000 (00:38 -0400)]
Support script-based circ in nearest_hold()
The nearest_hold() implementation recently changed to pull in the circ
library ID; however, if circulation runs through scripts, the circ
library on the copy object has been fleshed, and the nearest hold
routine gets very confused.
Check to see if we do, in fact, have an object instead of a plain
scalar, and assign the value to a placeholder variable accordingly.
Thanks to Jeff Godin for his great assistance on debugging this!
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Tue, 18 Jun 2013 16:17:40 +0000 (12:17 -0400)]
Prevent uninit var warnings in Search/Biblio.pm
The logger messages in Search/Biblio.pm throw _many_ uninitialized
variable warnings. With a little care, we can prevent those warnings and
return our attention to more important log messages.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Mon, 27 Aug 2012 14:38:48 +0000 (10:38 -0400)]
Repair fine generator memory leak
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 <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 11 Jun 2013 20:44:35 +0000 (16:44 -0400)]
Use the centralized initialization method for QP
QueryParser maintains an effective singleton for internal configuration of
the driver in order to avoid going to the database on every search request
to gather configuration parameters. There is also a centralized sub that
has the task of properly configuring said singleton. Previous to this commit
we were not using that centralized initializer in one case, and that case
happened to be the most important initialization of QP in all of Evergreen.
The fallout from that was that some configuration was not being gathered
and passed to QueryParser, resulting in incorrect search SQL being generated.
This is rectified by using the centralized initializer everywhere that it
is needed and can be used -- and particularly in the effected case.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Mike Rylander [Tue, 30 Apr 2013 20:45:55 +0000 (16:45 -0400)]
Search clicked /and/ preceding sf values
When looking for authority records to control a bib field, we currently
search using exactly, and only, the subfield that was clicked. This
commit changes that so that the full field up to and including the clicked
subfield is used in the simple authority heading search we perform to find
the best-match (pivot) authority record.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
(Just whitespace conflicts on tab vs space -- repaired by hand.)
Ben Shum [Sat, 2 Mar 2013 07:21:58 +0000 (02:21 -0500)]
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.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>