evergreen/tadl.git
3 years agoLP1908743 Staff catalog honors org-not-pickup-lib
Bill Erickson [Mon, 11 Jan 2021 19:15:33 +0000 (14:15 -0500)]
LP1908743 Staff catalog honors org-not-pickup-lib

In the Angular staff catalog, disable org units in the pickup library
selector that have the 'opac.holds.org_unit_not_pickup_lib' org unit
setting applied, plus those that have false values for can-have-users or
can-have-vols.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1908743 Org select now supports disabled org unit
Bill Erickson [Fri, 5 Feb 2021 16:16:59 +0000 (11:16 -0500)]
LP1908743 Org select now supports disabled org unit

Org units specified as disabled in <eg-org-select /> are now visible,
but disabled when the typeahead displays.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP#1858114: Fix thinko in template-parameter collection
Mike Rylander [Fri, 14 Aug 2020 19:35:10 +0000 (15:35 -0400)]
LP#1858114: Fix thinko in template-parameter collection

Minor thinko in the use of Array.prototype.concat() when gathering the
"where" and "having" template parameters -- concat() does not alter the
array it is called on, so we need to assign the result back to the
array.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1858114: Record template filter values for aggregate columns
Mike Rylander [Fri, 14 Aug 2020 14:35:06 +0000 (10:35 -0400)]
LP#1858114: Record template filter values for aggregate columns

Currently the "having" clause does not record template-level filter
values in the template, but forces use of a report-level parameter.
This commit allows "having" to receive a value in the same way that
"where" does.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1858114: Present proper input widget for aggregate parameters
Mike Rylander [Thu, 13 Aug 2020 17:05:19 +0000 (13:05 -0400)]
LP#1858114: Present proper input widget for aggregate parameters

There's currently logic to override the filter widget for all columns
that have a selector defined, such as the ID column of many tables. When
we transform the column with an aggregate transform, though, we don't want
to pick a particular selector-labeled value.

While I can imagine using a min or max aggregate to get a representative
value for a group, when other dependent filters would make the value
stable or where the value in particular doesn't matter but isn't needed
in a count (say), all the other aggregate transforms that are currently
supported are specifically numeric (sum, average, count, and
count_distinct). Because of that, and the most likely use case of
matching a count to "0" or "1", we should only present the "remote
object widget" for non-aggregates, and just use the baseline text string
input here.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1866406 Followup: Add Release Note
Jason Boyer [Mon, 15 Feb 2021 21:42:42 +0000 (16:42 -0500)]
LP#1866406 Followup: Add Release Note

Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1866406: Use carousel item order
Mike Rylander [Fri, 23 Oct 2020 18:26:10 +0000 (14:26 -0400)]
LP#1866406: Use carousel item order

Previous to this commit, the item display order for carousels was
undefined.  Now, ordering is stable and predictable.

For Newly Cataloged Item and Newest Items by Shelving Location
carousels, the order is from most recently cataloged to least
recently cataloged.

For Recently Returned Item carousels, the order is from most recently
returned to least recently returned.

For Top Circulated Items carousels, the order is from most circulated
to least circulated.

For Manual carousels (as of now, without the ability to adjust the
Position of items) it is the order they are added to the backing bucket.
Thus emptying and refilling the bucket allows reordering.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1772955: Stamp Upgrade Script
Jason Boyer [Mon, 15 Feb 2021 21:17:06 +0000 (16:17 -0500)]
LP#1772955: Stamp Upgrade Script

Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1772955: Only include xacts with balance in summary
Mike Rylander [Thu, 30 Jul 2020 15:48:46 +0000 (11:48 -0400)]
LP#1772955: Only include xacts with balance in summary

This commit adds a new view and IDL definition that shows the total
owed/paid/balance for transactions that have a balance other than 0.
This new view is used in the patron summary bar, and access is provided
wherever the all-open-transactions version is available in case we want
to move to the new one elsewhere.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP1670457 Action Menu Grid Selection Change
Zavier Banks [Thu, 5 Mar 2020 16:19:49 +0000 (16:19 +0000)]
LP1670457 Action Menu Grid Selection Change

I reworked the grid to disable certain actions, if
an item was needed. However, if there were actions, were
there was no item needed, they would still be available.

Signed-off-by: Zavier Banks <zbanks@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP1468132 MARC search honors search scope
Bill Erickson [Mon, 14 Sep 2020 14:52:05 +0000 (10:52 -0400)]
LP1468132 MARC search honors search scope

Adds a 'Results from All Libraries' checkbox to the MARC search form in
the Angular staff catalog.  When unchecked, the MARC search will limit
to results with holdings in the search scope.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP1468132 Staff MARC Search API supports copy filtering
Bill Erickson [Mon, 14 Sep 2020 15:33:45 +0000 (11:33 -0400)]
LP1468132 Staff MARC Search API supports copy filtering

Teaches the MARC search code to filter results on records with items
attached (though not necessarily opac-visible) for scoped staff
searches.  Prior to this patch, the scope of staff searches was
effectively ignored.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP1914116: Apply html filter to mkurl() output
Jason Boyer [Mon, 8 Feb 2021 19:20:32 +0000 (14:20 -0500)]
LP1914116: Apply html filter to mkurl() output

