working/Evergreen.git
3 years agoLP#1442276: Upgrade script for Encoding UTF8 output
Kathy Lussier [Sat, 11 Mar 2017 03:53:18 +0000 (22:53 -0500)]
LP#1442276: Upgrade script for Encoding UTF8 output

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
3 years agoLP#1442276 output_as_chars() instead of toString
Dan Scott [Sun, 5 Mar 2017 16:45:12 +0000 (11:45 -0500)]
LP#1442276 output_as_chars() instead of toString

The SuperCat transform methods for records retrieved by record ID or ISBN call
toString on the XSLT output object, which results in a byte string and thus
corrupted output. Instead, call output_as_chars() on the stylesheet object to
generate a character string and avoid corruption.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1442276 pgTAP test for oils_xslt_process
Dan Scott [Fri, 3 Mar 2017 21:03:30 +0000 (16:03 -0500)]
LP#1442276 pgTAP test for oils_xslt_process

In moving from the deprecated XML::LibXSLT::output_string() to output_as_chars(),
add a regression test to ensure that we do not suffer from corrputed encoding
output in the future.

We test both the case where an output encoding has been explicitly declared,
as well as the case where an output encoding has not been explicitly declared.
It was this subtle difference that was causing the problem with output_string().

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1442276 Prevent corrupted Unicode chars in MARCTXT and RIS
Dan Scott [Fri, 3 Mar 2017 06:40:19 +0000 (01:40 -0500)]
LP#1442276 Prevent corrupted Unicode chars in MARCTXT and RIS

The MARCTXT and RIS feeds use the deprecated XML::LibXSLT::output_string()
method which, depending on the stylesheet, generated either a byte string
or characters. Using output_as_bytes() ensures it is always a byte string
and avoids the resulting MARCTXT and RIS output from corrupting Unicode
characters.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1442276 Encode UTF8 output of XSLT transforms
Dan Scott [Fri, 3 Mar 2017 06:26:53 +0000 (01:26 -0500)]
LP#1442276 Encode UTF8 output of XSLT transforms

The XML::LibXSLT::output_string() method was deprecated in favour of
output_as_bytes() and output_as_chars(). The latter always generates
UTF8 output as characters, which is what we need, while output_string()
behaviour depended on the stylesheet.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1671904 egDate unit test handles time change
Bill Erickson [Fri, 10 Mar 2017 18:55:09 +0000 (13:55 -0500)]
LP#1671904 egDate unit test handles time change

Teach the egDate unit test requesting '2 days' worth of seconds to allow
values for 47, 48, or 49 hours.  47 and 49 happen when crossing time
change boundaries.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1671165: Fix web client build error
Kathy Lussier [Wed, 8 Mar 2017 16:51:35 +0000 (11:51 -0500)]
LP#1671165: Fix web client build error

Bower install was grabbing a later version of angular-cookies than we wanted,
resulting in errors when attempting to build the web client. Changing a
caret to a tilde in the bower.json files keeps us to a 1.5.x version of
angular-cookies, making web client builds happy.

Many thanks to Ben Shum for finding the solution to this problem!

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLP#1642378 Webstaff negative balance UI progress dialog
Bill Erickson [Fri, 3 Mar 2017 16:42:44 +0000 (11:42 -0500)]
LP#1642378 Webstaff negative balance UI progress dialog

Display a progress dialog while loading the Patrons With Negative
Balances UI.  Dialog starts indeterminate, morphing into
semi-determinate as patron data streams in.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1642378 Webstaff Negative Balance org select repairs
Bill Erickson [Mon, 27 Feb 2017 21:53:52 +0000 (16:53 -0500)]
LP#1642378 Webstaff Negative Balance org select repairs

1. Disable org units in the org unit selector that cannot have users.

Additional code cleanup:

2. The org selector calls egStartup internally, so if the page
controller has no need to wait on the startup to complete, then it does
not need to manually invoke the startup.

3. No longer necessary to manually track the selected org unit from the
org selector directive.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1642378 Webstaff org selector misc. repairs
Bill Erickson [Mon, 27 Feb 2017 21:43:09 +0000 (16:43 -0500)]
LP#1642378 Webstaff org selector misc. repairs

1. Always apply default values after egStartup.go() has completed.
   Among other things, this prevents the occaisonal "cannot call ws_ou()
   on an undefined value" errors bubbling up from the org selector
   when an attempt to set default values occured before egAuth had
   retrieved the user (which occurs during startup).

2. For consistency, always run the $scope.onchange handler on initial
   page load when a selected value and change handler are defined.
   Similar to #1 above, the initial onchange always fires after
   egStartup has completed.

3. Run the change handler in a $timeout so that the $scope.selected
   value has a chance to propagate to the calling controller's $scope.
   Otherwise, the the calling controller has to manually track the
   selected value (which partially defeats the purpose of having this
   directive in the first place).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1653001 Hold pull list progress dialog
Bill Erickson [Thu, 2 Mar 2017 23:05:05 +0000 (18:05 -0500)]
LP#1653001 Hold pull list progress dialog

