working/Evergreen.git
4 years agoLP#1863929 - Fix sample survey data.
Chris Sharp [Fri, 21 Feb 2020 18:58:15 +0000 (13:58 -0500)]
LP#1863929 - Fix sample survey data.

Since we enter the surveys, questions, and answers with specified ID values
but don't set the values to one higher, testers were unable to enter survey
data.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#850160 - Event Def Environment Fleshing Might Have Issue
Josh Stompro [Tue, 25 Feb 2020 19:53:08 +0000 (13:53 -0600)]
LP#850160 - Event Def Environment Fleshing Might Have Issue

When the action trigger environment gets fleshed out, there is a bug
with how might_have relations are fleshed ever other time they are
evaluated.

The first time they are correctly evaluated, but then the next time the
same path gets evaluated, the object gets reset to the first value in
the object.

See https://bugs.launchpad.net/evergreen/+bug/850160 for testing notes.

The fix is to add an extra check to only grab the first element if the object is
an array.  If it isn't an array it means it has already been fleshed.

Testing notes:

One way to test this bug is by looking at the self check
receipt, hours of operations bug.
https://bugs.launchpad.net/evergreen/+bug/793627

By default, the self check receipt will fail for even numbers of items checked
out because the hours of operation doesn't get fleshed correctly.

With this change, the receipt should print for even and odd numbers of items.

Another test is to add user.money_summary to a lost/bill action trigger
event notification.  Before the fix, if you have an even number of items billec, the
user.money_summary gets set to the first object in that table, and for odd
numbers of items, user.money_summary.balanced_owed gets set correctly.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agoLP#1840332 Item Status Input Field Acessibility
Terran McCanna [Wed, 23 Oct 2019 13:52:16 +0000 (09:52 -0400)]
LP#1840332 Item Status Input Field Acessibility

This adds an accessible label (aria-label) to the Item Status input field
of the web staff client.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Llewellyn Marshall <lbmarshallv.ncdr@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1570072: add release notes
Galen Charlton [Thu, 8 Aug 2019 00:08:25 +0000 (20:08 -0400)]
LP#1570072: add release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agoLP#1570072: update hold notification methods upon preference changes
Cesar Velez [Tue, 22 Jan 2019 17:16:54 +0000 (12:16 -0500)]
LP#1570072: update hold notification methods upon preference changes

This patch adds a feature where if a patron's hold notification
preferences are changed, they are given an opportunity to have
notfication methods for their pending hold requests updated to
reflect their new prefernces.

This feature affects both the public catalog My Account interface
and the staff patron registration form. In both cases, the user
is presented with a modal (staff-side) or interstitial page (public
catalog) asking them whether to update current hold requests.

Sponsored-by: MassLNC
Additional-work-by: Mike Rylander <mrylander@gmail.com>
Additional-work-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agoLP#1849736: remove testing upgrade script
Chris Sharp [Mon, 24 Feb 2020 16:17:16 +0000 (11:17 -0500)]
LP#1849736: remove testing upgrade script

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1849736: Stamping upgrade script
Chris Sharp [Mon, 24 Feb 2020 16:02:28 +0000 (11:02 -0500)]
LP#1849736: Stamping upgrade script

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1774285 (follow-up): Make page title consistent with heading
Jane Sandberg [Sun, 23 Feb 2020 16:10:44 +0000 (08:10 -0800)]
LP#1774285 (follow-up): Make page title consistent with heading

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1774285 - Change Pull list page title from Holds Shelf title.
Josh Stompro [Tue, 10 Dec 2019 19:25:37 +0000 (13:25 -0600)]
LP#1774285 - Change Pull list page title from Holds Shelf title.

Add a string for 'Pull List' and set the page title to that string
when the pull list interface is loaded.  Allows staff to tell which
tab has the Holds Shelf open and which tab has the Pull List open.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Jessica Woolford <jwoolford@biblio.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1860460 Copy delete override repairs, perm failed handler
Bill Erickson [Tue, 21 Jan 2020 21:06:01 +0000 (16:06 -0500)]
LP1860460 Copy delete override repairs, perm failed handler

* Teach the Angular holdings module vol/copy delete dialog to correctly
  report failure events to the user and handle permission overrides.

* Add support for automatically launching the op-change dialog when a
  permission failed event is returned by an API call for any /eg2/staff/
  interface.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agolp1668352 Add barcode to patron neg balance grid
Mike Risher [Thu, 13 Feb 2020 21:02:09 +0000 (21:02 +0000)]
lp1668352 Add barcode to patron neg balance grid