Because of the way that mkurl() generates its query parameters they're
generally escaped correctly, but nowhere do we run the output of mkurl()
through the html filter to correctly handle ampersands. Rather than adding
"|html" to every invocation of mkurl, it's just added to the macro directly.

Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
3 years agoLP1474029 Stamping DB upgrade: expired staff no-login
Bill Erickson [Wed, 10 Feb 2021 20:46:56 +0000 (15:46 -0500)]
LP1474029 Stamping DB upgrade: expired staff no-login

Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP#1474029: teach Evergreen how to prevent expired staff from logging in
Galen Charlton [Thu, 10 Dec 2020 22:23:47 +0000 (17:23 -0500)]
LP#1474029: teach Evergreen how to prevent expired staff from logging in

This patch adds the ability to prevent staff users whose
accounts have expired from logging in. This is controlled
by the new global flag "auth.block_expired_staff_login", which
is not enabled by default. If that flag is turned on, accounts
that have the `STAFF_LOGIN` permission and whose expiration date
is in the past are prevented from logging into any Evergreen
interface, including the staff client, the public catalog, and SIP2.

It should be noted that ordinary patrons are allowed to log into
the public catalog if their circulation privileges have expired. This
feature prevents expired staff users from logging into the public catalog
(and all other Evergreen interfaces and APIs) outright in order to
prevent them from getting into the staff interface anyway by
creative use of Evergreen's authentication APIs.

Evergreen admins are advised to check the expiration status of staff
accounts before turning on the global flag, as otherwise it is
possible to lock staff users out unexpectedly.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1907115 MARC editor avoid ID collisions
Bill Erickson [Wed, 9 Dec 2020 19:04:52 +0000 (14:04 -0500)]
LP1907115 MARC editor avoid ID collisions

Generate DOM IDs for editable content components via incrementing int
instead of a random int.  This addresses cases where records with higher
numbers of MARC fields could result id DOM ID collisions, leading to
empty subfield values.

Also remove use of Renderer2, which is considered harmful and overkill
for simple document.getElementById()-equivalent calls.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1907115 MARC editor correctly absorbs breaker changes
Bill Erickson [Mon, 7 Dec 2020 18:28:56 +0000 (10:28 -0800)]
LP1907115 MARC editor correctly absorbs breaker changes

MARC editor now correctly extracts MARC field data from the new
underlying MARC record when it is changed as a result of a breaker text
change and re-absorb.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLp 1913219: Use window.open for staff catalog edit link; angular version
Jane Sandberg [Tue, 2 Feb 2021 19:58:16 +0000 (11:58 -0800)]
Lp 1913219: Use window.open for staff catalog edit link; angular version

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLp 1913219: Use window.open for staff catalog edit link
Jason Stephenson [Tue, 2 Feb 2021 17:46:49 +0000 (12:46 -0500)]
Lp 1913219: Use window.open for staff catalog edit link

To avoid the "Scripts may close only the windows that were opened by
them" console message in Chrome 88, and a similar message in Firefox
84, when clicking "Save & Exit" in the Volume/Copy editor of the
AngularJS staff client after opening it via the "edit" link in the
copy table of the TT OPAC record summary, we use an onclick handler
with window.open instead of a standard href in the edit anchor.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP 1827051: Remove Java Code
Jason Stephenson [Fri, 15 May 2020 12:24:01 +0000 (08:24 -0400)]
LP 1827051: Remove Java Code

Since the OpenSRF Java libraries no longer build and are out of date
with the latest OpenSRF changes, this commit removes the remaining
Java code and build steps from Evergreen as it is now useless.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1910409 MARC Batch Edit Allows CSV Column 0
Bill Erickson [Wed, 6 Jan 2021 15:23:22 +0000 (10:23 -0500)]
LP1910409 MARC Batch Edit Allows CSV Column 0

Fixes an issue where the "Go!" button was disabled in the MARC Batch
Edit interface when chosing column "0" for a CSV file updload.

Form now prevents values below 0 from being applied (via the number
spinner) and treats all column values >= 0 as valid.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP#1881650: add release notes entry
Galen Charlton [Tue, 9 Feb 2021 18:51:16 +0000 (13:51 -0500)]
LP#1881650: add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1881650 Staff catalog TCN includes delete records
Bill Erickson [Mon, 1 Jun 2020 19:20:13 +0000 (15:20 -0400)]
LP1881650 Staff catalog TCN includes delete records

For consistency with the menu action Cataloging => Retrieve Record by
TCN Value, the staff catalog Numeric Search => TCN search now includes
deleted bib records.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1827055 Remove Python libs, install bits, and docs
Bill Erickson [Mon, 26 Oct 2020 15:34:28 +0000 (11:34 -0400)]
LP1827055 Remove Python libs, install bits, and docs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1908763 Survey column sorting broken
Garry Collum [Tue, 12 Jan 2021 21:21:58 +0000 (16:21 -0500)]
LP1908763 Survey column sorting broken

