working/Evergreen.git
13 months agoLP#1790923: make_release no longer munges STAMP_ID in the README
Galen Charlton [Wed, 5 Sep 2018 20:36:53 +0000 (16:36 -0400)]
LP#1790923: make_release no longer munges STAMP_ID in the README

(As that text no longer exists; the installation instructions simply
 will not mention the old staff client.)

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1790923: disable XUL staff client by default
Galen Charlton [Wed, 5 Sep 2018 20:29:22 +0000 (16:29 -0400)]
LP#1790923: disable XUL staff client by default

This patch discourages use of the legacy XUL staff client
by adjusting the installation process so that a versioned XUL
server directory is not created. Instead, by default XUL
server files (which is still needed by a few web staff client
interfaces) end up in /openils/var/web/xul/legacy. During installation
and upgrade, the /openils/var/web/xul/server symbolic link is
set to point to /openils/var/web/xul/legacy/server if possible.

If for some reason a given installation of Evergreen 3.2.x does not
wish to stop using the XUL staff client, STAFF_CLIENT_STAMP_ID
can still be provided during the 'make install' step, and the
make_release script can still create the XUL client installers
if given the -x switch.

Note, however, that use of the XUL staff client in 3.2.x is
NOT RECOMMENDED and no longer under any guarantee of community
support.

To test
-------
[1] Perform a fresh installation and verify that /openils/var/web/xul/legacy
    is created and that /openils/var/web/xul/server is a symlink
    pointing to /openils/var/web/xul/legacy/server.
[2] Verify that the web staff client works and that the
    user permissions editor in particular continues to work.
[3] Perform an upgrade; verify that /openils/var/web/xul/legacy exists
    and that if /openils/var/web/xul/server started out as a symlink,
    it has been repointed.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1775466 Stamping DB upgrade for Ang6 app
Bill Erickson [Thu, 6 Sep 2018 21:07:35 +0000 (17:07 -0400)]
LP#1775466 Stamping DB upgrade for Ang6 app

Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1775466: tweak how make_release prunes eg2/node_modules
Galen Charlton [Thu, 6 Sep 2018 21:03:58 +0000 (17:03 -0400)]
LP#1775466: tweak how make_release prunes eg2/node_modules

Need the -f since some stuff under eg2/node_modules/.cache
ends up as 0444 for some reason, meaning that 'rm -r' doesn't
remove those files and complains about it.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1775466: add a newly-added entry to the ang6 navbar
Galen Charlton [Thu, 6 Sep 2018 20:27:27 +0000 (16:27 -0400)]
LP#1775466: add a newly-added entry to the ang6 navbar

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1775466: improve release notes for the Angular6 app
Galen Charlton [Thu, 6 Sep 2018 20:26:45 +0000 (16:26 -0400)]
LP#1775466: improve release notes for the Angular6 app

More needs to be added to eg_vhost.conf when upgrading an
existing installation.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1775466 Angular6 base app release notes
Bill Erickson [Wed, 5 Sep 2018 19:53:28 +0000 (15:53 -0400)]
LP#1775466 Angular6 base app release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1775466 make_release builds Angular app
Bill Erickson [Wed, 5 Sep 2018 19:55:11 +0000 (15:55 -0400)]
LP#1775466 make_release builds Angular app

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1775466 Add Angular building to install docs
Bill Erickson [Wed, 5 Sep 2018 19:57:51 +0000 (15:57 -0400)]
LP#1775466 Add Angular building to install docs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1775466 developer prereqs update Node / add angular/cli
Bill Erickson [Wed, 5 Sep 2018 19:56:41 +0000 (15:56 -0400)]
LP#1775466 developer prereqs update Node / add angular/cli

NodeJS version updated from v6 to v8.
Install angular/cli globally, needed for building the Angular app.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1775466 Angular Apache configuration updates
Bill Erickson [Wed, 5 Sep 2018 19:58:23 +0000 (15:58 -0400)]
LP#1775466 Angular Apache configuration updates

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1775466 Acq admin grid workstation settings
Bill Erickson [Wed, 5 Sep 2018 19:54:21 +0000 (15:54 -0400)]
LP#1775466 Acq admin grid workstation settings

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1775466 AngularJS updates for Angular integration
Bill Erickson [Wed, 5 Sep 2018 20:04:19 +0000 (16:04 -0400)]
LP#1775466 AngularJS updates for Angular integration

Changes include:

* Navbar links to Angular acquisitions admin page.
* Auth cookie migration tool for moving AngularJS cookies from /eg/staff
  to /.
* Store last printed receipt (etc) in its final compiled form so it can
  be directly reprinted without having to recompile (via AngularJS).
  This allows the reprint-last action to work in the Angular app.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1775466 Angular(6) base application
Bill Erickson [Wed, 5 Sep 2018 20:11:41 +0000 (16:11 -0400)]
LP#1775466 Angular(6) base application

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1775466 Public API wrapper for mk_copy_query
Bill Erickson [Wed, 5 Sep 2018 20:02:56 +0000 (16:02 -0400)]
LP#1775466 Public API wrapper for mk_copy_query

Adds 2 new APIs:

open-ils.search.bib.copies
open-ils.search.bib.copies.staff

Used by the in-progress Angular staff catalog.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1775466 Record entry flat display attrs link repair
Bill Erickson [Wed, 5 Sep 2018 20:00:51 +0000 (16:00 -0400)]
LP#1775466 Record entry flat display attrs link repair

Fleshing 'mattrs' on a bib record should return an array (i.e. replace
might_have with has_many).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoTranslation updates - newpot
Ben Shum [Thu, 6 Sep 2018 14:57:54 +0000 (10:57 -0400)]
Translation updates - newpot

Signed-off-by: Ben Shum <ben@evergreener.net>
13 months agoLP#1774277 Acq requests live test vandelay repair
Bill Erickson [Thu, 6 Sep 2018 14:24:14 +0000 (10:24 -0400)]
LP#1774277 Acq requests live test vandelay repair

Acq requests test now logs in with a workstation since under the covers
vandelay (used for acq imports) requires a workstation on the new
tracker tables.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
13 months agoLP#1635354 Invoice close date perl live test
Bill Erickson [Thu, 6 Sep 2018 14:03:46 +0000 (10:03 -0400)]
LP#1635354 Invoice close date perl live test

Update Perl live test script to inspect invoice close dates instead of
the now-defunct 'complete' field.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
13 months agoLP#1755258 Browser client auth proxy login support
Bill Erickson [Tue, 12 Jun 2018 16:02:02 +0000 (12:02 -0400)]
LP#1755258 Browser client auth proxy login support

Check if the auth_proxy service is enabled during login and use the
proxy login API when it's available, otherwise fall back to standard
Evergreen open-ils.auth login.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1755258 Improve network error handling
Bill Erickson [Tue, 12 Jun 2018 16:01:15 +0000 (12:01 -0400)]
LP#1755258 Improve network error handling

Improve promise handling and logging in browser client network request
failure handling.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1781235: fix changing primary user barcode in web client
Galen Charlton [Wed, 5 Sep 2018 14:56:43 +0000 (10:56 -0400)]
LP#1781235: fix changing primary user barcode in web client

This patch fixes a bug where the patron card dialog would
not allow the user to change the primary barcode under certain
circumstances. The fix is to ensure that the radio buttons
controlling the selection of the primary card are bound to
exactly one scope variable; otherwise, the /last/ barcode in the
list that had a primary value set after user interaction would
be the winner.

To test
-------
[1] Use the 'replace barcode' feature in the patron editor to
    create a test patron with 3 barcodes:

    - barcode A
    - barcode B
    - barcode C (which as last created, would be primary)

[2] Attempt to make barcode A the primary barcode again using
    the 'See All' patron card dialog in the patron editor.
[3] Note that the change of primary barcode doesn't stick
    upon saving the patron record.
[4] Apply the patch and repeat steps 1-3. This time, the
    primary barcode should be changed as expected.
[5] Verify that other patron edit actions and registering a
    new patron record continue to work as expected.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
13 months agoLP#1781641: make staff-applied patron blocks overridable on web client checkout/renew
Jeff Davis [Wed, 29 Aug 2018 18:51:24 +0000 (11:51 -0700)]
LP#1781641: make staff-applied patron blocks overridable on web client checkout/renew

To test
-------
[1] Apply a blocking penalty such as STAFF_CHR to a patron record.
[2] Attempt to check out an item; note that there is no option to
    force the action.
[3] Apply the patch and repeat #2. This time, the staff user
    should be given an option to force the action.
[4] Verify that forcing the checkout respects whether or not
    the operator has (e.g.) the STAFF_CHR.override permission.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Joan Kranich <jkranich@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1635354: Stamping upgrade script for acqusitions invoice timestamp
Kathy Lussier [Wed, 5 Sep 2018 03:55:08 +0000 (23:55 -0400)]
LP#1635354: Stamping upgrade script for acqusitions invoice timestamp

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1635354 Support date is/not NULL ACQ searches
Bill Erickson [Thu, 19 Apr 2018 20:15:51 +0000 (16:15 -0400)]
LP#1635354 Support date is/not NULL ACQ searches

Adds support for searching on 'date is NULL' in the ACQ unified search
interface.  To use, chose the 'is' or 'is not'  matcher and leave the
text input value empty.

Update the canned completed invoices search to filter on 'close_date IS
NOT NULL' instead of the now-removed 'complete' field.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1635354 Invoice close date/by release notes
Bill Erickson [Wed, 14 Mar 2018 16:56:07 +0000 (12:56 -0400)]
LP#1635354 Invoice close date/by release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1635354 Invoice close date/by fields
Bill Erickson [Tue, 13 Mar 2018 20:02:41 +0000 (16:02 -0400)]
LP#1635354 Invoice close date/by fields

Acquisitions invoices have 2 new fields:

* Close Date -- This is set to the time when the ACQ user clicks the
  "Close" button in the invoice interface.

This field replaces the existing "Complete" field.  An invoice is now
considered complete if a close date value is set.

* Closed By -- This is set to the logged in staff user who performs the
  "Close" action.

As with the now-defunct 'complete' field, but new fields are cleared in the
event an invoice is reopened.

