]> git.evergreen-ils.org Git - Evergreen.git/log
Evergreen.git
11 years agoBumping version numbers, adding Upgrade Script and Changelog tags/rel_2_2_5
Lebbeous Fogle-Weekley [Wed, 16 Jan 2013 17:24:34 +0000 (12:24 -0500)]
Bumping version numbers, adding Upgrade Script and Changelog

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoLP#1098377: protect against even more cstore segfaults
Galen Charlton [Tue, 15 Jan 2013 16:30:41 +0000 (11:30 -0500)]
LP#1098377: protect against even more cstore segfaults

Following up on the preceding patch, passing null
as the savepoint name to savepoint.release and
savepoint.rollback would also segfault cstore.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoVerify savepoint name is non-null
Bill Erickson [Tue, 15 Jan 2013 15:58:16 +0000 (10:58 -0500)]
Verify savepoint name is non-null

Before we attempt to mangle the name, let's ensure that it's non-null.
Otherwise, segfaults ensue.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoProtect against overly long savepoint names
Dan Scott [Fri, 11 Jan 2013 06:32:13 +0000 (01:32 -0500)]
Protect against overly long savepoint names

Per http://postgresql.org/docs/9.1/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS,
the maximum identifier length works out to being 63 bytes (+1 for the
null terminator), so to avoid potential memory pressure by a 10GB string
somehow being passed in as the savepoint name, malloc no more than 64
bytes and copy no more than 63 bytes from the incoming name to the
escaped name.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoLP#1098377: sanitize savepoint names
Galen Charlton [Fri, 11 Jan 2013 07:30:50 +0000 (02:30 -0500)]
LP#1098377: sanitize savepoint names

When invoking open-ils.{cstore,pcrud,rstore}.savepoint.*, the
caller supplies a name for the savepoint.  However, the savepoint
names could be constructed so that the caller could execute
arbitrary SQL.  This patch sanitizes the name so that it contains
only alphanumeric and underscore characters.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years ago2.3.3 translations : repair Finnish translator email
Bill Erickson [Wed, 16 Jan 2013 16:04:23 +0000 (11:04 -0500)]
2.3.3 translations : repair Finnish translator email

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years ago2.3.3 translations : newpot
Bill Erickson [Wed, 16 Jan 2013 15:39:31 +0000 (10:39 -0500)]
2.3.3 translations : newpot

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years ago2.3.3 translations : update profiles
Bill Erickson [Wed, 16 Jan 2013 15:35:33 +0000 (10:35 -0500)]
2.3.3 translations : update profiles

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Conflicts:
build/i18n/po/AutoFieldWidget.js/fi-FI.po
build/i18n/po/Searcher.js/fi-FI.po
build/i18n/po/TranslatorPopup.js/fi-FI.po
build/i18n/po/User.js/fi-FI.po
build/i18n/po/XULTermLoader.js/fi-FI.po
build/i18n/po/admin.properties/fi-FI.po
build/i18n/po/auth.properties/fi-FI.po
build/i18n/po/authority.js/fi-FI.po
build/i18n/po/capture.js/fi-FI.po
build/i18n/po/cat.properties/fi-FI.po
build/i18n/po/circ.properties/fi-FI.po
build/i18n/po/common.properties/fi-FI.po
build/i18n/po/conify.dtd/fi-FI.po
build/i18n/po/conify.js/fi-FI.po
build/i18n/po/db.seed/fi-FI.po
build/i18n/po/fm_IDL.dtd/fi-FI.po
build/i18n/po/ils_events.xml/fi-FI.po
build/i18n/po/lang.dtd/fi-FI.po
build/i18n/po/multiclass_search_help.html/fi-FI.po
build/i18n/po/offline.properties/fi-FI.po
build/i18n/po/opac.dtd/fi-FI.po
build/i18n/po/opac.js/fi-FI.po
build/i18n/po/patron.properties/fi-FI.po
build/i18n/po/pickup_and_return.js/fi-FI.po
build/i18n/po/pull_list.js/fi-FI.po
build/i18n/po/register.js/fi-FI.po
build/i18n/po/reports.dtd/fi-FI.po
build/i18n/po/reports.js/fi-FI.po
build/i18n/po/reservation.js/fi-FI.po
build/i18n/po/selfcheck.js/fi-FI.po
build/i18n/po/serial.properties/fi-FI.po

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoFix backdate near DST changes
Thomas Berezansky [Fri, 2 Nov 2012 13:53:30 +0000 (09:53 -0400)]
Fix backdate near DST changes