Fixes the sorting on the Administration > Local Administration > Surveys
table.

To test.
1. Create a 3 or more surveys and note that none of the columns sort.
2. Apply the patch.
3. Sorting should now work.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1901900: Update EDI Webrick installer for Ubuntu 18.04
Chris Sharp [Wed, 28 Oct 2020 14:16:51 +0000 (10:16 -0400)]
LP#1901900: Update EDI Webrick installer for Ubuntu 18.04

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agolp1847519 Port of Circulation Limit Set UI
Mike Risher [Fri, 18 Oct 2019 20:19:54 +0000 (20:19 +0000)]
lp1847519 Port of Circulation Limit Set UI

Port Circulation Limit Set UI from DOJO to Angular. In addition to
editing circulation limit sets, you can add and remove linked circulation
modifiers, copy locations, and limit groups.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1907286 Staff catalog sets last retrieved record
Bill Erickson [Tue, 8 Dec 2020 20:33:13 +0000 (12:33 -0800)]
LP1907286 Staff catalog sets last retrieved record

Navigating to the detail page for a bib record in the Angular Staff
Catalog now correctly sets the value for the
'eg.cat.last_record_retrieved' local storage item, allowing Retrieve
Last Bib Record to work as expected.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1908724 Staff Catalog Sort by PubDate Wording
Terran McCanna [Thu, 31 Dec 2020 14:43:31 +0000 (09:43 -0500)]
LP1908724 Staff Catalog Sort by PubDate Wording

Changes wording of dropdown on search results page and matches
sort order to wording.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1906858 Carousels Ignore Deleted Flag
Garry Collum [Mon, 14 Dec 2020 17:48:13 +0000 (12:48 -0500)]
LP1906858 Carousels Ignore Deleted Flag

Adds logic to look for the copy deleted flag in the carousel queries.

To test in concerto, it is easiest to create one item on three or four bibs
and assign the same org unit and location code to these items.

Check the items in. Check the items out, and then check them back in at their home OU.

Create 4 carousels.  Newly Catalogued Items, Recently Returned Items, Top Circulated Items, and Newest Items by Shelving Location.
Make sure the carousels pull from the item library for which the items belong,
and set the owner to CONS. Select and add the correct shelving location.

Refresh the carousels. In the edit dialog box of each carousel, you can click the Link to bucket link to see the titles in the bucket.

Delete one of the items.  Refresh the carousels once more and notice that the deleted title still appears.

Apply the patch.

Refresh the carousels, and the delete item should now be gone.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP1907923: Move course materials button to more suitable location
Jane Sandberg [Tue, 29 Dec 2020 21:03:18 +0000 (13:03 -0800)]
LP1907923: Move course materials button to more suitable location

To test:

1) Apply this patch
2) In the staff client, go to Admin > Local Admin > Course Reserves List
3) Double click on a course
4) Go to the course materials tab
5) Note that the "Add Material" button is now beneath the temporary call
   number, circ mod, item status, and shelving location fields.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1786100: stamp schema update
Galen Charlton [Tue, 9 Feb 2021 16:45:46 +0000 (11:45 -0500)]
LP#1786100: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1786100: fix upgrade issue that can prevent unmapping item tags
Galen Charlton [Wed, 23 Sep 2020 15:48:58 +0000 (11:48 -0400)]
LP#1786100: fix upgrade issue that can prevent unmapping item tags

Depending on the history of an Evergreen database, it might have an
incorrect trigger on asset.copy_tag_copy_map that prevents removing
item tags fom items. This patch ensures that the table has the
correct trigger.

To test (cannot remove item tags)
---------------------------------
[1] If you have a database from which item tags cannot be removed
    on items, check the asset.copy_tag_copy_map table to see if
    it has a trigger named inherit_copy_tag_copy_map_copy_fkey that
    fires on insert, update, or delete. If so, this part of the
    test plan applies to you.
[2] Make a copy of the database.
[3] Note that item tags cannot be unassigned from items in the
    holdings editor: saving a change will appear to stick, but
    opening the item back in the editor shows that the item tag
    is still there.
[4] Apply the patch and run the schema update. Note that there be
    just one inh_fkey trigger named inherit_asset_copy_tag_copy_map_copy_fkey
    that fires only on insert or update.
[5] Repeate step 3; this time, items tags can be removed
    from items.

To test (can remove item tags)
------------------------------
[1] If your test system _can_ remove item tags, as would be
    the case with ones created from scratch, apply the patch
    and verify that item tags can be added or removed from
    items.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1900159 Staff Catalog Typo - No Results
Terran McCanna [Thu, 31 Dec 2020 14:58:25 +0000 (09:58 -0500)]
LP1900159 Staff Catalog Typo - No Results

Corrects 'maching' to 'matching' on 3 results pages.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1907921: add release notes entry
Galen Charlton [Tue, 9 Feb 2021 16:38:40 +0000 (11:38 -0500)]
LP#1907921: add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP 1907921: Add a patron search button to course admin screen
Jane Sandberg [Mon, 14 Dec 2020 16:07:16 +0000 (08:07 -0800)]
LP 1907921: Add a patron search button to course admin screen

