Evergreen.git
21 months agoupdate 3.8.3 release notes to include security fix information
Galen Charlton [Fri, 24 Mar 2023 17:42:39 +0000 (13:42 -0400)]
update 3.8.3 release notes to include security fix information

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoDocs: 3.8.3 release notes
Andrea Buntz Neiman [Thu, 23 Mar 2023 19:11:35 +0000 (15:11 -0400)]
Docs: 3.8.3 release notes

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP#1361782: (follow-up) fix the default search limit in seed data
Galen Charlton [Thu, 23 Mar 2023 21:22:54 +0000 (17:22 -0400)]
LP#1361782: (follow-up) fix the default search limit in seed data

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP#1361782: stamp DB update
Galen Charlton [Thu, 23 Mar 2023 19:11:49 +0000 (15:11 -0400)]
LP#1361782: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoDoS protection release notes
Mike Rylander [Tue, 21 Feb 2023 20:36:46 +0000 (15:36 -0500)]
DoS protection release notes

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP#1361782: Add DoS protection
Mike Rylander [Tue, 22 Nov 2022 21:38:03 +0000 (16:38 -0500)]
LP#1361782: Add DoS protection

This commit adds two types of simple DoS protection:

 * Limit concurrent search requests per client IP address, regardless of
 the searches being performed.  This helps address issues of accidental
 spamming from a malfunctioning OPAC workstation, or crawlers of various
 types.  The limit is controlled by a global flag called
 "opac.max_concurrent_search.ip".

 * Limit the global concurrent search requests for the same query.  This
 helps address both simple and distributed DoS that send the same search
 request over and over.  The limit is controlled by a global flag called
 "opac.max_concurrent_search.query", and defaults to 20.

When the limit is exceeded in either case the client receives an HTTP
429 "Too many requests" response from the web server, and the connection
is ended.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoqtype CGI param protection release notes
Mike Rylander [Tue, 21 Feb 2023 21:53:53 +0000 (16:53 -0500)]
qtype CGI param protection release notes

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP#1811685: qtype CGI parameter checking
Mike Rylander [Thu, 17 Nov 2022 22:11:38 +0000 (17:11 -0500)]
LP#1811685: qtype CGI parameter checking

With this commit we throw away searches with invalid qtype value based
on configured classes and aliases.  Invalid qtype values have been seen
in the wild as part of attempted (but failed) SQL injection attacks, so
we will tighten up what we accept.

As an additional (unrelated) bonus, this commit also avoids prepending
the search class on basic search when the class (from qytpe) is not
exactly "keyword".

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoDocs: removing XUL reference from web staff client intro page
Andrea Buntz Neiman [Wed, 8 Mar 2023 21:33:42 +0000 (16:33 -0500)]
Docs: removing XUL reference from web staff client intro page

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
21 months agoLP#2003707: add releases note entry
Galen Charlton [Wed, 1 Mar 2023 18:49:15 +0000 (13:49 -0500)]
LP#2003707: add releases note entry

(Also remove entries from the 3.8.2 release)

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP2003707: Add an OpenSRF Core Config Param to autogen.sh
Jason Boyer [Mon, 23 Jan 2023 12:23:15 +0000 (07:23 -0500)]
LP2003707: Add an OpenSRF Core Config Param to autogen.sh

What it says on the tin, if you change the name or location of
opensrf_core.xml now you can still run autogen.sh.

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP#1990306: Also check for authtoken at the auth service level
Chris Sharp [Fri, 27 Jan 2023 20:40:31 +0000 (15:40 -0500)]
LP#1990306: Also check for authtoken at the auth service level

Thank you to Bill Erickson and Jason Stephenson for assistance with this.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP#1990306: avoid VIEW_USER perm lookup on egPatronApp startup when we have a null...
Jeff Davis [Tue, 18 Oct 2022 19:42:26 +0000 (12:42 -0700)]
LP#1990306: avoid VIEW_USER perm lookup on egPatronApp startup when we have a null authtoken

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
23 months agoDocs: updates to Standing Penalties and Group Penalty Thresholds
Andrea Buntz Neiman [Thu, 26 Jan 2023 16:28:49 +0000 (11:28 -0500)]
Docs: updates to Standing Penalties and Group Penalty Thresholds

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
23 months agoDocs: web services docs fix
Andrea Buntz Neiman [Wed, 18 Jan 2023 20:52:53 +0000 (15:52 -0500)]
Docs: web services docs fix

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
23 months agoForward Port 3.8.2 Upgrade Script
Jason Boyer [Fri, 13 Jan 2023 19:39:51 +0000 (14:39 -0500)]
Forward Port 3.8.2 Upgrade Script

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
23 months agoDocs: Evergreen web services docs
Galen Charlton [Thu, 12 Jan 2023 17:38:32 +0000 (12:38 -0500)]
Docs: Evergreen web services docs

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
23 months agoLP#1955079: Use Email::MIME for emailing records in the OPAC
Jane Sandberg [Thu, 5 May 2022 05:42:26 +0000 (22:42 -0700)]
LP#1955079: Use Email::MIME for emailing records in the OPAC

Email::Simple was mangling the headers.  Let's use Email::MIME instead.

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
23 months agoLP#1955079: Staff catalog can't email records
Mike Rylander [Wed, 12 Jan 2022 16:25:59 +0000 (11:25 -0500)]
LP#1955079: Staff catalog can't email records

