evergreen/pines.git
4 years agoLP1824391 Hatch print-to-file Angular edition
Bill Erickson [Mon, 15 Apr 2019 15:34:21 +0000 (11:34 -0400)]
LP1824391 Hatch print-to-file Angular edition

Adds support for the Angular hatch service for sending 'bare' text/plain
print-to-file requests.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1824391 Hatch File Writer print support
Bill Erickson [Fri, 12 Apr 2019 16:52:09 +0000 (12:52 -0400)]
LP1824391 Hatch File Writer print support

Adds support for translating receipt data to plain text and writing the
output to a file instead of sending it to a printer.

Adds a new stock printer named "Hatch File Writer" to the print
configuration interface.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1825891 Use Hatch 'hostname' for workstation reg.
Bill Erickson [Mon, 22 Apr 2019 21:02:05 +0000 (14:02 -0700)]
LP1825891 Use Hatch 'hostname' for workstation reg.

Populate the workstation name with the hostname of the PC when
registring a new workstation for Hatch-enabled workstations.

Note the code gracefully returns null if Hatch returns a 404 (not found)
or Hatch is not active.

Updates the AngJS and Angular workstation admin pages to load the
hostname value when possible.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1825896 Store workstations in Hatch when available
Bill Erickson [Tue, 23 Apr 2019 14:57:31 +0000 (07:57 -0700)]
LP1825896 Store workstations in Hatch when available

When Hatch is enabled, use Hatch for storing workstation registration
information.

If workstations are found in localStorage, they are merged into the
collection of workstations stored in hatch and removed from
localStorage.

Include DB udpate to add workstation setting 'eg.hatch.enable.printing'
so that it may live on the server.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoDocs: Fix AsciiDoc syntax error in glossary
Remington Steed [Fri, 13 Dec 2019 13:22:17 +0000 (08:22 -0500)]
Docs: Fix AsciiDoc syntax error in glossary

This commit fixes a minor syntax problem that causes an AsciiDoc build
error.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
4 years agoDocs: Added linkages, and additonal terms.
lfloyd [Fri, 6 Dec 2019 19:26:35 +0000 (14:26 -0500)]
Docs: Added linkages, and additonal terms.

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 years agoDocs: Glossary Added
Lynn [Wed, 27 Nov 2019 17:18:01 +0000 (12:18 -0500)]
Docs: Glossary Added

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 years agoLP#1803406 Due date box in check out has display issues at wider resolutions
Dan Briem [Wed, 7 Aug 2019 23:13:21 +0000 (19:13 -0400)]
LP#1803406 Due date box in check out has display issues at wider resolutions

Adjusted bootstrap .col classes so the specific due date input displays the
full date and prevents the barcode input group from collapsing at < 1179px.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830923 Replace some pesky tabs
Bill Erickson [Thu, 5 Dec 2019 15:08:48 +0000 (10:08 -0500)]
LP1830923 Replace some pesky tabs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1830923: do not show Enhanced MARC editor tab when editing in-place
Galen Charlton [Wed, 4 Dec 2019 22:41:38 +0000 (17:41 -0500)]
LP#1830923: do not show Enhanced MARC editor tab when editing in-place

As the the AngularJS side does not currently offer a path
for directly editing a queued record, the enhancd editor tab
serves no purpose in this context.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#1830923: add support for editing queued authority records
Galen Charlton [Wed, 4 Dec 2019 22:34:45 +0000 (17:34 -0500)]
LP#1830923: add support for editing queued authority records

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1830923 Vandelay queued record editing
Bill Erickson [Thu, 17 Oct 2019 21:59:08 +0000 (17:59 -0400)]
LP1830923 Vandelay queued record editing

This patch adds MARC record editing the the Angular
Vandelay interface using the Angular MARC editor
component, which as of the date of this patch offers
a flat-text mode.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830923 Marc edit in-place additions
Bill Erickson [Thu, 17 Oct 2019 21:57:10 +0000 (17:57 -0400)]
LP1830923 Marc edit in-place additions

Improve Angular MARC editor for in-place editing.

* Make inPlaceMode a proper @Input.
* Allow the caller to pass in the bib source
* The recordSaved event now reports both the MARC XML and the currently
  selected bib source.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830923 Combobox LP1844812 regression fix
Bill Erickson [Thu, 17 Oct 2019 21:44:40 +0000 (17:44 -0400)]
LP1830923 Combobox LP1844812 regression fix

