evergreen/pines.git
4 years agoLP1852782 MARC edit inline authority record creation.
Bill Erickson [Thu, 19 Dec 2019 23:00:27 +0000 (18:00 -0500)]
LP1852782 MARC edit inline authority record creation.

Implement support for creating a new authority record from a bib field
in "immediate" (non-editing)  mode.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 MARC editor authority linking support
Bill Erickson [Mon, 16 Dec 2019 15:40:01 +0000 (10:40 -0500)]
LP1852782 MARC editor authority linking support

Adds authority browse UI for controlled bib tags, with support for
applying headings for found authorities.

Adds 3 new open-ils.cat APIs for managing the authority browse and
linking logic, lifted from the AngJS MARC editor.

open-ils.cat.authority.validate.bib_field
open-ils.cat.authority.bib_field.linking_browse
open-ils.cat.authority.bib_field.overlay_authority

Adds new "Show As Heading" and "Show As MARC" options allowing staff to
see the main headings, see from, and see alsos as human-friendly text or
as the raw MARC data.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 FF context menu repairs; Angular fixes
Bill Erickson [Thu, 12 Dec 2019 15:35:06 +0000 (10:35 -0500)]
LP1852782 FF context menu repairs; Angular fixes

Fix regression in context menu generation for fixed fields.

Migrate some ViewChild's from static=true to static=false.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Progress indicator while saving MARC records
Bill Erickson [Wed, 11 Dec 2019 22:03:19 +0000 (17:03 -0500)]
LP1852782 Progress indicator while saving MARC records

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Tag menu static additions
Bill Erickson [Wed, 11 Dec 2019 21:44:29 +0000 (16:44 -0500)]
LP1852782 Tag menu static additions

Adds support for add 006/007/008, delete fields and optionally add new
field before and after actions to the context menus displayed for
control field and data field tags.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Prevents data fields swapping to control fields
Bill Erickson [Wed, 11 Dec 2019 20:28:04 +0000 (15:28 -0500)]
LP1852782 Prevents data fields swapping to control fields

Prevent an existing data field from swapping to a control field while
editing the tag.  This way if a tag is cleared the field won't jump from
the data fields section up to the control fields section mid-edit.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 MARC editor subfield stacking support
Bill Erickson [Wed, 11 Dec 2019 19:48:40 +0000 (14:48 -0500)]
LP1852782 MARC editor subfield stacking support

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Context menu nagivation and FF repairs
Bill Erickson [Wed, 11 Dec 2019 17:31:15 +0000 (12:31 -0500)]
LP1852782 Context menu nagivation and FF repairs

Allow keyboard navigation of context menus by changing the action links
to buttons.  Teach the menu to close itself once an action has been
selected to cover cases where the popover does not close itself,
specifically on keyboard Enter to select.

Teach the editor to reload the tagtable data when the record type has
changed and refresh all of its child component, since a Type change
impacts all of the tagtable options.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 MARC editable content aria-labels
Bill Erickson [Wed, 11 Dec 2019 15:46:04 +0000 (10:46 -0500)]
LP1852782 MARC editable content aria-labels

Label fixed fields by their respective labels.  Label tags, indicators,
subfield codes, and values with generic terms indicating their purpose.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 MARC editor prevent navigation with changes
Bill Erickson [Tue, 10 Dec 2019 22:35:49 +0000 (17:35 -0500)]
LP1852782 MARC editor prevent navigation with changes

Show a confirmation dialog when the user attempts to navigate away from
the MARC edit tab in the catalog if the MARC editor has pending changes.

The dialog will be shown if the user attempts to change tabs or navigate
away from the record detail page w/in Angular.

If the user unloads / reloads the page, the stock browser onbeforeunload
confirmation dialog will be displayed instead.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 MARC editor and related lint repairs
Bill Erickson [Tue, 10 Dec 2019 17:00:20 +0000 (12:00 -0500)]
LP1852782 MARC editor and related lint repairs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Avoid unnecessary catalog pagination search
Bill Erickson [Fri, 6 Dec 2019 20:27:28 +0000 (15:27 -0500)]
LP1852782 Avoid unnecessary catalog pagination search

Prevent the record detail paginator from trying to execute a search (to
find the current details) as users type in new search params in the
record detail seach form.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Record detail page shows summary first
Bill Erickson [Fri, 6 Dec 2019 18:10:29 +0000 (13:10 -0500)]
LP1852782 Record detail page shows summary first

Consistent with other EG catalogs, show the record summary section first
on the record detail page, with actions below.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Catalog search form expand/collapse
Bill Erickson [Fri, 6 Dec 2019 18:02:55 +0000 (13:02 -0500)]
LP1852782 Catalog search form expand/collapse