Display a progress dialog while loading the holds pull list grid and the
when collecting data for printing the holds pull list.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1653001 webstaff: Holds pull list sortable columns
Bill Erickson [Wed, 20 Aug 2014 20:45:47 +0000 (16:45 -0400)]
LP#1653001 webstaff: Holds pull list sortable columns

Retrieve holds for the pull list via the canned "ahopl" pull list IDL
class.  This lets the grid fetch the data via canned flattener query,
supporting server-side sort/limit/offset options.

To retain all previous UI behavior, primarily editing hold attributes
(e.g. notification prefs), hold details for each hold have to be fetched
(and cached) in addition to the main grid data.  The grid renders and
sorts the flattener data, then grid actions act upon the fleshed hold
details data.

Commit also includes:

1. Added some missing IDL links for the "ahopl" class.
2. Micro-optimization to egGrid to exit early when an invalid IDL path
   is provided.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1653001 Hold details authoritative API cstore maintenance
Bill Erickson [Fri, 30 Dec 2016 16:54:08 +0000 (11:54 -0500)]
LP#1653001 Hold details authoritative API cstore maintenance

Avoid cstore exhaustion during .authorative API calls that run
Holds:retrieve_hold_queue_status_impl() by using the in-transaction
editor for YAOUS lookups instead of allowing the lookups to create their
own cstore connections, each spawning a new transaction, since
CStoreEditor is in authoritative mode.

Since CStoreEditor authoritative handling leaves each cstore transaction
open until the API call completes, and in this case, each hold in the batch
lookup resulted in 2 additional open cstore connections per hold, a batch
lookup of (say) 15 holds, meant 31 cstore connections were opened in one API
call.

Telling the YAOUS lookup to use the existing editor means the same call
completes with 1 cstore connection.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1522638 Patron search uses progress modal
Bill Erickson [Fri, 24 Feb 2017 17:12:21 +0000 (12:12 -0500)]
LP#1522638 Patron search uses progress modal

Use the progress modal dialog in the web staff patron search UI for
consistency / code re-use.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1522638 Bib holds egProgressDialog API updates
Bill Erickson [Fri, 3 Mar 2017 15:34:26 +0000 (10:34 -0500)]
LP#1522638 Bib holds egProgressDialog API updates

1. Use the new egProgressDialog name and the new increment() function.
2. Open the dialog before data retrieval starts to better indicate work
   is happening.
3. Close the dialog in promise.finally() to ensure it always closes.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1522638 egProgressDialog features and docs
Bill Erickson [Fri, 3 Mar 2017 15:34:20 +0000 (10:34 -0500)]
LP#1522638 egProgressDialog features and docs

Use an HTML5 <progress/> element as the progress bar instead of the
Bootstrap progress CSS class.  The HTML5 element provides a more
accurate display.

Add support for 3 modes of operation:

* determinate - shows dialog and percentage progress
* semi-determinate - shows a value-less <progress/> but also displays
  the current value to indicate work happening.
* indeterminate - shows a value-less <progress/> with no specificat
  indication of forward momentum.

Adds a bunch of docs.

Rename egProgressModal to egProgressDialog for consistency with other
eg*Dialog's (which are also modal).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1522638 Record holds tab gets modal progress bar
Victoria Lewis [Mon, 6 Feb 2017 20:12:56 +0000 (12:12 -0800)]
LP#1522638 Record holds tab gets modal progress bar

When loading "View Holds" for a bib record
progress bar modal appears while user waits for titles to display.

Signed-off-by: Victoria Lewis <vlewis@catalystdevworks.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1526185 Disable second toast on permfail
Kyle Huckins [Wed, 28 Dec 2016 20:15:25 +0000 (12:15 -0800)]
LP#1526185 Disable second toast on permfail

Supress extra toast after inputting valid credentials after
permission failure.

Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1526185 op-change supplies egNet.handlePermFailure
Bill Erickson [Wed, 28 Dec 2016 15:59:33 +0000 (10:59 -0500)]
LP#1526185 op-change supplies egNet.handlePermFailure

Teach egOpChange to handle permission failure events via the new
egNet.handlePermFailure() handler.

This commit includes additional repairs to op-change promise
handling and minor formatting adjustments.

Op-change also now displays the username of the op-changed user
in the navbar immediately upon op-change.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1526185 Operator Change Service
Kyle Huckins [Wed, 14 Dec 2016 21:26:06 +0000 (13:26 -0800)]
LP#1526185 Operator Change Service

Move operator change functionality into its
own dedicated service.

Notify user when action fails due to unauthorized
credentials, complete with message as to what has
gone wrong.

Fire off any failed action after input of authorized
credentials.

Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1526185 egNet PERM_FAILURE handler
Bill Erickson [Wed, 28 Dec 2016 15:50:41 +0000 (10:50 -0500)]
LP#1526185 egNet PERM_FAILURE handler

Support a new egNet.handlePermFailure() callback. When this function is
defined, it's invoked any time an egNet request returns a PERM_FAILURE
event.

