Evergreen.git
5 years agoOptimize away always-true hold count clause
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>
5 years agoAvoid Z39.50 search warning for uninit var
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>
5 years agoStamping upgrade script for copy stats SP fix
Mike Rylander [Wed, 17 Jul 2013 17:29:14 +0000 (13:29 -0400)]
Stamping upgrade script for copy stats SP fix

Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP 1103706 Hold ratios in circ policies cause errors when trying to renew items
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>
5 years agoStamping upgrade script for authority labeling fix
Mike Rylander [Wed, 17 Jul 2013 17:25:29 +0000 (13:25 -0400)]
Stamping upgrade script for authority labeling fix

Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoAuthorities: 4XX fields have wrong names
Lebbeous Fogle-Weekley [Thu, 11 Jul 2013 19:31:37 +0000 (15:31 -0400)]
Authorities: 4XX fields have wrong names

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>
5 years agoImplement a concurrent-run cache for result rendering a la initial search queue compr...
Mike Rylander [Fri, 12 Jul 2013 17:11:57 +0000 (13:11 -0400)]
Implement a concurrent-run cache for result rendering a la initial search queue compression

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoFix untranslatable strings in the selfcheck interface.
Pasi Kallinen [Tue, 16 Jul 2013 15:33:32 +0000 (18:33 +0300)]
Fix untranslatable strings in the selfcheck interface.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoInitial selfcheck styling enhancements
Michael Peters [Wed, 22 Aug 2012 12:25:25 +0000 (08:25 -0400)]
Initial selfcheck styling enhancements

* Convert action links to buttons for increased clarity
* Convert dashed fieldsets to gradient backed bubbles for depth
* Color line-item table headers to distinguish from actual line-items
* Color logo background for increased contrast
* Larger input box
* Background on prompts to distinguish from logo background

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
Conflicts:
Open-ILS/src/templates/circ/selfcheck/main.tt2
Open-ILS/src/templates/circ/selfcheck/summary.tt2

Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoMerge branch 'master' of git://git.evergreen-ils.org/Evergreen into sticky-acq-fields...
Kathy Lussier [Tue, 16 Jul 2013 20:02:31 +0000 (16:02 -0400)]
Merge branch 'master' of git://git.evergreen-ils.org/Evergreen into sticky-acq-fields-docs

6 years agoDocumentation for default values in Load Order Record form
Kathy Lussier [Tue, 16 Jul 2013 19:47:28 +0000 (15:47 -0400)]
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.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoCapture and log AuthProxy logins with no account
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>
6 years agoCapture and log AuthProxy logins with no account
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>
6 years agoMake AuthProxy LDAP bind code more robust
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>
6 years agoFixes error with generate_fines for overdues returned after closed date tags/rel_2_5_m2
Liam Whalen [Mon, 15 Jul 2013 04:00:14 +0000 (21:00 -0700)]
Fixes error with generate_fines for overdues returned after closed date

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 generated.

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>
6 years agoMove action.hold_request_cancel_cause inserts for i18n
Pasi Kallinen [Tue, 2 Jul 2013 06:13:40 +0000 (09:13 +0300)]
Move action.hold_request_cancel_cause inserts for i18n

Move action.hold_request_cancel_cause inserts to 950.data.seed-values.sql
so they're picked up for translation.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoMove acq.user_request_type data for i18n picking
Pasi Kallinen [Tue, 2 Jul 2013 05:34:16 +0000 (08:34 +0300)]
Move acq.user_request_type data for i18n picking

Move acq.user_request_type inserts into 950.data.seed-values.sql
so those get picked up for translation.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoAdd release note for Print Single Item Receipt
Ben Shum [Fri, 12 Jul 2013 20:44:44 +0000 (16:44 -0400)]
Add release note for Print Single Item Receipt

Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoAdds the option to print a single item from the Items Out.
edoceo [Thu, 25 Apr 2013 17:52:43 +0000 (10:52 -0700)]
Adds the option to print a single item from the Items Out.
A new button and right-click option are created.