Collapse the form by default on record detail pages for closer
consistency with previous catalogs.  When collapsed, provide an option
to expand the search form.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Angular MARC enriched editor (first batch)
Bill Erickson [Thu, 14 Nov 2019 21:54:21 +0000 (16:54 -0500)]
LP1852782 Angular MARC enriched editor (first batch)

Main rich MARC editor component.  Includes fixed fields editor, context
menus for value selection, undo/redo, help display, keyboard shortcuts.

Also includes a standalone context menu component.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1787415: Item Status checkout date and checkout workstation for renewed items
Michele Morgan [Thu, 8 Aug 2019 18:01:00 +0000 (14:01 -0400)]
LP1787415: Item Status checkout date and checkout workstation for renewed items

Fixes Item Status Quick Summary and Recent Circ History to show the original
checkout date and original checkout workstation for renewed items, instead of
values from the most recent circ row.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP1777181 - Make backdating more visible in check in.
Josh Stompro [Wed, 13 Nov 2019 19:48:50 +0000 (13:48 -0600)]
LP1777181 - Make backdating more visible in check in.

Add another visual indication that backdating is in use in check in screen.

To test, visit check in screen and pick a date for the effective date.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP1849370 Mark items as damaged - changing fee usability issues
Dan Briem [Fri, 24 Jan 2020 23:03:07 +0000 (18:03 -0500)]
LP1849370 Mark items as damaged - changing fee usability issues

The prop that conditionally renders the fee interface is bound to the fee input
so it removes itself from the DOM when cleared. The patch uses a separate prop.

The fee input's by the edge so you may mistakenly close the modal if you try to
click & drag to highlight the fee. The patch sets the prop backdrop to static.

A $0 item price will cause the modal to keep reloading on submit. If you set a
$0 fee manually without clicking No Charge it charges the full item price. The
patch sets the apply_fines param for the Perl API dynamically on submission.

To test:
1. Make sure the OU setting "Charge item price when marked damaged" is true
2. Check out an item with a price to a user
3. Mark it damaged (from Item Status or Checkin screen)
4. Note if you clear the fee input it removes itself, if you drag the mouse off
the modal & release it closes, & if you charge $0 without using "No Charge" it
charges the user the full item price
5. Apply patch and repeat steps 1-3
6. Note the input stays when cleared, the modal doesn't close if you release
the mouse on the backdrop, & charging $0 doesn't charge the user

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agolp1792995 wrong row details shown on billing grid
Mike Risher [Tue, 4 Feb 2020 22:42:08 +0000 (22:42 +0000)]
lp1792995 wrong row details shown on billing grid

When using the bill grid, if one right clicks on a row and views full
details one is taken to the first selected row.  Make the UI show
full details for the row being right clicked on.  If no row is
clicked on show first selected item's details.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/patron/bills.js
modified:   Open-ILS/web/js/ui/default/staff/services/grid.js

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1839361 Login page tile is confusing to screen readers
Terran McCanna [Mon, 21 Oct 2019 21:18:44 +0000 (17:18 -0400)]
LP#1839361 Login page tile is confusing to screen readers

Prior to this change, the login page, the splash page, and the
about page in the staff client all used 'Home' as the page title,
which caused accessibility problems. This change gives each
its own title.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Lynn Floyd <lfloyd1@library.in.gov>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP1859728: Allow users to add notes when creating a booking reservation
Jane Sandberg [Wed, 15 Jan 2020 00:32:58 +0000 (16:32 -0800)]
LP1859728: Allow users to add notes when creating a booking reservation

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Lynn Floyd <lfloyd1@library.in.gov>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1778521: Reset field transform after adding fields
Mike Rylander [Wed, 19 Feb 2020 15:36:56 +0000 (10:36 -0500)]
LP#1778521: Reset field transform after adding fields

Prior to this commit, the field transform was carried from field to
field as each was added to a report.  This commit resets the selected
transform to the default "Raw data" after adding a field.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
4 years agolp1654529 Callnumber Sorting by Sortkey in Transit & Copy Buckets
Kyle Huckins [Tue, 21 Jan 2020 22:38:13 +0000 (22:38 +0000)]
lp1654529 Callnumber Sorting by Sortkey in Transit & Copy Buckets

- Add column for label_sortkey, displaying the data for a
Callnumber's Label.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/cat/bucket/copy/t_view.tt2
modified:   Open-ILS/src/templates/staff/circ/transits/t_list.tt2

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1859191 - Use correct API method for updating existing MARC records.
Chris Sharp [Fri, 10 Jan 2020 16:54:08 +0000 (11:54 -0500)]
LP#1859191 - Use correct API method for updating existing MARC records.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1839372 Splash page needs headers
Terran McCanna [Tue, 22 Oct 2019 18:34:48 +0000 (14:34 -0400)]
LP#1839372 Splash page needs headers