These new fields are visible in the invoice interface under the 'Show
Details' action for closed invoices.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1746824 - WebStaff egGrid styling
Cesar Velez [Thu, 22 Feb 2018 22:01:39 +0000 (17:01 -0500)]
LP#1746824 - WebStaff egGrid styling

This allows egGrid to receive CSS selector strings via egGridField
declarations in templates, or else auto-generates them based on the
path of the field. Also, sets the DOM id of the grid to its declared
persistKey, unless an id is explicitly given.

For example, due dates could be displayed in purple
as follows by adding the following CSS:

grid-due_date {
   color: purple;
}

The above example uses the autog-enerated class name. One could also
set an explicit one in the eg-grid-field element, e.g.,

<eg-grid-field label="[% l('Due Date') %]" path='due_date' css-selector="purple" ...

In this case, the grid-due_date class would /not/ be generated, and the
developer would be expected to supply CSS for the purple class. (But
with semantic class names :) )

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1774277 Stamping upgrade for patron acq reqs
Bill Erickson [Tue, 4 Sep 2018 21:37:32 +0000 (17:37 -0400)]
LP#1774277 Stamping upgrade for patron acq reqs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agolp1774277 release notes for patron acq requests
Jason Etheridge [Thu, 23 Aug 2018 19:18:05 +0000 (15:18 -0400)]
lp1774277 release notes for patron acq requests

Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agolp1774277 Improvements to Patron Acquisition Request
Jason Etheridge [Mon, 12 Mar 2018 22:02:47 +0000 (18:02 -0400)]
lp1774277 Improvements to Patron Acquisition Request

Squashed and rebased against master, this is an Angular reimplementation of the
Patron Acquisition Request user interface with some improvements.  It still
reaches into the Dojo-based Acquisition interfaces.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
toward acq requests

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
4-status-not-updating-to-recieved-unless-all-items-in-order-are-recieved

Change to acq patron request status logic, which now looks like this:

If a cancel_reason is set on the patron request, then status = "Canceled"

If there is an associated hold request that has fulfillment_time set,
then status = 'Fulfilled"

If there is an associated lineitem has a state of "received", then status =
"Received"

If there is an associated purchase order with a state of "on-order" and an
associated hold request, then status = "Ordered, Hold Placed"

If there is an associated purchase order with a state of "on-order" but no
associated hold request (created through the automated process), then status =
"Ordered, Hold Not Placed"

If there is an associated lineitem (selection list), then status = "Pending"

If there is no associated lineitem, then status = "New"

Any other condition, which should be impossible (I should never say that), will
give a status of "Error"

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
6-upc-not-on-patron-request-form

Adds a UPC column to the patron acq request table

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
2-hold-request-fields-that-make-use-of-user-preferences

For new requests (or edited requests when a user barcode is scanned), the user's
preferences (if any) for hold notifications and pickup library will be used to
set various fields in the request dialog.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5-pick-up-library-not-defaulting-to-patrons-home-library

when creating new requests, given a user, default to the user's pickup library
preference setting, or absent a preference, default to their home library.

Absent a user, default to the pickup library selector value from the request
list, if it's of an org type that can have volumes.  Otherwise, default to the
workstation library.  Technically, the without-a-user behavior is going to be
mooted whenever a user is chosen.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5-pick-up-library-not-defaulting-to-patrons-home-library

Fix defaulting to patron home library in absense of user setting when creating
acq patron request from user context

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
misc fixes

to the IDL and for the email_notify checkbox.

some refactoring to avoid using foreign fields in the request object

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
7-retrieve-patron-fails-to-load-patron-record

give the user_request.view permission some parity with VIEW_USER

And some defensive programming if trying to create a request in
the user already known context without adequate permission

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
handle undefined values for email/hold checkboxes

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
remove acq.holds.allow_holds_from_purchase_request

This was added a long time ago but never actually used by the code.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
match pcrud perm for aur with aurs

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
live_t/ test

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1514085: stamp schema update
Galen Charlton [Tue, 4 Sep 2018 22:35:28 +0000 (18:35 -0400)]
LP#1514085: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1514085: add to release notes with a server configuration note
Galen Charlton [Tue, 4 Sep 2018 22:33:09 +0000 (18:33 -0400)]
LP#1514085: add to release notes with a server configuration note

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1514085: sync schema update script to reflect changes in master
Galen Charlton [Tue, 4 Sep 2018 21:46:49 +0000 (17:46 -0400)]
LP#1514085: sync schema update script to reflect changes in master

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1514085 Release notes for vandelay session tracking
Bill Erickson [Thu, 23 Aug 2018 18:17:11 +0000 (14:17 -0400)]
LP#1514085 Release notes for vandelay session tracking

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1514085 Vandelay in-database session tracking
Bill Erickson [Thu, 28 Jun 2018 16:38:57 +0000 (12:38 -0400)]
LP#1514085 Vandelay in-database session tracking

Adds a new DB table vandelay.session_tracker for monitoring progress on
Vandelay enqueue and import sessions.

Enqueue and import APIs get a new option to exit early, returning the
newly created tracker object, so the caller can monitor the tracker
instead of listening to streamed responses, which are not supported in
browser client Dojo interfaces.