Signed-off-by: edoceo <code@edoceo.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoAdd missing character set definitions to data URIs.
Pasi Kallinen [Thu, 27 Jun 2013 08:23:11 +0000 (11:23 +0300)]
Add missing character set definitions to data URIs.
Also use encodeURIComponent() instead of escape() so the UTF-8 characters stay intact.
Also, fix the print macro help popup window size.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
6 years agoStamping upgrade script for making state not required in org unit address
Ben Shum [Fri, 12 Jul 2013 19:36:06 +0000 (15:36 -0400)]
Stamping upgrade script for making state not required in org unit address

Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoDo not explicitly require the state field in org unit addresses.
Pasi Kallinen [Mon, 10 Jun 2013 07:32:41 +0000 (10:32 +0300)]
Do not explicitly require the state field in org unit addresses.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoLP1200735 stamping upgrade for usrname index
Bill Erickson [Fri, 12 Jul 2013 19:19:23 +0000 (15:19 -0400)]
LP1200735 stamping upgrade for usrname index

Signed-off-by: Bill Erickson <berick@esilibrary.com>
6 years agoLP#1200735: improve performance of patron search by username
Galen Charlton [Fri, 12 Jul 2013 19:10:32 +0000 (15:10 -0400)]
LP#1200735: improve performance of patron search by username

This patch adds an additional index on actor.usr.usrname.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
6 years agoWhitespace-only changes to Fieldmapper.pm
Dan Wells [Fri, 12 Jul 2013 18:29:30 +0000 (14:29 -0400)]
Whitespace-only changes to Fieldmapper.pm

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoTeach Fieldmapper (Perl) to record and expose field datatype
Mike Rylander [Mon, 19 Mar 2012 22:35:52 +0000 (18:35 -0400)]
Teach Fieldmapper (Perl) to record and expose field datatype

We record most everything from the IDL, but until now we skipped datatype
because it's generally not useful in perl.  But, there might be uses.  So
now we record it, and expose it through the class and instance FieldDatatype
method.  Also added is a more general FieldInfo method, which returns a hash
containing field attributes, including but not limited to:

 * virtual  [1|0]
 * required [1|0]
 * position [array position for internal implementation]
 * datatype [bool|float|id|int|interval|link|money|number|org_unit|text|timestamp]
 * validate [regexp]

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agofix editing think-o in release note
Jason Etheridge [Fri, 12 Jul 2013 16:28:58 +0000 (12:28 -0400)]
fix editing think-o in release note

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
6 years agoupgrde scrpt/release note for Usr Setting Defaults
Jason Etheridge [Fri, 12 Jul 2013 16:21:47 +0000 (12:21 -0400)]
upgrde scrpt/release note for Usr Setting Defaults

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
6 years agomatch surrounding whitespace
Jason Etheridge [Fri, 12 Jul 2013 16:16:10 +0000 (12:16 -0400)]
match surrounding whitespace

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
6 years agoUser Setting Registration Defaults
Thomas Berezansky [Tue, 2 Oct 2012 20:47:42 +0000 (16:47 -0400)]
User Setting Registration Defaults

Add a new reg_default value for user setting types. On patron registration
the value (if any) is used as a default for the patron.

Only applicable to those settings editable via the patron editor.

Intended use cases:

1 - Hold Notification Type Default other than phone:email
2 - A/T user settings defaulting to "on" at registration

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
6 years agoFix LP1177916, Cannot activate PO which contains only direct charges
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>
6 years agoSelf-check docs: fix URL formatting
Dan Scott [Thu, 11 Jul 2013 22:04:37 +0000 (18:04 -0400)]
Self-check docs: fix URL formatting

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoDocument the self check interface
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...

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoStaff client index: Add tooltips, restore spacing
Remington Steed [Mon, 8 Jul 2013 15:35:45 +0000 (11:35 -0400)]
Staff client index: Add tooltips, restore spacing

This commit adds to Pasi's improvements of the staff client index (or
portal) page by adding a tooltip message to all of the "open in a new
tab" icons, using the already translatable alt text of the icon. Also,
this commit restores the original padding on the rows, which was changed
when border-collapse was previously added.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoMake staff client index more user friendly
Pasi Kallinen [Tue, 2 Jul 2013 07:57:19 +0000 (10:57 +0300)]
Make staff client index more user friendly

by letting the user click on a bigger area instead of trying to hit
the exact location of the text, and making the entry hilighted.
Also simplify the html a bit.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoLP833820 repair ACQ options passing thinko
Bill Erickson [Thu, 11 Jul 2013 17:14:04 +0000 (13:14 -0400)]
LP833820 repair ACQ options passing thinko