This resolves accessibility problems by changing the section
divs on the splash page of the staff client to h1s. It does
not change anything visually.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP1860468 Org unit admin interface sorting
Bill Erickson [Wed, 22 Jan 2020 15:10:20 +0000 (10:10 -0500)]
LP1860468 Org unit admin interface sorting

Sort org units by name alphabetically in the Angular Org Unit admin
interface navigation tree.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Lynn Floyd <lfloyd1@library.in.gov>
4 years agoLP#1839359 Select element on login not accessible
Terran McCanna [Tue, 22 Oct 2019 13:37:59 +0000 (09:37 -0400)]
LP#1839359 Select element on login not accessible

This adds id and name to the select element on the staff
client login page to make it accessible.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1862395 Repair nested i18n Angular attribute
Bill Erickson [Fri, 7 Feb 2020 17:35:14 +0000 (12:35 -0500)]
LP1862395 Repair nested i18n Angular attribute

Nested i18n attributes prevent the string exporter from completing.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1775276: Check In - "Route To" Field Sometimes Incorrect
Dan Briem [Fri, 29 Nov 2019 19:51:06 +0000 (14:51 -0500)]
LP#1775276: Check In - "Route To" Field Sometimes Incorrect

When open-ils.circ.checkin closes a transit and creates a new one, the
payload only returns the closed transit. The route dialogs perform a
pcrud search to get the most recent transit, but the grid's Route To
field still depends on the transit returned by the API, so received
transits display the old destination in the Route To field instead of
the shelving location or new destination.

This branch returns the most recent route info collected by the route
dialog and, if the most recent transit destination doesn't match the
old one, the new one is assigned to the route_to prop on the
final_resp. It also checks that the transit is open before displaying
the destination in the Route To field so the shelving location
displays if the most recent transit is closed.

To test:
1. Sign in as Library A and check in an item owned by Library B
2. Place a copy hold on the item with a pickup location of Library C
3. Sign in as Library B and check in the item - note the dialog is
   correct but the grid's Route To field displays Library B instead of
   Library C
4. Apply patch
5. Repeat steps 1-3, note the Route To field displays Library C

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
4 years agoForward port 3.3.5 to 3.3.6 db upgrade script
Jason Stephenson [Mon, 27 Jan 2020 20:08:06 +0000 (15:08 -0500)]
Forward port 3.3.5 to 3.3.6 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
4 years agoForward Port 3.4.1 to 3.4.2 upgrade script
Jason Stephenson [Fri, 24 Jan 2020 14:37:22 +0000 (09:37 -0500)]
Forward Port 3.4.1 to 3.4.2 upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
4 years agoDocs: release notes for 3.4.2
Jane Sandberg [Thu, 23 Jan 2020 15:11:17 +0000 (07:11 -0800)]
Docs: release notes for 3.4.2

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoDocs: release notes for 3.3.6
Jane Sandberg [Thu, 23 Jan 2020 15:12:42 +0000 (07:12 -0800)]
Docs: release notes for 3.3.6

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1801163: (follow-up) deal with header fields that contain Unicode strings
Galen Charlton [Fri, 3 Jan 2020 22:55:10 +0000 (17:55 -0500)]
LP#1801163: (follow-up) deal with header fields that contain Unicode strings

Since Email::MIME->header_str_set() expects Unicode strings, not octets,
use decode_utf8() on the header values to

To test
-------
[1] Update the biblio.format.record_entry.print A/T event definition
    to include non-ASCII characters in the subject and from headers.
[2] Upon applying the patch series, verifying that the strings provided
    in step 1 are not mangled when the email is sent.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP#1801163: update Debian Buster and Fedora installation deps
Galen Charlton [Fri, 3 Jan 2020 22:19:56 +0000 (17:19 -0500)]
LP#1801163: update Debian Buster and Fedora installation deps

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLp 1801163: Switch to Email::MIME in SendEmail A/T Reactor
Jason Stephenson [Fri, 8 Feb 2019 20:47:41 +0000 (15:47 -0500)]
Lp 1801163: Switch to Email::MIME in SendEmail A/T Reactor

Switch from Email::Simple to Email::MIME Perl module in the SendEmail
Action/Trigger Reactor.  Email::MIME properly encodes unescaped header
fields when added to the message with the header_str_set method.

We allow only 1 of each address field to be created while doing the
encoding, so that messages conform to RFC 2822.

This commit adds a new prerequisite as mentioned in the release notes,
so be sure to install the prerequisites for your Linux distribution
before installing.