Allow a combobox to start with an empty array that is later filled by
the caller.  This was broken due to changes which prevented the combobox
from seeing an empty/stub array as being different from its
initialization array, thus ignoring empty array as a duplicate.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoDocs: corrected image file reference in carousels.adoc
Andrea Buntz Neiman [Fri, 6 Dec 2019 14:50:10 +0000 (09:50 -0500)]
Docs: corrected image file reference in carousels.adoc

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 years agoDocs: follow up commit to fix include error
Andrea Buntz Neiman [Thu, 5 Dec 2019 21:07:20 +0000 (16:07 -0500)]
Docs: follow up commit to fix include error

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 years agoDocs: adding Carousels docs and screenshots
Felicia Beaudry [Thu, 5 Dec 2019 20:35:50 +0000 (15:35 -0500)]
Docs: adding Carousels docs and screenshots

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 years agoLP1850955: Include changes to package-lock.json
Jason Boyer [Wed, 27 Nov 2019 13:42:27 +0000 (08:42 -0500)]
LP1850955: Include changes to package-lock.json

The package-lock.json file is necessarily changed
by dropping some dependencies. As long as we track
it, it may as well be updated.

Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1850955 Remove PhantomJS polyfills
Bill Erickson [Fri, 1 Nov 2019 16:22:33 +0000 (12:22 -0400)]
LP1850955 Remove PhantomJS polyfills

Remove additional polyfills that were required specifically for
PhantomJS, which we no longer use.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1850955 Angular build targets modernized
Bill Erickson [Fri, 1 Nov 2019 16:18:00 +0000 (12:18 -0400)]
LP1850955 Angular build targets modernized

Apply a specific set of browsers to guide the Angular / Typescript
compilers toward a more modern set of default browsers.  This reduces
the amount of compilation and browser files required.

Bump the ES version used by Typescript from ES5 to ES6.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP#1849208 - Add PostgreSQL 10 Makfile.install targets
Chris Sharp [Tue, 22 Oct 2019 13:21:22 +0000 (09:21 -0400)]
LP#1849208 - Add PostgreSQL 10 Makfile.install targets

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1607922: Receiving items on page 2 of search results
Jane Sandberg [Tue, 30 Jul 2019 20:54:10 +0000 (13:54 -0700)]
LP1607922: Receiving items on page 2 of search results

Previously, if a user selected a bunch of line items on two consecutive
pages of acq search results, and tried to receive items from the second
page, the operation would fail.

This issue was caused by Evergreen caching IDs of selected line items
from page 1, but not caching the data that went along with them.

To test:

1) Go to Acquisitions > General Search
2) In the Select Search Field dropdown, choose LI - State.
3) Set the state to on-order.
4) Click Search.
5) Click the check mark to select all results on the first page.
6) Click the Next button.
7) Click the check mark to select all results on the second page.
8) On the top --Actions-- menu, select Mark Selected Line Items as
Received.
9) Note that the interface does nothing, and that there is a TypeError
error message in the browser console.
10) Apply this commit.
11) Refresh your page completely and repeat steps 1-8.
12) Note that the items on the second page are received.  Since they no
longer meet the search criteria, Evergreen gives you the next page of
results.

For further testing, see similar test steps by John Yorio at
https://bugs.launchpad.net/evergreen/+bug/1607922.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1851831 Group perm editor null descriptions OK
Bill Erickson [Fri, 8 Nov 2019 15:37:21 +0000 (10:37 -0500)]
LP1851831 Group perm editor null descriptions OK

Avoid assuming a permission description value is non-NULL in the
permission group editor interfaces since values are not required in the
database.

Fixes: ERROR TypeError: "l.description(...) is null"

Similarly repair the permission list title attributes so they display
the permission code (instead of an empty string) for titles when no
description is available.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP#1851524: fix adding a bucket when saving a new carousel
Galen Charlton [Wed, 6 Nov 2019 16:35:58 +0000 (11:35 -0500)]
LP#1851524: fix adding a bucket when saving a new carousel

This patch fixes a regression where saving a new carousel
would not result in its bucket being created due to the
post-save callback never getting invoked.

This patch does not fix any carousels that do not have
buckets due to this bug. Because such carousels will
not function anyway, they should be deleted and
recreated by the local admin.

To test
-------
[1] Create a new carousel in local adminstration. Open it
    in the edit modal again and note that no record bucket
    is linked to it.