Ensure zero_copy_activate option is passed down to
create_lineitem_debits with new no-asset-activation code.  Thanks to Dan
Wells for spotting this.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoRelease notes entry for PO activation without loading items.
Kathy Lussier [Thu, 11 Jul 2013 01:49:16 +0000 (21:49 -0400)]
Release notes entry for PO activation without loading items.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
6 years agoSupport PO activation w/o loading items
Bill Erickson [Tue, 27 Nov 2012 20:26:48 +0000 (15:26 -0500)]
Support PO activation w/o loading items

Allow for the activation of purchase orders without requiring that bibs
and items be loaded.  (Currently, if bibs and items are not manually
loaded, they are loaded during PO activation).

Adds a new link next to the existing PO Activate link for "Activate
Withoug Loading Items".  Apart from the fact that there are no
underlying bibs/copies, such a PO behaves the same as any other PO.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Conflicts:
Open-ILS/src/templates/acq/po/view.tt2
Open-ILS/web/js/ui/default/acq/po/view_po.js

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoStamping hold-cancel-via-sip upgrade script
Mike Rylander [Thu, 11 Jul 2013 17:09:11 +0000 (13:09 -0400)]
Stamping hold-cancel-via-sip upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoUnbreaking wrong-direction conflict resolution from previous commit
Mike Rylander [Thu, 11 Jul 2013 16:31:37 +0000 (12:31 -0400)]
Unbreaking wrong-direction conflict resolution from previous commit

Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoSIP hold cancellation support
Bill Erickson [Tue, 27 Nov 2012 15:42:58 +0000 (10:42 -0500)]
SIP hold cancellation support

Implement a subset of SIP message pair 15/16 for holds cancellation.

1. New oils_sip.xml configuration option "msg64_hold_datatype".  This
is similar to msg64_summary_datatype, but affacts holds instead of
circulations.  When set to 'barcode', holds information will be
delivered as a set of copy barcodes instead of title strings for patron
info requests.  With barcodes, SIP clients can both find the title
strings for display (via item info requests) and make subseqent
hold-related action requests, like holds cancellation.

--
Copies are not an ideal identifier for holds, but SIP has a limited
vocabulary.  With copies we can (99% of the time) work to and from hold
requests to find a reasonable data set to work on.  If a patron has
multiple holds for the same item and wants to cancel a specific one of
those holds, the user should use the catalog instead of SIP.
--

2. When receiving a message 15 of with a cancellation action, find the
newest open hold that matches the provided copy barcode and cancel the
hold.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoNew "patron via SIP" hold cancellation reason
Bill Erickson [Wed, 28 Nov 2012 15:44:14 +0000 (10:44 -0500)]
New "patron via SIP" hold cancellation reason

Seed data and upgrade script.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP1190305 Loosen MARC Remove Fields retrieve perms
Bill Erickson [Wed, 12 Jun 2013 17:38:30 +0000 (13:38 -0400)]
LP1190305 Loosen MARC Remove Fields retrieve perms

Allow trash fields to be publicly accessible (if logged in) instead of
requiring one of the edit permissions to view.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoLP1182393: 'Service' in circ offline checkout columns is untranslatable
Pasi Kallinen [Mon, 27 May 2013 10:01:52 +0000 (13:01 +0300)]
LP1182393: 'Service' in circ offline checkout columns is untranslatable

Move that string into the common message catalog as
staff.checkout_column_label_service

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoUse the phrase "Add Search Row" in both advanced and expert search.
Pasi Kallinen [Thu, 13 Jun 2013 08:59:12 +0000 (11:59 +0300)]
Use the phrase "Add Search Row" in both advanced and expert search.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoMaintenance message: avoid Unicode corruption, support KPAC
Dan Scott [Thu, 11 Jul 2013 14:41:32 +0000 (10:41 -0400)]
Maintenance message: avoid Unicode corruption, support KPAC

By shifting from an Apache config environment variable to a config.tt2
variable, we gain the advantage of more robust Unicode support as well
as the ability to turn maintenance messages on or off without requiring
a reload of Apache.