The angular staff catalog uses the new print/email records
functionality, but calls it without some expected parameters.  This
causes the backend method to fail as it assumes the params will exist.

This commit removes that assumption by testing the length of the
parameter list before attempted to read them.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
23 months agoLP1422927 Opac hold history pagination
Garry Collum [Thu, 25 Aug 2022 17:44:13 +0000 (17:44 +0000)]
LP1422927 Opac hold history pagination

Fixes the hold history pagination in both the TPac and the Bootstrap opac.

To test:
1. Login as a patron and enable the hold history preference.  The default
number of items on each page is 15, so place at least 16 holds for this
patron.  (The limit can be overridden in the url with the &limit switch).
2. View the hold history and notice that all items are displaying on all
pages.
3. Apply the patch
4. The results are now paginated with 15 items per page.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
23 months agofix version stamp in 1341 update
Galen Charlton [Wed, 2 Nov 2022 01:53:46 +0000 (21:53 -0400)]
fix version stamp in 1341 update

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
23 months agoLP#1939730 - Use original call number owning_lib when reverting items
Michele Morgan [Thu, 12 Aug 2021 18:09:41 +0000 (14:09 -0400)]
LP#1939730 - Use original call number owning_lib when reverting items

When removing items with edited call numbers from a course, find or
create the resulting call number using the original call number's
owning_lib rather than the course owner.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
23 months agodocs: release notes 3.8.2
Jennifer Pringle [Tue, 18 Oct 2022 13:33:47 +0000 (09:33 -0400)]
docs: release notes 3.8.2

Author: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Author: Jennifer Weston <jennifer.weston@equinoxoli.org>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
23 months agoTranslation updates - newpot
Jason Boyer [Thu, 5 Jan 2023 12:10:01 +0000 (07:10 -0500)]
Translation updates - newpot

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1915440 Clear Hopeless Date on Capture
Bill Erickson [Mon, 8 Aug 2022 18:04:55 +0000 (14:04 -0400)]
LP1915440 Clear Hopeless Date on Capture

Clear the hold hopeless date when a copy is captured for the hold.

One way to make this happen for testing:

. Configure the Missing copy status as holdable=true hopeless_prone=true
. Place hold with only 1 viable copy.
. Mark said copy as missing -- this stamps a hopeless_date on the hold.
. Check the copy in.  This results in a capture + hopeless hold.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Susan Morrison <smorrison@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1969994: Add Release Note
Jason Boyer [Tue, 15 Nov 2022 13:25:38 +0000 (08:25 -0500)]
LP#1969994: Add Release Note

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP#1969994: Stripe: Add User Database ID
Terran McCanna [Fri, 22 Apr 2022 21:12:47 +0000 (17:12 -0400)]
LP#1969994: Stripe: Add User Database ID

Adds the patron's database ID to the payment intent so that
payments can be more easily reconciled with the Evergreen
database.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1995653: small create_release_notes script changes
Jane Sandberg [Fri, 4 Nov 2022 01:46:40 +0000 (18:46 -0700)]
LP1995653: small create_release_notes script changes

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLp 1943634: Fix MARC Stream Importer Temp File Creation
Jason Stephenson [Tue, 14 Sep 2021 19:02:38 +0000 (15:02 -0400)]
Lp 1943634: Fix MARC Stream Importer Temp File Creation

Use fileparse on $0 in marc_stream_importer.pl to get the program's
basename and use that instead of $0 to generate the temp file's name.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1824709: Allow comboboxes inputs to have IDs
Jane Sandberg [Thu, 17 Sep 2020 21:13:54 +0000 (14:13 -0700)]
LP1824709: Allow comboboxes inputs to have IDs

This adds a new input, domId, for the combobox component.

A good way to test:

1) Download the Wave accessibility checker.
2) Go to one of the following screens:
  - Admin > Local > Course Reserves > Choose a course > Associate
    item from catalog
  - Admin > Local > Course Reserves > Choose a course > Associate
    brief record
  - MARC Batch Import
  - MARC Batch Import/Export > Inspect Queue
  - Staff Catalog Add to bucket
  - Staff catalog conjoined items
  - Hold cancel dialog
3) Right click and select "WAVE this page"
4) On the Details tab of WAVE, notice that there are several "Missing
   form label" errors.
5) Apply this patch.
6) Run WAVE again; notice that the number of missing form label errors
   has decreased.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
2 years agoLP#1931737: Stamping upgrade scripts
Mike Rylander [Tue, 25 Oct 2022 15:51:04 +0000 (11:51 -0400)]
LP#1931737: Stamping upgrade scripts

Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1931737: Allow the delay of symspell updates
Mike Rylander [Fri, 13 May 2022 16:35:24 +0000 (12:35 -0400)]
LP#1931737: Allow the delay of symspell updates

This commit adds a new internal flag, auto-created at the time of need,
to control whether record ingest will cause immediate updates to the
symspell dictionary, or if those updates will simply be recorded for
later incorporation.  Inline symspell dictionary updates can cause
record updates to be logically serialized, impacting the preformance of
other tools used for batch reingest.

pingest.pl is changed to allow an administrator to make use of this
feature via the --delay-symspell command line flag.

