Hide OPAC-invisible holdings from SRU/Z39.50

The basic_holdings Supercat method filtered out deleted call numbers and
copies, but didn't filter out copies based on the OPAC visibility status
of copy location / status / the copy itself. This has undesired results
when third-party services request copies via SRU or Z39.50 and expose
copies that should not be visible to the public.

We wrap all of the visibility and deletedness checks for a given copy up
into a subroutine so that we can avoid repeating ourselves in the
basic_holdings logic. Also, if we missed a test, we can add it in one
handy place :)

(Thanks to Galen Charlton for finding two missing tests: circ lib
visibility and owning lib visibility!)

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Art Rhyno <art632000@yahoo.ca>
Provide permission for copy editor field hiding

We can adjust what fields are available in the copy editor in 2.2+, but that
requires the general UPDATE_ORG_SETTING permission.  The YAOUS-specific
permission here allows more granular control, so that staff can be given the
ability to adjust only that one OU setting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>

Conflicts:
	Open-ILS/src/sql/Pg/950.data.seed-values.sql
Update permission name to match existing ones

To be consistent with our previous naming scheme for these.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>

Conflicts:
	Open-ILS/src/sql/Pg/950.data.seed-values.sql
Stamping upgrade script for copy editor field hiding permission

Signed-off-by: Mike Rylander <mrylander@gmail.com>

Conflicts:
	Open-ILS/src/sql/Pg/002.schema.config.sql
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>
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>
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>
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>
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>
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>
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>
2.2.1 -> 2.2.2 upgrade script

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
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>
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>
Add 2.1.2-2.1.3 database schema upgrade script

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Documentation: Update upgrade instructions for 2.2.2.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Merge remote-tracking branch 'upstream/rel_2_2' into rel_2_2