[2] Apply the patch and repeat step 1. This time, the
    bucket should be created.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agolp1437103 Allow Receipts to Print when Suppressing Popups
Kyle Huckins [Fri, 5 Jul 2019 14:36:05 +0000 (14:36 +0000)]
lp1437103 Allow Receipts to Print when Suppressing Popups

- Move suppress_popup check further along and allow transit receipts
to properly print when popups suppressed.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/services/circ.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agolp1437103 Suppress Popups on Patron Items Out Checkin
Kyle Huckins [Wed, 26 Jun 2019 15:36:09 +0000 (15:36 +0000)]
lp1437103 Suppress Popups on Patron Items Out Checkin

- Make Patron Items Out UI respect Suppress Popups setting.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agolp1437103 - Suppress Popups based on OU Setting
Kyle Huckins [Tue, 25 Jun 2019 16:47:04 +0000 (16:47 +0000)]
lp1437103 - Suppress Popups based on OU Setting

- Allow OU setting to suppress checkin popups to properly take effect.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/services/circ.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoForward-port 3.4.1 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:40:31 +0000 (15:40 -0400)]
Forward-port 3.4.1 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoForward-port 3.3.5 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:39:46 +0000 (15:39 -0400)]
Forward-port 3.3.5 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoForward-port 3.2.10 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:38:39 +0000 (15:38 -0400)]
Forward-port 3.2.10 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoForward-port 3.1.16 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:37:17 +0000 (15:37 -0400)]
Forward-port 3.1.16 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoForward port 3.2.8 to 3.2.9 db upgrade script
Jason Stephenson [Wed, 18 Sep 2019 23:16:50 +0000 (19:16 -0400)]
Forward port 3.2.8 to 3.2.9 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
5 years agoForward port 3.1.14 to 3.1.15 db upgrade script
Jason Stephenson [Thu, 19 Sep 2019 12:46:12 +0000 (08:46 -0400)]
Forward port 3.1.14 to 3.1.15 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
5 years agoDocs: LP1849137 follow-up: add release note
Jane Sandberg [Tue, 29 Oct 2019 19:37:28 +0000 (12:37 -0700)]
Docs: LP1849137 follow-up: add release note

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1849137 Patron View hide OPAC header
Bill Erickson [Tue, 29 Oct 2019 18:25:42 +0000 (14:25 -0400)]
LP1849137 Patron View hide OPAC header

Hide the TPAC header (nav links, My Account, etc.) when displaying the
embedded read-only record detail view in the staff catalog Patron View
tab.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1849137 Catalog Patron View loading icon
Bill Erickson [Tue, 29 Oct 2019 17:54:26 +0000 (13:54 -0400)]
LP1849137 Catalog Patron View loading icon

Display the usual loading circle icon while the embedded patron view
iframe is loading.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1849137 Catalog Patron View embedding improvements
Bill Erickson [Tue, 29 Oct 2019 16:00:25 +0000 (12:00 -0400)]
LP1849137 Catalog Patron View embedding improvements

Adds a readonly record detail view to the OPAC.  This is used by the
Angular catalog Patron View tab to present a version of the OPAC where
all links, buttons, and inputs are disabled.

Dynamically style the height of the embedded iframe to prevent nested
scroll bars in the Patron View.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1849137 Staff catalog Patron View tab
Bill Erickson [Mon, 21 Oct 2019 14:41:15 +0000 (10:41 -0400)]
LP1849137 Staff catalog Patron View tab

Adds a tab to the Angular staff catalog record detail page which
displays an embedded display of the patron OPAC view of the record
detail page.  This replaces the View In Catalog button.

The iframe is not linked or tied into the parent Angular app in any way.
It's just an iframe with a source.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1830973 Angular 8 org family test spec repair
Bill Erickson [Tue, 22 Oct 2019 17:52:56 +0000 (13:52 -0400)]
LP1830973 Angular 8 org family test spec repair

The test runner does not like that the test expectations are wrapped in
the fixture.whenStable promise.  It reports an error, since no
expectations occur in line with the test:

ERROR: 'Spec 'Component: OrgFamilySelect allows user to turn off
includeDescendants checkbox' has no expectations.'