When the due date and the backdate date are on opposite sides of a DST
boundary we were getting an hour off on the checkin time (using the
original due date's time).

This commit changes it so that instead we just set the hour and minute
values on the backdate date to the due date's versions, leaving the time
zone alone.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoFix a data destruction bug when authorities are updated.
Jason Stephenson [Fri, 11 Jan 2013 13:49:11 +0000 (08:49 -0500)]
Fix a data destruction bug when authorities are updated.

Modify the two-argument form of vandelay.merge_record_xml to return
the target_marc when the add_rule, preserve_rule, replace_rule and
strip_rule are all empty.

This method is used by authority.propagate_changes and would replace
the bibliographic record's marc with the overlay template when the
above would happen. By returning the biblographic record entry's own
marc in that case, we prevent data destruction.

Additionally, protect bib and authority template overlay functions
in the same manner.

Commit includes an upgrade script for this change as well as
for the previous commit's authority.generate_overlay_template fix.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Conflicts:
Open-ILS/src/sql/Pg/002.schema.config.sql

11 years agoOnly consider main entry headings for bib overlay
Mike Rylander [Thu, 10 Jan 2013 21:35:44 +0000 (16:35 -0500)]
Only consider main entry headings for bib overlay

Restrict the authority fields we will pull overlay data from to those
that do not subordinate themselves to other authority fields.  That
is, skip see-from/see-also/etc for bib overlay.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
11 years agoLP #1075167: Serials: Avoid infinite loop in holdings summarization
Lebbeous Fogle-Weekley [Wed, 9 Jan 2013 21:20:39 +0000 (16:20 -0500)]
LP #1075167: Serials: Avoid infinite loop in holdings summarization

When receiving items with unworkable combinations of holdings and
patterns, the holdings summarization code can get stuck in an infinite
loop.  This solution prevents that, sparing the open-ils.serial
process and server resources, although it doesn't help the user out.

It will take further examination of the problem and reĆ«valution of how
we deal with problems reported by OpenILS::Utils::MFHD to help the
user avoid or resolve these situations.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoLP 1088561 - part 2, fix all update forms to not show saved passwords
Ben Shum [Thu, 20 Dec 2012 19:32:46 +0000 (14:32 -0500)]
LP 1088561 - part 2, fix all update forms to not show saved passwords

Bug re-opened due to locating a few other locations in my account area
where the password was being saved by browsers like Firefox instead of
requiring users to key in current password to make changes.

This patch covers those two additional cases and changes the quoting
around the first case to be more consistent with the rest of the line.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Simon Mai <hieu.mai@mnsu.edu>
11 years agoFacets should not be sticky when users click "Search"
Dan Scott [Sat, 22 Dec 2012 02:15:49 +0000 (21:15 -0500)]
Facets should not be sticky when users click "Search"

We were using a hidden form variable to track which facets were in use,
at the same time as relying on the GET params to actually display the
facets, and munging the links on the remaining facets to properly
add/subtract facets.

The result of the hidden form variable was that:

1) clicking the Search button would unexpectedly result in the facet
applying to the new search (wat)

2) applying two facets at once and then searching again would result
in the facet vars being treated as a raw array.

Thanks to Dan Pearl for inspiring this patch with his fix for the latter
problem, and Kathy Lussier's recognition of the basic problem.

Closes LP# 1092946 and 1091659.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoMaster didn't get these two rel_2_2 series upgrade scripts
Lebbeous Fogle-Weekley [Thu, 20 Dec 2012 21:50:44 +0000 (16:50 -0500)]
Master didn't get these two rel_2_2 series upgrade scripts

[nor did rel_2_2 itself!]

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoTranslations update step 2: newpot
Bill Erickson [Thu, 20 Dec 2012 14:47:17 +0000 (09:47 -0500)]
Translations update step 2: newpot

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Conflicts:
build/i18n/po/acq.js/acq.js.pot
build/i18n/po/circ.properties/circ.properties.pot
build/i18n/po/db.seed/db.seed.pot
build/i18n/po/fm_IDL.dtd/fm_IDL.dtd.pot
build/i18n/po/lang.dtd/lang.dtd.pot
build/i18n/po/offline.properties/offline.properties.pot
build/i18n/po/tpac/tpac.pot

11 years agoTranslations update step 1: update profiles
Bill Erickson [Thu, 20 Dec 2012 14:36:56 +0000 (09:36 -0500)]
Translations update step 1: update profiles

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Conflicts:
build/i18n/po/XULTermLoader.js/oc-FR.po
build/i18n/po/cat.properties/hy-AM.po
build/i18n/po/cat.properties/pt-BR.po
build/i18n/po/circ.properties/cs-CZ.po
build/i18n/po/circ.properties/en-CA.po
build/i18n/po/db.seed/en-CA.po
build/i18n/po/db.seed/en-GB.po
build/i18n/po/fm_IDL.dtd/cs-CZ.po
build/i18n/po/fm_IDL.dtd/en-CA.po
build/i18n/po/fm_IDL.dtd/tr-TR.po
build/i18n/po/ils_events.xml/en-CA.po
build/i18n/po/ils_events.xml/hy-AM.po
build/i18n/po/lang.dtd/cs-CZ.po
build/i18n/po/lang.dtd/en-CA.po
build/i18n/po/offline.properties/en-CA.po
build/i18n/po/offline.properties/tr-TR.po
build/i18n/po/opac.dtd/de-DE.po
build/i18n/po/opac.dtd/en-CA.po
build/i18n/po/opac.dtd/ru-RU.po
build/i18n/po/opac.dtd/tr-TR.po
build/i18n/po/opac.js/oc-FR.po
build/i18n/po/pull_list.js/de-DE.po

11 years agoConsistent permission filtering in ACQ search results
Bill Erickson [Fri, 14 Sep 2012 19:30:15 +0000 (15:30 -0400)]
Consistent permission filtering in ACQ search results

Add permission checks to search result objects when calling unified
search in 'idlist' mode, consistent with the existing permission checks
for non-id-list mode.  Without this, different forms of the call return
different sets of results.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoLP#1088561: remove current password (renew password issue with TPAC)
Simon Hieu Mai [Wed, 19 Dec 2012 20:33:54 +0000 (14:33 -0600)]
LP#1088561: remove current password (renew password issue with TPAC)

If a user chooses to have their browser remember their password for the
catalog, it can fill in the password to the change password form page
as hidden dots. This behavior was observed specifically with Firefox.

Instead, add autocomplete="off" attribute to the form to force users to
enter existing password to change to a new password as intended.

Signed-off-by: Simon Mai <hieu.mai@mnsu.edu>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoCheck for a selection_depth returned from title_hold.is_possible.
James Fournie [Tue, 18 Dec 2012 20:45:51 +0000 (12:45 -0800)]
Check for a selection_depth returned from title_hold.is_possible.
See Launchpad 1064651 for details.  This is a quick fix which solves a
fairly serious issue whereby copies outside of a hard boundary could fill
holds when they are placed within the TPAC in the staff client.

Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Conflicts:

Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
11 years agoDojo IDL: Set the "Accept-Language" header
Dan Scott [Tue, 18 Dec 2012 13:52:55 +0000 (08:52 -0500)]
Dojo IDL: Set the "Accept-Language" header