Add a barcode column to the existing Patron Negative Balance Grid.
It should be hyperlinked and link to the relevant patron.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1840287: Add a return to list button for floating group edit page
Jane Sandberg [Sat, 1 Feb 2020 04:47:54 +0000 (20:47 -0800)]
LP1840287: Add a return to list button for floating group edit page

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1840287 Floating group admin minor code tweaks
Bill Erickson [Wed, 4 Dec 2019 20:52:23 +0000 (15:52 -0500)]
LP1840287 Floating group admin minor code tweaks

* Added grid sorting to both group and group member grids.

* Avoid using the defaultNewRecord in fm-editor directly, by cloning it
  as needed, so that subsequent new records (within a single parent
  component instance) do not pick up values from the previously created
  record.

* Renamed the eg-admin-page @Input() 'hideFields' to 'hideGridFields'
  to better explain how the value will be passed along.

* Replace access of fieldmapper innards (thing.a[0]) with field names
  (thing.id())

* Remove unused <eg-string /> entries.

* Avoid unnecessary newlines in translatable strings.

* Remove unused @Inputs() and unnecessary functions

* Remove unneccessary TreeModule import

* Removed a redundant <eg-title /> -- <eg-staff-banner /> will set the
  title when present.

* Various 'ng lint' repairs.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1840287 Floating group IDL required fields
Bill Erickson [Wed, 4 Dec 2019 20:10:12 +0000 (15:10 -0500)]
LP1840287 Floating group IDL required fields

Indicate require Floating Group and Floating Group Member fields in the
IDL to support UI form validation.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agolp1840287 Edit Floating Group Members
Mike Risher [Fri, 13 Sep 2019 20:26:47 +0000 (20:26 +0000)]
lp1840287 Edit Floating Group Members

Add functionality so that when editing a floating group, one
is taken to a page where one can edit a given floating group as
well as all its linked members. New functionality:
- eg-admin-page can hide grid fields
- fm-editor can create a record with fields defaulting to values

Signed-off-by: Mike Risher <mrisher@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/eg2/src/app/share/fm-editor/fm-editor.component.ts
new file:   Open-ILS/src/eg2/src/app/staff/admin/server/floating-group/edit-floating-group.component.html
new file:   Open-ILS/src/eg2/src/app/staff/admin/server/floating-group/edit-floating-group.component.ts
new file:   Open-ILS/src/eg2/src/app/staff/admin/server/floating-group/floating-group-routing.module.ts
new file:   Open-ILS/src/eg2/src/app/staff/admin/server/floating-group/floating-group.component.html
new file:   Open-ILS/src/eg2/src/app/staff/admin/server/floating-group/floating-group.component.ts
new file:   Open-ILS/src/eg2/src/app/staff/admin/server/floating-group/floating-group.module.ts
modified:   Open-ILS/src/eg2/src/app/staff/admin/server/routing.module.ts
modified:   Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
modified:   Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1845706 (follow-up): Fix callback
Jane Sandberg [Thu, 6 Feb 2020 03:44:52 +0000 (19:44 -0800)]
LP#1845706 (follow-up): Fix callback

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
4 years agoLP#1845706: Missing/Damaged from Items Out
Mike Rylander [Wed, 21 Aug 2019 15:41:29 +0000 (11:41 -0400)]
LP#1845706: Missing/Damaged from Items Out

Marking items Missing or Damaged from the patron Items Out interface
is sometimes necessary.  This commit adds that ability.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
4 years agoLP#1863386: link ADMIN_CAROUSEL permission to appropriate OU context
Galen Charlton [Thu, 13 Feb 2020 21:49:46 +0000 (16:49 -0500)]
LP#1863386: link ADMIN_CAROUSEL permission to appropriate OU context

This patch restricts prcrud retrieval and modification of templates
to users who have ADMIN_CAROUSEL in the relevant carousel owner OU
rather than requiring global_required.

To test
-------
[1] Apply the patch.
[2] Ensure that a user with ADMIN_CAROUSEL privileges at a depth
    lower than "Consortium" can only view and edit carousel
    definitions at OUs applicable to their working libraries.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org>
4 years agoLP#1839684: avoid repeating qtype prefix in query
Jeff Davis [Mon, 9 Sep 2019 23:11:44 +0000 (16:11 -0700)]
LP#1839684: avoid repeating qtype prefix in query

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Gina Monti <gmonti@biblio.org>
4 years agoLP1854197 Add Vols and Copies honors owning lib
Bill Erickson [Mon, 2 Dec 2019 22:44:14 +0000 (17:44 -0500)]
LP1854197 Add Vols and Copies honors owning lib