As the whenStable checks do not appear to be necessary, simply removing
them resolves the issue and allows the tests to succeed.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agoTranslation updates - po files
Dan Wells [Mon, 28 Oct 2019 15:03:22 +0000 (11:03 -0400)]
Translation updates - po files

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoTranslation updates - newpot
Dan Wells [Mon, 28 Oct 2019 14:59:21 +0000 (10:59 -0400)]
Translation updates - newpot

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoDocs: Adding 3.4.1 release notes
Remington Steed [Fri, 25 Oct 2019 18:57:14 +0000 (14:57 -0400)]
Docs: Adding 3.4.1 release notes

The acknowledgements section was built entirely from the git log
"Signed-off-by" lines.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
5 years agoDocs: Add 3.3.5 point release notes
Remington Steed [Fri, 25 Oct 2019 19:49:00 +0000 (15:49 -0400)]
Docs: Add 3.3.5 point release notes

Signed-off-by: Remington Steed <rjs7@calvin.edu>
5 years agoDocs: Add 3.2.10 point release notes
Remington Steed [Fri, 25 Oct 2019 19:20:51 +0000 (15:20 -0400)]
Docs: Add 3.2.10 point release notes

Signed-off-by: Remington Steed <rjs7@calvin.edu>
5 years agoDocs: Add 3.1.16 point release notes
Remington Steed [Fri, 25 Oct 2019 19:28:33 +0000 (15:28 -0400)]
Docs: Add 3.1.16 point release notes

Signed-off-by: Remington Steed <rjs7@calvin.edu>
5 years agoLP#1846038 Remove extra grid refresh from configuration load
Dan Wells [Tue, 22 Oct 2019 14:55:41 +0000 (10:55 -0400)]
LP#1846038 Remove extra grid refresh from configuration load

Bug LP#1790169 added the ability to save sorting configuration, but it
also added an additional grid refresh to the configuration load.  This
breaks grid loading.

The expected flow is for is to first load any existing configuration,
then do the first collect() for the grid.  This refresh() call adds
potentially a second collect() which may run earlier than it should,
and overall does not seem necessary.

To test:

(Make sure you are testing on current master or rel_3_3/3_4, or you
will (like me) hit related bugs which have been fixed.  Also, some
grids (especially circ) do not honor sort for other reasons, so avoid
those for now.)

1) Find a grid which has a typical get() process.  Suggestion would be
a basic auto grid, such as full bill details,
https://localhost/eg/staff/circ/patron/11/bill/43/details .
2) Set a sort value you can see, then *save* the configuration.
3) Before the patch, billing details grid doesn't load.  After patch,
grid loads and still honors the defined sort.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoStamp upgrade script for LP 1849152
Jason Boyer [Wed, 23 Oct 2019 16:01:15 +0000 (12:01 -0400)]
Stamp upgrade script for LP 1849152

Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
5 years agoloading custom css from library setting
Rogan Hamby [Mon, 21 Oct 2019 16:02:24 +0000 (12:02 -0400)]
loading custom css from library setting

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
5 years agoLP#1845693: (follow-up) clarify what CHROME_BIN should be set to
Galen Charlton [Wed, 23 Oct 2019 15:45:33 +0000 (11:45 -0400)]
LP#1845693: (follow-up) clarify what CHROME_BIN should be set to

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1849506: Remove "Install latest LTS node from source" docs
Dan Scott [Tue, 22 Oct 2019 21:32:07 +0000 (17:32 -0400)]
LP#1849506: Remove "Install latest LTS node from source" docs

We install specific versions of node using the -developer Makefile
targets; rely on that instead of potentially leading people astray with
the wrong version of node as time marches on.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1845693: Test Angular(JS) with modern browsers
Jason Boyer [Tue, 22 Oct 2019 16:51:15 +0000 (12:51 -0400)]
LP1845693: Test Angular(JS) with modern browsers

Rather than using PhantomJS to test Angular(JS),
we can use all supported browsers for the web client.
Currently this is Firefox and Chrom(ium).

Because of the number of dependencies this also
requires that testing is removed from the standard
build instructions and only done in specific testing
environments or on developer machines.

Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLp 1835620: Require some Storage submodules instead of use them
Jason Stephenson [Sun, 7 Jul 2019 11:18:01 +0000 (07:18 -0400)]
Lp 1835620: Require some Storage submodules instead of use them

Switch from "use" to "require" for submodules in OpenILS::Application
::Storage::CDBI and OpenILS::Application::Storage::Driver::Pg.
Circular dependencies and other issues cause the following errors at
compile time for those modules:

Compilation failed in require at
/usr/local/share/perl/5.28.1/OpenILS/Application/Storage/CDBI.pm line
9.

