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