You can test this with concerto data from a fresh installation by:

1. Configuring your test system to send email.

2. Updating all actor.usr entries to have your email address.

3. Updating the New User Created Welcome Notice event definiton to
   active = true.

4. Run the action_trigger_runner with --process-hooks --run-pending.

5. You should get 237 new user welcome emails.  The exact number is
   subject to change.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1832735 - Allow copy alerts to be applied to multiple copies
Josh Stompro [Fri, 8 Nov 2019 04:00:21 +0000 (22:00 -0600)]
LP1832735 - Allow copy alerts to be applied to multiple copies

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1851434 - Allow COPY_NOT_AVAILABLE.override during renewal
Josh Stompro [Tue, 5 Nov 2019 21:31:21 +0000 (15:31 -0600)]
LP#1851434 - Allow COPY_NOT_AVAILABLE.override during renewal

Also addresses LP#1827901 - Allow PATRON_EXCEEDS_LONGOVERDUE_COUNT
override during checkout and renew.

Test Plan:
1. Check out an item to a patron.
2. Mark item lost by patron to change status to lost.
3. In web client, log in as user with COPY_NOT_AVAILABLE.override
4. Try to renew item for patron, see that it isn't allowed.

After fix:
1. Try to renew item for patron, see that the override is now allowed.

Also try checkouts and renews for patrons that have the PATRON_EXCEEDS_LONGOVERDUE_COUNT block.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1840982 Replace troublesome catalog icons
Bill Erickson [Wed, 21 Aug 2019 21:18:09 +0000 (17:18 -0400)]
LP1840982 Replace troublesome catalog icons

Replace 'arrow_right' icon with 'keyboard_arrow_right' (ditto left) in
the Angular catalog holdings maintenance grid.  This resolves an issue
where the 'arrow_right' icon presents with excess padding, causing the
barcode / call number values to appear to be empty in the
'Location/Barcode' column of the holdings grid.

See also LP1830912 for icon padding issues.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1849182 Angular catalog result/detail tab titles
Bill Erickson [Mon, 21 Oct 2019 18:23:07 +0000 (14:23 -0400)]
LP1849182 Angular catalog result/detail tab titles

Add tab/page titles to the Angular staff catalog Search Results and
Record Details pages.

Search results offers 1 of 2 titles, depending on whether a search has
be run:

"Catalog Search"
"Catalog Search - <count> Results"

The record detail title shows the bib ID and bib title:

"Bib <bib TCN> - <bib title>"

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1735566: Ask before deleting items in non-ideal statuses in AngularJS
Jane Sandberg [Thu, 17 Oct 2019 18:11:34 +0000 (11:11 -0700)]
LP1735566: Ask before deleting items in non-ideal statuses in AngularJS

To test:

1) Apply this commit.
2) Log in as a user with COPY_DELETE_WARNING.override permission.
3) Go to item status and scan an item in a non-ideal status (like #1:
checked out)
4) Delete the item.  Note that you are alerted of the item's non-ideal
status, and you can confirm that you actually want to delete it.
5) Repeat steps 3-4 with an item in an ideal status (like #0:
Available). Note that no such alert appears.
6) Open the holdings view and repeat steps 4-5.
7) Log in as a user without the COPY_DELETE_WARNING.override
permission. Note that you are still informed about the non-ideal status,
but you aren't able to continue with the deletion without an admin
using their credentials.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#1860351: fix hasWorkPermHere() in Angular client
Galen Charlton [Sun, 19 Jan 2020 19:47:40 +0000 (14:47 -0500)]
LP#1860351: fix hasWorkPermHere() in Angular client

Fixes a bug where the Angular client's hasWorkPermHere() check
could return incorrect results and thus incorrectly report
whether or not the staff user currently has particularl permissions
at their current workstation.

To test
-------
[1] Arrange for a workstation whose internal ID is larger than
    any of the org unit IDs.
[2] Log in to that workstation with a user who has permission
    to update monograph parts.
[4] In the experimental Angular staff catalog, go to a record
    (e.g., /eg2/en-US/staff/catalog/record/21/monoparts) and note
    that the New Monograph Part button is disabled.
[5] Apply the patch and repeat step 4. This time, the button
    should be active.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1739609 - Add Monographic Part to check in grid.
Josh Stompro [Thu, 21 Nov 2019 20:01:36 +0000 (14:01 -0600)]
LP1739609 - Add Monographic Part to check in grid.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1835982 follow-up: Add cellTextGenerator to booking schedule grid
Jane Sandberg [Sat, 18 Jan 2020 18:44:02 +0000 (10:44 -0800)]
LP#1835982 follow-up: Add cellTextGenerator to booking schedule grid

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLPLP1835982 Holds grid user barcode text generator; handle null
Bill Erickson [Fri, 3 Jan 2020 20:41:03 +0000 (15:41 -0500)]
LPLP1835982 Holds grid user barcode text generator; handle null