Compilation failed in require at
/usr/local/share/perl/5.26.1/OpenILS/Application/Storage/Driver/Pg.pm
line 15.

Require loads the submodules at run time and does not attempt to
import any methods.  This is the behavior we want, eliminates the
above errors, and everything still works.

Add comments above the required modules explaining why require is
needed and not use.

Enable and reorder all of the tests in Open-ILS/src/perlmods/t/
09-OpenILS-Application-Storage-Driver.t.  Repairing the above issue
also repairs these tests.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
5 years agoLP#1806783 Offline: Non-cataloged item receipt printing
Terran McCanna [Thu, 7 Mar 2019 17:55:46 +0000 (12:55 -0500)]
LP#1806783 Offline: Non-cataloged item receipt printing

When checkout out non-cataloged items in the offline interface,
the receipt will now print 'Non-cataloged item' and the number
of items rather than printing nothing.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1849372 Close all open dialogs on Angular route change
Bill Erickson [Tue, 22 Oct 2019 19:54:13 +0000 (15:54 -0400)]
LP1849372 Close all open dialogs on Angular route change

On all angular route changes, force close any open dialogs, since it
makes little sense for them to persist across interfaces.

To test:

[1] Navigate to Server Administration
[2] Navigate to Age Hold Protection Rule Configuration
[3] Double-click a grid row to open an edit dialog
[4] Click browser back button to return to the Server Admin page
[5] Confirm edit dialog closes once the navigation is complete.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP#1844720: avoid hard-coded paths in Apache config
Jeff Davis [Thu, 19 Sep 2019 19:51:28 +0000 (12:51 -0700)]
LP#1844720: avoid hard-coded paths in Apache config

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP #1765434 Browser refresh closes purchase order
Tiffany Little [Mon, 18 Mar 2019 17:51:03 +0000 (13:51 -0400)]
LP #1765434 Browser refresh closes purchase order

Adds a Refresh button to refresh the iframe in place.

Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1825403: Do not Include Tag Owner in Tag
Jason Boyer [Tue, 22 Oct 2019 13:18:29 +0000 (09:18 -0400)]
LP1825403: Do not Include Tag Owner in Tag

Copy tags were accidentally having their owning
location shortname included in the tag values,
this patch allows the owner to be displayed but
not included in the value used.

Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoDocs: Fix image syntax in Authority Browse infrastructure docs
Remington Steed [Mon, 21 Oct 2019 20:56:31 +0000 (16:56 -0400)]
Docs: Fix image syntax in Authority Browse infrastructure docs

There are two image references in the docs section "Infrastructure
Changes to Authority Browse" that use incorrect AsciiDoc syntax, and
therefore the images don't display in the docs. This commit fixes them
(changing "images::" to "image::", removing the "s").