Fixes a bug in the Add Volumes and Copies action where there vol/copy
editor was unable to extract the owning library of the selected volumes,
thus leading to no differentation between owning libraries in the editor
and having all of the new volumes/copies linked (by default) to the
first owning library in the list.

To test:

1. Navigate to Item Status UI
2. Scan multiple (say, 3) barcodes, each with a different owning lib.
3. Select all 3 items and chose "Add Callnumbers and Items"
4. The holdings edit page that results should show one volume and copy
   row per owning library instead of all rows linked to the first owning
   library in the set.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jessica Woolford <jwoolford@biblio.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1849736 Add action trigger for email/sms for patron self registration
blake [Tue, 18 Feb 2020 22:28:50 +0000 (16:28 -0600)]
LP#1849736 Add action trigger for email/sms for patron self registration

Removed double blank lines at the top of the stock AT Email template.

Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1849736 Add action trigger for email/sms for patron self registration
blake [Thu, 2 Jan 2020 22:48:45 +0000 (16:48 -0600)]
LP#1849736 Add action trigger for email/sms for patron self registration

Setup a new A/T Hook.

Includes:
1. New row in action_trigger.hook
2. New row in action_trigger.event_definition
3. New clause in action_trigger_filters.json.example
4. Link XML clause for oils_obj:fieldmapper="staging::user_stage" on fm_IDL.xml
4. pgTAP Test
5. Release Documentation

Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1761222: Replace bib "quality" with item "mint_condition"
Remington Steed [Tue, 30 Jul 2019 19:52:39 +0000 (15:52 -0400)]
LP#1761222: Replace bib "quality" with item "mint_condition"

I originally misunderstood the XUL item field labeled "quality" and
pulled in the bib record "overall quality" score. But upon checking the
XUL holdings maintenance screen again, we clearly want the item's
"mint_condition" field instead. This commit makes that correction and
converts the 't' or 'f' values into "Good" or "Damaged", to match the
item editor labels.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP1761222 Holdings batch circ retrieval
Bill Erickson [Tue, 5 Feb 2019 20:35:51 +0000 (15:35 -0500)]
LP1761222 Holdings batch circ retrieval

Fetch non-checked-in circulations for copies in the Holdings
maintenance grid (for due date display) in batch instead firing a
potentially vary large parallel batch of pcrud API calls.

This also limits due date display to items that have open circulations,
consistent with the XUL client.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1761222: Add four columns available in XUL client
Remington Steed [Wed, 7 Nov 2018 16:02:48 +0000 (11:02 -0500)]
LP#1761222: Add four columns available in XUL client

The XUL client had these columns but they hadn't been added to the web client
yet. This commit adds them:

  - Classification
  - Due Date
  - OPAC visible?
  - Quality

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1761222: Add Fine Level, Loan Duration to Holdings View grid
Remington Steed [Tue, 6 Nov 2018 16:17:33 +0000 (11:17 -0500)]
LP#1761222: Add Fine Level, Loan Duration to Holdings View grid

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agolp1760193 - Action Rewording
Kyle Huckins [Tue, 18 Feb 2020 18:43:37 +0000 (18:43 +0000)]
lp1760193 - Action Rewording

- Rename "Add Items to Bucket/Record Bucket" and
"Add Items/Item Records to Bucket" to "Add to Item/Record
Bucket"

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
modified:   Open-ILS/src/templates/staff/cat/item/index.tt2
modified:   Open-ILS/src/templates/staff/cat/item/t_list.tt2

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agolp1760193 Add to Record Bucket from Item Status
Kyle Huckins [Tue, 28 Jan 2020 18:27:36 +0000 (18:27 +0000)]
lp1760193 Add to Record Bucket from Item Status

- Add "Add Items to Record Bucket" option in Item Status
UI
- Refactor Add Copy to Bucket functionality to support
adding to Copy Buckets or to Record Buckets depending
on optional bucket_type parameter

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/cat/item/index.tt2
modified:   Open-ILS/src/templates/staff/cat/item/t_list.tt2
modified:   Open-ILS/web/js/ui/default/staff/cat/item/app.js
modified:   Open-ILS/web/js/ui/default/staff/circ/services/item.js

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP1850546 Record detail shelf browse
Bill Erickson [Mon, 6 Jan 2020 16:05:52 +0000 (11:05 -0500)]
LP1850546 Record detail shelf browse

Adds support for browsing call numbers directly from a record detail
page, similar to the TPAC's 'Shelf Browser' tab in its detail page.