Teach the existing Dojo Vandelay UI to exit early on enqueu & export and
to poll for tracker data in lieu of waiting for streamed progress data.

On user merge / purge, trackers are migrated to the destination user.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1777675 Stamping upgrade script for latest inventory date support
Dan Wells [Tue, 4 Sep 2018 20:36:09 +0000 (16:36 -0400)]
LP#1777675 Stamping upgrade script for latest inventory date support

Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 months agoLP#1777675: Change table names to Latest Inventory
Kathy Lussier [Tue, 4 Sep 2018 18:38:33 +0000 (14:38 -0400)]
LP#1777675: Change table names to Latest Inventory

Makes the backend code consistent with the new labels that have been added for
the latest inventory date.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 months agoLP#1777675 Tweak IDL label for copy inventory
Dan Wells [Thu, 23 Aug 2018 18:38:50 +0000 (14:38 -0400)]
LP#1777675 Tweak IDL label for copy inventory

"Last Copy Inventory" can be misunderstood at first reading as
inventory of the "last copy".  "Latest Inventory" seems easier to
understand, and also still goes well with a potential future "All
Inventories" entry in the IDL.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1777675 Re-add missing columns to checkin interface
Dan Wells [Thu, 23 Aug 2018 18:34:57 +0000 (14:34 -0400)]
LP#1777675 Re-add missing columns to checkin interface

During one iteration of the inventory code, a box was added to the
interface, and some room was made for it by shrinking these other
interface components.

Since the box is now gone, let's get this row back up to the expected
twelve units of width.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1777675: Fix code to update Item Status grid
Remington Steed [Wed, 22 Aug 2018 18:19:19 +0000 (14:19 -0400)]
LP#1777675: Fix code to update Item Status grid

Testing revealed that the grid rows use a different data structure, and
the object member names include dots (periods). Thus, bracket notation
is required to access those members.

This commit also makes a few smaller changes:
  - Prevents an error in the Check-in app when a last_copy_inventory
    doesn't exist yet.
  - Removes the "refresh" parameter from the updateInventory() function,
    which is never supplied when called, nor used by the function.
  - Adds some brief code comments.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1777675: Release notes entry for inventory date
Kathy Lussier [Tue, 21 Aug 2018 17:31:59 +0000 (13:31 -0400)]
LP#1777675: Release notes entry for inventory date

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 months agoLP#1777675: Add inventory checkin modifier setting to server storage
Kathy Lussier [Tue, 21 Aug 2018 17:04:13 +0000 (13:04 -0400)]
LP#1777675: Add inventory checkin modifier setting to server storage

Allows the inventory checkin modifier value to be stored on the server instead
of the browser as is done with other checkin modifier settings.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 months agolp1777675 inventory date support
Kyle Huckins [Mon, 9 Jul 2018 18:11:05 +0000 (18:11 +0000)]
lp1777675 inventory date support

- Add toggle for updating inventory date and workstation on checkin
- Create new table asset.last_copy_inventory containing inventory date and inventory workstation columns.
- Add code to do_checkin subroutine to update last_copy_inventory table on checkin.
- Update Holdings view, Checkins table, copy buckets, and item detail grid and lists to display new
inventory date and workstation information.
- Add Update Inventory action to Item Status detail and list views.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Conflicts:
Open-ILS/web/js/ui/default/staff/circ/services/item.js

Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 months agoLP#1712854 Stamping DB upgrade for hold UIs sort/speed
Bill Erickson [Tue, 4 Sep 2018 17:37:33 +0000 (13:37 -0400)]
LP#1712854 Stamping DB upgrade for hold UIs sort/speed

Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1712854: Add wide_hold grid settings to server storage
Kathy Lussier [Wed, 29 Aug 2018 21:00:39 +0000 (17:00 -0400)]
LP#1712854: Add wide_hold grid settings to server storage

Adds the new wide_hold grid settings used in the holds shelf and record holds
interfaces to server storage, as is done with other grid settings. Also removes
the legacy eg.grid.circ.holds.shelf and eg.grid.cat.catalog.holds settings.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1712854: Provide context-relevant default sort orders
Mike Rylander [Thu, 30 Aug 2018 20:48:23 +0000 (16:48 -0400)]
LP#1712854: Provide context-relevant default sort orders

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1712854: Include shelf-expired holds in the "clearable" set
Mike Rylander [Thu, 30 Aug 2018 20:37:21 +0000 (16:37 -0400)]
LP#1712854: Include shelf-expired holds in the "clearable" set

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1712854: Make use of local cache when moving to All Holds list
Mike Rylander [Tue, 28 Aug 2018 16:23:50 +0000 (12:23 -0400)]
LP#1712854: Make use of local cache when moving to All Holds list