Adds a new text generator for the patron barcode template in the staff
catalog holds grid.  Also adds a name field to the <eg-grid-column/>
to support the text generator.

Teach the cell text generator internals to translate undefined and null
values to '' so generator authors don't have to.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1835982: tweak a few of the new GridCellTextGenerator
Galen Charlton [Fri, 3 Jan 2020 16:50:05 +0000 (11:50 -0500)]
LP#1835982: tweak a few of the new GridCellTextGenerator

- do not display 'null' for Vandelay import errors and
  holds table current copy barcodes
- trim leading and trailing whitespace from the items table
  call number

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1835982: add GridCellTextGenerator to the btGrid in the sandbox
Galen Charlton [Fri, 3 Jan 2020 16:33:19 +0000 (11:33 -0500)]
LP#1835982: add GridCellTextGenerator to the btGrid in the sandbox

This patch also adds a usage note: since the GridCellTextGenerator
only has access to the row object but a cellTemplate can be passed
arbitrary context in addition to the row, a GridCellTextGenerator
that needs that additional context to have the print content match
the displayed content may require that the caller stick it in the
row object.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1835982 Remove more deprecated cellPrintValue refs
Bill Erickson [Wed, 20 Nov 2019 16:57:26 +0000 (11:57 -0500)]
LP1835982 Remove more deprecated cellPrintValue refs

cellPrintValue inputs were replaced with grid-wide cellTextGenerator
handlers.  This patch removes a few remaining references to
cellPrintValue inputs.  Having them linger was breaking --prod builds,
since they referred to nonexistent methods.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1835982 Grid cell text generator API migration
Bill Erickson [Fri, 9 Aug 2019 16:47:37 +0000 (12:47 -0400)]
LP1835982 Grid cell text generator API migration

Migrate cell-specific cellPrintValue handlers to a grid-wide
cellTextGenerator handler.  This simplifies the client-side API and
helps to formalize the API a bit more by providing a new
GridCellTextGenerator interface.

Warning messages are now display at page load time when a grid cell uses
a cellTemplate but does not have a matching text generator.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1835982 More grid cell print generators
Bill Erickson [Fri, 9 Aug 2019 15:52:05 +0000 (11:52 -0400)]
LP1835982 More grid cell print generators

Adds additional print content generators for Angular grid cells which
are rendered via cell templates.

* Vandelay match set list grid
* Vandelay queue contents grid
* Vandelay queued record matches grid
* Catalog holds grid.

Also adds a warning to the grid component when an attempt is made to
print a templated cell which has no print content generator.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1835982: add cell value print handlers to holdings grid
Galen Charlton [Tue, 30 Jul 2019 16:02:26 +0000 (12:02 -0400)]
LP#1835982: add cell value print handlers to holdings grid

This patch adds cell value print handlers for the barcode
and holdable columns of the Angular staff catalog holdings
view.

To test
-------
[1] After applying the patches for this bug, perform a "Download
    Full CSV" or "Print Full Grid" action on the Holdings View
    grid in the Angular staff catalog.
[2] Verify that the Location/Barcode and Holdable? columns in the
    output contain appropriate values.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1835982 Grid cell print values option
Bill Erickson [Tue, 16 Jul 2019 16:10:36 +0000 (12:10 -0400)]
LP1835982 Grid cell print values option

Allow grid callers to implement functions that return plain text
(printable) values for a given cell.  These are primarily useful when a
cell is rendered via cellTemplate, which may not produce content which
is ideal for printing. Such functions are specified by the cellPrintValue
attribute in the eg-grid-column element.

Includes sample implementation for the Angular record detail copies
grid, which uses several cellTemplate cells.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1843599: AngularJS MARC editor once again sets bib source
Galen Charlton [Fri, 20 Dec 2019 17:40:34 +0000 (12:40 -0500)]
LP#1843599: AngularJS MARC editor once again sets bib source

This patch fixes a regression introduced by the patch for bug 1693580
that prevent changes to the bib source from being made via the AngularJS
MARC editor.

To test
-------
[1] Apply the patch.
[2] Create a new bib record and save it with a non-empty source. Verify
    that the record sets the source as expected.
[3] Edit a bib record and change the source. Verify that the new source
    is retained when the record is saved.
[4] Edit an authority record and save it. Verify that it can be updated
    without error. (Note that authority records do not have sources in
    the same way that bib records do.)

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Rogan Hamby <rhamby@esilibrary.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
4 years agoLP#1855329: Hold shelf query speed problem
Mike Rylander [Thu, 5 Dec 2019 20:12:57 +0000 (15:12 -0500)]
LP#1855329: Hold shelf query speed problem