NOTE: includes a minor fixup from blake@mobiusconsortium.org for a
syntax error.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: blake <blake@mobiusconsortium.org>
2 years agoLP#1931737: DYM can cause deadlocks w/ parallel ingest
Mike Rylander [Fri, 4 Mar 2022 15:38:12 +0000 (10:38 -0500)]
LP#1931737: DYM can cause deadlocks w/ parallel ingest

This patch causes all symspell dictionary updates to occur at then end
of metabib search field updates in one go, which allows Postgres' INSERT
... ON CONFLICT mechanism to properly lock and serialize changes when
necessary.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: blake <blake@mobiusconsortium.org>
2 years agoLP1993922 - Fix terminology Archival->Archiving
Michele Morgan [Mon, 24 Oct 2022 20:57:59 +0000 (16:57 -0400)]
LP1993922 - Fix terminology Archival->Archiving

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1993922: Course material delete should not delete other courses' materials
Jane Sandberg [Sat, 22 Oct 2022 22:43:10 +0000 (15:43 -0700)]
LP1993922: Course material delete should not delete other courses' materials

To test:
* Apply this patch
* Login to BR1 workstation
* Go to Admin - Local Admin - Course Reserves List
* Create two courses, Course 1 and Course 2
* Associate materials to both courses
* Archive Course 1
* Go to Course materials on Course 2 and note that
it still has all of its materials attached.

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP 1993534: Followup to replace deprecated command
Jason Boyer [Thu, 20 Oct 2022 21:32:09 +0000 (17:32 -0400)]
LP 1993534: Followup to replace deprecated command

Running ng xi18n manually complained that it's deprecated and extract-i18n
is the new hotness.

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoLP1993534: Command line flag usage for ng xi18n
Jane Sandberg [Wed, 19 Oct 2022 13:28:40 +0000 (06:28 -0700)]
LP1993534: Command line flag usage for ng xi18n

To test:

1) cd [Evergreen repo]/Open-ILS/src/eg2
2) npm install
3) npm run export-strings # should fail
4) Apply this patch
5) npm run export-strings # should successfully create a file in the locales directory

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1913604 - Stamping upgrade script
Michele Morgan [Tue, 18 Oct 2022 21:16:55 +0000 (17:16 -0400)]
LP1913604 - Stamping upgrade script

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1913604: Course materials module should remember original circ_lib
Jane Sandberg [Wed, 14 Sep 2022 03:21:12 +0000 (20:21 -0700)]
LP1913604: Course materials module should remember original circ_lib

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1913604: course materials module shouldn't move items to different owning libs
Jane Sandberg [Thu, 19 May 2022 21:04:05 +0000 (15:04 -0600)]
LP1913604: course materials module shouldn't move items to different owning libs

To test:
1) Create a course that can have volumes (e.g. a branch or bookmobile, not a consortium)
2) Associate an item with that course that is from a different branch
3) Note that the item's owning and circ libraries have not changed.

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1913604: Alert staff when associating item with course at a different library
Jane Sandberg [Thu, 28 Jan 2021 22:26:19 +0000 (14:26 -0800)]
LP1913604: Alert staff when associating item with course at a different library

1) Create a new course at a branch that can have items (BR3, for
   example).
2) Add an item with the circ_lib of BR3. Note that the item is
   added to the grid.
3) Add an item with a different circ_lib. Note that you get an
   alert showing that the item is not at the course's owning library.
4) Push the Cancel button.  Notice that the item is not added to the
   course.
5) Repeat step 3 and push the Confirm button.  Notice that the item is
   added to the course this time.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1940105: Perl detach material correctly resets item location
Jane Sandberg [Sat, 3 Sep 2022 00:49:55 +0000 (17:49 -0700)]
LP1940105: Perl detach material correctly resets item location

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agolp1940105 Archive Course Should Use detach_material
Kyle Huckins [Sun, 27 Feb 2022 01:33:29 +0000 (01:33 +0000)]
lp1940105 Archive Course Should Use detach_material

- Replaced resetItemFields with detachMaterials in Course Service
- Refactored disassociateMaterials to utilize detach_materials
- Refacotred deleteSelectedMaterials to utilize Course Service detachMaterials function

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1898775: Add basket to bucket in bootstrap
Jane Sandberg [Wed, 12 Oct 2022 23:38:20 +0000 (16:38 -0700)]
LP1898775: Add basket to bucket in bootstrap

The bootstrap OPAC uses links, rather than <select> for the basket dropdown, so the
existing event listener couldn't get attached to the correct element.

To test:
1. Confirm that you are using the bootstrap OPAC.
2. In the staff client, select the traditional staff catalog.
3. Add several items to your basket.
4. Click the basket icon, and select 'Add Basket to Bucket'
5. Note that you get a 404 error.
6. Apply this patch.
7. Repeat steps 1-3.
8. Note that you can now select a bucket, and that the process completes successfully.

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 years agoLP1956619 Holdings editor sanity check for VIEW_USER perm
Bill Erickson [Mon, 11 Jul 2022 14:58:40 +0000 (10:58 -0400)]
LP1956619 Holdings editor sanity check for VIEW_USER perm