Add support for jumping to a record detail page or a new author search
from each shelf browse entry.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
4 years agoLP1850546 Call number browse grid
Bill Erickson [Tue, 31 Dec 2019 18:02:57 +0000 (13:02 -0500)]
LP1850546 Call number browse grid

Return to grid-shaped call number browse with denser data display for
main CN browse UI.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
4 years agoLP1859241 Relase Notes (Angular Patron Search)
Bill Erickson [Fri, 10 Jan 2020 21:02:31 +0000 (16:02 -0500)]
LP1859241 Relase Notes (Angular Patron Search)

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
4 years agoLP1859241 Angular holds patron search dialog
Bill Erickson [Thu, 9 Jan 2020 22:20:42 +0000 (17:20 -0500)]
LP1859241 Angular holds patron search dialog

Implements a patron search dialog which may be instantiated directly
from the staff catalog holds placement interface.

Includes:

1. New patron module (which absorbs the existing PatronService)
2. New patron search component
3. Patron search component dialog wrapper.
4. Patron profile selector component which understands custom group
   display trees.
4. Fixes an issue with the grid where the 'datatype' was not always
   propagated to IDL fields.
5. Modifies the combobox to allow the caller to clear the value by
   passing a null value for the selectedId.

To Test:

[1] Navigate to the Angular staff catalog
[2] Perform a bib search
[3] Click 'Place Hold' next to a title.
[4] Click the 'Patron Search' button.
[5] Search for patrons and either double-click a search result row or
    single click then chose the 'Select' button.
[6] Confirm the selected patron is now chosen for holds placement.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
4 years agoLP1860044 Release Notes for Ang Cat Highlights
Bill Erickson [Fri, 17 Jan 2020 16:22:09 +0000 (11:22 -0500)]
LP1860044 Release Notes for Ang Cat Highlights

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
4 years agoLP1860044 Angular catalog search result highlights
Bill Erickson [Thu, 16 Jan 2020 18:23:15 +0000 (13:23 -0500)]
LP1860044 Angular catalog search result highlights

Support search field highlighting in the Angular staff catalog
search result and record detail pages.

Adds a new <eg-bib-display-field /> component for rendering the
highlighted content.

Move the catalog-common module import into the staff common module so
the bib-summary component has access to the new display-field component.

Drop the default search result page size to 10 for consistency with
other catalogs (and to speed up rendering).  Note users can still set
the page size of their choice via user settings.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
4 years agoLP1841823 Marc flat editor repair slashes (AngJS)
Bill Erickson [Mon, 16 Sep 2019 15:26:23 +0000 (11:26 -0400)]
LP1841823 Marc flat editor repair slashes (AngJS)

Replace all control field spaces with backslashes in MARC Flat text
editor (AngJS edition).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
4 years agoLP1841823 Marc flat editor repair slashes (Angular)
Bill Erickson [Mon, 16 Sep 2019 15:26:10 +0000 (11:26 -0400)]
LP1841823 Marc flat editor repair slashes (Angular)

Replace all control field spaces with backslashes in MARC Flat text
editor, Anglular edition.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
4 years agoLP1859706 Map Angular cat "Patron View" to AngJS "OPAC View"
Bill Erickson [Wed, 15 Jan 2020 16:14:06 +0000 (11:14 -0500)]
LP1859706 Map Angular cat "Patron View" to AngJS "OPAC View"

The Angular catalog now treats the "Patron View" tab as the same as
the "OPAC View" tab in the AngJS catalog for the purposes of saving a
preferred default tab.

Similarly, the Angular catalog-only "Item Table" tab maps to the AngJS
"OPAC View" tab, since it's the closest analog.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
4 years agoLP1819236 Ang cat prevent keyword starts/exact searches
Bill Erickson [Thu, 19 Sep 2019 20:14:06 +0000 (16:14 -0400)]
LP1819236 Ang cat prevent keyword starts/exact searches

Prevent users from attempting Keyword starts-with or matches-exactly
searches since these are nonsensical.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
4 years agoLP1860275 Staff catalog add mono part repair
Bill Erickson [Tue, 21 Jan 2020 15:07:30 +0000 (10:07 -0500)]
LP1860275 Staff catalog add mono part repair