In bug 1827250 I suggested Jason Stephenson look at an alternate SQL
formulation to solve the original problem. He did, and deemed it faster,
so went with that. Unfortunately, on PG 9.6, we're seeing some data sets
that decide on a /very/ poor plan for the wide-hold query with the
solution as implemented, but the original suggestion from Jason works
fine.

In the face of evidence controverting my thought that giving PG more
options for planning is better in this case, this commit moves to his
original query change.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1858138: (follow-up) flesh creator and editor in sandbox's acp grid
Galen Charlton [Fri, 3 Jan 2020 16:02:29 +0000 (11:02 -0500)]
LP#1858138: (follow-up) flesh creator and editor in sandbox's acp grid

Doing so ensures that the usrnames are displayed in the respective
grid columns rather than the au ID.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#1858138: remove remaining uses of showLinkSelector
Galen Charlton [Fri, 3 Jan 2020 15:35:56 +0000 (10:35 -0500)]
LP#1858138: remove remaining uses of showLinkSelector

Now that showLinkSelector is deprecated and does nothing,
remove current uses of it.

To test
-------
[1] Apply the patch.
[2] Visit Angular admin interfaces that have grids that
    refer to linked IDL classes, e.g.,

    - Local Admin -> Carousels (carousel type)
    - Server Admin -> Weights Association (circ weights and hold
                                           weights)
    - Local Admin -> Item Tags (copy tag type)
    - Acq Admin -> EDI Accounts (provider)

[3] Verify that the columns for linked fields display the
    appropriate selector field rather than the numeric ID.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1858138 Sandbox example of simple grid filtering
Bill Erickson [Thu, 2 Jan 2020 21:31:31 +0000 (16:31 -0500)]
LP1858138 Sandbox example of simple grid filtering

Adds a trimmed down grid example demonstrating consistent filtering and
link selector display for auto and manual fields without requiring any
additional grid markup to define basic column behevior.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1858138 Link selector consolidation/repairs
Bill Erickson [Thu, 2 Jan 2020 21:28:46 +0000 (16:28 -0500)]
LP1858138 Link selector consolidation/repairs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1858138 Grid IDL field definition repairs and more
Bill Erickson [Thu, 2 Jan 2020 21:22:34 +0000 (16:22 -0500)]
LP1858138 Grid IDL field definition repairs and more

* Deprecate showLinkSelectors, since FormatService now performs that
  logic under the covers.  Includes deprecation console warning.

* Fix Grid field IDL class extraction off-by-one error.  The code was
  stamping the source field with the class of the field's link target
  instead of the class the field actually belonged to.

* Allow for IDL field info extraction from the 'name' attribute when no
  'path' attribute is defined.

* Avoid console errors when clearing combobox values in grid filters.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1858138 Link selector consolidation/repairs
Bill Erickson [Thu, 2 Jan 2020 21:17:59 +0000 (16:17 -0500)]
LP1858138 Link selector consolidation/repairs

Move more of the IDL link class selector extraction logic into the IDL
service.

Avoid using 'name' as a fall-through selector field when no 'name' field
exists on the class.

Teach the idl service to log warnings on invalid class and field name
combinations in selector lookups.

Modify fm-editor and combobox to use the new idl link selector
functions.

While we're in there, avoid unnecessary API calls from the combobox
by preventing async data lookups with a search term of "_CLICK_".

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1858138 Action/Trigger IDL selector additions
Bill Erickson [Thu, 2 Jan 2020 20:19:16 +0000 (15:19 -0500)]
LP1858138 Action/Trigger IDL selector additions

Adds selector field entries for Action/Trigger hook, collector,
validator, reactor, and cleanup classes for ease of admin page building.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1857156: handle HHH:MM:SS durations in loans
Galen Charlton [Fri, 20 Dec 2019 17:55:16 +0000 (12:55 -0500)]
LP#1857156: handle HHH:MM:SS durations in loans

This patch fixes a problem where loan durations of the form
HHH:MM:SS, where the hours component is longer than 2 digits, could
cause checkouts to fail. This sort of duration has been observed
in cases where a library wanted a long-term reserves loan that
doesn't have the due time bumped up to midnight.

To test
-------
[1] Set up a circulation policy that has a loan duration of 167:59:59.
[2] Attempt a checkout that uses that policy. Note that the checkout
    will fail.
[3] Apply the patch and repeat step 2. This time, the checkout should
    succeed.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
4 years agoLP1858118 Hatch enabled check repairs
Bill Erickson [Tue, 12 Nov 2019 20:13:39 +0000 (15:13 -0500)]
LP1858118 Hatch enabled check repairs