When the staff accessing holdings in the holdings editor do not have the
VIEW_USER permission at a level sufficient to display the creator/editor
of a set of items, display the ID of the user instead of attempting and
failing to display the username, which causes a page rendering error.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP#1956619: use Angular holdings editor when accessing from item status and item...
Jeff Davis [Fri, 21 Jan 2022 22:17:25 +0000 (14:17 -0800)]
LP#1956619: use Angular holdings editor when accessing from item status and item buckets

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>
2 years agoLP1891375 Perm Group Editor Indicates Overridden Perms
Bill Erickson [Thu, 7 Jul 2022 16:29:22 +0000 (12:29 -0400)]
LP1891375 Perm Group Editor Indicates Overridden Perms

When a permission for the selected group overrides the same permission
applied to a parent group, indicate it in the permission list with an
icon.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1735221 Item Alert Prevents Hold Capture Delay Verification
Dan Briem [Thu, 4 Aug 2022 02:46:06 +0000 (22:46 -0400)]
LP1735221 Item Alert Prevents Hold Capture Delay Verification

Clicking OK on an item alert triggers a checkin override. If the
response contains an override event, an error is thrown. Since
a hold capture delay event is handled as an override, an error
throws before the hold capture delay dialog opens.

This handles the capture delay event separately from the override
events so the dialog will open after an override attempt.