Fixes a bug in the New Monograph Part dialog which prevented passing the
bib record ID during the creation process, which resulted in a database
error and faulure to create the part.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
4 years agoLP1850938 Stamping DB upgrade (Ang Cat Prefs)
Bill Erickson [Fri, 21 Feb 2020 16:33:43 +0000 (11:33 -0500)]
LP1850938 Stamping DB upgrade (Ang Cat Prefs)

Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1850938 Angular Catalog Prefs Release Notes
Bill Erickson [Fri, 1 Nov 2019 14:59:51 +0000 (10:59 -0400)]
LP1850938 Angular Catalog Prefs Release Notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
4 years agoLP1850938 Angular Catalog Preferences Page
Bill Erickson [Thu, 31 Oct 2019 21:56:39 +0000 (17:56 -0400)]
LP1850938 Angular Catalog Preferences Page

Adds a new "Catalog Preferences" interface, accessible directly from the
catalog.  The UI houses the search preferences (default search lib,
preferred library, default search tab), a new staff-specific
hits-per-page setting.  Other preferences may be added later.

Adds support for selecting a default search tab using the existing
'eg.search.adv_pane' setting.

Reduce API call count by loading more of the catalog preference settings
in the main batch invoked by the page resolver.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
4 years agoLP1852782 Improve MARC edit save/delete button placement
Bill Erickson [Wed, 15 Jan 2020 15:32:52 +0000 (10:32 -0500)]
LP1852782 Improve MARC edit save/delete button placement

Move the Save Record button to the left of the Delete Record, which is
more consistent with other yes/no button combinations in the client.
Also adds additional spacing and a faint border between the two buttons.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Fix Firefox contenteditable tabbing
Bill Erickson [Wed, 15 Jan 2020 15:10:03 +0000 (10:10 -0500)]
LP1852782 Fix Firefox contenteditable tabbing

Use tabindex="0" instead of tabindex="" to indicate focusable content.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Angular MARC record update API repairs
Bill Erickson [Fri, 10 Jan 2020 21:47:44 +0000 (16:47 -0500)]
LP1852782 Angular MARC record update API repairs

Use the correct API when updating authority records.

Also use the correct bib record update API per LP 1859191.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Linker links to auth record editor
Bill Erickson [Wed, 8 Jan 2020 21:49:35 +0000 (16:49 -0500)]
LP1852782 Linker links to auth record editor

Adds a new UI at /staff/cat/authority/edit/ for finding authority
records by ID and editing authority records via the Angular MARC editor.

Modifies the "Cataloging" => "Retrieve Authority Record By ID" nav menu
entry to point to the Angular version of the interface.

Augments the MARC edit authority linking dialog to turn authority ID's
into links which open the authority record in its own MARC editor in a
new tab.

Misc. MARC editor repairs related to loading authority records by ID.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Main entry link sets subfield 0
Bill Erickson [Tue, 31 Dec 2019 15:58:55 +0000 (10:58 -0500)]
LP1852782 Main entry link sets subfield 0

In the MARC editor, when applying a main entry heading, set the subfield
0 of the modified bib field to link to the authority record in question.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 More title attributes for action buttons
Bill Erickson [Tue, 31 Dec 2019 15:04:36 +0000 (10:04 -0500)]
LP1852782 More title attributes for action buttons

Adds title attributes to the Phys Char wizard and authority linking
buttons, which contain no text within the button proper.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Vandelay MARC editor module repair
Bill Erickson [Mon, 30 Dec 2019 21:35:42 +0000 (16:35 -0500)]
LP1852782 Vandelay MARC editor module repair

With the addition of Fast Add item support, the MARC editor requires
access to the HoldingsModule, which was not importe directly into
Vandelay, unlike the catalog.  This patch tells the MARC editor to
import the module itself.

Fixes:

QueuedRecordComponent.html:22
NullInjectorError: StaticInjectorError(BaseModule)[MarcEditorComponent
-> HoldingsService]:
  StaticInjectorError(Platform: core)[MarcEditorComponent ->
  HoldingsService]:
      NullInjectorError: No provider for HoldingsService!

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Angular MARC editor Release Notes
Bill Erickson [Thu, 26 Dec 2019 16:21:22 +0000 (11:21 -0500)]
LP1852782 Angular MARC editor Release Notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Fast add item option
Bill Erickson [Thu, 26 Dec 2019 15:28:59 +0000 (10:28 -0500)]
LP1852782 Fast add item option

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 MARC editor Physical Characteristics Wizard
Bill Erickson [Mon, 23 Dec 2019 22:33:18 +0000 (17:33 -0500)]
LP1852782 MARC editor Physical Characteristics Wizard

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1852782 Reset authority validation after linking
Bill Erickson [Mon, 23 Dec 2019 22:33:05 +0000 (17:33 -0500)]
LP1852782 Reset authority validation after linking

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
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>