Teach code asking Hatch whether printing is enabled to properly handle
the asynchronous response of the setting which now exists as a
workstation setting instead of a localStorage setting.

Related, if Hatch is unavailable, use browser printing regardless of the
hatch printing workstation setting.

Additionally update the "reprint last" handling to store the
last_printed value in localStorage instead of attempting to save its
value as a workstation setting.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoDocs: Fixing asciidoc syntax so fop doesn't complain about staff client admin manual
Jane Sandberg [Mon, 30 Dec 2019 22:50:47 +0000 (14:50 -0800)]
Docs: Fixing asciidoc syntax so fop doesn't complain about staff client admin manual

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoDocs: LP1767378 follow up: adding manual anchor
Jane Sandberg [Mon, 30 Dec 2019 22:24:58 +0000 (14:24 -0800)]
Docs: LP1767378 follow up: adding manual anchor

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoDocs: fixed a spacing issue
lfloyd [Mon, 23 Dec 2019 17:53:04 +0000 (12:53 -0500)]
Docs: fixed a spacing issue

Signed-off-by: Lynn Floyd <lfloyd@library.in.gov>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoDOCS: LP 1767378 Work Log documentation
lfloyd [Mon, 23 Dec 2019 16:25:40 +0000 (11:25 -0500)]
DOCS: LP 1767378 Work Log documentation

Updated Work Log documentation with new image.
Deleted old image files, noted which holds log.

Signed-off-by: Lynn Floyd <lfloyd1@library.in.gov>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1855931: (follow-up) make grid filter control cells wrap as well
Galen Charlton [Fri, 27 Dec 2019 21:45:42 +0000 (16:45 -0500)]
LP#1855931: (follow-up) make grid filter control cells wrap as well

This patch applies "word-wrap: normal" to filter control cells
as well, making it more likely that they will stay aligned with
the width of their corresponding header cells. This can be tested
by adding visible columns to the "Grid with filtering" table in
the Angular sandbox (/eg2/en-US/staff/sandbox) and verifying that
the column after "Circulating Library" continues to have its
filter widget stay aligned with its label.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agolp1855931 wrap text for wide Angular eg-grid column headers
Mike Risher [Tue, 10 Dec 2019 23:15:35 +0000 (23:15 +0000)]
lp1855931 wrap text for wide Angular eg-grid column headers

Make column headers text wrap so that you can fully read the header even if
it's several words long.  This will help when there are multiple headers
that start with the same word and they show up identically.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1857350: (follow-up) fix lint issue
Galen Charlton [Fri, 27 Dec 2019 22:50:08 +0000 (17:50 -0500)]
LP#1857350: (follow-up) fix lint issue

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1857350 Org selector sorts by display value
Bill Erickson [Thu, 26 Dec 2019 18:18:26 +0000 (13:18 -0500)]
LP1857350 Org selector sorts by display value

When displaying the org unit selector, sort each set of children by the
display label (defaults to shortname).

Fixes issues with the org server sortTree function and adds a unit test
to test the repaired sort function.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agolp1843640 Standing Penalty Followup
Mike Risher [Fri, 13 Sep 2019 21:53:42 +0000 (21:53 +0000)]
lp1843640 Standing Penalty Followup
Fix 2 issues:  grid not updating when a new record is created and
double clicking a row doesn't edit it

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/standing-penalty.component.html
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/standing-penalty.component.ts

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1848778 Use consistent MARC breaker delimiter
Bill Erickson [Fri, 18 Oct 2019 17:47:17 +0000 (13:47 -0400)]
LP1848778 Use consistent MARC breaker delimiter

Use the '$' delimiter in the read-only MARC breaker view for
consistency with the flat text MARC editor to easy copy/paste from one
to the other.

To test
-------
[1] Apply the patch.
[2] Set up two records in a record bucket and initiate a merge. Note
    that when you select a lead record and choose to edit it in
    flat text mode, you can copy and paste fields from the subordinate
    record display without having to change the subfield delimiter
    character.
[3] Mark a record for overlay, perform a Z39.50 search, then select
    a hit and choose the overlay action. Note that you can copy and
    paste fields from the record to overlay when editing the incoming
    record using the flat text editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1780283 Checking One Bill Checks Them All
Dan Briem [Fri, 9 Aug 2019 03:45:40 +0000 (23:45 -0400)]
LP#1780283 Checking One Bill Checks Them All

Under Patron->Bills->History if Bill # isn't visible for the Transactions
grid or Payment ID isn't visible for Payments grid, rows can't be selected
individually. This adds the required attribute to those field directives.