Signed-off-by: Remington Steed <rjs7@calvin.edu>
5 years agoMerge branch 'master' of git.evergreen-ils.org:Evergreen
Andrea Buntz Neiman [Mon, 21 Oct 2019 20:33:44 +0000 (16:33 -0400)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen

5 years agoDocs: added Request Items section to Items Status doc
Andrea Buntz Neiman [Mon, 21 Oct 2019 20:31:00 +0000 (16:31 -0400)]
Docs: added Request Items section to Items Status doc

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
5 years agoLP#1816475: offset the start time after end time alert
Galen Charlton [Fri, 18 Oct 2019 15:56:54 +0000 (11:56 -0400)]
LP#1816475: offset the start time after end time alert

Move the alert over to align with the date inputs for a slightly
tidier appearance.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: form validation prevents users from making reservations in the past
Jane Sandberg [Mon, 14 Oct 2019 21:47:49 +0000 (14:47 -0700)]
LP1816475: form validation prevents users from making reservations in the past

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: give booking pull list columns the correct datatype
Jane Sandberg [Mon, 14 Oct 2019 19:27:46 +0000 (12:27 -0700)]
LP1816475: give booking pull list columns the correct datatype

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: Strip whitespace from patron barcodes
Jane Sandberg [Thu, 10 Oct 2019 03:27:43 +0000 (20:27 -0700)]
LP1816475: Strip whitespace from patron barcodes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: Change calendar_today icon to event icon
Jane Sandberg [Wed, 9 Oct 2019 19:25:17 +0000 (12:25 -0700)]
LP1816475: Change calendar_today icon to event icon

The locally served calendar_today icon doesn't look good in buttons
(like the date-select and datetime-select component buttons).  But the
event icon looks very similar, and doesn't have the same negative
effects when placed in buttons.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: use [routerLink] instead of href in Angular app
Jane Sandberg [Wed, 9 Oct 2019 18:42:08 +0000 (11:42 -0700)]
LP1816475: use [routerLink] instead of href in Angular app

Using <a href=""> forces a reload of the Angular app in the user's
browser, which substantially slows down the experience.  This commit
changes some href attributes to routerLink directives in the booking
navigation menu.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: Fix resource type filter in manage reservations grid
Jane Sandberg [Fri, 13 Sep 2019 18:04:27 +0000 (11:04 -0700)]
LP1816475: Fix resource type filter in manage reservations grid

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: Add ancestors checkbox to manage reservations screen
Jane Sandberg [Fri, 13 Sep 2019 15:16:15 +0000 (08:16 -0700)]
LP1816475: Add ancestors checkbox to manage reservations screen

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: Don't let users edit reservation.email_notify, pickup_lib, request_lib
Jane Sandberg [Tue, 10 Sep 2019 01:18:06 +0000 (18:18 -0700)]
LP1816475: Don't let users edit reservation.email_notify, pickup_lib, request_lib

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: Add action buttons to Pickup and Return reservation screens
Jane Sandberg [Mon, 9 Sep 2019 21:52:16 +0000 (14:52 -0700)]
LP1816475: Add action buttons to Pickup and Return reservation screens

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: Return reservations screen refreshes properly
Jane Sandberg [Mon, 9 Sep 2019 15:02:53 +0000 (08:02 -0700)]
LP1816475: Return reservations screen refreshes properly

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: Fix an icon spacing issue
Jane Sandberg [Mon, 9 Sep 2019 12:27:51 +0000 (05:27 -0700)]
LP1816475: Fix an icon spacing issue

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1816475: Add a Create Reservation button to the Create Reservation screen
Jane Sandberg [Mon, 9 Sep 2019 12:11:15 +0000 (05:11 -0700)]
LP1816475: Add a Create Reservation button to the Create Reservation screen

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1830973 Remove no longer needed navbar margin mods
Bill Erickson [Mon, 21 Oct 2019 17:38:46 +0000 (13:38 -0400)]
LP1830973 Remove no longer needed navbar margin mods

Angular 8 and dependency changes render some existing nav bar padding no
longer necessary.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1830973 Angular8 lint repair
Bill Erickson [Mon, 21 Oct 2019 17:25:42 +0000 (13:25 -0400)]
LP1830973 Angular8 lint repair

Avoid lint warning:

"In the class "NotBeforeMomentValidatorDirective", the directive input
property "egNotBeforeMoment" should not be renamed."

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1830973 Angular 8 updates
Bill Erickson [Mon, 21 Oct 2019 15:18:29 +0000 (11:18 -0400)]
LP1830973 Angular 8 updates

Update package.json versions and perform the angular 7 to angular 8
migration steps.

Update some configs to match supported options in newer versions of
typescript and tslint.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1830973 Angular reversioning script
Bill Erickson [Mon, 5 Aug 2019 21:58:41 +0000 (17:58 -0400)]
LP1830973 Angular reversioning script

Script for rebuilding the dependencies for the Angular app.  This is
useful both for major Angular upgrades or just for simply refreshing the
deps on the current version to ensure everything is up to date, but not
so up to date is breaks Angular compatibility.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1830973 Node install v12.6.0
Bill Erickson [Mon, 8 Jul 2019 16:28:17 +0000 (12:28 -0400)]
LP1830973 Node install v12.6.0

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1830973 Deps installer uses Angular 8
Bill Erickson [Mon, 8 Jul 2019 15:08:20 +0000 (11:08 -0400)]
LP1830973 Deps installer uses Angular 8

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1821969 Additional fix to second_given_name
Michele Morgan [Mon, 16 Sep 2019 18:50:16 +0000 (14:50 -0400)]
LP1821969 Additional fix to second_given_name

Adds primary second_given_name to the preferred name if there is no
preferred second_given_name. This matches the behavior of the other name
fields.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1821969 Patron Prefix and Suffix Display in Summary
Garry Collum [Wed, 8 May 2019 00:57:50 +0000 (20:57 -0400)]
LP1821969 Patron Prefix and Suffix Display in Summary

Adds support for displaying the patron prefix, suffix, preferred prefix, and preferred suffix in the patron summary sidebar.

To test:
  1. Add a combination of prefixes, suffixes, preferred prefixes, and preferred suffixes to several patrons.
  2. Also add some other preferred information to some of these patrons.
  3. In the sidebar notice the lack of prefix information in both the patron's main heading and in the preferred name information.
  4. Apply the patch.
  5. In the sidebar the prefixes and suffixes are now displayed.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1802952: stamp schema update
Galen Charlton [Mon, 21 Oct 2019 18:08:39 +0000 (14:08 -0400)]
LP#1802952: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1802952 Check bib visibility for located URI auto suggest
Dan Wells [Mon, 12 Nov 2018 16:31:33 +0000 (11:31 -0500)]
LP#1802952 Check bib visibility for located URI auto suggest

Suggestions from records with only located URIs (no copies) do not
appear in the OPAC search suggestions. This appears to be a cousin of
bug #1773479, but in a neighboring function.

In the case of libraries with LURIs, we need to consider bib visibility
separate from copy visibility in order for both to show up.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1749970 Fix paging of pending patrons
Jeff Godin [Tue, 2 Apr 2019 16:49:18 +0000 (12:49 -0400)]
LP#1749970 Fix paging of pending patrons

Fix paging of pending patrons by passing a count and offset to the
backend API call.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1657171 - Adding upgrade script
Chris Sharp [Mon, 21 Oct 2019 13:44:27 +0000 (09:44 -0400)]
LP#1657171 - Adding upgrade script

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP#1657171 - Normalize right and left single and double quotes
Michele Morgan [Fri, 12 Oct 2018 20:01:40 +0000 (16:01 -0400)]
LP#1657171 - Normalize right and left single and double quotes

Changes search_normalize and naco_normalize to replace right and left
leaning single quotes with U+0027, double quotes with U=0022

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP#1777698 Duplicate barcode alert appearing on new barcodes
Dan Briem [Sun, 11 Aug 2019 01:02:00 +0000 (21:02 -0400)]
LP#1777698 Duplicate barcode alert appearing on new barcodes

When scanning new copy barcodes, ng-change quickly fires multiple times
and sends promises to check for duplicates. If 1234 exists and you scan
12345, if the 1234 promise resolves after 12345, it will indicate it's a
duplicate. This patch keeps a count of the promises sent and only the
latest promise will set the boolean to indicate if it's a duplicate.

Hard to test because the promises usually resolve in order:
1. Add a new holding with the first few characters of an unused barcode
2. Scan the new barcode multiple times until you see the dup error
3. Apply patch and scan the new barcode multiple times (no error)

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP 985957 Prevent hold activation date being in the past
Suzanne Paterno [Tue, 6 Aug 2019 14:25:05 +0000 (10:25 -0400)]
LP 985957 Prevent hold activation date being in the past

Created a new JS function isValidDate. Checks that the date is in the future, is a valid date within the month/year given. Also makes sure the date is in the proper format D/m/Y.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agoLP#1778606 Web Client - Place Hold Requires Two Clicks on Submit
Dan Briem [Fri, 4 Oct 2019 14:57:06 +0000 (10:57 -0400)]
LP#1778606 Web Client - Place Hold Requires Two Clicks on Submit

Issue: the barcode lookup runs on the input's onchange, onkeypress (Enter), &
disables the submit button until the patron loads. So, if you type a barcode,
click enter, click the submit button, mousedown fires, if focus was still the
barcode input, its onchange fires, the lookup runs again, the submit button
disables, prevents button mouseup from firing, the click event is disrupted, &
the form doesn't submit. Click again & it works.

Instead of onchange & onkeypress this branch runs the lookup when there's a
500ms pause between onkeydowns. onpaste and enter still run the lookup
immediately. The patron search triggers the input's keydown instead of change.

To test:
1. Search for any holdable item in the catalog and click Place Hold
2. Type in an existing patron barcode and click Enter
3. Before tabbing or clicking off the barcode input, click the Submit button
4. Note it doesn't submit - click again and it submits
5. Apply patch
6. Repeat steps 1-3
7. Note it submits

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agoLP#1555791: add release notes entry
Galen Charlton [Fri, 18 Oct 2019 15:05:47 +0000 (11:05 -0400)]
LP#1555791: add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1555791 - Hide Print List from checkout screen
Josh Stompro [Fri, 13 Sep 2019 20:02:36 +0000 (15:02 -0500)]
LP#1555791 - Hide Print List from checkout screen

Hide the print list button from the checkout screen so customers
don't learn to use that instead of logout.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1842763: Vandelay: disable grid row select on queued record matches
Jeff Davis [Thu, 10 Oct 2019 18:04:48 +0000 (11:04 -0700)]
LP#1842763: Vandelay: disable grid row select on queued record matches

Users are on this screen to select a merge target, which they do by
selecting a cell in the Merge Target column.  The grid selector
checkboxes are confusing and useless (they don't support the purpose of
this screen and there are no supported actions for selected rows).

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP#1841089 Apply button in Patron Bill History screen is in confusing location
Dan Briem [Sat, 24 Aug 2019 18:44:01 +0000 (14:44 -0400)]
LP#1841089 Apply button in Patron Bill History screen is in confusing location

It's possible to miss the apply button for the date range in bill history
because it's located before the datepickers. The interface also allows
invalid date ranges.

This removes the apply button and watches the start and finish dates in the
bill history and payment history controllers. If it's not first init and they
are valid date objects in a valid date range, the grid refreshes with the new
date range query. If start > finish they are set equal to each other to force
a valid range.

To test:

1. Apply patch
2. Bring up a patron with bills and payments (or add bills and payments)
3. Under the Bills tab click History
4. Change the date range and observe that the grid refreshes
5. Try to set the start date past the finish date and vice versa

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1729435: stamp DB update
Galen Charlton [Fri, 4 Oct 2019 14:33:45 +0000 (10:33 -0400)]
LP#1729435: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1729435: Add Seed Data for WS type for Bill Full Details grids
Michele Morgan [Fri, 5 Apr 2019 20:55:19 +0000 (16:55 -0400)]
LP#1729435: Add Seed Data for WS type for Bill Full Details grids

Adds the config.workstation_setting_type values to the seed data and
an upgrade script to allow storing in the database.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1729435: Allow saving Bill Full Details grids
Remington Steed [Mon, 5 Nov 2018 21:11:35 +0000 (16:11 -0500)]
LP#1729435: Allow saving Bill Full Details grids

For a web staff eg-grid to save and retrieve its settings, it needs a unique
persist-key. This commit adds one for the Bills grid and Payments grid on the
patron bills Full Details view (right-click a bill, choose Full Details, then
click the Details tab).

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1803790: apply alphabetization fix to Angular admin splash pages
Galen Charlton [Fri, 4 Oct 2019 14:12:49 +0000 (10:12 -0400)]
LP#1803790: apply alphabetization fix to Angular admin splash pages

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1803790 Re-alphabetize Local & Server Administration Links
Terran McCanna [Wed, 6 Mar 2019 21:40:53 +0000 (16:40 -0500)]
LP#1803790 Re-alphabetize Local & Server Administration Links

Small fix that re-orders the links that were out of order due
to link name changes.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1609556: only include OPAC-visible copies in SRU/Z39.50 holdings
Jeff Davis [Tue, 2 Oct 2018 21:28:31 +0000 (14:28 -0700)]
LP#1609556: only include OPAC-visible copies in SRU/Z39.50 holdings

To test:

1. Create a bib record.
2. Add an item to the record at BR1. Mark it as not OPAC-visible.
3. Do a CONS-level SRU search for the record, including holdings. The
   record is not included in results because there are no OPAC-visible
   holdings.
4. Add a second item to the same record, this time at BR3. Mark this
   one as OPAC-visible.
5. Repeat the CONS-level SRU search, including holdings. The record
   appears in search results, but holdings information in 852 includes
   *all* copies, including non-OPAC-visible copies.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP 1827250: Fix Last Captured Hold Check for Holds Shelf
Jason Stephenson [Thu, 2 May 2019 12:36:15 +0000 (08:36 -0400)]
LP 1827250: Fix Last Captured Hold Check for Holds Shelf

When the current copy on an on shelf hold is the same as that on some
uncaptured holds, the hold fails to appear on the hold shelf when it
should.  This comes down to some SQL in the storage function to
retrieve wide holds: open-ils.storage.action.live_holds.wide_hash.

The intent of the new code is to check that the current hold matches
the most recently captured hold for the copy.  However, the order by
in the query fails to take into account holds with a NULL capture time
on the same copy will sort before the captured holds.  This patch
rectifies this situation by adding "NULLS LAST" to the order by.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>