Clearing holds takes care of local updates to the hold data, so there is no
need to refetch the hold list when moving from Clearable to All.  Actions
that change hold state otherwise do cause a refetch, however.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1712854: Provide a "only last captured copy" option to filter holds shelf
Mike Rylander [Tue, 28 Aug 2018 15:45:11 +0000 (11:45 -0400)]
LP#1712854: Provide a "only last captured copy" option to filter holds shelf

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1712854: Fix typo in function names for cancel and uncancel of wide holds
Mike Rylander [Tue, 28 Aug 2018 15:09:06 +0000 (11:09 -0400)]
LP#1712854: Fix typo in function names for cancel and uncancel of wide holds

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1712854: Speed improvements for two hold interfaces
Mike Rylander [Thu, 19 Jul 2018 00:52:25 +0000 (20:52 -0400)]
LP#1712854: Speed improvements for two hold interfaces

The Hold Shelf and Record -> View Holds interfaces are painfully slow when
faced with a large set of holds.  The main reason is the 2-stage process used
to gather the data: 1) find hold IDs for the context 2) for each hold, fetch
all the requisite data using a relatively slow API.

Here we create a new API that provides a streaming response of pre-inflated
hold data.  The full result set is loaded immediately, and once loaded, the
grid makes use of the "clientsort" feature to provide fast sorting without
the need to go back to the server when only changing the sort columns and
direction, and when paging through results.  The Hold Shelf UI now has a
progress indicator that appears whenever the hold list is retrieved from the
server, and the progress indicator for the Record -> View Holds UI is enhanced
to provide more granular updates.

It is expected that other hold interfaces will be able to make use of this new
API for performance and functionality improvements.

NOTE: This includes an additional change required to protect localStorage from
overlarge values when attempting to save the "last printed value" for future
reprinting.  Previously, when attempting to print a 2000+ hold list,
localStorage throws an error and the print fails.  Now the print will succeed,
but the value is not stored for reprinting and a message is logged to the JS
console.

NOTE: The original development plan was base this a new API on a native
Postgres materialized view, and provide a LISTEN/NOTIFY daemon to monitor for
events that should trigger a refresh of that view.  As it happens, the use of
other new Postgres features (primarily the LATERAL join type) allows us to
avoid that maintenance and run-time complication.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Conflicts:
Open-ILS/web/js/ui/default/staff/services/hatch.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1779920: stamp database update
Galen Charlton [Tue, 4 Sep 2018 18:07:38 +0000 (14:07 -0400)]
LP#1779920: stamp database update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1779920: adjust release notes
Galen Charlton [Tue, 4 Sep 2018 17:55:18 +0000 (13:55 -0400)]
LP#1779920: adjust release notes

Wrap text and change the order of the paragraphs to put the
intent of the feature first.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1779920 Auto-renew modify related tables/views
Bill Erickson [Tue, 4 Sep 2018 14:31:00 +0000 (10:31 -0400)]
LP#1779920 Auto-renew modify related tables/views

Add new columns to these tables/views:

* action.all_circulation
* action.all_circulation_slim
* action.aged_circulation
* action.all_circ_chain
* action.summarize_all_circ_chain

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1779920 - Autorenewal Feature-Release Docs
Cesar Velez [Tue, 21 Aug 2018 22:23:14 +0000 (18:23 -0400)]
LP#1779920 - Autorenewal Feature-Release Docs

Summary release notes for Autorenewal

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1779920 Circ auto-renewal repairs
Bill Erickson [Wed, 29 Aug 2018 21:19:07 +0000 (17:19 -0400)]
LP#1779920 Circ auto-renewal repairs

* Remove hard-coded granularity for auto-renewal notification event
  generation
* Moved schema update changes from 950 seed file into schema files.
* Added CircIsOpen validator to auto-renewal reactor on the off chance
  a circ is renewed by the patron in the middle of event processing.
* Notification template formatting and language updates, and removed
  debugging content.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1779920 - Autorenew Feature
Cesar Velez [Tue, 28 Aug 2018 20:13:51 +0000 (16:13 -0400)]
LP#1779920 - Autorenew Feature

This branch adds the necessary changes to allow Evergreen via the
Action/Trigger system to generate daily automatic renewals of
outstanding loans. Implemented as pair of A/T definitions: Autorenew and
AutorenewNotify.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1776020: stamp database update
Galen Charlton [Tue, 4 Sep 2018 17:32:46 +0000 (13:32 -0400)]
LP#1776020: stamp database update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1776020 Deduplicate name keywords in patron merge
Bill Erickson [Tue, 28 Aug 2018 02:49:12 +0000 (22:49 -0400)]
LP#1776020 Deduplicate name keywords in patron merge

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1776020 Add pref names to bills and items-out receipt templates
Bill Erickson [Tue, 28 Aug 2018 02:00:52 +0000 (22:00 -0400)]
LP#1776020 Add pref names to bills and items-out receipt templates

Add support (with inline docs) for pref_.* name fields in Bills
Current/Historical/Payment templates and the patron Items Out template.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1776020: Tweaks to display of name keywords
Kathy Lussier [Mon, 27 Aug 2018 20:15:31 +0000 (16:15 -0400)]
LP#1776020: Tweaks to display of name keywords

Add an icon next to the primary name to indicate the presence of name keywords,
which can be seen via hovering. The name keywords continue to display at the
bottom of the patron summary sidebar.