To test:

1) Apply this patch
2) Go to Admin > Local Admin > Course Reserves List
3) Select a course and Edit it
4) Go to the Course users tab
5) Note that there is now a Search for Patrons button
6) Use this button to search for a patron.
7) Click the select button.
8) Note that the patron's barcode appears in the
Patron Barcode field
9) Select a Role
10) Click the Add User button
11) Note that the patron appears on the Course Users grid

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1816655: add brief release notes entry
Galen Charlton [Tue, 9 Feb 2021 16:35:20 +0000 (11:35 -0500)]
LP#1816655: add brief release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP 1816655: Add a patron search button to create booking screen
Jane Sandberg [Mon, 14 Dec 2020 16:45:04 +0000 (08:45 -0800)]
LP 1816655: Add a patron search button to create booking screen

1) Apply this patch
2) Go to Booking > Create Reservation
3) Choose a resource type
4) Choose a time and double click (or press the Create Reservation
   button)
5) Note that there is now a Search for Patrons button
6) Use this button to search for a patron.
7) Click the select button.
8) Note that the patron's barcode appears in the
Patron Barcode field
9) Click Confirm Reservation
10) Note that the reservation was made.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1914630 Create MARC record goes to AngstCat
Bill Erickson [Thu, 4 Feb 2021 16:34:40 +0000 (11:34 -0500)]
LP1914630 Create MARC record goes to AngstCat

Once a new record is created, the user is directed to the record detail
page for the new record in the Angular staff catalog.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoUpdates the lineitem catalog link to point to the new Angular catalog.
Tiffany Little [Wed, 16 Dec 2020 18:40:20 +0000 (13:40 -0500)]
Updates the lineitem catalog link to point to the new Angular catalog.

Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1908113: link carousel titles in Bootstrap OPAC
Garry Collum [Mon, 4 Jan 2021 18:59:36 +0000 (13:59 -0500)]
LP1908113: link carousel titles in Bootstrap OPAC

Uncomments the code for the carousel title links in the Bootstrap OPAC.

To test:

After applying the patch the titles displayed in a carousel should
then provide links to the title's bibliographic record.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1908766 Bootstrap OPAC: Lost ability to have notes in lists.
Garry Collum [Sun, 20 Dec 2020 01:39:01 +0000 (20:39 -0500)]
LP1908766 Bootstrap OPAC: Lost ability to have notes in lists.

Fixes the note functionality in the Bootstrap Opac lists.
The button definition needed both the name 'save_notes' and an arbitrary value.

To test:
1. Create a list in the bootstrap opac and add a couple of titles to the list.
2. View the list and try to add a note to one of the items in the list.
3. This should fail with an error.
4. Apply the patch.
5. Try to add a note. It should now be successful.
6. Try to edit the note.  This should also succeed.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1895678: Bring course materials into the bootstrap OPAC
Jane Sandberg [Sun, 20 Dec 2020 03:20:43 +0000 (19:20 -0800)]
LP1895678: Bring course materials into the bootstrap OPAC

Also adds course_ou and use_courses to ctx, so that we
can avoid having so many duplicate and slightly inconsistent
checks to see if we are using the course materials module.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1907866 Bootstrap Opac: fix adding basket to existing List
Garry Collum [Mon, 14 Dec 2020 20:18:15 +0000 (15:18 -0500)]
LP1907866 Bootstrap Opac: fix adding basket to existing List

Fixes the issue with the screen not showing lists after adding items
to an existing list from a basket.

To test:

Create a list in the Bootstrap Opac.

Add some items to a basket. Select Add Basket to Saved List, and send
the items to the list that was just created.  Notice on the list page
after the items have been added that you can no longer see any existing
list names.  The screen displays '...From Basket'

Apply the patch.
Add some more items from a basket into the list.  The existing list
names are displayed after the items are sent to the existing list.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1895676: Record Print and Email Enhancements for Bootstrap OPAC
Jason Boyer [Fri, 4 Dec 2020 19:13:48 +0000 (14:13 -0500)]
LP1895676: Record Print and Email Enhancements for Bootstrap OPAC

Bring the improvements from LP1749475 to the Bootstrap OPAC.

Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
3 years agoLP1903594 Bootstrap opac: suspend hold not working
Garry Collum [Wed, 11 Nov 2020 16:03:00 +0000 (11:03 -0500)]
LP1903594 Bootstrap opac: suspend hold not working

Fixes hold suspension at the time of the hold placement in the Bootstrap opac.
And fixes the date picker validation for the activation date.

To test.
As a patron, place a hold in the Bootstrap Opac.
At the time of placement select "Suspend this hold?" and set an activation date.
In the staff client, notice that neither the suspension or activation date has been saved.

Apply the patch.
Repeat the above steps and check for the suspension and activation date.
Place another hold with a activation date in the past.  This should fail.
Place a hold without "Suspend this hold" checked.
Place a hold with "Suspend this hold" checked, but without an activation date.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1902265: implement per-hold notification updates in Bootstrap OPAC
Garry Collum [Tue, 10 Nov 2020 17:54:52 +0000 (12:54 -0500)]
LP1902265: implement per-hold notification updates in Bootstrap OPAC