The internationalization support for /reports/fm_IDL.xml keys off of the
Accept-Language header - which, if not set to ^[a-z]{2}-[A-Z]{2}$, falls
back to en-US. Setting the header in the dojo.xhrGet() request makes
Apache able to serve up the right flavour of /reports/fm_IDL.xml

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
11 years agoSet locale properly in Apache configuration
Dan Scott [Tue, 18 Dec 2012 12:39:18 +0000 (07:39 -0500)]
Set locale properly in Apache configuration

A RewriteCond only applies to the next RewriteRule, while our config was
attempting to apply multiple rules for a single condition. Fix that up
by using skip (S) rules to apply blocks of rules for the condition in
question.

Also, use the HTTP:Accept-Language value directly, rather than relying
on a backreference (which did not seem to be working as desired).

These fixes enable screens like the Register Patron interface to present
field labels from the IDL in the correct locale, whereas previously they
would always default to en-US.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
11 years agoLP#1078596: Cannot translate strings handled by fieldmapper
Pasi Kallinen [Sun, 2 Dec 2012 20:49:42 +0000 (22:49 +0200)]
LP#1078596: Cannot translate strings handled by fieldmapper

Strings that should be translatable only show up in English,
for example in the Patron Registration screen.

There's a bug in the fieldmapper where it sets a variable to
an empty array, but later in the code only checks whether that
particular variable exists, not if it's an empty array.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoSyndetics - retrieve summary as part of added content
Ben Shum [Wed, 28 Nov 2012 21:05:53 +0000 (16:05 -0500)]
Syndetics - retrieve summary as part of added content

As noted by Steve Callender in LP1027131, Syndetics added content is not
retrieving summary.html to be displayed in the catalog.

This change adds a function similar to toc/anotes to bring in summary data.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
11 years agoACQ: repair lineitem cancel-reason fleshing
Bill Erickson [Tue, 4 Dec 2012 16:04:08 +0000 (11:04 -0500)]
ACQ: repair lineitem cancel-reason fleshing

When fetching lineitems for display in the general lineitem list page,
if the lineitem is cancelled, be sure we correctly retrieve the
cancel-reason object.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoStamping upgrade script for hold request email notify default false
Ben Shum [Tue, 18 Dec 2012 05:12:38 +0000 (00:12 -0500)]
Stamping upgrade script for hold request email notify default false

Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP#1047475 Set action.hold_request.email_notify to default to false
Michael Peters [Thu, 13 Sep 2012 20:28:04 +0000 (16:28 -0400)]
LP#1047475 Set action.hold_request.email_notify to default to false

LP#1047475 points out that email notify prefs are ignored in TPAC.
Even if a patron deselects email notify during hold request time, it
will always be set to true due to the column default.

This change defaults the column in the database to false (like most
other similar columns are) and resolves the bug.

Credit to Steve Callender for the idea.

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP: #1086064 Ignore spaces in opac username/barcode entry field
Dan Pearl [Tue, 11 Dec 2012 15:13:41 +0000 (10:13 -0500)]
LP: #1086064  Ignore spaces in opac username/barcode entry field

Too often, patrons copy the spacing on the barcode on their keytag,
or enter a spurious space before entering their name/barcode. This
change will remove spaces in their name/barcode.

(For now, keep the login screen's directions to omit spaces when
entering the username/barcode.)

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP#1090385 Fix success message for copy template deletion
Michael Peters [Mon, 17 Dec 2012 14:10:19 +0000 (09:10 -0500)]
LP#1090385 Fix success message for copy template deletion

We were displaying the "confirm" message twice, instead of the
existing "success" message.

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agomod_perl expects child_init return values
Thomas Berezansky [Wed, 11 Apr 2012 17:26:42 +0000 (13:26 -0400)]
mod_perl expects child_init return values

So add in Apache2::Const::OK returns on all of them.