When invoked, the in-progress promise linked to the original
request is effectively superseded by the promise returned by the
egNet.handlePermFailure(), living and dying with the new promise. This
makes it possible to hold off resolving the original request until the
handler is done.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1526163 Web staff supports auto-renew tweaks
Bill Erickson [Fri, 3 Feb 2017 19:26:09 +0000 (14:26 -0500)]
LP#1526163 Web staff supports auto-renew tweaks

Initiate the auto-renewal earlier in the checkout process, specifically
before response data is unnecessarily fleshed.  Add an explicit
auto_renew toggle to the checkout response blob to more clearly indicate
why checkout counts are not modified.

Additional code comments and logging.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1526163 Web staff supports auto-renewl option
Billy Horn [Fri, 18 Nov 2016 21:04:24 +0000 (13:04 -0800)]
LP#1526163 Web staff supports auto-renewl option

Automatically renew an item from the client when the auto-renew toggle
is returned by the server during a checkout call.

Avoid modifying the items out counts in the UI when an item is
auto-renewed.

Signed-off-by: Billy Horn <bhorn@catalystdevworks.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1576435 Inactive patron search propagation rapair
Bill Erickson [Mon, 27 Feb 2017 17:32:45 +0000 (12:32 -0500)]
LP#1576435 Inactive patron search propagation rapair

Fix a small code thinko in the propagation of the 'inactive' flag
for patron-editor duplicate patron searches.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1576435: Include inactive patrons on patron reg duplicate search in web client
Jeff Davis [Fri, 27 May 2016 20:10:29 +0000 (13:10 -0700)]
LP#1576435: Include inactive patrons on patron reg duplicate search in web client

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1576435: Force "Include inactive patrons?" on patron reg duplicate search
Jeff Davis [Sun, 24 Apr 2016 02:12:27 +0000 (19:12 -0700)]
LP#1576435: Force "Include inactive patrons?" on patron reg duplicate search