However, we do lose the convenience of per-vhost maintenance messages;
sites requiring this functionality can use the ctx.hostname variable to
provide conditional per-host messages.

This also adds support for displaying the maintenance message in the
KPAC.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoPatron Editor can enter erroneous values for Claims-returned count
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>
6 years agoSIP2: Return slightly more hold info
Thomas Berezansky [Thu, 24 May 2012 16:37:33 +0000 (12:37 -0400)]
SIP2: Return slightly more hold info

We don't have a normal hold queue, but if there is a hold we can call that
the hold queue. So return the ID of the hold that was captured.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoServer maintenance message via Apache config
James Fournie [Sat, 23 Feb 2013 01:28:29 +0000 (17:28 -0800)]
Server maintenance message via Apache config

This adds a custom maintenance message which you can issue in your
Apache config by setting the environment variable "MAINTENANCE_MESSAGE"
and restarting/reloading Apache.  This message appears in the TPAC for
both staff and patrons in the form of a red banner across the top of the
screen.

Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoRevert 56a63f03 and try again
Dan Scott [Thu, 11 Jul 2013 01:03:38 +0000 (21:03 -0400)]
Revert 56a63f03 and try again

I totally screwed up this commit by committing old versions of files
instead of the deltas against current master. Reverting, then will apply
the correct commit.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoServer maintenance message via Apache config
James Fournie [Thu, 11 Jul 2013 00:41:51 +0000 (20:41 -0400)]
Server maintenance message via Apache config

This adds a custom maintenance message which you can issue in your
Apache config by setting the environment variable "MAINTENANCE_MESSAGE"
and restarting/reloading Apache.  This message appears in the TPAC for
both staff and patrons in the form of a red banner across the top of the
screen.

Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoRestore look of acct summary table
Remington Steed [Wed, 10 Jul 2013 21:22:24 +0000 (17:22 -0400)]
Restore look of acct summary table

This commit makes a small adjustment to Pasi's cleaner layout of the
Account Summary table.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoClean up the account summary table HTML.
Pasi Kallinen [Thu, 31 Jan 2013 10:20:48 +0000 (12:20 +0200)]
Clean up the account summary table HTML.

Instead of faking a table with three separate DIVs,
actually use a single table.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoStamping upgrade script for Desk Renewal Circ Lib
Mike Rylander [Wed, 10 Jul 2013 16:44:33 +0000 (12:44 -0400)]
Stamping upgrade script for Desk Renewal Circ Lib

Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoDesk Renewal at original circ library
Ben Shum [Mon, 11 Feb 2013 17:16:10 +0000 (12:16 -0500)]
Desk Renewal at original circ library

In the same spirit as OPAC Renewal at the original circ library, include a
new setting to allow the same for Desk Renewals.

See 8823e4060bbc825c859327b018c5f8cb29b9ac2a and related.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoAdd missing oils_i18n call #2 to upgrade script
Dan Wells [Wed, 10 Jul 2013 15:39:08 +0000 (11:39 -0400)]
Add missing oils_i18n call #2 to upgrade script

Simple thinko fix for missing translation function call.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
6 years agoAdd missing oils_i18n call to upgrade script
Dan Wells [Wed, 10 Jul 2013 15:39:08 +0000 (11:39 -0400)]
Add missing oils_i18n call to upgrade script

Simple thinko fix for missing translation function call.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
6 years agoLP1156905 lineitem worksheet sorts copies by 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>
6 years agoStamping upgrade for Gwich'in language typo
Dan Wells [Wed, 10 Jul 2013 15:26:07 +0000 (11:26 -0400)]
Stamping upgrade for Gwich'in language typo

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoLP1158206 - include upgrade script to fix Gwich'in typo
Ben Shum [Wed, 10 Jul 2013 00:47:20 +0000 (20:47 -0400)]
LP1158206 - include upgrade script to fix Gwich'in typo

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoFix LP1158206 - The language is Gwich'in.
Pasi Kallinen [Thu, 13 Jun 2013 06:06:26 +0000 (09:06 +0300)]
Fix LP1158206 - The language is Gwich'in.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoStamping upgrade script for empty seed description
Dan Wells [Wed, 10 Jul 2013 14:53:41 +0000 (10:53 -0400)]
Stamping upgrade script for empty seed description

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoLP1158211 - add upgrade script to fill empty description
Remington Steed [Wed, 10 Jul 2013 13:32:07 +0000 (09:32 -0400)]
LP1158211 - add upgrade script to fill empty description

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoDescription for circ.holds.default_shelf_expire_interval
Pasi Kallinen [Tue, 11 Jun 2013 08:01:53 +0000 (11:01 +0300)]
Description for circ.holds.default_shelf_expire_interval

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoSimplified pull list: More name options
Thomas Berezansky [Fri, 17 Aug 2012 17:57:08 +0000 (13:57 -0400)]
Simplified pull list: More name options