[LFW: Added the same change to AutoSuggest.pm for consistency's sake.]

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAcq: Yet more efforts to sanitize data for the EDI translator
Lebbeous Fogle-Weekley [Fri, 23 Mar 2012 02:21:36 +0000 (22:21 -0400)]
Acq: Yet more efforts to sanitize data for the EDI translator

I specifically did this to address cases reported to me by Galen
Charlton in which get_li_attr_jedi() would return the string "nul", but
I hope this is a nail in the coffin for problems involving
JEDI-producing Action/Trigger templates feeding the EDI translator
strings that the latter doesn't like.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoDocumentation: Fixes to the root.txt file.
Robert Soulliere [Fri, 30 Nov 2012 17:16:42 +0000 (12:16 -0500)]
Documentation: Fixes to the root.txt file.

11 years agoDocumentation: Add sections to workstation admin chapter.
Robert Soulliere [Fri, 30 Nov 2012 17:13:04 +0000 (12:13 -0500)]
Documentation: Add sections to workstation admin chapter.

Content from:
http://docs.sitka.bclibraries.ca/Sitka/current/html/intro_start_workstation_admi$

Receipt template editor sections moved to this chapter.
Converted to asciidoc by rsoulliere. Index terms added by rsoulliere
Some duplicate images were also removed from media directory.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Conflicts:

docs/root.txt

11 years agoDocumentation: Add workstation administration chapter.
BC Libraries Cooperative [Thu, 29 Nov 2012 20:39:57 +0000 (15:39 -0500)]
Documentation: Add workstation administration chapter.

Content from: http://docs.sitka.bclibraries.ca/Sitka/current/html/intro_start_workstation_admin.html
Converted to asciidoc by rsoulliere.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoDocumentation: Add staff client login chapter.
Robert Soulliere [Thu, 29 Nov 2012 15:43:28 +0000 (10:43 -0500)]
Documentation: Add staff client login chapter.

Included standalone interface and loggin out information as well as
a few index terms.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoDocumentation: Add chapter on staff client installation.
Robert Soulliere [Wed, 28 Nov 2012 16:36:54 +0000 (11:36 -0500)]
Documentation: Add chapter on staff client installation.

Also included information on removing staff client preferences
(from EG wiki) and registering workstations.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agorel_2_1 does not have a config.upgrade_log.applied_to column
Dan Scott [Thu, 13 Sep 2012 16:47:32 +0000 (12:47 -0400)]
rel_2_1 does not have a config.upgrade_log.applied_to column

Thanks to Michael Peters for running into & reporting this problem when
attempting to upgrade from 2.1.2 to 2.1.3!

Fix the version upgrade script.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoDocumentation: Fix issues acquisitions Admin file so documentation processes.
Robert Soulliere [Wed, 14 Nov 2012 15:03:49 +0000 (10:03 -0500)]
Documentation: Fix issues acquisitions Admin file so documentation processes.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoStamping upgrade script for lost xact_finish opt.
Dan Wells [Tue, 13 Nov 2012 20:51:38 +0000 (15:51 -0500)]
Stamping upgrade script for lost xact_finish opt.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoAddress Launchpad Bug 793550.
Jason Stephenson [Sat, 3 Nov 2012 16:04:34 +0000 (12:04 -0400)]
Address Launchpad Bug 793550.

Check for stop fines reason of CHECKIN or RENEW before closing a circulation
transaction when the balance reaches zero.

Also, if the stop fines reason is LOST, then check a new ou setting,
circ.lost.xact_open_on_zero, to determine if the transaction is closed or
kept open.  The setting is checked for the circulation copy's circ_lib.

Add CircCommon->can_close_circ.

Following up on Dan Wells' comments on Launchpad Bug 793550, I have moved
the logic to check if the circ transaction can be closed to its own utility
function in OpenILS::Application::Circ::CircCommon.  This potentially
consolidates the logic in one place in case we need to use it elsewhere.

Instead of checking for stop fines reasons of CHECKIN and RENEW and
checking for checkin time on the circ, we just check for checkin time.
Both CHECKIN and RENEW should set the checkin time.

Also, use the constant for stop fines reason of LOST, rather than the
literal string "LOST".

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoDocumentation: Fix broken links and adjust image in Acuisition Admin. chapter.
Robert Soulliere [Mon, 12 Nov 2012 16:04:56 +0000 (11:04 -0500)]
Documentation: Fix broken links and adjust image in Acuisition Admin. chapter.
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoMake it possible to suppress IDL fields
Mike Rylander [Wed, 10 Oct 2012 21:36:52 +0000 (17:36 -0400)]
Make it possible to suppress IDL fields

Some clients of external services, particularly pcrud and reporter-store,
need to be able to access tables that contain columns we'd rather restrict.
For instance, the passwd field on actor.usr.

To effect this feature we provide a blacklist attribute for fields, called
suppress_controller, which works in the same way as the class controller
attribute but names controllers not allowed to use the field.  When the field
is explicitly named in a query (fieldmapper select block or json_query) an
error is thrown, and suppressed fields are ingored in general fieldmapper
search/retreive requests.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoCStoreEditor auto-activity log redaction
Bill Erickson [Fri, 2 Nov 2012 19:28:27 +0000 (15:28 -0400)]
CStoreEditor auto-activity log redaction

CStoreEditor logs all update calls to the activity log as key/value
pairs on the updated object.  Avoid loging key/value pairs for objects
when the API call being relayed by CStoreEditor is on the list of
log-protect API calls.  Instead, log "**DETAILS REDACTED**".

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd sample log redaction config to EG opensrf_core
Bill Erickson [Wed, 31 Oct 2012 13:00:19 +0000 (09:00 -0400)]
Add sample log redaction config to EG opensrf_core

Redact parameter logging for the following API calls:

Login:
open-ils.auth.authenticate.verify
open-ils.auth.authenticate.complete
open-ils.auth_proxy.login

User updates:
open-ils.actor.user.password
open-ils.actor.user.username
open-ils.actor.user.email
open-ils.actor.patron.update
open-ils.cstore.direct.actor.user.create
open-ils.cstore.direct.actor.user.update
open-ils.cstore.direct.actor.user.delete

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoDocument log redaction XML for opensrf_core.xml (2.2)
Dan Scott [Tue, 6 Nov 2012 14:48:51 +0000 (09:48 -0500)]
Document log redaction XML for opensrf_core.xml (2.2)

Based on Bill Erickson's original text.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoSample Apache error syslog captures stderr
Bill Erickson [Wed, 10 Oct 2012 21:26:06 +0000 (17:26 -0400)]
Sample Apache error syslog captures stderr

Not all STDERR output and not all $req->log->foo() output makes it to
the Apache error log when using the 'ErrorLog syslog:local7'
configuration directive.  This changes the sample config to match the
CustomLog config so that all output is captured and redirected to
syslog.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoLP#1066629: Acq: Receiving an item should not change the status to "In Process" in...
Mark Cooper [Tue, 23 Oct 2012 05:01:22 +0000 (22:01 -0700)]
LP#1066629: Acq: Receiving an item should not change the status to "In Process" in many cases

As suggested, when received, restrict copy status update for lineitem copies to only those that were on-order. Otherwise copies may have the status set to 'In Process' inappropriately.

Signed-off-by: Mark Cooper <markchristophercooper@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP#826917: Marc editor, CTRL+F6, F7, F8 no longer working on 2.0+
Mark Cooper [Wed, 10 Oct 2012 04:04:32 +0000 (21:04 -0700)]
LP#826917: Marc editor, CTRL+F6, F7, F8 no longer working on 2.0+

Updated marcedit.js to recognize F6/7/8 according to codes at:
http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes.
Did not modify behavior (so input focus is not adjusted post record load).

Signed-off-by: Mark Cooper <markchristophercooper@gmail.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoRollback cstore transaction before bbag record load
Bill Erickson [Thu, 18 Oct 2012 18:54:08 +0000 (14:54 -0400)]
Rollback cstore transaction before bbag record load

To avoid timeouts, which results in transaction rollbacks, preemptively
roll back the bookbag fetching cstore transaction before we retrieve
what could be a very large list of bookbag records data.

Conflicts:

Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
11 years agoEnable maintain_control_number() to handle new OCLCnums
Dan Scott [Tue, 9 Oct 2012 02:30:32 +0000 (22:30 -0400)]
Enable maintain_control_number() to handle new OCLCnums

In July 2013, per LP# 1049171, OCLC will begin generating control
numbers beginning with the "on" prefix.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Conflicts:

Open-ILS/src/sql/Pg/002.schema.config.sql

11 years agoTPAC: Make facet display work as in JSPAC
Lebbeous Fogle-Weekley [Thu, 11 Oct 2012 20:00:36 +0000 (16:00 -0400)]
TPAC: Make facet display work as in JSPAC

Namely, this means:
    - You see five facets per category by default, not ten.
    - You can click a link to see all the facets in a category
        (before this it was impossible to display more than ten).
    - When viewing all the facets in a category, you can click a link
        to reduce the list back to five.
    - This number five I'm talking about is configurable in config.tt2.
    - Alphabetical sorting of facets grouped by the same numbers of
      results is restored.

This addresses LP #1065109.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Conflicts:

Open-ILS/src/templates/opac/css/style.css.tt2

11 years agoAdded a check for the money.collections_tracker table when using the open-ils.collect...
Steven Callender [Mon, 15 Oct 2012 14:48:28 +0000 (10:48 -0400)]
Added a check for the money.collections_tracker table when using the open-ils.collections.users_of_interest.warning_penalty.retrieve API call.

Users that are already entered into the money.collections_tracker table should not be recalled from the open-ils.collections.users_of_interest.warning_penalty.retrieve API. This change will check for the existance of the user in the money.colletions_tracker table.

Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agotrivial whitespace cleanup
Galen Charlton [Fri, 12 Oct 2012 19:38:59 +0000 (15:38 -0400)]
trivial whitespace cleanup

Locally consistent, globally all over the map in this file.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoAdding a WHERE clause to prevent timeout of juv-to-adult function
Chris Sharp [Thu, 11 Oct 2012 23:33:16 +0000 (19:33 -0400)]
Adding a WHERE clause to prevent timeout of juv-to-adult function

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoTPAC: Respect location visibility for result copies
Dan Scott [Thu, 11 Oct 2012 05:43:01 +0000 (01:43 -0400)]
TPAC: Respect location visibility for result copies

Robert Soulliere noted in LP# 1062502 that copies in a location marked
"opac_visible = FALSE" were erroneously being displayed in search
results. This would occur if at least one copy on a record was in a
visible location, but other copies were in an invisible location.

This commit prevents copies in hidden locations from being displayed,
and also adds guards for the visibility of the copy status and the
circulation library.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoSerials: Don't force a Receive Unit Template in Alt Serials Control
Lebbeous Fogle-Weekley [Thu, 27 Sep 2012 18:51:44 +0000 (14:51 -0400)]
Serials: Don't force a Receive Unit Template in Alt Serials Control

Mary Llewellyn reported that she used to be able to use serials and
perform copy-less receiving without any value in this field.

The requirement that a value be set in the Receive Unit Template field
of serial distributions was added (by me) in 2.1 to the alternate serials
control interface, but is not enforced at lower levels.

I now believe that requiring a value here must have been a ham-handed
way to avoid a difficult-to-troubleshoot issue in copy-FUL receiving,
but copy-LESS serials receiving workflows indeed don't need this, so
this commit removes the requirement.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoUse current fiscal year for PO creation (API)
Bill Erickson [Wed, 5 Sep 2012 18:39:36 +0000 (14:39 -0400)]
Use current fiscal year for PO creation (API)

When creating a PO, if no fiscal_year is specified by the caller, use
the current fiscal year of the ordering agency.  This change primarily
affects the Open-ILS/src/support-scripts/acq_order_reader.pl script (and
any other direct API callers) which does not offer the user a chance to
set the fiscal year manually.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoFix autosuggest when in no-vis-check mode
Mike Rylander [Thu, 20 Sep 2012 19:17:36 +0000 (15:17 -0400)]
Fix autosuggest when in no-vis-check mode

When autosuggest is configured to avoid visiblity checking, it sends a
special org unit id of -1 to the database as a signal.  However, the stored
procedure is expecting a NULL instead.  This allows either by transforming
-1 to NULL within the stored procedure.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Conflicts:

Open-ILS/src/sql/Pg/002.schema.config.sql

11 years agoLP#1007020: Using checkout, last activity shows as unset
Mark Cooper [Tue, 9 Oct 2012 19:41:44 +0000 (12:41 -0700)]
LP#1007020: Using checkout, last activity shows as unset

Added usr_activity to $fields for flesh_user function.

Signed-off-by: Mark Cooper <markchristophercooper@gmail.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoRemove C compiler warning for writeAuditInfo
Dan Scott [Thu, 30 Aug 2012 04:21:01 +0000 (00:21 -0400)]
Remove C compiler warning for writeAuditInfo

The C compiler was throwing the following warning:

oils_sql.c: In function 'writeAuditInfo':
oils_sql.c:7244:1: warning: control reaches end of non-void function
[-Wreturn-type]

By shifting the "return 0" to the end of the function, outside of the if
statements, we can ensure that we always return an int value.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
11 years agoBe more strict about dates we generate
Mike Rylander [Mon, 8 Oct 2012 18:12:49 +0000 (14:12 -0400)]
Be more strict about dates we generate

ISO-8601 dates must have a 4-character year component, however strftime does
not left-pad years to 4 characters when the century is one character long even
though the man page for strftime(3) suggests otherwise:

       %F     Equivalent to %Y-%m-%d (the ISO 8601 date format). (C99)

This makes stricter ISO-8601 parsers, such as Perl's DateTime module, unhappy.
So, we'll do it ourselves using the glibc extensions available to strftime for
specifying a padding character and desired length.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoCheckout: further validation of due date override
Dan Scott [Mon, 8 Oct 2012 19:08:47 +0000 (15:08 -0400)]
Checkout: further validation of due date override

The check_past() function failed if given a date that was not strictly
in YYYY-mm-dd format; interestingly, a common transposition typo such
as "0212-10-20" results in "212-10-20" getting passed to check_past(),
and therefore generating an invalid date. Throw an exception in
check_past() rather than returning true, because we are not in fact
stating that the due date is in the past - and catch the exception and
flag the due date override box accordingly in the checkout screen.

We could bubble the exception up to the user, but hopefully highlighting
the checkout box as being in an invalid state will catch the attention
of the users.

[LFW: Slightly amended a comment in OpenILS/WWW/EGCatLoader/Util.pm]

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoTPAC: Invalid due dates cause 500 server error
Dan Scott [Mon, 8 Oct 2012 15:25:41 +0000 (11:25 -0400)]
TPAC: Invalid due dates cause 500 server error

CStore appears to return dates with leading 0s (such as '0212-10-08
23:59:59-05:17:32') with the leading 0s stripped off, resulting in
cases with 1-digit or 3-digit years for which DateTime::Format::ISO8601
returns an error.

We can protect against this problem by adding some defensive code to the
TPAC utility method to add the 0s back to the start of the year. We can
also log the problem when it occurs so that administrators can fix the
problem dates in the database.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoSlightly saner login form markup
Dan Scott [Thu, 30 Aug 2012 15:55:10 +0000 (11:55 -0400)]
Slightly saner login form markup

Try to provide accessibility via label attributes and move from a
table-within-a-table layout to a single table for the form.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoFix LP1029095, Acq: Receive Items on an Invoice does not work with Line Item Alerts
Steven Chan [Wed, 25 Jul 2012 20:45:40 +0000 (13:45 -0700)]
Fix LP1029095, Acq: Receive Items on an Invoice does not work with Line Item Alerts

1. Item reception was encountering a Javascript exception in the
check_lineitem_alerts() helper function, because there was a mismatch
between the input parameter name and the variable name actually used.

2. Also, took the opportunity to improve the performance of the for loop
to scan through alerts.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoMake scrollOnFocus default to false for dojo-based/conify interfaces
Lebbeous Fogle-Weekley [Fri, 28 Sep 2012 19:26:06 +0000 (15:26 -0400)]
Make scrollOnFocus default to false for dojo-based/conify interfaces

This change is intended to prevent a phenomenon in certain user
interfaces wherein clicking on a button or other widget can cause a
user's screen to suddenly jump and the user to need to click the widget
a second time before the desired function actually happens.

Dijits that have the scrollOnFocus property are the ones that tend to
exhibit this issue, especially, but not always, within the staff client
when the user's xulrunner window is not maximized.

There may be cases of interfaces actually relying on scrollOnFocus to do
something, but I think those cases should be so rare that this is still
worth doing, and exceptions can be applied there as needed.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoCan't use README for version, so use configure.ac
Thomas Berezansky [Tue, 19 Jun 2012 16:23:09 +0000 (12:23 -0400)]
Can't use README for version, so use configure.ac

Because one good "this works for now" being broken can be replaced with
another one easily.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoLP#1020261 Better label for "Host" field in acq.edi_account
Michael Peters [Mon, 1 Oct 2012 18:51:31 +0000 (14:51 -0400)]
LP#1020261 Better label for "Host" field in acq.edi_account

The host field of acq.edi_account is really meant to contain more than just a hostname.
It needs a scheme part, so that the whole contents of the field should be URI-ish, like

ftp://ftp1.somevendor.com

Otherwise Evergreen's EDI mechanism can guess wrongly that we want to use
SSH instead of FTP to connect.

This also adds a description for the field, in the footer, along with the other
"helpers".

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoCopy location group searching repairs
Bill Erickson [Fri, 21 Sep 2012 21:10:58 +0000 (17:10 -0400)]
Copy location group searching repairs

In the get_library BLOCK, upgrade any use of 'loc' to 'locg' instead of
trying to determine which to use in which situation.  Before this change,
'loc' was being used as the loc_name for the main org unit selector,
which should always use 'locg'.  For any other cases (related to search
params), it's always safe to use 'locg' over 'loc'.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoback-port tpac get_library macro
Bill Erickson [Mon, 17 Sep 2012 13:55:07 +0000 (09:55 -0400)]
back-port tpac get_library macro

Code which uses this macro was back-ported without defining the macro.
Back-ported here for great justice.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAfter upgrade, list records with missing or incorrect 901$c
Galen Charlton [Thu, 27 Sep 2012 03:34:32 +0000 (23:34 -0400)]
After upgrade, list records with missing or incorrect 901$c

This is a common cause of pain for upgrades. Let's try to identify the
problem early (even if it takes forever on a site with 3 million bibs)
and offer advice on correcting the problem if it is flagged.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoSet eg_version at start of 2.2 upgrade scripts
Dan Scott [Thu, 27 Sep 2012 03:47:26 +0000 (23:47 -0400)]
Set eg_version at start of 2.2 upgrade scripts

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoApply the 0715 update for acq settings_group
Dan Scott [Thu, 27 Sep 2012 03:25:53 +0000 (23:25 -0400)]
Apply the 0715 update for acq settings_group

We add the 'acq' config.settings_group in the seed data, and add the
other settings groups in the 2.1-2.2 upgrade script, but need to add the
acq settings_group to the 2.1-2.2 upgrade script.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoCopy Location Order Editor: avoid interface failure with blank area
Lebbeous Fogle-Weekley [Mon, 14 May 2012 18:50:43 +0000 (14:50 -0400)]
Copy Location Order Editor: avoid interface failure with blank area

Symptom is "ll is undefined" at line 65 of previous version of this
file.

Reported by George Duimovich and John Jones.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoTPac: Disable "Enter places hold" for staff
Thomas Berezansky [Thu, 20 Sep 2012 19:45:05 +0000 (15:45 -0400)]
TPac: Disable "Enter places hold" for staff

This should prevent barcode scanners from auto-submitting on scan.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoSyndetic AC: Add more review sources with comments
Jeff Godin [Wed, 25 Apr 2012 06:59:01 +0000 (02:59 -0400)]
Syndetic AC: Add more review sources with comments

* Add more Syndetic review sources (commented out)
    Add additional Syndetic review sources, commented out
    for performance reasons -- each source represents a distinct
    request from the server to the AC provider, and we currently
    lack a means of configuring which are on/off, short of
    commenting / uncommenting.

* Add comments for Syndetics review sources
* Fix file name for School Library Journal reviews, add New
    York Times reviews.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoDo not hide copy counts from results in staff client.
Ben Shum [Wed, 25 Apr 2012 03:23:04 +0000 (23:23 -0400)]
Do not hide copy counts from results in staff client.

Remove the check for whether you are a staff login or not.

Ideally, we would want the copy counts to be displayed in both
public catalog and staff client.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoEnable 1-hit redirect for item barcode searches
Thomas Berezansky [Mon, 20 Aug 2012 16:22:44 +0000 (12:22 -0400)]
Enable 1-hit redirect for item barcode searches

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoProtect against fleshed circ_lib in legacy check_age_protect
Bill Erickson [Mon, 17 Sep 2012 12:48:26 +0000 (08:48 -0400)]
Protect against fleshed circ_lib in legacy check_age_protect

Retrieving org settings with an org unit object as the context org unit
results in errors and dying.

This affects legacy scripts only.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
11 years agoRevert "Bug #1044721: QP handles explicit group+joiner badly"
Lebbeous Fogle-Weekley [Fri, 7 Sep 2012 15:42:12 +0000 (11:42 -0400)]
Revert "Bug #1044721: QP handles explicit group+joiner badly"

This reverts commit b77bb9943009b81042b4ef1a6ac33ec9e3e96dd7.

Unfortunately this had side effects that escaped our manual testing
processes.  Especially with facets as reported by Ben Shum.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoUpgrade bits for Vandelay Overlay Changes
Dan Wells [Tue, 4 Sep 2012 21:09:44 +0000 (17:09 -0400)]
Upgrade bits for Vandelay Overlay Changes

Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoIncrease Overlay Speed for Standard Identifiers
Dan Wells [Thu, 30 Aug 2012 19:26:15 +0000 (15:26 -0400)]
Increase Overlay Speed for Standard Identifiers

Due to an inefficient query order and a confused query planner,
some overlay matching can end up going abysmally slow.  See LP
bug #1024095 for elaboration on the issue.

This commit reorders the joins as originally suggested by Lebbeous,
then adds a specific index to coax the query planner into making the
best choices.  The example index here only targets the 02x identifier
fields, so other tag/subfield/substring(value) indexes will likely
be necessary for maximum benefit when matching on other fields
(e.g. 010).

These changes combined with the previous commit which replaces 'LIKE
ANY' with 'LIKE (... OR ...)' has shown great promise in testing.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoVandelay: Fix index-miss with MARC Imports using Match Sets
Lebbeous Fogle-Weekley [Tue, 26 Jun 2012 00:00:33 +0000 (20:00 -0400)]
Vandelay: Fix index-miss with MARC Imports using Match Sets

In some Postgres installations, an expression such as:

(value LIKE '13423488%' OR value LIKE '245425%') will use a btree index,
but

value LIKE ANY('{13423488%,245425%}'::TEXT[])

will not.

Missing such an index can make matching incoming bibs based on a field
that's present in most of your existing records terrifically slow.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoBug #1044721: QP handles explicit group+joiner badly
Jared Camins-Esakov [Sat, 1 Sep 2012 14:21:51 +0000 (10:21 -0400)]
Bug #1044721: QP handles explicit group+joiner badly

Although the following four queries should be equivalent:
  george  ||  fred
 (george) ||  fred
  george  || (fred)
 (george) || (fred)

The Pg QueryParser driver generates SQL queries that return different
numbers of results for each of those queries, with all desired results
appearing only with the first query. This seems to be because of the way
filters are added in the interface.

This patch adjusts the Search code in TPAC to add an explicit group
around the user-entered query, which enables the Pg QueryParser driver
to handle all four of the above queries properly.

This patch should also resolve the problems encountered with the patch
for bug #1040740, "Implicit ANDs should have higher precedence than
explicit ORs"

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoTPAC: Make call number browse record links retain search lib
Dan Scott [Mon, 13 Aug 2012 20:50:33 +0000 (16:50 -0400)]
TPAC: Make call number browse record links retain search lib

In addition to maintaining scope for the call number browse search
results, we also need to maintain the scope for the links for the call
number records in the results themselves (for example, the "retrieve
this record" link, or the "search for this author" link).

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoChanged the thawing of a hold to first update the hold record and then re-target.
Steven Callender [Tue, 10 Jul 2012 19:43:59 +0000 (15:43 -0400)]
Changed the thawing of a hold to first update the hold record and then re-target.

When thawing a hold, originaly we were first re-targeting before actually saving the hold record. On items with large quantities, sometimes the hold would timeout on targetig before getting a chance to actually save. This patch moves things around to first save the hold record before attempting to retarget.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoAcq: New lineitems added to existing POs should inherit provider
Lebbeous Fogle-Weekley [Tue, 28 Aug 2012 20:09:00 +0000 (16:09 -0400)]
Acq: New lineitems added to existing POs should inherit provider

Jeremy Miller of the Albany Public Library in Albany, OR, reports that
through the interface at
    Actions For This Record -> View/Place Orders
in the staff client, when you add a lineitem to an existing PO, the new
lineitem has a null value in the "provider" field, instead of inheriting
the expected value from the PO.

This causes problems for some Acquisitions workflows.

The feature containing the bug appeared in 2.2, and this fix for it can be
backported that far.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoACQ support for two-step vandelay imports
Bill Erickson [Wed, 2 May 2012 13:55:06 +0000 (09:55 -0400)]
ACQ support for two-step vandelay imports

If a lineitm is loaded into a queue via ACQ+Vandelay and a later attempt
is made to load the record into the catalog via ACQ+Vandelay, the
attempt will fail, because ACQ+Vandelay treats all
not-yet-fully-imported lineitems as new to vandelay.  This change
inspects lineitems at vandelay processing time to determine if they are
already linked to a VL record or if a new one is needed.  It also
removes the requirement that a queue be provided when all records in
process are already linked to a VL record (which already lives in a
queue).

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
11 years agoDocumentation: Update upgrade instructions for 2.2.2.
Robert Soulliere [Thu, 23 Aug 2012 16:58:40 +0000 (12:58 -0400)]
Documentation: Update upgrade instructions for 2.2.2.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoAdd 2.1.2-2.1.3 database schema upgrade script
Dan Scott [Thu, 23 Aug 2012 13:43:18 +0000 (09:43 -0400)]
Add 2.1.2-2.1.3 database schema upgrade script

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoRemove an extra ternary op
Thomas Berezansky [Thu, 12 Jul 2012 15:42:21 +0000 (11:42 -0400)]
Remove an extra ternary op

And adjust the comment to make more sense. There is no higher level filter
that prevents copy holds on parted items, so there is no filter for them to
"slip through".

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoAllow copy-ish holds to target, even for part-copies, if they somehow slip through...
Mike Rylander [Wed, 13 Jun 2012 13:37:54 +0000 (09:37 -0400)]
Allow copy-ish holds to target, even for part-copies, if they somehow slip through the UI pre-checks

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years ago2.2.1 -> 2.2.2 upgrade script
Lebbeous Fogle-Weekley [Wed, 22 Aug 2012 18:49:02 +0000 (14:49 -0400)]
2.2.1 -> 2.2.2 upgrade script

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoSanity check cstore limit/offset param values
Bill Erickson [Thu, 16 Aug 2012 19:40:58 +0000 (15:40 -0400)]
Sanity check cstore limit/offset param values

Certain cstore calls (direct / json_query) that support limit/offset
params called with a non-string / non-numeric value

e.g. { "limit": null }

result in a cstore segfault as it tries to call atoi(NULL) under the
covers.  This patch prevents this by verifying that the limit/offset
values are actual strings or numbers (i.e. return a value from
jsonObjectGetString) and not JSON_NULL, etc.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoTPAC: Move "Export to RefWorks" into utility area
Dan Scott [Wed, 15 Aug 2012 11:18:53 +0000 (07:18 -0400)]
TPAC: Move "Export to RefWorks" into utility area

When the RefWorks functionality was being added to TPAC, the design and
layout were very much in flux. Now that the layout has been established
with utilities like "Place Hold" on the right hand side, move the
"Export to RefWorks" button into the same location.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Art Rhyno <art632000@yahoo.ca>
11 years ago2.2.0 -> 2.2.1 upgrade script never actually went into master or rel_2_2
Lebbeous Fogle-Weekley [Wed, 22 Aug 2012 16:20:22 +0000 (12:20 -0400)]
2.2.0 -> 2.2.1 upgrade script never actually went into master or rel_2_2

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoProtect against installs with no locales
Dan Scott [Tue, 21 Aug 2012 21:23:26 +0000 (17:23 -0400)]
Protect against installs with no locales

Installs from source outside of tarballs may not have a built locale,
which would result in a make error and an aborted install. Protect
against that by checking for the existence of the locale install
directory before trying to copy the files into place.

In the weird case that Open-ILS/src/data/locale has been generated but
there are no files in it, protect against erroring out via the judicious
application of the - flag.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoTPAC: Standardize i18n file installation
Dan Scott [Mon, 20 Aug 2012 18:11:50 +0000 (14:11 -0400)]
TPAC: Standardize i18n file installation

Make TPAC i18n files act like any other i18n file. In short:

1. When in build/i18n, a 'make LOCALE=fr-CA install' will copy
   the i18n file into the Open-ILS/src/data/locale directory.
2. In the build root, a 'make install' will copy all files from
   Open-ILS/src/data/locale into (by default) the
   /openils/var/data/locale directory.

This also means that when tarballs are created, all of the locales will
get packaged appropriately.

This commit also updates eg_vhost.conf to provide working out-of-the-box
examples for any installed locales, by using the names of the actual
PO files, and adds some contextual comments to explain how the
configuration directives work.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoTPAC: Autosuggest focus() throws a JS error
Dan Scott [Mon, 30 Jul 2012 15:30:50 +0000 (11:30 -0400)]
TPAC: Autosuggest focus() throws a JS error

On page load, the Dojo autosuggest code tries to set focus to the
element with the ID "search_box" - which is fine, except when the page
does not have said ID. Therefore, test for the existence of the ID
before setting focus to it.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Art Rhyno <art632000@yahoo.ca>
11 years agoTPAC locale picker: use POST instead of GET
Dan Scott [Sat, 4 Aug 2012 14:26:25 +0000 (10:26 -0400)]
TPAC locale picker: use POST instead of GET

Users could (deliberately or not) change another's language
preferences by sharing links with the "set_eg_locale" GET param given
the locale picker's current behaviour. By switching to a POST param, we
prevent this result from accidentally occurring.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Art Rhyno <art632000@yahoo.ca>