Also fixes a minor bug where preferred name would display for anyone with
a middle name.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1776020 Release notes for pref name / keywords
Bill Erickson [Wed, 22 Aug 2018 01:31:15 +0000 (21:31 -0400)]
LP#1776020 Release notes for pref name / keywords

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP#1776020 Patron preferred name & name keywords
Bill Erickson [Mon, 21 May 2018 02:15:23 +0000 (22:15 -0400)]
LP#1776020 Patron preferred name & name keywords

Preferred Name

Adds a new set of patron preferred name fields for prefix, first,
middle, last, and suffix allowing patrons to provide preferred name
information.  Preferred names are optional and each acts as an overlay
to the analogous primary name field, making it possible to provide
preferred name values for individual fields.

For example, a patron named William Erickson may have a preferred first
name (pref_first_given_name) of Bill, in which case the preferred name
would be Bill Erickson.  Note a preferred last name is not required in
this case as the code uses primary name values as defaults when not
replaced with a preferred version.

* Patrons will see primary names displayed in the catalog when set.
* Staff will see both primary name and preferred name in the patron
  summary side bar.
* Patron searches for any given name field will search both the primary
  and preferred name data.
* Preferred name fields are available in Action/Trigger templates and
  are present in various patron-focused print templates.

Name Keywords

Adds a new field to store miscellaneous patron name search terms.  These
values are only for searching and do not appear in any interfaces, apart
from the patron summary side bar and the patron edit UI.

Included is a new search field in the patron search UI which searches
keyword values and all other name fields.  It's essentially a global patron
name keyword search.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 months agoLP1752370: Add weight column to metabib fields grid
Jane Sandberg [Mon, 4 Jun 2018 04:09:20 +0000 (21:09 -0700)]
LP1752370: Add weight column to metabib fields grid

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1740412 Double grid tooltip max width
Bill Erickson [Wed, 29 Aug 2018 18:05:09 +0000 (14:05 -0400)]
LP#1740412 Double grid tooltip max width

Bump the max-width of the grid tooltip from 200 to 400px to accommodate
longer messages.  Shorter messages will continue using narrower
tooltips.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1740412 Grid cell tooltips moved to top-left
Bill Erickson [Fri, 24 Aug 2018 14:30:34 +0000 (10:30 -0400)]
LP#1740412 Grid cell tooltips moved to top-left

Avoid rendering the tooltip in the middle of a section of overflowed
text, since it can lead to tooltips being pushed far to the right.
Render at top left of cell instead.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1740412 Grid cell tooltips limited to long content
Bill Erickson [Thu, 23 Aug 2018 17:52:38 +0000 (13:52 -0400)]
LP#1740412 Grid cell tooltips limited to long content

Only display grid cell tooltips when the content of the cell overflows
its container.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1740412 Grid cell content tooltips
Bill Erickson [Mon, 25 Jun 2018 16:19:36 +0000 (12:19 -0400)]
LP#1740412 Grid cell content tooltips

Display a tooltip (popover), containing the full grid contents, when
mousing over a grid cell.  This allows users to see the full contents of
a cell without having to resize the grid column.

This applies to text contents and pre-compiled HTML contents.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1744756: Stamping upgrade script for custom perm group display
Kathy Lussier [Thu, 30 Aug 2018 16:37:45 +0000 (12:37 -0400)]
LP#1744756: Stamping upgrade script for custom perm group display

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agolp1744756 Utilize Parent Trees
Kyle Huckins [Wed, 29 Aug 2018 15:20:17 +0000 (15:20 +0000)]
lp1744756 Utilize Parent Trees

- Allow Patron Edit interface to make use of Parent OU trees when
expect tree doesn't exist.

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

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agolp1744756 Docs fix and Permission change
Kyle Huckins [Mon, 27 Aug 2018 20:21:45 +0000 (20:21 +0000)]
lp1744756 Docs fix and Permission change

- Introduce MANAGE_CUSTOM_PERM_GRP_TREE permission.

- Remove unnecessary references to unused "disabled"
field for pgtdes.

- Update documentation to correctly explain how removing
and adding display entries works.

 Changes to be committed:
modified:   Open-ILS/examples/fm_IDL.xml
modified:   Open-ILS/src/sql/Pg/006.schema.permissions.sql
modified:   Open-ILS/src/sql/Pg/950.data.seed-values.sql
modified:   Open-ILS/src/sql/Pg/upgrade/XXXX.schema.perm-group-display.sql
modified:   Open-ILS/web/js/ui/default/staff/admin/local/permission/app.js
modified:   Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js
modified:   docs/RELEASE_NOTES_NEXT/Client/pgtde.adoc

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoLP#1744756 Grp display tree minor fixes.
Bill Erickson [Mon, 6 Aug 2018 15:35:44 +0000 (11:35 -0400)]
LP#1744756 Grp display tree minor fixes.

1. Fix group tree display entry IDL sequence copy/paste issue:

permission.grp_tree_id_seq => permission.grp_tree_display_entry_id_seq

2. Apply consistent use of tabs in the IDL.

3. Fix thinko use of grp as a function in the no-entries-exist scenario
   in the patron editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agolp1744756 Release Notes for PGTDEs
Kyle Huckins [Thu, 14 Jun 2018 16:11:34 +0000 (16:11 +0000)]
lp1744756 Release Notes for PGTDEs