Because sometimes you don't want the alias to override the entire name.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
6 years agoLP1183414: OPAC patron opt-in settings table does not work correctly
Pasi Kallinen [Mon, 27 May 2013 09:02:38 +0000 (12:02 +0300)]
LP1183414: OPAC patron opt-in settings table does not work correctly

Fix the template logic error, trying to use a variable before
it is defined.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
6 years agoDon't let pref_ou repeat in staff recent searches list
Pasi Kallinen [Fri, 28 Jun 2013 07:22:59 +0000 (10:22 +0300)]
Don't let pref_ou repeat in staff recent searches list

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoModify default logging of SIP2 in oils_ctl.sh.
Jason Stephenson [Fri, 7 Jun 2013 13:25:56 +0000 (09:25 -0400)]
Modify default logging of SIP2 in oils_ctl.sh.

Change the default of OILS_SIP_ERR_LOG from /dev/null to
LOCALSTATEDIR/log/oils_sip.log to mirror what is done with the
Z39.50 log.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoFix LP#1108668 by marking the internet access level column contents as translatable...
Pasi Kallinen [Tue, 11 Jun 2013 09:29:29 +0000 (12:29 +0300)]
Fix LP#1108668 by marking the internet access level column contents as translatable in fm_IDL.xml

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoCorrect Linux staff client build instructions
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>
6 years agoBuild 64-bit Linux client updates when asked
Dan Scott [Tue, 9 Jul 2013 23:43:17 +0000 (19:43 -0400)]
Build 64-bit Linux client updates when asked

A copy/paste error led to a request for linux64-updates-client to
generate 32-bit clients instead of the requested 64-bit clients.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoStamping upgrade script for file-order authority subfields
Dan Wells [Tue, 9 Jul 2013 15:46:31 +0000 (11:46 -0400)]
Stamping upgrade script for file-order authority subfields

And fixing a small typo.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoUpgrade script for file-order authority subfields
Mike Rylander [Tue, 9 Jul 2013 14:09:39 +0000 (10:09 -0400)]
Upgrade script for file-order authority subfields

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoPreserve record order of subfields for authority heading extraction
Mike Rylander [Tue, 25 Jun 2013 14:03:36 +0000 (10:03 -0400)]
Preserve record order of subfields for authority heading extraction

When extracting headings from authority records we currently read the
subfields of a tag in configuration order.  We should, instead, read
them in record order, to preserve the desired sorting properties that
the cataloger has encoded in the record.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Yamil Suarez <yamil@yamil.com>
6 years agoLP#973666: Print Purchase Order does not print PO Name
Michael Peters [Thu, 5 Apr 2012 14:23:32 +0000 (10:23 -0400)]
LP#973666: Print Purchase Order does not print PO Name

Printing a PO from the menu option "Actions-->Print Purchase Order"
generates a document that displays the PO #, but not the PO Name. It
was suggested that it would be helpful if the print document
displayed the PO Name instead of, or in addition to, the PO #. This
commit adds the PO Name in the default template for new installs,
but does not affect upgrades.

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoLP1187016 Prevent new copies on activated POs
Bill Erickson [Wed, 5 Jun 2013 21:29:36 +0000 (17:29 -0400)]
LP1187016 Prevent new copies on activated POs

If a PO has already been activated, prevent users from adding new copies
in the Item Count entry under the full lineitem copy grid.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoStamping upgrade script for user barcode regex setting
Ben Shum [Mon, 8 Jul 2013 14:33:12 +0000 (10:33 -0400)]
Stamping upgrade script for user barcode regex setting

Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoAdd registration/edit time barcode restrictions
Thomas Berezansky [Tue, 31 Jan 2012 21:50:21 +0000 (16:50 -0500)]
Add registration/edit time barcode restrictions