To test:
1. set Hold Capture Requires Verification on a shelving location
2. add an item alert to an item in that shelving location
3. place an item hold on that item
4. checkin that item
5. click OK on the alert dialog and Capture on the delay dialog
6. note the hold is captured`

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agolp1930896 - Course Reserves Carriage Return Shouldn't Add
Kyle Huckins [Wed, 9 Feb 2022 23:20:50 +0000 (23:20 +0000)]
lp1930896 - Course Reserves Carriage Return Shouldn't Add

- Removed Enter KeyUp property from the Patron Barcode field on Associate User
- Removed Enter KeyUp property from the Item Barcode field on Associate Item

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
2 years agoLP1821950, LP1980409 - Stamping upgrade script
Michele Morgan [Thu, 13 Oct 2022 18:14:20 +0000 (14:14 -0400)]
LP1821950, LP1980409 - Stamping upgrade script

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1980409 require barcode in order to save
Terran McCanna [Tue, 20 Sep 2022 20:02:47 +0000 (16:02 -0400)]
LP1980409 require barcode in order to save

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Christine Morgan <cmorgan@noblenet.org>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1821950 & LP1980409 Option to require call number label
Terran McCanna [Fri, 19 Aug 2022 17:38:56 +0000 (13:38 -0400)]
LP1821950 & LP1980409 Option to require call number label

This uses a new Library Setting for "Require call number labels
in Copy Editor" for the benefit of libraries that with to use a
predefined Prefix (such as FIC or EZ) instead of individual call
number labels for each volume.

When the setting is True, the call number label field is marked
required and the Save buttons disabled until a value is present.

When the setting is False, the call number label is not required.
In addition, the Angular interface adds an additional check for
Prefix, so if the call number label is empty then the Prefix is
required.

Acknowledgements:
Org Unit Setting created by Kyle Huckins
Angular and AngularJS changes done by New Developers Working Group

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agolp1821950 Require Call Number Label YAOUS
Kyle Huckins [Thu, 16 May 2019 22:05:55 +0000 (22:05 +0000)]
lp1821950 Require Call Number Label YAOUS

- Add YAOUS to Require Call Number Labels in Copy Editor
- Set new YAOUS to true
- Don't display empty call number field warning if call numbers
aren't required on the copy editor.
- Properly enable/disable saving an item in the volcopy editor when
CN label is empty, based on Require Call Number Label setting.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/sql/Pg/950.data.seed-values.sql
new file:   Open-ILS/src/sql/Pg/upgrade/XXXX.lp1821950-call-number-label-required-yaous.sql
modified:   Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1838553 User Display Name
Michele Morgan [Wed, 12 Oct 2022 20:40:21 +0000 (16:40 -0400)]
LP1838553 User Display Name

Add preferred names to 'User Alias or Display Name'

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1838553 User Display Name
Terran McCanna [Mon, 4 Apr 2022 17:03:02 +0000 (13:03 -0400)]
LP1838553 User Display Name

This modifies the User Display Name to incorporate the Preferred
Name if present.

(Note: Ryan Eby did this work, I just put it into a git branch. I
have not tested it. - TMcCanna)

Signed-off-by: Gina Monti <gmonti@biblio.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1771636: Stamping upgrade script
Michele Morgan [Fri, 29 Jul 2022 20:22:24 +0000 (16:22 -0400)]
LP1771636: Stamping upgrade script

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Boyer <jboyer@equinoxOLI.org>
2 years agoLP1981628 Third follow-up
Terran McCanna [Fri, 29 Jul 2022 16:36:33 +0000 (12:36 -0400)]
LP1981628 Third follow-up

The last follow-up had the inadvertent side-effect of hiding the
message directing the patron to contact their library if they had a
negative balance. My thought is that if there are negative bills then
the patron should see the alert to contact their library about them
regardless of whether or not online payments are allowed. So, this
additional followup separates that alert from the myopac_cc_allowed logic.

This also makes some minor display tweaks to the BooPAC:
- Applies the Bootstrap 'alert-warning' to the negative bills message
in the BooPAC.
- Adds a page header.
- Changes the styling and wording of the grocery charges heading to match
the circulation charges heading.
- Changes the styling of the grocery and circulation tables to be
consistent with each other.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1981628 follow-up to the follow-up
Jason Etheridge [Mon, 18 Jul 2022 19:02:54 +0000 (15:02 -0400)]
LP1981628 follow-up to the follow-up

Consolidate some of the logic to make it more clear what is happening,
leverage the existing myopac_cc_allowed boolean, and catch the
Pay All Charges button in the TPAC.  This also clears up some display
oddities and makes sure the non-payment labeling is being used.

Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1981628 Follow up to Stripe payment intents bug
Terran McCanna [Wed, 13 Jul 2022 20:12:36 +0000 (16:12 -0400)]
LP1981628 Follow up to Stripe payment intents bug

The bug fix for 1965579 only resolved the negative bills problem
for grocery bills. This follow up resolves the problem for
circulation bills as well.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1989209: SSO Shibboleth logout/re-login
Mike Rylander [Fri, 9 Sep 2022 16:40:47 +0000 (12:40 -0400)]
LP#1989209: SSO Shibboleth logout/re-login

When using Shibboleth for SSO, and global logout is disabled, logging in
after logout on the same computer can fail with a 404-Not Found. The
problem is that we need to ignore our local "don't trust Shibboleth
login" cookie in this situation.

This change also means we need to delegate SP logout, in addition to
possible IdP and/or global logout, to the Shibboleth configuration.
Therefore we always redirect to the Shibboleth logout service on
Evergreen logout (when Shibboleth SSO is enabled), and SP, IdP, and
global logout is configured and mediated by the Shibboleth and IdP
configuration.

This commit modifies the meaning of the opac.login.shib_sso.logout YAOUS
such that it is only used to decide if Evergreen timeout-forced logouts
will cause a Shibboleth logout as well.  All user-initiated logouts will
now inform Shibboleth, and the Shibboleth configuration will determine
the SSO logout degree (SP, IdP, global).

See details at
https://shibboleth.atlassian.net/wiki/spaces/SHIB2/pages/2577072384/NativeSPLogoutInitiator
and the simpler configuration option of
https://shibboleth.atlassian.net/wiki/spaces/SHIB2/pages/2577072434/NativeSPServiceLogout
for information on the Shibboleth configuration required for your local
needs.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1991395 Bootstrap opac: headers in advanced search screens not translated
Garry Collum [Fri, 30 Sep 2022 14:02:46 +0000 (14:02 +0000)]
LP1991395 Bootstrap opac: headers in advanced search screens not translated

Marks the headers in Advanced Search, Numeric Search and Expert Search
for translation.

Thank you, Eva Cerninakova for pointing them all out.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoLP1909583 Bootstrap Opac: Cannot edit title and description
Garry Collum [Fri, 29 Jul 2022 22:03:18 +0000 (22:03 +0000)]
LP1909583 Bootstrap Opac: Cannot edit title and description

Fixes the editing of the title and description in the Bootstrap Opac lists.
Adds and Edit List button with a collapsible form.

To Test:
1. Create several lists in the Opac.
2. Notice you are unable to edti the title or description.
3. Apply the patch
4. Use the Edit List button to display an editable form for each individual
list.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1903767 - Bootstrap Opac: Make other formats and editions more visible.
Garry Collum [Fri, 22 Jul 2022 18:08:43 +0000 (18:08 +0000)]
LP1903767 - Bootstrap Opac: Make other formats and editions more visible.

This patch does the following:

1. Moves "Other Formats and Editions" below # of holds and available items.
2. Changes "Other Options" to "Other Formats and Editions" and makes the
header tage and <h2> tag consistent with other header tags.
3. Resizes <h2> tags.
4. Removes bullets and changes the margins of some of the table/list displays
under the <h2> headers.
5. Fixes the alignment of the button group that contains Place Hold.

For Testing:

1. Find a record that contains other formats and editions.  In concerto
record #71 contains other formats and editions.
2. Notice that you have to click the More Details button to view the Other
Formats.
3. Apply the patch.
4. Other Formats and Editions now appear under the Available Copies and
Holds heading.  You no longer have to push the More Details button.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Gina Monti <gmonti@biblio.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP#1979099: Fix typo
Stephanie Leary [Mon, 19 Sep 2022 20:57:35 +0000 (15:57 -0500)]
LP#1979099: Fix typo

Fixing "hold Type" to "Hold Type" in hold details screen

Test plan:
1. Go to the staff interface, right click a hold to see hold details,
 observe that "hold Type" is not capitalized
2. Apply the patch
3. Refresh the staff interface hold details screen and observe that
 the "Hold Type" is properly capitalized

Signed-off-by: Stephanie Leary <stephanie.leary@equinoxOLI.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
2 years agoLP1902272-Bootstrap opac needs to prompt on notification preference update
Garry Collum [Tue, 2 Aug 2022 19:35:39 +0000 (19:35 +0000)]
LP1902272-Bootstrap opac needs to prompt on notification preference update

Adds the prompting of updating holds when default notification preferences
are updated in the Bootstrap opac.

To Test:
1. Place a few holds for a patron.
2. Login to the opac and change some default notification methods.
3. The opac does not prompt to update the holds.
4. Apply the patch.
5. The patron should now be prompted to update holds when default
notification methods are changed.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1907974: throwError needs an argument
Jane Sandberg [Thu, 19 May 2022 20:13:25 +0000 (14:13 -0600)]
LP1907974: throwError needs an argument

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1907974: Updating call numbers in course module reflected in grid
Jane Sandberg [Thu, 11 Feb 2021 01:37:57 +0000 (17:37 -0800)]
LP1907974: Updating call numbers in course module reflected in grid

Also:
  * refactors the updateItem method for more idiomatic RxJS usage (e.g.
    no nested subscribes)
  * corrects some Boolean, String, and Number types to boolean, string,
    and number (to use the primitive types instead of objects, as
    recommended by the Typescript handbook:
    https://www.typescriptlang.org/docs/handbook/basic-types.html#about-number-string-boolean-symbol-and-object)

To test:

1) Go to Local Admin > Course List
2) Double click on a course
3) Go to the materials tab
4) Add an item by barcode, making sure to supply a temporary call
   number, and that the call number checkbox is checked.
5) Note that the grid on the right display's the item's old call number,
   not its new one.
6) Apply this patch.
7) Repeat step 4.  Note that the temporary call number is reflected in
   the grid now.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP#1957179: improve saving of templates in Angular holdings editor
Galen Charlton [Thu, 26 May 2022 15:11:59 +0000 (11:11 -0400)]
LP#1957179: improve saving of templates in Angular holdings editor

This patch makes the following improvements to the handling
of holding templates in the Angular holdings editor:

- templates are now saved to the cat.copy.templates user setting,
  matching the AngularJS holdings editor
- toast is displayed upon saving or deleting a template
- upon saving a completely new template, re-style it in the
  combobox so that it no longer has the new-and-freetext
  styling

To test
-------
[1] Apply the patch and open the Angular holdings editor.
[2] Verify that once a template is saved or deleted, that
    refreshing the Angular holdings editor will show the
    updated list of templates.
[3] Verify that toast is displayed upon saving or deleting
    a template.

Note that because of a quirk in how user settings are cached by
the web staff client, if you are testing in more than one browser
(but with the same user account), if you save a template in one
browser, you'll need to log out and back in with the second browser
to see the changes.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP#1980887: fixes cases where shelving location selector didn't work
Galen Charlton [Fri, 9 Sep 2022 21:44:46 +0000 (17:44 -0400)]
LP#1980887: fixes cases where shelving location selector didn't work

This patch fixes an issue where the Angular shelving location selection
component (eg-item-location-select) wouldn't work (in particular,
when its contextOrgIds wasn't set, as opposed to contextOrgId).

Coding note: TypeScript confounds the Perl programmer: an empty array
evaulates to true; .length needs to be checked instead.

To test
-------
[1] Apply the patch.
[2] Verify that the shelving location selector works in the following
    interfaces:

    - Acquisitions Administration -> Distribution Formuals
    - Course Materials (in the material form for a course)
    - Linked locations for Circulation Limit Sets

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP#1986725: restore portrait/landscape choice when printing from Angular
Galen Charlton [Fri, 9 Sep 2022 15:22:46 +0000 (11:22 -0400)]
LP#1986725: restore portrait/landscape choice when printing from Angular

This patch works around a default setting in Bootstrap 4 that specifies
A3 as the paper size for printing. Specifying any paper size like this
causes Chrome and Firefox to stop offering the users the option to
choose the paper orientation.

My testing suggests that specifying A3 as the default paper size also
resulted in the printed text using a smaller font size when printing
on US paper sizes. Some sort of scaling down from A3 to letter,
perhaps.

To test
-------
[1] Open the Angular Holds Pull List, select a branch that has items
    to pull, and click the Print Full List button. Observe that the
    browser print dialog does not offer an option to choose the
    orientation.
[2] As above, but for any Angular grid's Print Full Grid action.
[3] Apply the patch and repeat 1 and 2. This time, the browser print
    dialog should offer the option to select the orientation.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1976002: Include ancestors in item location filters
Mike Rylander [Fri, 27 May 2022 15:22:29 +0000 (11:22 -0400)]
LP#1976002: Include ancestors in item location filters

The item location selector should include locations from ancestor org
units regardless of the specific permission-limiting check it may be
asked to perform.  Item locations at ancestor org units are valid for
use on items in descendant locations.

This commit also makes the org filter list unique.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxOLI.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agolp1939994 Course Details Page Archive Workaround
Kyle Huckins [Tue, 15 Mar 2022 03:10:25 +0000 (03:10 +0000)]
lp1939994 Course Details Page Archive Workaround

- Course Page stores is_archived() locally, checking for either the current course being archived, or the locally stored variable.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-associate-material.component.html
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-associate-material.component.ts
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-associate-users.component.html
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-associate-users.component.ts
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-page.component.html
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-page.component.ts

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoUpdating My Account
gmontimantis [Tue, 8 Feb 2022 16:01:09 +0000 (11:01 -0500)]
Updating My Account

Bootstrap updates

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoUpdate carousels.adoc
gmontimantis [Wed, 6 Apr 2022 17:22:37 +0000 (13:22 -0400)]
Update carousels.adoc

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
2 years agoDocs: correct permission
Andrea Buntz Neiman [Mon, 13 Jun 2022 20:03:07 +0000 (16:03 -0400)]
Docs: correct permission

updated doc to cite the actual permission

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
2 years agoDocs: Adding group penalty thresholds
Jennifer Pringle [Mon, 13 Jun 2022 20:29:56 +0000 (13:29 -0700)]
Docs: Adding group penalty thresholds

new page and screenshots for group penalty thresholds

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
2 years agoDocs: Updating Authorities
Jennifer Pringle [Fri, 17 Jun 2022 20:04:05 +0000 (13:04 -0700)]
Docs: Updating Authorities

Authorities section text and screenshots updated.

Changes come from Jennifer Weston jennifer.weston@equinoxoli.org

Co-authored-by: Jennifer Weston <jennifer.weston@equinoxoli.org>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
2 years agoRelease notes fix
Michele Morgan [Wed, 10 Aug 2022 17:06:34 +0000 (13:06 -0400)]
Release notes fix

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP#1771636: Add release notes entry
Michele Morgan [Wed, 10 Aug 2022 15:42:51 +0000 (11:42 -0400)]
LP#1771636: Add release notes entry

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1771636 Org Select Combined Org Names Option
Bill Erickson [Mon, 3 Jan 2022 17:54:43 +0000 (12:54 -0500)]
LP1771636 Org Select Combined Org Names Option

Adds an option to the staff client workstation settings page for
"Library Selector Shows Combined Names?".  When enabled, Angular org
unit selectors display the full branch in addition to the branch short
code.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1823225 Patron Penalty Refresh Action
Bill Erickson [Mon, 11 Jul 2022 18:06:44 +0000 (14:06 -0400)]
LP1823225 Patron Penalty Refresh Action

New menu entry added under the 'Other' menu for patrons.  It refreshes
the patron's penalties and reloads the patron to ensure all needed data
is refreshed.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1910546: Stamping upgrade script
Michele Morgan [Mon, 1 Aug 2022 18:46:08 +0000 (14:46 -0400)]
LP1910546: Stamping upgrade script

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1910546 Prevent Copy Location Delete With Active Copies
Bill Erickson [Tue, 19 Jul 2022 14:19:29 +0000 (10:19 -0400)]
LP1910546 Prevent Copy Location Delete With Active Copies

Raise a database exception when any attempt is made to marke a copy
location as deleted when the location contains non-deleted copies.

To Test:

1. Navigate to /eg2/staff/admin/local/asset/copy_location

2. Attempt to delete a copy location that is known to contain
   non-deleted copies.

3. Confirm an error message is displayed and the location is not marked
   as deleted.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP1956986: follow-up to fix linter
Jane Sandberg [Wed, 27 Jul 2022 22:24:46 +0000 (15:24 -0700)]
LP1956986: follow-up to fix linter

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
2 years agoLP1956986 Holdings View display correct copy alerts count
Bill Erickson [Wed, 13 Jul 2022 15:56:13 +0000 (11:56 -0400)]
LP1956986 Holdings View display correct copy alerts count

Avoid counting ACK'ed copies as active copy alerts in the catalog
Holdings View, copy alert column.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
2 years agoLP1956986 Copy alerts consistently set ack_staff
Bill Erickson [Wed, 13 Jul 2022 15:51:57 +0000 (11:51 -0400)]
LP1956986 Copy alerts consistently set ack_staff

Moves the logic of when to apply a value for ack_staff into the copy
alerts dialog.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
2 years agoLP#1956986: fix and refactor item alert handing in Angular editor
Galen Charlton [Mon, 11 Jul 2022 16:31:36 +0000 (12:31 -0400)]
LP#1956986: fix and refactor item alert handing in Angular editor

This patch changes the handling of item alerts in the Angular
Holdings View and Item Attributes editor to be more like how
item notes and item tags are handled.

In particular:

- The separate 'Add Item Alert' and 'Edit Item Alerts' context menu
  items in Holdings View are consolidated to a 'Add/Manage Item Alerts'
  action.
- Pending new alerts are displayed in separate area of the modal
- The 'Apply Changes' and 'Add New' buttons now work the same way as
  item notes and item tags

To test
-------
[1] Apply patch.
[2] Create a new item with one or more item alerts. Verify that they are
    properly saved.
[3] Edit an existing item and add, modify, and clear alerts. Verify that
    the changes are saved.
[4] From Holdings View, choose 'Add/Manage Item Alerts' with a single
    item selected. Verify that changes are saved.
[5] From Holdings View, choose 'Add/Manage Item Alerts' with multiple
    items selected. Verify that you are only given the option to add
    new alerts. Verify that new alerts are saved.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
2 years agoLP#1978889: display alert type for existing item alerts
Galen Charlton [Mon, 11 Jul 2022 14:38:47 +0000 (10:38 -0400)]
LP#1978889: display alert type for existing item alerts

This patch ensures that the type of an item alert is
displayed when managing item alerts in the Angular item
attributes editor.

To test
-------
[1] Add an alert to an item.
[2] From the Angular Holdings View, chose 'Edit Item Alerts'
    for that item. Note that the combobox for the existing
    alert does not display a value.
[3] Open the item in the Item Attributes editor and click
    the Item Alerts button. Again, note that the alert type
    combobox does not display a value.
[4] Apply the patch and repeat steps 2 and 3. This time, the alert
    type should be displayed.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
2 years agoLP1956627 Copy editor shows full org path of copy locations
Bill Erickson [Fri, 8 Jul 2022 21:46:40 +0000 (17:46 -0400)]
LP1956627 Copy editor shows full org path of copy locations

Copy location selector in the copy editor now includes locations from all
org units above, at, and below the workstation org unit.

Previously, copy locations at "lower" org units were not included.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Carol Witt <wittc@cwmars.org>
2 years agoLP1980692-Patron print option should be 'copies'
Garry Collum [Mon, 18 Jul 2022 19:11:01 +0000 (19:11 +0000)]
LP1980692-Patron print option should be 'copies'

When printing from the patron's bills page the option to select the number
of copies to print reads 'items'.  This changes the label to 'copies'.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Gina Monti <gmonti@biblio.org>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
2 years agoLP1884950 Org service loads all ou types fix
Bill Erickson [Wed, 13 Jul 2022 14:09:33 +0000 (10:09 -0400)]
LP1884950 Org service loads all ou types fix

Recover an unintended line deletion.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 years agoLP1884950 Org service loads all ou types
Bill Erickson [Wed, 6 Jul 2022 20:35:28 +0000 (16:35 -0400)]
LP1884950 Org service loads all ou types

Explicitly load all org unit types at page startup so that we fetch org
types that may not have an org unit attached.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 years agoLP1884950 Org Unit Admin Scrolling
Bill Erickson [Wed, 6 Jul 2022 19:32:42 +0000 (15:32 -0400)]
LP1884950 Org Unit Admin Scrolling

Admin -> Server Admin -> Organizational Units now displays the tree of
org units in a vertical-scrollable div which occupies 80% of the
vertical window space.

Tree is opened to the first level of child nodes.  Deeper child nodes
are collapsed.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 years agoLP1958573 PMC messages created by action triggers not patron-visible
Terran McCanna [Thu, 20 Jan 2022 19:42:33 +0000 (14:42 -0500)]
LP1958573 PMC messages created by action triggers not patron-visible

This adds a missing patron-visibility flag to messages created for
the patron message center by notification action triggers (when
using grouped events).

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1956790 Support applying item alerts via templates
Bill Erickson [Fri, 8 Jul 2022 15:17:51 +0000 (11:17 -0400)]
LP1956790 Support applying item alerts via templates

Fixes an issue where item alerts contained within copy templates failed
to apply when using the new Angular holdings editor.

Testing note: if you add an item alert by applying a template, it currently
will not be displayed in the item alerts dialog until you save the item.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1981095: fix deletion of item tags in Angular item attributes editor
Galen Charlton [Fri, 8 Jul 2022 16:46:40 +0000 (12:46 -0400)]
LP#1981095: fix deletion of item tags in Angular item attributes editor

This patch fixes several bugs that prevent item tags from
being correctly deleted by the Angular item attributes editor.

To test
-------
[1] Apply patch.
[2] Edit a single item in the Angular item attributes editor.
[3] Verify that tags can be added and deleted.
[4] In Holdings View, choose Add/Manage Item Tags for a single
    selected item.
[5] Verify that tags can be added and deleted;
[6] Repeat steps 4 and 5 for a different item after successfully
    deleting an item tag. Verify that tags can be added and deleted.
[7] In Holdings View, choose Add/Manage Item Tags for multiple
    selected items.
[8] Verify that ntoes can be added to the selected items

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1959716 Follow up to allow managing/deleting in-place copies
Bill Erickson [Fri, 8 Jul 2022 20:43:42 +0000 (16:43 -0400)]
LP1959716 Follow up to allow managing/deleting in-place copies

Fixes a thinko which prevented management / deletion of existing copies
in the copy editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1955065 Item note dialog close value repairs
Bill Erickson [Fri, 8 Jul 2022 19:10:51 +0000 (15:10 -0400)]
LP1955065 Item note dialog close value repairs

Handle cases where the copy note dialog is closed via Cancel actions and
emits no data.

Also be sure the dialog emits consistently shaped data when it does emit
data.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1955065: fix deletion of item notes in Angular item attributes editor
Galen Charlton [Fri, 8 Jul 2022 16:03:35 +0000 (12:03 -0400)]
LP#1955065: fix deletion of item notes in Angular item attributes editor

This patch fixes several bugs that prevent item notes from
being correctly deleted by the Angular item attributes editor.

To test
-------
[1] Apply patch.
[2] Edit a single item in the Angular item attributes editor.
[3] Verify that notes can be added and deleted.
[4] In Holdings View, choose Add/Manage Item Notes for a single
    selected item.
[5] Verify that notes can be added and deleted;
[6] Repeat steps 4 and 5 for a different item after successfully
    deleting an item note. Verify that notes can be added and deleted.
[7] In Holdings View, choose Add/Manage Item Notes for multiple
    selected items.
[8] Verify that ntoes can be added to the selected items.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1965448 Holdings edit enforce required stat cats
Bill Erickson [Thu, 7 Jul 2022 20:28:36 +0000 (16:28 -0400)]
LP1965448 Holdings edit enforce required stat cats

Required copy stat cats require a value when creating or editing
copies.

Switching between tabs in the copy editor no longer alert the user when
a change is pending, since it may be necessary to hop between tabs to
resolve issues.  Pending changes alerts will still appear when leaving
the page if needed.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>