In the XUL client, duplicate patron checking in the patron registration
interface now includes inactive patrons (see LP#1217052).  However, if
you click on the link "Found X patron(s) with the same name," the
resulting patron search does not always include inactive patrons by
default (instead, the value of the "Include inactive patrons?" checkbox
is cached from your last patron search, as usual).

To prevent user confusion in this scenario, this commit forces the
linked patron search in the XUL client to always include inactive
patrons.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoDocs: Remove Fedora from server upgrade page
Ben Shum [Sat, 4 Mar 2017 23:39:48 +0000 (18:39 -0500)]
Docs: Remove Fedora from server upgrade page

Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLP#1579219: set up mod_perl as an Evergreen dependency
Galen Charlton [Fri, 12 Aug 2016 18:03:10 +0000 (14:03 -0400)]
LP#1579219: set up mod_perl as an Evergreen dependency

This patch, in conjunction with another one for OpenSRF,
set mod_perl up as a dependency installed when Evergreen is installed,
not when OpenSRF is installed, as OpenSRF itself does not require
mod_perl.

Minor tweak to Galen's original patch to include mod_perl in the list
for apache mods to be activated by default.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLP#1669522: Remove regex that caused duplication in author query
Kathy Lussier [Thu, 2 Mar 2017 21:55:15 +0000 (16:55 -0500)]
LP#1669522: Remove regex that caused duplication in author query

In LP#1308090, a regex replacement was added to the normzalize_qterm block
that didn't work as intended. Instead of replacing the already-normalized qterm,
it added a new string to the qterm, causing the author and date terms to
duplicate in the resulting query when the link is clicked. Since the the
problem the regex was trying to solve appears to be an aesthetic one rather
than a functional one, this commit removes that regex.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLP#1664022: more updates to XUL about page
Galen Charlton [Mon, 13 Feb 2017 14:35:43 +0000 (09:35 -0500)]
LP#1664022: more updates to XUL about page

Equinox Software => Equinox Open Library Initiative

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLP#1664022: Update staff client About Page with new info about committers
Ben Shum [Wed, 24 Aug 2016 17:47:22 +0000 (13:47 -0400)]
LP#1664022: Update staff client About Page with new info about committers

Update organization representation for two core committers:

Benjamin Shum is now a volunteer.
Jason Stephenson works for C/W MARS.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1528647 Self-check only accepts user name value if regex for barcode
Terran McCanna [Mon, 6 Jun 2016 17:38:32 +0000 (13:38 -0400)]
LP#1528647 Self-check only accepts user name value if regex for barcode
not set up

The original fix only worked if password was not required for self-check.
This fix allows it to work when password is required as well.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1528647 Self-check only accepts user name value if regex
Bob Wicksall [Mon, 6 Jun 2016 17:35:28 +0000 (13:35 -0400)]
LP#1528647 Self-check only accepts user name value if regex
for barcode not set up

This fix allows a patron to log into the self-check interface with either
a barcode or a user name.

Written by: Bob Wicksall <bwicksall@pls-net.org>

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1668351 Patrons with neg. balance dbl-click
Bill Erickson [Mon, 27 Feb 2017 19:54:24 +0000 (14:54 -0500)]
LP#1668351 Patrons with neg. balance dbl-click

Support double-click grid row entry to load patron from the Patrons With
Negative Balances webstaff UI.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1668351 Patrons with neg. balance selection repair
Bill Erickson [Mon, 27 Feb 2017 19:41:00 +0000 (14:41 -0500)]
LP#1668351 Patrons with neg. balance selection repair

Selecting a row in the webstaff Patrons With Negative Balances grid now
only selects that patron, instead of all patrons.

This was the result of the grid not having a correctly set unique
identifier attribute.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP1584891: Export MARC holdings with UTF8 subfields
Dan Scott [Wed, 22 Feb 2017 16:29:21 +0000 (11:29 -0500)]
LP1584891: Export MARC holdings with UTF8 subfields

The --items option of marc_export adds a new MARC 852 field with a
number of subfields that it retrieves from the database. If those
subfields (such as call number, copy location, etc) contain Unicode
characters, then we need to decode the incoming UTF8 characters
when adding the subfield values to avoid corrupting the MARC.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP 1648922: Hide orgs that can't have users in workstation registration.
Jason Stephenson [Sat, 10 Dec 2016 02:21:35 +0000 (21:21 -0500)]
LP 1648922: Hide orgs that can't have users in workstation registration.

A user can register a workstation at an org unit that can't have users
in the webstaff client.  The XUL staff client did not allow this.
Such org units were grayed out in the selector.

This commit hides org units that can't have users in the ou selector
for workstation registration in the webstaff client.  This is in
addition to hiding the existing hiding of org units where the user
does not have the REGISTER_WORKSTATION permission.

To reproduce this bug, see that org units that have false for
can_have_users appear in the selection for workstation registration.
Also see that you can register a workstation at one.

After applying this patch, make sure you've logged out and then log in
to the webstaff client.  You will now see that those org units no
longer appear in the slection list.  You cannot register workstations
at those org units any longer.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1669004 Darken background of web client open menus
Remington Steed [Wed, 1 Mar 2017 14:46:17 +0000 (09:46 -0500)]
LP#1669004 Darken background of web client open menus

This commit simply adds a darker grey background to top nav menus in the
web client when they are selected and opened.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1618624 Fix thinko in adjust-to-zero
Dan Wells [Wed, 31 Aug 2016 01:50:19 +0000 (21:50 -0400)]
LP#1618624 Fix thinko in adjust-to-zero

It appears that this test was written for an 'unless' instead of
an 'if'.  'if' seems just as natural here, so let's go that route.

This should prevent us from closing circulations prematurely, and
also close them when we need to.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1615845 Item status view columns aligned
Bill Erickson [Wed, 22 Feb 2017 20:14:27 +0000 (15:14 -0500)]
LP#1615845 Item status view columns aligned

Removes the redundant TCN value from the item status view so that the
columns can once again be vertically aligned.  The TCN is visible in the
bib summary pane along the top.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
3 years agoLP#1615845 In House Uses on Item Status
Kyle Huckins [Mon, 9 Jan 2017 21:15:54 +0000 (13:15 -0800)]
LP#1615845 In House Uses on Item Status

Display number of in-house uses in quick summary of item
status interface.

Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
3 years agoLP#1615845 In-house-use permacrud IDL access
Bill Erickson [Fri, 6 Jan 2017 16:27:07 +0000 (11:27 -0500)]
LP#1615845 In-house-use permacrud IDL access

Grant permission-less retrieve access to open-ils.pcrud for "aihu"
and "ancihu" classes.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
3 years agoDocs: trivial typo
Dan Scott [Fri, 3 Mar 2017 19:48:56 +0000 (14:48 -0500)]
Docs: trivial typo

s/retriving/retrieving/

Signed-off-by: Dan Scott <dscott@laurentian.ca>
3 years agoLP#1667835: avoid edi_fetcher.pl crash upon fetching zero-length file
Galen Charlton [Fri, 24 Feb 2017 23:04:29 +0000 (18:04 -0500)]
LP#1667835: avoid edi_fetcher.pl crash upon fetching zero-length file

This patch fixes an issue that could cause edi_fetcher.pl to crash
if the EDI partner supplies a zero-length file for Net::FTP to
download; such files are now skipped.

Testing would entail setting up an FTP server that contains a
zero-length file, then setting up an EDI remote account and
using edi_fetcher.pl to try to retrieve the file.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoReplace the 'broken cover' image asset with an actually transparent single-pixel...
Jonathan Schatz [Thu, 3 Nov 2016 08:51:12 +0000 (01:51 -0700)]
Replace the 'broken cover' image asset with an actually transparent single-pixel PNG.
Useful for fallback to a placeholder cover.

Signed-off-by: Jonathan Schatz <jonathan.schatz@bc.libraries.coop>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1539089 Webstaff grid actions disabled until selected.
Bill Erickson [Fri, 23 Sep 2016 16:05:21 +0000 (12:05 -0400)]
LP#1539089 Webstaff grid actions disabled until selected.

The grid "Actions" menu is disabled until one or more rows are selected.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jeanette Lundgren <jlundgren@cwmars.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1537223 Shared bucket barcode links; last name
Bill Erickson [Mon, 27 Feb 2017 16:37:11 +0000 (11:37 -0500)]
LP#1537223 Shared bucket barcode links; last name

Display the owner barcode and last name in the shared bucket info
display.  Display the barcode as a link to the owning user.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1537223 Show Username on copy buckets
Kyle Huckins [Thu, 6 Oct 2016 16:17:19 +0000 (09:17 -0700)]
LP#1537223 Show Username on copy buckets

Display bucket owner name, id, and owner's home OU on copy
buckets and record buckets in webstaff client.

Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1511358 Patron Survey Interface
Kyle Huckins [Wed, 30 Nov 2016 18:10:48 +0000 (10:10 -0800)]
LP#1511358 Patron Survey Interface

Add patron survey interface and link to interface
in "Other" dropdown beneath Statistical Categories.

Display surveys similarly to how notes are displayed,
as well as how surveys are displayed in the existing
XUL staff client.

Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1668257: RTL CSS change for ebook tables
Ben Shum [Mon, 27 Feb 2017 13:03:33 +0000 (08:03 -0500)]
LP#1668257: RTL CSS change for ebook tables

When LP#1541559 was merged, we missed checking for CSS changes and this
orientation update was missed. Adding to the style-rtl.css.tt2 file the
new CSS IDs for ebook API tables.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1493824: Install PG 9.4 on Debian Wheezy and Ubuntu Trusty
Ben Shum [Mon, 27 Feb 2017 21:32:48 +0000 (16:32 -0500)]
LP#1493824: Install PG 9.4 on Debian Wheezy and Ubuntu Trusty

Debian Wheezy only ships with PG 9.1 by default.  Ubuntu Trusty has Pg
9.3.  Pg 9.4 is the recommended version for use with Evergreen going
forward and will be the required minimum version of PostgreSQL for use
with Evergreen 3.0.  Since we envision continuing to support Wheezy
and Trusty through the lifetime of Evergreen 3.0, we therefore help
the user out by adding the apt.postgresql.org repository for them and
install PostgreSQL version 9.4 on these operating systems.

This commit does the following:

1. Sets up the installer to use the PostgreSQL community's apt sources
in a new Makefile.debian target, debian_postgresql_repo.  This target
is run on Debian Wheezy and Ubuntu trusty during prerequisite
installation.

2. Installs PG 9.4 client on Wheezy and Ubuntu.

3. Installs PG 9.4 server in the server prerequisite targets for
Wheezy and Ubuntu.

4. Uses pg_config in installation of lidbdi-drivers from source.

5. Updates the server installation document to reflect the above
changes.

6. Updates the server upgrade documentation to reflect the new minimum
(9.3) and recommended (9.4) PostgreSQL versions.

Benjamin Shum is the primary author of these changes, though they are
based on Chris Sharp's idea for using the PostgreSQL community apt
source.

The libdbi-drivers installation was fixed by Jason Stephenson who also
added an if block to skip the apt.postgresql.org repository set up if
it is already configured on the target host.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoRemove Fedora from install documentation
Dan Scott [Thu, 2 Mar 2017 15:40:03 +0000 (10:40 -0500)]
Remove Fedora from install documentation

Fedora is no longer a "well tested target" as the corresponding
Makefiles are not up to date. Therefore, remove all mention of it from
the install documentation.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
3 years agoLP#1668816: Prevent Internal Server Error in OPAC when logged-in user has no card
Jeff Davis [Wed, 1 Mar 2017 01:28:31 +0000 (17:28 -0800)]
LP#1668816: Prevent Internal Server Error in OPAC when logged-in user has no card

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1517596: add missing template file for webstaff patron merge
Galen Charlton [Thu, 23 Feb 2017 14:56:44 +0000 (09:56 -0500)]
LP#1517596: add missing template file for webstaff patron merge

This patch adds a file that was missed in commit df82edde.

To test:

[1] In the web staff client, verify that the patron merge
    button correctly display the dialog box for confirming
    the merge.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1668725: fix Z39.50 overlay when no profile set
Galen Charlton [Tue, 28 Feb 2017 18:59:24 +0000 (13:59 -0500)]
LP#1668725: fix Z39.50 overlay when no profile set

This patch fix an issue where, when performing an overlay
of a record from Z39.50 in the web staff client, if no
merge profile is set, the incoming record is not displayed
in the right-hand pane of the merge dialog.

To test
-------
[1] Select an overlay target, then use the web staff
    Z39.50 search interface to find a record to overlay
    it with.
[2] Open the Z39.50 overlay dialog and verify that no
    profile is set (you may need to clear the
    eg.cat.z3950.default_merge_profile key to ensure this).
[3] Note that the incoming record from Z39.50 doesn't display
    in the right-hand pane.
[4] Apply the page, then repeat step 2. This time, the incoming
    record should be displayed.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1655232: also update tpac/ru-RU.po
Galen Charlton [Mon, 27 Feb 2017 15:47:06 +0000 (10:47 -0500)]
LP#1655232: also update tpac/ru-RU.po

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1655232: Fix misspellings of "messsage(s)"
Galen Charlton [Mon, 27 Feb 2017 15:45:43 +0000 (10:45 -0500)]
LP1655232: Fix misspellings of "messsage(s)"

Fixes the various misspellings of "messsages" in templates and localization files.

Signed-off-by: Adam Bowling <abowling@emeralddata.net>
Conflicts:
build/i18n/po/tpac/ar-JO.po
build/i18n/po/tpac/es-ES.po

Signed-off-by: Adam Bowling <abowling@emeralddata.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1607487: stamp schema update
Galen Charlton [Mon, 27 Feb 2017 15:22:48 +0000 (10:22 -0500)]
LP#1607487: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1607487: make schema update script use same whitespace
Galen Charlton [Mon, 27 Feb 2017 15:19:30 +0000 (10:19 -0500)]
LP#1607487: make schema update script use same whitespace

This patch ensures that the naco_normalize() and search_normalize()
functions preserve the exact whitespace used in the baseline
function definitions; this makes no functional difference, but
may help folks using diffs to compare schema versions.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1607487 - Fix broken URLs to NACO resources
Chris Sharp [Thu, 18 Aug 2016 18:52:59 +0000 (14:52 -0400)]
LP#1607487 - Fix broken URLs to NACO resources

Remington Steed pointed out that a couple of URLs are now
broken.  This corrects them.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1371772: update normalization library info URLs
Galen Charlton [Mon, 27 Feb 2017 15:09:09 +0000 (10:09 -0500)]
LP#1371772: update normalization library info URLs

This patch follows up on the previous patch by adjusting
the normalization of URLs when the lib.prefer_external_url
library setting is set to true.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1371772: Correct Escape of Library Info URL
Jason Boyer [Mon, 13 Feb 2017 21:59:01 +0000 (16:59 -0500)]
LP1371772: Correct Escape of Library Info URL

Using the url filter in TT2 causes named anchors to
be escaped in such a way that urls including them
will likely return a 404. Since the url is being
used in an html document, the html filter is
sufficient and allows the url to work as intended.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoMerge branch 'master' of git.evergreen-ils.org:Evergreen
Jane Sandberg [Thu, 23 Feb 2017 23:40:22 +0000 (15:40 -0800)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen

3 years agoDocs: end-user documentation for Obalkyknih.cz added content
Linda Jansova [Thu, 23 Feb 2017 23:37:45 +0000 (15:37 -0800)]
Docs: end-user documentation for Obalkyknih.cz added content

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoupdate upgrade instructions for 2.12-beta
Galen Charlton [Wed, 22 Feb 2017 17:30:18 +0000 (12:30 -0500)]
update upgrade instructions for 2.12-beta

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoinitial version of 2.12 release notes
Galen Charlton [Wed, 22 Feb 2017 17:21:06 +0000 (12:21 -0500)]
initial version of 2.12 release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years ago2.11.3-2.12-beta schema upgrade script
Galen Charlton [Wed, 22 Feb 2017 16:46:17 +0000 (11:46 -0500)]
2.11.3-2.12-beta schema upgrade script

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoTranslation updates - po files
Galen Charlton [Wed, 22 Feb 2017 16:43:35 +0000 (11:43 -0500)]
Translation updates - po files

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1666928: fix build tests for ebook API Perl modules
Galen Charlton [Wed, 22 Feb 2017 15:52:44 +0000 (10:52 -0500)]
LP#1666928: fix build tests for ebook API Perl modules

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoDocs: Some corrections to hatch information in 2.12 release notes
Kathy Lussier [Wed, 22 Feb 2017 15:35:17 +0000 (10:35 -0500)]
Docs: Some corrections to hatch information in 2.12 release notes

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1666933: note that the minimum supported Pg version is 9.3
Galen Charlton [Wed, 22 Feb 2017 15:09:54 +0000 (10:09 -0500)]
LP#1666933: note that the minimum supported Pg version is 9.3

Before final release of 2.12.0, we should update the installation
instructions to note that apt.postgresql.org is available
for Debian-based distros that don't package 9.3 directly.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1666933: note that OpenSRF 2.5.0 is now the minimum required
Galen Charlton [Wed, 22 Feb 2017 15:07:38 +0000 (10:07 -0500)]
LP#1666933: note that OpenSRF 2.5.0 is now the minimum required

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1666933: fix to point schema update scripts
Galen Charlton [Wed, 22 Feb 2017 14:56:41 +0000 (09:56 -0500)]
LP#1666933: fix to point schema update scripts

- remove a duplicate call to metabib.remap_metarecord_for_bib()
- ensure that the 'ebook_api' config.settings_group row is added
  before adding YAOUS types that depend on it

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoDocs: Additions to the 2.12 release notes
Kathy Lussier [Wed, 22 Feb 2017 14:32:29 +0000 (09:32 -0500)]
Docs: Additions to the 2.12 release notes

We missed the release notes for some new features. I also updated a couple and
removed some release note entries from 2.11 that were still hanging around in
the release note directories.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoTranslation updates - newpot
Galen Charlton [Wed, 22 Feb 2017 01:33:23 +0000 (20:33 -0500)]
Translation updates - newpot

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1665626: Update metarecord_constituent_result_reroute.pg test
Kathy Lussier [Tue, 21 Feb 2017 19:51:32 +0000 (14:51 -0500)]
LP#1665626: Update metarecord_constituent_result_reroute.pg test

Updating metarecord PgTAP test so that it points to an existing metarecord
group in the test data.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLP#1665626: Change order of test bib loading
Kathy Lussier [Tue, 21 Feb 2017 16:27:33 +0000 (11:27 -0500)]
LP#1665626: Change order of test bib loading

As bshum did for e-book records, let's move MR records down to the end of the
script to avoid breaking tests. Also, made some tweaks to bibs_mr.sql so that
it would import bibs correctly.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLP#1665626: adding new records to the meta group and breaking into new file
Rogan Hamby [Mon, 20 Feb 2017 19:11:18 +0000 (14:11 -0500)]
LP#1665626: adding new records to the meta group and breaking into new file

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLP#1541559: Change order of test bib loading
Ben Shum [Tue, 21 Feb 2017 03:34:54 +0000 (22:34 -0500)]
LP#1541559: Change order of test bib loading

Move the new ebook bibs to the end of the script and away from the
rest of bib loading and item creation to avoid breaking tests.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: Stamping upgrade scripts for e-book integration
Kathy Lussier [Tue, 21 Feb 2017 02:15:47 +0000 (21:15 -0500)]
LP#1541559: Stamping upgrade scripts for e-book integration

Missed this commit when pushing the e-book integration work.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: Use HTTPS for OverDrive requests
Jeff Davis [Mon, 20 Feb 2017 22:34:05 +0000 (14:34 -0800)]
LP#1541559: Use HTTPS for OverDrive requests

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: Minor tweaks to e-books circ in My Account
Kathy Lussier [Mon, 20 Feb 2017 21:46:02 +0000 (16:46 -0500)]
LP#1541559: Minor tweaks to e-books circ in My Account

A couple of tweaks to the CSS for E-items currently checked
out and a correction to the link for Cureent Items Checked
Out.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: remove non-functional sort on ebook API transaction details in My Account
Jeff Davis [Fri, 17 Feb 2017 21:24:47 +0000 (13:24 -0800)]
LP#1541559: remove non-functional sort on ebook API transaction details in My Account

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: improve display of ebook API transaction details in My Account
Jeff Davis [Fri, 17 Feb 2017 21:21:38 +0000 (13:21 -0800)]
LP#1541559: improve display of ebook API transaction details in My Account

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: eliminate duplicate entries in ebook API transaction details
Jeff Davis [Fri, 17 Feb 2017 20:51:28 +0000 (12:51 -0800)]
LP#1541559: eliminate duplicate entries in ebook API transaction details

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: ebook API integration for TPAC
Jeff Davis [Tue, 7 Feb 2017 23:29:39 +0000 (15:29 -0800)]
LP#1541559: ebook API integration for TPAC

When this feature is enabled, Evergreen will use the open-ils.ebook_api
service to look up title and patron information from specified vendor
APIs and display that information in the TPAC.  (The service should be
configured using org settings before being enabled in config.tt2.)

This frontend is essentially a JS layer over top of the OPAC, with some
light use of Dojo since we're already using it, plus a few additions to
TT2 templates.  The JS layer uses OpenSRF JS bindings to talk to the
backend service, which in turn makes the appropriate calls to the
third-party API.  Session IDs and (if logged in) patron information are
stored in cookies, which are cleared when the patron logs out.

The user will see the following changes:

- On search results and record summary, for any records from a known
  e-book vendor, Evergreen will automatically look up holdings info from
  the vendor API.  If detailed information on formats and available
  "copies" is provided by the API (e.g. for OverDrive), that information
  is displayed in a table within the record; if only basic availability
  info is available (e.g. for OneClickdigital), a line is added to each
  record indicating whether the title is available.  (Eventually, "Place
  Hold" or "Check Out" links will be added to allow patrons to
  checkout/hold titles without leaving the TPAC.)

- When the user is logged in, the dashboard will show a count of e-book
  checkouts and holds for all enabled e-book vendors, as will the
  account summary.  This is separate from the "main" checkouts/holds
  display, since checkouts/holds on titles from third-party vendors are
  unrelated to checkouts/holds in Evergreen.

- When the user is logged in, additional tabs will be available in My
  Account for displaying detailed information on the patron's ebook
  checkouts and holds.  (Eventually, functionality will be added to My
  Account allowing the user to download or renew titles, suspend or
  cancel holds, etc.)

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: ebook API handler for OneClickdigital
Jeff Davis [Tue, 7 Feb 2017 23:27:48 +0000 (15:27 -0800)]
LP#1541559: ebook API handler for OneClickdigital

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: ebook API handler for OverDrive
Jeff Davis [Tue, 7 Feb 2017 23:23:12 +0000 (15:23 -0800)]
LP#1541559: ebook API handler for OverDrive

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: ebook API sample MARC records for test module
Jeff Davis [Tue, 7 Feb 2017 23:11:59 +0000 (15:11 -0800)]
LP#1541559: ebook API sample MARC records for test module

This commit adds a small number of MARC records to the existing sample
data.  Each record contains a scoped URI in the 856 field.  The records
are intended to be usable with the OpenILS::Application::EbookAPI::Test
module.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: ebook API service and test module
Jeff Davis [Tue, 7 Feb 2017 23:08:31 +0000 (15:08 -0800)]
LP#1541559: ebook API service and test module

This commit introduces a new service, open-ils.ebook_api, for
integration of third-party APIs from vendors like OverDrive and
OneClickdigital.

The design of the service is somewhat similar to Evergreen's added
content module.  Common functionality and API calls are defined in the
main Perl module, OpenILS::Application::EbookAPI, while vendor-specific
details like endpoint URLs are broken out into separate "handler"
submodules for each vendor API.  (The actual mechanics of HTTP
requests/responses are handled by the new OpenILS::Utils::HTTPClient
module.)

An example handler module, OpenILS::Application::EbookAPI::Test, is
included with this commit, along with some live tests which depend on
the test module.  It can be considered a reference implementation for
future vendor-specific handlers.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: HTTPClient: a utility for sending HTTP requests and handling responses
Jeff Davis [Fri, 20 Nov 2015 21:54:36 +0000 (13:54 -0800)]
LP#1541559: HTTPClient: a utility for sending HTTP requests and handling responses

The intent of this package is to provide basic tools for communicating
with third-party APIs.  It is a dependency of the open-ils.ebook_api
service.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1541559: make active barcode available in OPAC
Jeff Davis [Mon, 3 Oct 2016 20:39:37 +0000 (13:39 -0700)]
LP#1541559: make active barcode available in OPAC

When logged in to the TPAC, the barcode of the patron's active card is
made available in $ctx->{active_card}.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1662541: Release notes entry for additional subject browse headings
Kathy Lussier [Sun, 19 Feb 2017 16:47:22 +0000 (11:47 -0500)]
LP#1662541: Release notes entry for additional subject browse headings

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1662541: Stamping upgrade script for added subject browse indexes
Kathy Lussier [Sun, 19 Feb 2017 16:36:16 +0000 (11:36 -0500)]
LP#1662541: Stamping upgrade script for added subject browse indexes

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agoLP#1662541: several new subject browse index definitions
Galen Charlton [Fri, 17 Feb 2017 21:40:02 +0000 (16:40 -0500)]
LP#1662541: several new subject browse index definitions

This patch adds several config.metabib_field definitions
that are specifically for subject browses:

subject / topic_browse
subject / geographic_browse
subject / temporal_browse

These new definitions index the entire heading as a unit,
so a heading like this:

=650 \0$aCats$zUnited States$vCorrespondence.

will end up in the subject/topic_browse index as a single
entry for

Cats -- United States -- Correspondence

rather than separate browse entries for "Cats" as a subject/topic,
and "United States" as a subject/geographic.

Since the new *_browse indexes are meant to replace the browse
functions of the existing subject/topic, subject/geographic, and
subject/temporal indexes, the browse flag is turned off for the
older definitions.

This patch intentionally does not include an entry for subject/name_browse,
as additional coding would be required to get the display form of the
heading to be punctuated correctly.

To test
-------
[1] After applying the patch, perform subject browses in the
    OPAC and staff interfaces and verify that fully composed
    headings from bib records are now displayed as browse entries.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agowebstaff: Book Items Now from Item Status
Jason Etheridge [Mon, 13 Feb 2017 16:49:58 +0000 (11:49 -0500)]
webstaff: Book Items Now from Item Status

We can't do what we did with Make Items Bookable, consolidating the items into
one call and invoking a single interface; we get "Can't book multiple resource
types at once".  For now, we disable the 'Book Item Now' menu entry if multiple
items are selected.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agowebstaff: toward booking from Item Status
Jason Etheridge [Mon, 13 Feb 2017 16:21:43 +0000 (11:21 -0500)]
webstaff: toward booking from Item Status

This patch also offers an improvement from the XUL version,
as batches involving multiple bibs are now correctly handled.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agotweak Booking administration pagse
Galen Charlton [Mon, 13 Feb 2017 15:44:07 +0000 (10:44 -0500)]
tweak Booking administration pagse

- remove admin/booking/conify/* routes in favor of
  admin/server/booking/* routes that already existed;
  as part of this, remove redudant admin EmbedBookingCtl
  controller
- alphabetize the entries on the Booking Administration splash
  page
- remove Booking links from the Server Administration splash
  page

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agowebstaff: implement Edit MARC Order Record
Galen Charlton [Thu, 9 Feb 2017 15:48:20 +0000 (10:48 -0500)]
webstaff: implement Edit MARC Order Record

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
3 years agowebstaff: implement Update Barcodes line item action
Galen Charlton [Wed, 8 Feb 2017 22:26:15 +0000 (17:26 -0500)]
webstaff: implement Update Barcodes line item action

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>