In the quest to not let staff put bad data into the system (losing battle,
but hey, gotta keep trying, right?), add a barcode regex specifically for
patron registration.

This intentionally does *not* check the opac "is this a barcode?" value.

Use cases for not checking that value include, but are not limited to:

Special "barcodes" for staff accounts. Specific OUs may have a barcode
regex of ".*" to ensure they can use anything for these accounts.

Different prefixes per library - To prevent libraries from using another
library's prefix, but still detect all of them as barcodes.

Special case "this is a barcode" checks for the opac, like legacy barcodes
that should no longer be assigned to new patrons, or on edits.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agofix clear hold shelf with 25 or more holds
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>
6 years agoAvoid 0788 duplication from 2.3 failure
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>
6 years agoSign off on apostrophe upgrade script
Dan Scott [Thu, 27 Jun 2013 03:01:36 +0000 (23:01 -0400)]
Sign off on apostrophe upgrade script

Also had to quote the \qecho commands to prevent them from being
executed instead of simply set to STDOUT.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/sql/Pg/002.schema.config.sql

6 years agoCreate upgrade script for ingest normalization changes
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>
6 years agoRetain index granularity with minimal bloat
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.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoBring back "split-brain" indexing normalization
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:

http://evergreen-ils.org/dokuwiki/doku.php?id=documentation:indexing#field_normalization_settings

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoReduce index bloat involving non-search_field values
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>
6 years agoOnly attempt to map copies once per hold
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.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
6 years agoGenerate Password Label
Kathy Lussier [Fri, 12 Apr 2013 23:40:34 +0000 (16:40 -0700)]
Generate Password Label

The "Reset" label for the button that generates random passwords can be
confusing for staff. Changes the label to "Generate Password" to let
people know what the button does.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
6 years agoPrevent JavaScript error on non-Novelist sites
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>
6 years agoSilence QP warning due to inappropriate cmp op
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>
6 years agoSilence uninit var warnings from query normalizer
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>
6 years agoreturn, not next, from eval BLOCK
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>
6 years agoLP1179609 ACQ lineitem identifier inline update
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>
6 years agoAdd (noop) upgrade script for 2.2.10
Lebbeous Fogle-Weekley [Wed, 19 Jun 2013 19:42:07 +0000 (15:42 -0400)]
Add (noop) upgrade script for 2.2.10

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
6 years ago2.3.8 stub upgrade script
Bill Erickson [Wed, 19 Jun 2013 14:47:20 +0000 (10:47 -0400)]
2.3.8 stub upgrade script

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
6 years agoSupport script-based circ in nearest_hold()
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>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm

(Just whitespace. Resolved by hand.  --miker)

6 years agoLP 1177388 'Add to Po' Honors default copy count
Bill Erickson [Tue, 7 May 2013 13:48:05 +0000 (09:48 -0400)]
LP 1177388 'Add to Po' Honors default copy count

Create the requested number of copies for lineitems added to purchase
orders whose provider has a non-zero value for 'default copy count'.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoPrevent uninit var warnings in Search/Biblio.pm
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>
6 years agoFixes to MARC batch import docs
Kathy Lussier [Fri, 14 Jun 2013 19:51:42 +0000 (15:51 -0400)]
Fixes to MARC batch import docs

Added needed subheadings to the MARC batch update docs. Also shortened
line lengths and modified intro that focused on 2.2 new features.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoPost-2.5-m1 whitespace fixup
Dan Wells [Fri, 14 Jun 2013 18:21:10 +0000 (14:21 -0400)]
Post-2.5-m1 whitespace fixup

This is an attempt at an automated whitespace cleanup for the m1
milestone of version 2.5.  It was created using the following
commands (run from Open-ILS/src/perlmods/lib):

find . -name "*.pm" \
-exec sh -c 'sed "/<</s/\t/    /g" < {} \
| expand -t 4 > {}.fixed ; \
cp --no-preserve=mode,ownership {}.fixed {}; \
rm {}.fixed' \;

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
6 years agoRepair fine generator memory leak
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 can be reproduced with the following:

---------
use Error qw/:try/;

foreach (0..200000) {
    try {
        next;
    } catch Error with {
    };
}
---------

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>