In the Bootstrap Opac:

* Adds a Notify Method column to the patron's hold list.
* Adds email, phone, and sms notifiction editing to the hold's
  edit screen.
* Also, adds <label> tags to the existing form fields in the edit
  page for accessibility and some bootstrappy form elements to
  format the appearance of the form.

The SMS fields do not appear unless the Library Setting for
"Enable features that send SMS text messages" is set to true.

To test work with the above OU setting off, and then on.

* Place holds for a patron with and without an email address.
* If a patron has a defualt SMS carrier, this carrier should pop up
  in the list by default.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1908298 Bootstrap OPAC: Type filter missing from advanced search
Garry Collum [Wed, 16 Dec 2020 19:22:54 +0000 (14:22 -0500)]
LP1908298 Bootstrap OPAC: Type filter missing from advanced search

The Item Type filter and the Bib Level filter were both commented out in the opac's config.tt2 file.
This patch removes the comment hashmarks.

To test.
Go to the Advanced Search in the Bootstrap Opac.
Notice that the Item Type filter and Bib Level Filters are missing.
Apply the patch.
The two filters should now be displayed.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1910138: (follow-up) remove unneeded sr-only span in table cell
Galen Charlton [Mon, 8 Feb 2021 15:22:04 +0000 (10:22 -0500)]
LP#1910138: (follow-up) remove unneeded sr-only span in table cell

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1910138 Display Precat Info in Circ History
Terran McCanna [Mon, 4 Jan 2021 19:32:40 +0000 (14:32 -0500)]
LP1910138 Display Precat Info in Circ History

This adds the precat title and author to the circ
history table in My Account in the Bootstrap OPAC.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1913811 progress dialog on Items Out grid
Jeff Davis [Mon, 1 Feb 2021 22:17:05 +0000 (14:17 -0800)]
LP1913811 progress dialog on Items Out grid

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1913811 Items out notice summary API batching
Bill Erickson [Mon, 1 Feb 2021 15:54:18 +0000 (10:54 -0500)]
LP1913811 Items out notice summary API batching

Tweak the open-ils.actor.user.itemsout.notices API to accept an array of
circulation IDs so the call can be batched from the client.  Similarly
modify the AngJS client to request the notice summaries in batch.

Further improves the notices API by removing an unneeded join and a
minor security fix to verify perms based on the in-database user ID
instead of the ID provided by the caller (w/ the note that the API only
returns numbers, not user data).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1868147-Titles in carousel run together in mobile display.
Garry Collum [Thu, 17 Dec 2020 18:47:41 +0000 (13:47 -0500)]
LP1868147-Titles in carousel run together in mobile display.

This patch uses the breakpoint option available in glide.js to limit the number of images in the carousel that display.

Files for both the tpac and the bootstrap opac have been updated.

There are two new variables based on bootstrap sizing, sm_width which defaults to 3, and xs_width which defaults to 2.
If a screen's width is set between 768-992 pixels, 3 images display in the carousel,
if the width is below 768 pixels, only 2 images display in the carousel.
The reduction of images helps with titles overlapping each other.

To test:
Apply the patch to an instance of Evergreen that displays carousels.
Reduce the screen size of the browser.  Eventually the carousel will display 3 and then 2 images.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP1857351 (follow-up): Fix typo that led to failing test
Jane Sandberg [Fri, 29 Jan 2021 00:19:31 +0000 (16:19 -0800)]
LP1857351 (follow-up): Fix typo that led to failing test

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1855761 Fix additional occurrences of 'Succeessfully'
Michele Morgan [Mon, 30 Nov 2020 19:32:31 +0000 (14:32 -0500)]
LP1855761 Fix additional occurrences of 'Succeessfully'

Credit also to Christine Morgan and Martha Driscoll for working to
hammer out the process of editing and testing Angular files.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1855761 Another typo fix
Terran McCanna [Tue, 27 Oct 2020 23:55:06 +0000 (19:55 -0400)]
LP1855761 Another typo fix

Fix one more typo in the action dropdown.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1855761 Typo when creating new carousel mapping
Terran McCanna [Tue, 27 Oct 2020 22:54:17 +0000 (18:54 -0400)]
LP1855761 Typo when creating new carousel mapping

Fixes two typos in the carousel messages.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1901760 Shared Worker minor lint repair
Bill Erickson [Thu, 28 Jan 2021 19:17:54 +0000 (14:17 -0500)]
LP1901760 Shared Worker minor lint repair

Repair a missing semicolon to keep lint happy.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1894131 DB Stamp: Sticky Holdings Org
Bill Erickson [Thu, 28 Jan 2021 19:10:29 +0000 (14:10 -0500)]
LP1894131 DB Stamp: Sticky Holdings Org

Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1894131 Sticky catalog holdings org select
Bill Erickson [Fri, 16 Oct 2020 14:41:46 +0000 (10:41 -0400)]
LP1894131 Sticky catalog holdings org select

Adds a workstation setting to make the org selector in the catalog
holdings tab sticky.