- Include release notes for Permission Group Tree Display
Entry UI and usage.
- Include pictures of interface for documentation.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agolp1744756 Profile Tree Display Entry Admin UI
Kyle Huckins [Thu, 15 Mar 2018 18:54:13 +0000 (18:54 +0000)]
lp1744756 Profile Tree Display Entry Admin UI

- Flesh out permission.group_tree_display_entries table.
- Create pgtde IDL class corresponding to new permission.group_tree_display_entries
table.
- Admin UI for Permission Group Tree Entries capable of viewing, adding, removing,
or changing position of entries within tree based on OU.
- Save functionality to persist any changes made.
- Persist changes in positions of permission group display
entries in Admin UI with the Profile Selector in the patron
edit interface.
- Make profile selector use original functionality if there are no
display entries.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 months agoForward-port 3.1.5 upgrade script
Dan Wells [Wed, 29 Aug 2018 22:18:54 +0000 (18:18 -0400)]
Forward-port 3.1.5 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 months agoForward-port 3.0.11 upgrade script
Dan Wells [Wed, 29 Aug 2018 22:18:25 +0000 (18:18 -0400)]
Forward-port 3.0.11 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 months agoLP#978095 ACQ use last-canceled copy reason if best
Bill Erickson [Fri, 27 Jul 2018 18:30:07 +0000 (14:30 -0400)]
LP#978095 ACQ use last-canceled copy reason if best

Only use an alternate keep-debits cancel reason if the currently
canceled copy is not using a keep-debits reason.

Also clarify in the docs that if another keep-debits reason is selected,
it's essentially chosen at random, not necessarily the "last" copy.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 months agolp978095 auto-canceling lineitems
Jason Etheridge [Fri, 2 Feb 2018 16:30:36 +0000 (11:30 -0500)]
lp978095 auto-canceling lineitems

"Acq: lineitems display as "on order" even after all copies have been cancelled"

When a copy (lineitem detail) on a lineitem is canceled through the UI, all of
the sibling copies are examined, and if they also happen to be canceled, then a
cancel attempt is made on the parent lineitem.

The cancel reason fed to the lineitem cancelation attempt will be the last
cancel reason on an examined sibling lineitem where Keep Debits is True, or
failing that, the cancel reason used wih the copy just canceled.

The UI will refresh to the lineitem view when such an auto-cancelation happens.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 months agoLP#1768902 Stamping DB upgrade for Z39 UPC
Bill Erickson [Fri, 24 Aug 2018 20:05:09 +0000 (16:05 -0400)]
LP#1768902 Stamping DB upgrade for Z39 UPC

Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1768902: quick release note entry
Ben Shum [Thu, 3 May 2018 17:36:31 +0000 (12:36 -0500)]
LP#1768902: quick release note entry

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP#1768902: Add UPC to z3950 search for OCLC and LOC
Ben Shum [Thu, 3 May 2018 17:24:44 +0000 (12:24 -0500)]
LP#1768902: Add UPC to z3950 search for OCLC and LOC

Based on settings provided by Jane Sandberg, add the UPC as a search
attribute definition for OCLC and LOC z3950 targets.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoDocs: adding release notes and docs for LP1760160
Jane Sandberg [Tue, 1 May 2018 08:22:15 +0000 (03:22 -0500)]
Docs: adding release notes and docs for LP1760160

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP1760160: Search bar has a different CSS class when on the home page
Jane Sandberg [Sat, 31 Mar 2018 13:48:49 +0000 (06:48 -0700)]
LP1760160: Search bar has a different CSS class when on the home page

To test:
1. In templates/opac/css/style.css, add some highly noticeable CSS that
applies to .searchbar-home or an element within .searchbar-home, e.g.
  .searchbar-home .search-box {
    background-color: purple;
    height: 4em;
  }
2. Go to the home page of your public catalog.  The .searchbar-home .search-box CSS
should have taken effect.
3. Go to another page of your public catalog, such as a search results
or login page.  The CSS should not have taken effect here.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: pingest.pl merge conflict typo fix: skip_dispaly
Bill Erickson [Thu, 23 Aug 2018 16:26:11 +0000 (12:26 -0400)]
LP 1768715: pingest.pl merge conflict typo fix: skip_dispaly

Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: pingest.pl Release Notes and Installation
Jason Stephenson [Sun, 3 Jun 2018 00:33:23 +0000 (20:33 -0400)]
LP 1768715: pingest.pl Release Notes and Installation

Add pingest.pl to Open-ILS/src/Makefile.am so it will be installed by
default.

Add release notes for pingest.pl.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Fix pingest.pl bug discovered by Dan Scott of Laurentian U.
Jason Stephenson [Sat, 2 Jun 2018 23:18:40 +0000 (19:18 -0400)]
LP 1768715: Fix pingest.pl bug discovered by Dan Scott of Laurentian U.

Reingest was not happening if all ingests were skipped, except for the
display field reingest.  This came down to a matter of two conditional
statements not including checks for the $skip_display variable being
true.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Use older named notation in pingest.pl
Jeff Godin [Fri, 24 Nov 2017 15:23:56 +0000 (10:23 -0500)]
LP 1768715: Use older named notation in pingest.pl