1. Under a patron account with multiple bills, go to Bills->History
2. Remove Bill # from the Transactions grid
3. Try to select an individual row (note all rows are selected)
4. Apply patch and repeat steps 1-3 (note rows are selected individually)

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agolp1712644 Prevent check out due date in past
Katlyn Beck [Mon, 26 Nov 2018 21:23:48 +0000 (21:23 +0000)]
lp1712644 Prevent check out due date in past

- Prevents selecting past due date when checking out an item
- Prevents saving a due date with hatch when input date is invalid

Signed-off-by: Katlyn Beck <kbeck@catalyte.io>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1857710: fix Angular client whitescreen on Firefox
Galen Charlton [Fri, 27 Dec 2019 18:21:15 +0000 (13:21 -0500)]
LP#1857710: fix Angular client whitescreen on Firefox

Work done for LP#1830391 added an instance of a Javascript
regexp replace using the dotAll ("/s") flag, but as of the moment
Firefox treats that flag as a fatal syntax error, breaking the
Angular staff client.

To test
-------
[1] Attempt to log in the Angular staff client with Firefox. Note
    that you get a whitescreen with the following in the browser
    console:

    SyntaxError: invalid regular expression flag s
[2] Apply the patch and repeat step 1. This time, the Angular
    staff client should work normally.
[3] Verify that the Angular unit tests pass.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP#1827942: follow-up to fix a couple issues
Galen Charlton [Fri, 27 Dec 2019 16:04:32 +0000 (11:04 -0500)]
LP#1827942: follow-up to fix a couple issues

[1] Sets a default value for the modal options for dialogs such
    as ProgressDialog that do not supply any value for the
    options parameter; otherwise, progress dialogs would not
    appear at all.
[2] Fix lint warnings.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agolp1827942: prevent clicking outside an Angular modal from closing it
Zavier Banks [Tue, 17 Sep 2019 20:59:15 +0000 (20:59 +0000)]
lp1827942: prevent clicking outside an Angular modal from closing it

I added a new property to the "options" object inside the "open"
function, which resides in the dialog.component.ts. The static string
inside the backdrop property makes the form stay, even if the backdrop
is clicked.

Signed-off-by: Zavier Banks <zbanks@catalyte.io>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoFix doc build for glossary
Dan Scott [Sun, 15 Dec 2019 15:53:33 +0000 (10:53 -0500)]
Fix doc build for glossary

asciidoctor was throwing the error "invalid part, must have at least one
section (e.g., chapter, appendix, etc.)"; including [appendix] in front
of the include mollified it.

Also we don't need the duplicated Glossary / Glossary headings.

Signed-off-by: Dan Scott <dan@coffeecode.net>
4 years agoLP1830391 Stamping DB upgrate (hatch omnibus)
Bill Erickson [Fri, 13 Dec 2019 19:27:16 +0000 (14:27 -0500)]
LP1830391 Stamping DB upgrate (hatch omnibus)

Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1830391 Angular test spec updates for Hatch store updates
Bill Erickson [Fri, 13 Dec 2019 19:13:40 +0000 (14:13 -0500)]
LP1830391 Angular test spec updates for Hatch store updates

The store service now leverages Hatch for workstation storage.  Update
unit tests which load the store service to also load and propagate the
Hatch service.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1830391 Warn on dupe workstation settings
Bill Erickson [Thu, 12 Dec 2019 21:47:31 +0000 (16:47 -0500)]
LP1830391 Warn on dupe workstation settings

Check for duplication workstations (by name and workstation) before
applying the UNIQUE constraint on actor.workstation_setting.  If found,
raise a notice to the user to provide suggestions.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1830391 Angular Hatch enabled flag lookup repair
Bill Erickson [Mon, 28 Oct 2019 17:53:46 +0000 (13:53 -0400)]
LP1830391 Angular Hatch enabled flag lookup repair

Fix the Angular Hatch enabled setting lookup to pull the value from the
workstation setting instead of localStorage.  This required shuffling a
few things around to support the asynchronicity.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1830391 Hatch core mod import/export repairs
Bill Erickson [Mon, 5 Aug 2019 14:44:55 +0000 (10:44 -0400)]
LP1830391 Hatch core mod import/export repairs

No need to import/export HatchService from the base common module since
it's now a core service which is exported automatically to root.

Includes minor lint repair.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1830391 Workstation settings unique constraint
Bill Erickson [Thu, 23 May 2019 22:02:41 +0000 (18:02 -0400)]
LP1830391 Workstation settings unique constraint

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1824391 Hatch File Writer release notes
Bill Erickson [Fri, 12 Apr 2019 19:47:24 +0000 (15:47 -0400)]
LP1824391 Hatch File Writer release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
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>