Also repairs some logic errors in the org select persistKey loading.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
3 years agoLP 1857351: fix field order for Course Terms
Jane Sandberg [Wed, 16 Sep 2020 21:24:33 +0000 (14:24 -0700)]
LP 1857351: fix field order for Course Terms

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP 1857351: fix field order for Recurring Fine Rules admin interface
Jane Sandberg [Tue, 18 Aug 2020 15:14:47 +0000 (08:14 -0700)]
LP 1857351: fix field order for Recurring Fine Rules admin interface

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP 1857351: admin-page grid column order respects specified fieldOrder
Jane Sandberg [Fri, 26 Jun 2020 07:33:08 +0000 (07:33 +0000)]
LP 1857351: admin-page grid column order respects specified fieldOrder

Grid columns that aren't auto-generated and grids without a
specified autoGeneratedColumnOrder are not affected.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP 1857351: reorder a few other fm-editors
Jane Sandberg [Fri, 26 Jun 2020 00:22:40 +0000 (17:22 -0700)]
LP 1857351: reorder a few other fm-editors

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP 1857351: set basic admin interface field order using route
Jane Sandberg [Thu, 25 Jun 2020 22:55:26 +0000 (22:55 +0000)]
LP 1857351: set basic admin interface field order using route

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP 1857351: refactor basic admin component
Jane Sandberg [Thu, 25 Jun 2020 20:55:41 +0000 (13:55 -0700)]
LP 1857351: refactor basic admin component

Refactors the component to be more consistent in how it
gets data from ActivatedRoute.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP1901760 Remove SharedWorker testing cruft
Bill Erickson [Mon, 11 Jan 2021 16:33:56 +0000 (11:33 -0500)]
LP1901760 Remove SharedWorker testing cruft

Otherwise they will work for no one!

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
3 years agoLP1901760 Improve SharedWorker non-support handling (Angular)
Bill Erickson [Mon, 4 Jan 2021 17:10:05 +0000 (12:10 -0500)]
LP1901760 Improve SharedWorker non-support handling (Angular)

Reject requests to SharedWorker resources when shared workers are not
supported.  The caller is required to handle the rejection in whatever
way makes sense for the calling code.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
3 years agoLP1901760 Improve SharedWorker non-support handling (AngJS)
Bill Erickson [Mon, 4 Jan 2021 17:05:24 +0000 (12:05 -0500)]
LP1901760 Improve SharedWorker non-support handling (AngJS)

Force the SharedWorker code to run before org settings cache requests
are attempted so that we can tell before the lovefield request is made
wether or not a connection will be successfull.  In other words, we may
not know if cannotConnect is true yet, so force that logic to run first.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
3 years agoLP1687545: Force TT CGI plugin to use ampersands in query strings
Jason Boyer [Thu, 21 Jan 2021 16:08:36 +0000 (11:08 -0500)]
LP1687545: Force TT CGI plugin to use ampersands in query strings

Change our already-forked version of TemplateToolkit::Plugin::CGI
to use "old" style urls which became the new / only style after
CGI.pm was deprecated. This causes the query_strings property to
consistently use ampersands to separate query parameters.

Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1911031 Staff catalog honors pickup lib change
Bill Erickson [Mon, 11 Jan 2021 17:06:21 +0000 (12:06 -0500)]
LP1911031 Staff catalog honors pickup lib change

Manually modifying the pickup library in the staff catalog holds
placement form now results in using the selected pickup library.
Previously, the change was ignored by the form.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP#1896285: progress dialog when marking selected items as missing
Jeff Davis [Fri, 18 Dec 2020 00:43:15 +0000 (16:43 -0800)]
LP#1896285: progress dialog when marking selected items as missing

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1896285 Post mark-missing serialized item load
Bill Erickson [Thu, 17 Dec 2020 15:19:14 +0000 (07:19 -0800)]
LP1896285 Post mark-missing serialized item load

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1896285 Batch mark item missing serialized
Bill Erickson [Wed, 2 Dec 2020 22:02:24 +0000 (14:02 -0800)]
LP1896285 Batch mark item missing serialized

Process batches of items one at a time when marking them lost to avoid
sending too many parallel requests to the server.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1896285 Add new items avoids looping settings lookup
Bill Erickson [Mon, 14 Dec 2020 23:02:39 +0000 (15:02 -0800)]
LP1896285 Add new items avoids looping settings lookup

Refactor AngJS volcopy item add actions so it makes the minumum
necessary settings API calls for default copy status.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1896285 Patron search add to bucket serialize
Bill Erickson [Wed, 2 Dec 2020 21:52:47 +0000 (13:52 -0800)]
LP1896285 Patron search add to bucket serialize

Add a batch of patrons to a bucket one patron at a time to avoid
overwhelming the server with bucket item create requests and potentially
exhausing the open-ils.actor service.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1889128 (follow-up) associating inputs and labels
Jane Sandberg [Wed, 6 Jan 2021 01:07:47 +0000 (17:07 -0800)]
LP1889128 (follow-up) associating inputs and labels

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Activation date repair and form reset handling
Bill Erickson [Tue, 3 Nov 2020 20:04:37 +0000 (15:04 -0500)]
LP1889128 Activation date repair and form reset handling