Use older style param := 'value' named notation for PostgreSQL
function calls in pingest.pl to support PostgreSQL versions < 9.5.

NOTE: This commit was modified to fit with the flow of the surrounding
commits from the master branch of the source repository.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Whitespace cleanup in Blake's commit.
Jason Stephenson [Wed, 22 Nov 2017 02:23:03 +0000 (21:23 -0500)]
LP 1768715: Whitespace cleanup in Blake's commit.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Missing semi colon
Blake GH [Tue, 21 Nov 2017 16:41:48 +0000 (10:41 -0600)]
LP 1768715: Missing semi colon

Add missing semi-colon in pingest.pl.

Signed-off-by: Blake GH <blake@mobiusconsortium.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Handle the skip_display option of metabib.reingest_metabib_field_entries.
Jason Stephenson [Wed, 4 Oct 2017 20:43:37 +0000 (16:43 -0400)]
LP 1768715: Handle the skip_display option of metabib.reingest_metabib_field_entries.

pingest.pl gets a --skip-display option of its own that disables the
display ingest.  The display ingest is also skipped in the browse
ingest.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Add skip_browse where it was missed in pingest.pl.
Jason Stephenson [Wed, 4 Oct 2017 17:25:19 +0000 (13:25 -0400)]
LP 1768715: Add skip_browse where it was missed in pingest.pl.

I missed the named parameter for skip_browse in reingest_field_entries
in pingest.pl in the earlier commit.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Use named arguments in function calls in pingest.pl.
Jason Stephenson [Wed, 4 Oct 2017 16:55:05 +0000 (12:55 -0400)]
LP 1768715: Use named arguments in function calls in pingest.pl.

This makes it work, more or less, with Evergreen 3.0 and the changes
to metabib.reingest_field_entries.  Note that the new skip_display
parameter is not set, so you might get collisions between the browse
ingest and one of the other ingest processes if they both work on the
same record at once.

I will make a branch for use with Evergreen 3.0 until I upgrade to
Evergreen 3.0 and merge that branch into master.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Add database connection parameters to pingest.pl command line.
Jason Stephenson [Wed, 4 Oct 2017 15:18:35 +0000 (11:18 -0400)]
LP 1768715: Add database connection parameters to pingest.pl command line.

This will serve as the model for future Perl scripts that need to
connect to the PostgreSQL database with DBI.  I may go back and alter
the existing scripts to use this method.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Make the pingest.pl --pipe option be greedy.
Jason Stephenson [Mon, 11 Apr 2016 16:25:57 +0000 (12:25 -0400)]
LP 1768715: Make the pingest.pl --pipe option be greedy.

The --pipe option is used with pingest.pl now assumes that that any
string of digits in the input is a record id.  Instead of using just
the first string of digits on a line, as it did before, it now uses
each string of digits on a line.

Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Simplify Open-ILS/src/support-scripts/pingest.pl with selectcol_arrayref.
Jason Stephenson [Mon, 11 Apr 2016 14:39:02 +0000 (10:39 -0400)]
LP 1768715: Simplify Open-ILS/src/support-scripts/pingest.pl with selectcol_arrayref.

By switching to DBI->selectcol_arrayref in pingest.pl, we can avoid
having to check for references in the main loop.  This eliminates an
extra variable and an extra line of code that are no longer needed.

Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Only connect to the database when needed in pingest.pl.
Jason Stephenson [Fri, 1 Apr 2016 14:02:45 +0000 (10:02 -0400)]
LP 1768715: Only connect to the database when needed in pingest.pl.

We chagne where we connect and disconnect the database in the parent
process in pingest.pl.  There's no point connecting at all if the
--pipe option is used.

Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Fix bug in pingest.pl after --pipe option was added.
Jason Stephenson [Fri, 1 Apr 2016 14:00:20 +0000 (10:00 -0400)]
LP 1768715: Fix bug in pingest.pl after --pipe option was added.

Apparently, the results of DBI->selectall_arrayref need to be cast to
an array and not just returned as a list.

Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: Add --pipe option to pingest.pl
Jason Stephenson [Thu, 31 Mar 2016 15:39:49 +0000 (11:39 -0400)]
LP 1768715: Add --pipe option to pingest.pl

With this option, pingest.pl reads a list of record IDs from standard
input, instead of running a query.  This is useful if you have a
custom query to output only certain records to reingest and you can
pipe the output into pingest.pl.

Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
13 months agoLP 1768715: pingest supports max/min ID, duration, more ops
Bill Erickson [Tue, 16 Feb 2016 17:59:55 +0000 (12:59 -0500)]
LP 1768715: pingest supports max/min ID, duration, more ops

From the new help text:

    --batch-size
        Number of records to process per batch

    --max-child
        Max number of worker processes

    --skip-browse
    --skip-attrs
    --skip-search
    --skip-facets
        Skip the selected reingest component

    --start-id
        Start processing at this record ID.

    --end-id
        Stop processing when this record ID is reached

    --max-duration
        Stop processing after this many total seconds have passed.

    --help
        Show this help text.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>