Fixes an issue where the holds activation date was not correctly
retrieved from the form.  Related, hold suspension and activation date
values are now reset/cleared when a new hold receipt is selected.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 <eg-date-select/> clearable via model
Bill Erickson [Tue, 3 Nov 2020 20:03:23 +0000 (15:03 -0500)]
LP1889128 <eg-date-select/> clearable via model

Allow users of <eg-date-select /> to clear the selected value (set
current = null) via updates to their ngModel variable.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Support user settings for SMS prefs
Bill Erickson [Mon, 19 Oct 2020 15:03:43 +0000 (11:03 -0400)]
LP1889128 Support user settings for SMS prefs

Honor the user setting values 'opac.default_sms_carrier' and
'opac.default_sms_notify' in the Angular staff catalog place holds form.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Clear patron barcode on staff hold
Bill Erickson [Thu, 8 Oct 2020 14:31:59 +0000 (10:31 -0400)]
LP1889128 Clear patron barcode on staff hold

Clear the patron barcode from the barcode input when toggling the holds
placement form to request a hold for the logged in staff account.
Otherwise, the barcode sticks around and could cause confusion.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Place holds honors default phone
Bill Erickson [Thu, 8 Oct 2020 14:27:59 +0000 (10:27 -0400)]
LP1889128 Place holds honors default phone

Adds support for using the 'opac.default_phone' user setting when
placing holds in the staff catalog.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Reset hold recipient info after success
Bill Erickson [Wed, 30 Sep 2020 15:18:00 +0000 (11:18 -0400)]
LP1889128 Reset hold recipient info after success

* When all holds for a given recipient have been successfully placed,
directly or via override, clear the recipient data so new recipient data
can easily be added.

* When placing duplicate Part holds, ensure the same part is applied to
each hold context so the selected part is targeted for all of the
multi-holds.

* Fxes a regression in the display of multiple hold targets where only
the first target would display.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Confirm data loaded before Place Hold activated
Bill Erickson [Tue, 29 Sep 2020 18:26:56 +0000 (14:26 -0400)]
LP1889128 Confirm data loaded before Place Hold activated

When changing users in the place hold form of the staff catalog, the
form resets itself and refreshes all of the user and bib, etc. data.
This patch ensures all data has been retrieved before the place hold
button is reactivated after changing the user.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Holds reset repairs and making space
Bill Erickson [Wed, 23 Sep 2020 19:20:42 +0000 (15:20 -0400)]
LP1889128 Holds reset repairs and making space

Collapse the Search Form on the holds page so the holds form and data
have more vertical room on the page.  Additionally, to help alleviate
any confusion that may be caused by the collapsed search form (and
because it has come up in other conversations), add a 'Return' button to
the holds page so users have an obvious way back to the previous catalog
page.

Fixes an issue where setting the hold recipient from a patron to the
staff account failed to properly clear the holds form, leaving (e.g.)
the wrong pickup lib in the selector.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Staffcat holds recipient / multi-hold repairs
Bill Erickson [Tue, 25 Aug 2020 20:02:38 +0000 (16:02 -0400)]
LP1889128 Staffcat holds recipient / multi-hold repairs

1. Modifying the patron barcode input either directly or via patron
search now fully resets the form, including previously placed holds.

2. Modifying the hold receipient clears the previous "placing hold for
patron" receipient applied from within the patron app, i.e. the banner
along the top of the catalog page.

3. Hide the 'Number of copies' selector when multi-copy holds are not
supported.

4. Hide the 'Number of copies' selector when the request does not have
CREATE_DUPLICATE_HOLDS permissions for the currently selected

5. Display an error message when the barcode entered does not result in
finding a patron.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Staffcat hold form reset option
Bill Erickson [Tue, 28 Jul 2020 15:48:33 +0000 (11:48 -0400)]
LP1889128 Staffcat hold form reset option

Adds a Reset button to the staff catalog holds form so subsequent holds
may be placed for the same items but for different patrons.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1889128 Staffcat support placing multiple holds
Bill Erickson [Tue, 28 Jul 2020 15:27:05 +0000 (11:27 -0400)]
LP1889128 Staffcat support placing multiple holds

Adds support for the org unit setting 'circ.holds.max_duplicate_holds',
which allows staff to place multiple holds per target in the staff
catalog hold placement UI.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1887429 Holds supports circ.staff_placed_holds_fallback_to_ws_ou
Bill Erickson [Wed, 23 Sep 2020 18:24:13 +0000 (14:24 -0400)]
LP1887429 Holds supports circ.staff_placed_holds_fallback_to_ws_ou

Add support for the 'circ.staff_placed_holds_fallback_to_ws_ou' org unit
setting when staff place holds for patrons in the Angular staff catalog.
Specifically, if the patron has no preferred pickup lib set, fall back
to either the patron's home org or the workstation org depending on the
value of the org setting.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1887429 Properly handle user settings in staffcat holds
Bill Erickson [Mon, 13 Jul 2020 20:01:38 +0000 (16:01 -0400)]
LP1887429 Properly handle user settings in staffcat holds

Treat user settings like the raw JSON values that they are
when fetched via fleshing.  Also be sure the value for the
'opac.default_pickup_location' user setting is read as a number in the
staff catalog to ensure it can be linked to the org unit in question.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1846042 Angular grid filter dropdown improvements
Bill Erickson [Wed, 7 Oct 2020 21:21:48 +0000 (17:21 -0400)]
LP1846042 Angular grid filter dropdown improvements

Add an explicit Close button to filter dropdowns to cover cases where
the user wishes to close the dropdown without making any changes and
clicking-away is not supported.

Othor minor repairs.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP#1846042: take advantage of ngbDropdown container="body"
Galen Charlton [Tue, 25 Aug 2020 21:36:35 +0000 (17:36 -0400)]
LP#1846042: take advantage of ngbDropdown container="body"

This feature, which is available as of ng-bootstrap 4.1.0,
allows the grid filter control columns to stay alligned with
the column label and data on small viewports and/or tables
with lots of columns.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP#1846042: turn on grid filtering for Angular admin pages
Galen Charlton [Wed, 2 Oct 2019 15:21:49 +0000 (11:21 -0400)]
LP#1846042: turn on grid filtering for Angular admin pages

This WIP patch enables grid filters for Angular administration
pages.

TODO:

1. Enable for pages that override or do not use the default
   AdminPageComponent
2. Reconcile with the gridFilter URL parameter that booking
   (e.g.) uses.
3. Reconcile the top-level org unit filter widget with
   grid column org unit filters.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP1846042 Angular grid filters display streamlining
Bill Erickson [Thu, 10 Sep 2020 19:06:24 +0000 (15:06 -0400)]
LP1846042 Angular grid filters display streamlining

Moves all grid filter inputs and actions into a dropdown menu accessed
by clicking on the 'Filter' text-and-icon along the top of each grid
column (when filters are enabled).  Moving the actions into the
drop-down means the filter inputs, etc. are only visible when accessed
and have minimal impact on the primary grid display.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
3 years agoLP#1855457: make grid headers in Angular admin interfaces sticky
Galen Charlton [Fri, 6 Dec 2019 15:48:59 +0000 (10:48 -0500)]
LP#1855457: make grid headers in Angular admin interfaces sticky

Grid headers in Angular admininstration interfaces that use
subclass, or copy from AdminPageComponent are now sticky.

To test
-------
[1] Apply the patch and examine Angular admin pages that are
    are based on AdminPageComponent. A good example is the
    MARC Search/Facet Fields server admin page.
[2] Make the grid display a large number of rows, then scroll
    the page. Verify that the grid header is sticky (i.e.,
    the header remains visible in the viewport).
[3] Verify that the Carousels and Standing Penalties local admin
    grids have stick headers.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agolp1903424 Bootstrap opac notification methods not saving
Garry Collum [Sun, 8 Nov 2020 01:16:42 +0000 (20:16 -0500)]
lp1903424 Bootstrap opac notification methods not saving

The hold and email hold notification methods in the Bootstrap opac do not save to the database.
This patch fixes that behavior.

To test in concerto.
1. Enter an email address into a patron record.
2. Place a hold in the Bootstrap Opac logged in as this patron.
3. For notification, select Yes for email, and Yes by phone. Enter a phone number.
4. Go to the staff interface and observe that the hold for this patron does not have the Notifications Phone set, and Notify by Email is No.
5. Apply the patch.
6. Place another hold for this patron using the same notification settings.  The Notifications Phone is now set, and Notify by Email is yes.
7. Use a combination of notification settings for other holds to verify that setting a phone or email notification method is set or not depending on what is selected.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoForward-port 3.6.1 upgrade script
Jason Boyer [Tue, 24 Nov 2020 19:27:46 +0000 (14:27 -0500)]
Forward-port 3.6.1 upgrade script

Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
3 years agoForward-port 3.5.1-3.5.2 version upgrade script
Chris Sharp [Mon, 7 Dec 2020 19:44:24 +0000 (14:44 -0500)]
Forward-port 3.5.1-3.5.2 version upgrade script

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoForward-port 3.4.4-3.4.5 version upgrade script
Chris Sharp [Mon, 7 Dec 2020 19:42:07 +0000 (14:42 -0500)]
Forward-port 3.4.4-3.4.5 version upgrade script

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP#1778522 Precat item creation should be more intentional
Dan Briem [Wed, 18 Nov 2020 21:50:06 +0000 (16:50 -0500)]
LP#1778522 Precat item creation should be more intentional

Precat items can be created before all of the info is entered.
The dialog autofocuses the title field, so a double barcode scan
will populate the title field and createt the precat without
giving an opportunity to fill in the other fields.

This prevents form submission unless you click the Precat
Checkout button.

To test:
1. Try to check out a barcode that doesn't exist to any patron
2. On the precat dialog, enter a value into the title field
3. Note the precat is created
4. Apply patch
5. Repeat steps 1-3 and note the precat isn't created until
   the Precat Checkout button is clicked

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>