Evergreen.git
19 months agoLP1972917: fix circ modifier column in course materials grid
Jane Sandberg [Fri, 3 Mar 2023 23:55:43 +0000 (15:55 -0800)]
LP1972917: fix circ modifier column in course materials grid

To test:
1. Add a circulation modifier to your system if it doesn't
already have some.
2. In Local Admin > Course Materials > Edit Course > Course
Materials, turn on the circ modifier column in the grid.
3. Associate an item with the course using its barcode.
Make sure you have selected a circulation modifier and
checked the circulation modifier box.
4. Press the "Add Material" button.
5. Note that the circulation modifier column says
"[Object object]"
6. Apply this patch and repeat steps 2-4.
7. Note that the column now has the name of the circulation
modifier.

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
19 months agoLP2001728 - Don't display circ_staff for opac and autorenewals
Michele Morgan [Wed, 1 Mar 2023 17:18:09 +0000 (12:18 -0500)]
LP2001728 - Don't display circ_staff for opac and autorenewals

Item Status Circ History List: Displays the placeholder <OPAC Renewal>
or <Auto-renewal> instead of the patron information in the Check Out
Staff field.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Gina Monti <gmonti@biblio.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
19 months agoLP#2004052 Hold Shelf Actions Menu Includes Irrelevant Actions
Dan Briem [Thu, 16 Mar 2023 18:21:03 +0000 (14:21 -0400)]
LP#2004052 Hold Shelf Actions Menu Includes Irrelevant Actions

Removes Activate, Suspend, Set Top of Queue, Un-Set Top of Queue,
Set Desired Item Quality, Transfer to Marked Title from the
actions menu on the Holds Shelf grid.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
19 months agoLP2015481: Re-align Labels for Circ History
Jason Boyer [Thu, 6 Apr 2023 14:46:54 +0000 (10:46 -0400)]
LP2015481: Re-align Labels for Circ History

Move Call number to the end of the Circ History table to match Items Out
and also correct the label order for narrow screen CSS.

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
19 months agoLP2015141 Labels for email record math captcha
Stephanie Leary [Wed, 3 May 2023 12:46:15 +0000 (12:46 +0000)]
LP2015141 Labels for email record math captcha

Adds a <label> tag surrounding the math problem shown to users who are
not logged in when they email a record from the OPAC.

Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
19 months agoLP#2018534: treat year as numeric when retrieving item circs by year
Jeff Davis [Thu, 4 May 2023 18:13:42 +0000 (11:13 -0700)]
LP#2018534: treat year as numeric when retrieving item circs by year

The open-ils.pcrud.search.circbyyr API uses EXTRACT to extract the year
from circulation timestamps.  In recent versions of Postgres, the return
type for EXTRACT was changed from double precision to numeric (thanks to
Jason Boyer for noticing this!); for obscure reasons, this causes pcrud
to return the year as a string instead of a number.  So, let's get the
staff client to force those values to be numbers before doing math with
them.

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
19 months agoLP2018208 Empty alt for result record images, icons
Stephanie Leary [Wed, 3 May 2023 17:18:59 +0000 (17:18 +0000)]
LP2018208 Empty alt for result record images, icons

Adds empty alt attributes for jacket images and format icons that are
immediately followed by equivalent text representations, and are
therefore redundant for screen reader users.

Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
19 months agoTranslation updates - newpot - rel_3_9
Galen Charlton [Wed, 3 May 2023 15:35:25 +0000 (11:35 -0400)]
Translation updates - newpot - rel_3_9

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
19 months agoUpdating fonts and sounds settings
Gina Monti [Tue, 14 Feb 2023 16:07:04 +0000 (11:07 -0500)]
Updating fonts and sounds settings

No LP, DIG revamp project.

Changing to Disable Sounds

Fixing typo.

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
20 months agoDocs: updates to record buckets
Britta Dorsey [Wed, 26 Apr 2023 15:58:14 +0000 (11:58 -0400)]
Docs: updates to record buckets

Signed-off-by: Britta Dorsey <bdorsey@library.in.gov>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
20 months agoLP#1791791: remove a regression regression on bug 1923225
Galen Charlton [Thu, 30 Mar 2023 18:11:26 +0000 (14:11 -0400)]
LP#1791791: remove a regression regression on bug 1923225

This was introduced on the Bootstrap side by the patch for
bug 1955403.

To test:

[0] This applies to the Bootstrap OPAC skin.
[1] Perform a search on ISBN.
[2] Note that on the record page, the ISBN (under more details)
    is not properly highlighted.
[3] Apply the patch and repeat step 1. This time, the ISBN
    should be highlighted.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP#1791791: prevent regression on bug 1923225
Galen Charlton [Thu, 30 Mar 2023 18:06:35 +0000 (14:06 -0400)]
LP#1791791: prevent regression on bug 1923225

Ensures that when doing an ISBN search, the ISBN on the record
page is properly highlighted.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP1791791: Google book previews not displaying from a bib linked from a search.
Garry Collum [Sun, 19 Dec 2021 01:31:22 +0000 (20:31 -0500)]
LP1791791: Google book previews not displaying from a bib linked from a search.

The javascript that queries Google Books Preview looks for ISBN(s) wrapped in
a rdetail_value class.  There was a line of code in which the isbn variable
 was not enclosed in this class.  This patch just wraps that stray variable
into a <span> with the class.

To test:
0. Use the TPAC skin - this bug does not affect the Bootstrap skin
1. Perform a keyword search for an bib that should have a google book's link.
   As of March 2023, ISBN 9780786496570 has previews enabled.
2. Go to the bib display and notice that there is no link.
3. Remove the ';query=something' text from the url and notice that the
google book information displays.
4. Apply the patch.
5. Perform the same search.  The google book information should now display.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP#1996651: treat empty string as null for preferred name/alias in wide_hold_data
Jeff Davis [Tue, 15 Nov 2022 23:11:49 +0000 (15:11 -0800)]
LP#1996651: treat empty string as null for preferred name/alias in wide_hold_data

This prevents the patron name from appearing blank in the hold shelf
"User Display Name" or "User Alias or Display Name" columns when the
alias or preferred name fields are empty strings.

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Susan Morrison <smorrison@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
20 months agoLP2016341 Fix duplicate ID in staff catalog record
Stephanie Leary [Fri, 14 Apr 2023 21:43:02 +0000 (21:43 +0000)]
LP2016341 Fix duplicate ID in staff catalog record

Gives the actions button area a different ID than the navigation.

Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
20 months agoLP1889916 SMS Carrier does not include region in borrower edit screen
Garry Collum [Fri, 13 Aug 2021 17:41:02 +0000 (13:41 -0400)]
LP1889916 SMS Carrier does not include region in borrower edit screen

Displays the region next to the carrier name and in the borrower edit and
create screens.  Also sorts the carrier names alphabetically.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP#1716479: (follow-up) fix handling of onSave callbacks for AngularJS MARC edit
Galen Charlton [Tue, 4 Apr 2023 15:10:21 +0000 (11:10 -0400)]
LP#1716479: (follow-up) fix handling of onSave callbacks for AngularJS MARC edit

This patch fixes an issue that has been present for a while but
clarified by Beth Wills in the course of testing the base patch
for this bug.

Specifically, the routine to process onSave callbacks was
not bound to the scope properly, meaning that the wrong onSave
callbacks could be run when dealing with mutiple active
egMarcEditRecords.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP1716479: Make sure authority linker works in embedded MARC editors
Jane Sandberg [Thu, 29 Aug 2019 01:09:35 +0000 (18:09 -0700)]
LP1716479: Make sure authority linker works in embedded MARC editors

1) Perform a z39.50 search
2) Select a record
3) Click Edit then Import
4) Click on the link next to any authorizable field.
5) You will see a mysteriously data-free heading: {{bibField.tag}} {{bibField.ind1}}{{bibField.ind2}}
6) Clicking on the "Immediately" and "Create and edit" buttons doesn't work.
7) Apply this patch and repeat steps 1-6.
8) Note that the heading is now correct, and the buttons work.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoDocs: Fix README link yet again
Jason Stephenson [Mon, 3 Apr 2023 17:01:54 +0000 (13:01 -0400)]
Docs: Fix README link yet again

Commit fcd1cf61de0f13495116fd59460d4f741aa91fa9 replaced the README
link with the contents of the file.

This commit restores the link.

Signed-off-by: Jason Stephenson <jason@sigio.com>
20 months agoDocs: More README Cleanup
Jason Stephenson [Mon, 3 Apr 2023 16:40:46 +0000 (12:40 -0400)]
Docs: More README Cleanup

Fix "Installing PostgreSQL server packages" heading.  It was showing
up as a list entry.

Drop the text about installing additional packages for the database,
since there are none to install at this time.  (We could replace that
with a subsection on the packages required for a standalong databse
server without all of Evergreen installed on it.)

Add a "Create the Evergreen PostgreSQL user" heading above the
instructions to creat the evergreen user in the database.

Co-authored-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
20 months agoLP1970476: Restore Localization Function Wrapper
Jason Stephenson [Fri, 10 Feb 2023 15:06:03 +0000 (10:06 -0500)]
LP1970476: Restore Localization Function Wrapper

The previous commit removed the l() function wrapper from two bits of
text when it probably should not have.  This commiet restores it.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP1970476 Where filter in Bootstrap Catalog Produces Unwanted Results
Terran McCanna [Wed, 19 Oct 2022 14:54:19 +0000 (10:54 -0400)]
LP1970476 Where filter in Bootstrap Catalog Produces Unwanted Results

Prior to this change, the Advanced Search page split the library selector
and the "Where" scope selector into two separate dropdown lists that
produced unexpected results when both were used.

This change uses the same approach as the combined dropdown on the Basic
search page instead.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP#1981774: (follow-up) fix a straggling "opac-button"
Galen Charlton [Fri, 31 Mar 2023 14:10:55 +0000 (10:10 -0400)]
LP#1981774: (follow-up) fix a straggling "opac-button"

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP#1981774: use Bootstrap CSS classes for buttons instead of opac-button
Jeff Davis [Fri, 15 Jul 2022 22:28:24 +0000 (15:28 -0700)]
LP#1981774: use Bootstrap CSS classes for buttons instead of opac-button

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP#1981774: fix button CSS on curbside in Bootstrap OPAC
Jeff Davis [Fri, 15 Jul 2022 22:32:28 +0000 (15:32 -0700)]
LP#1981774: fix button CSS on curbside in Bootstrap OPAC

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP#1752334: (follow-up) adjust to allow "0" as a note
Galen Charlton [Fri, 31 Mar 2023 13:43:53 +0000 (09:43 -0400)]
LP#1752334: (follow-up) adjust to allow "0" as a note

Also ignore the additional note parameter if all it has
are zero or more whitespace characters.

It's unlikely that a client would want to set the additional
note to "0", but it's nonetheless a good idea to distinguish
between difference versions of Perl's false value.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
20 months agoLP#1752334 - BadContact, use additional note if provided.
Josh Stompro [Thu, 28 Feb 2019 16:41:01 +0000 (10:41 -0600)]
LP#1752334 - BadContact, use additional note if provided.

If an additional note is provided when marking a contact invalid,
then that note should be appended to the penalty note field.

This change adds that functionality.  This doesn't change the results
for staff that are using the invalidate buttons in the client, since
there isn't a chance to add an additional note from that interface.

But if someone is calling open-ils.actor.invalidate.email via some other
method, then you can specify the additional note.

I would like to be able to add extra notes when automatically processing
bounced emails, to give staff a clue as to why the email failed.  Such as
"<email> Account over quota for past 3 weeks, ask patron to check their account."

Includes a new perl live test to check the new behavior, along with all
the open-ils.actor.invalidate.* call options.

Testing plan:

Before fix.
1. Choose a patron with an email address and note their patron id number.
2. Run an srfsh shell.
3. Login to get an auth token 'login username password'
4. Run the invalidate email command to mark the users email invalid, including
   an addition note value.
  srfsh# request open-ils.actor open-ils.actor.invalidate.email "<authtoken>" "<patronid>" "Testing Additional Note"
5. Take a look at the patron account and see that the penalty message only
   includes a copy of the email address that was marked invalid.

After fix.
1. Restart the opensrf actor service if needed to re-read the changed perl module.
  osrf_control -l --service open-ils.actor --restart
2. Remove the penalty and re-add email address to test patron's account.
3. Run an srfsh shell.
4. Login to get an auth token 'login username password'
5. Run the invalidate email command to mark the users email invalid,
   including an addition note value.
  srfsh# request open-ils.actor open-ils.actor.invalidate.email "<authtoken>" "<patronid>" "Testing Additional Note"
6. Take a look at the patron account and see that the penalty message note
   now includes the additional note.

Run the live test at Evergreen/Open-ILS/src/perlmods/live_t
perl ./36-lp1752334-badcontact.t

Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP1879517: Surveys shouldn't end before they begin
Jane Sandberg [Thu, 21 Jul 2022 00:00:24 +0000 (20:00 -0400)]
LP1879517: Surveys shouldn't end before they begin

To test:
1. Go to Admin > Local > Surveys.
2. Create a new survey.
3. Attempt to create a survey where the end date
comes before the start date.  Without this patch, you will get
no notice that this is invalid, and you can save the invalid
record.
4. Edit an existing survey.
5. Repeat step 3 while editing the existing survey.
6. Apply the patch.
7. Repeat steps 1-5.  Note that you now get a notice and
cannot save if the end date is before the start date.

This commit generalizes a validator already present in the booking
module, and corrects several small bugs related to the datetime-select
component.

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Susan Morrison <smorrison@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP#1964986: encourage distinct results when querying the ahopl IDL source
blake [Tue, 15 Mar 2022 16:48:12 +0000 (11:48 -0500)]
LP#1964986: encourage distinct results when querying the ahopl IDL source

This patch addresses a now-theoretical issue where a direct PCRUD
query of ahopl could return duplicate rows in cases where the patron
linked to the hold request has multiple penalties attached.

The significance of this change is likely minor nowadays, as ahopl
was directly used by Evergreen only by the Dojo and AngularJS hold
pull lists, and as of 3.8 the Evergreen Angular pull list uses a
different approach for querying the pull list. However, until such
time as ahopl is deprecated and removed, this change may help
local integrations.

Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoRemove test for feature not in branch.
Jason Boyer [Tue, 28 Mar 2023 17:35:42 +0000 (13:35 -0400)]
Remove test for feature not in branch.

LP 2002435 accidentally brought in the defaultNewRecord test added in LP 1989348
which fails as expected because that patch is not in this branch.

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP#1972738: add release note entry
Galen Charlton [Mon, 27 Mar 2023 19:55:32 +0000 (15:55 -0400)]
LP#1972738: add release note entry

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP#1972738: stamp schema update
Galen Charlton [Mon, 27 Mar 2023 19:53:31 +0000 (15:53 -0400)]
LP#1972738: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP#1972738: add an ANALYZE after the index gets created
Galen Charlton [Mon, 27 Mar 2023 19:52:18 +0000 (15:52 -0400)]
LP#1972738: add an ANALYZE after the index gets created

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP1972738: Add index on hopeless date
Jason Stephenson [Tue, 10 May 2022 15:07:25 +0000 (11:07 -0400)]
LP1972738: Add index on hopeless date

Add an index on action.hold_request hopeless_date column to speed up
hopeless holds processing.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP#1369345: de-duplicate ILS events and clean up whitespace
Chris Sharp [Wed, 8 Mar 2023 16:25:01 +0000 (11:25 -0500)]
LP#1369345: de-duplicate ILS events and clean up whitespace

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoclear RELEASE_NOTES_NEXT after releease of 3.9.2
Galen Charlton [Mon, 27 Mar 2023 15:50:39 +0000 (11:50 -0400)]
clear RELEASE_NOTES_NEXT after releease of 3.9.2

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoforward-port version upgrade scripts
Galen Charlton [Mon, 27 Mar 2023 15:46:18 +0000 (11:46 -0400)]
forward-port version upgrade scripts

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoTranslation updates - newpot
Galen Charlton [Fri, 24 Mar 2023 18:40:16 +0000 (14:40 -0400)]
Translation updates - newpot

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoDocs: 3.9.2 release notes - edited
Michele Morgan [Fri, 24 Mar 2023 17:00:00 +0000 (13:00 -0400)]
Docs: 3.9.2 release notes - edited

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
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 agoupdate 3.9.2 release notes to include security fix information
Galen Charlton [Fri, 24 Mar 2023 17:41:24 +0000 (13:41 -0400)]
update 3.9.2 release notes to include security fix information

Also fixes a typo

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoDocs: 3.9.2 release notes
Andrea Buntz Neiman [Thu, 23 Mar 2023 21:18:12 +0000 (17:18 -0400)]
Docs: 3.9.2 release notes

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
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 agoLP # 1965447: adjust scoping of item tags Angular Holdings Editor
Jessica Woolford [Fri, 9 Dec 2022 15:54:43 +0000 (10:54 -0500)]
LP # 1965447: adjust scoping of item tags Angular Holdings Editor

Scopes to the org unit and ancestors of the signed-in
user's workstation when adding a new item tag.

Signed-off-by: Jessica Woolford <jwoolford@biblio.org>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP#2012105 - Comment typo in AddedContent.pm
Josh Stompro [Fri, 17 Mar 2023 19:14:43 +0000 (14:14 -0500)]
LP#2012105 - Comment typo in AddedContent.pm

Small tiny comment typo HTPP istead of HTTP

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
21 months agoLP#2002435 release note
Michele Morgan [Fri, 17 Mar 2023 14:46:31 +0000 (10:46 -0400)]
LP#2002435 release note

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
21 months agoLP2002435: Add optional undelete action to basic admin page
Jane Sandberg [Fri, 3 Feb 2023 00:15:32 +0000 (16:15 -0800)]
LP2002435: Add optional undelete action to basic admin page

By default, this undelete action is only enabled on the shelving
location editor.

Also, only show admin page delete button if everything
selected is deleteable

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
21 months agoLP2002435: Don't allow shelving location fm-editor to change delete flag
Jane Sandberg [Wed, 11 Jan 2023 03:17:18 +0000 (19:17 -0800)]
LP2002435: Don't allow shelving location fm-editor to change delete flag

To test:
1. Go to the Local Admin > Shelving Locations Editor screen
2. Select a location and edit it.
3. Note that with this patch in place, the Delete checkbox
is no longer editable.

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
21 months agoDocs: Update describing_your_organization.adoc
spmorrison [Wed, 8 Mar 2023 19:59:21 +0000 (14:59 -0500)]
Docs: Update describing_your_organization.adoc

Updated the Create and edit Organization Unit Types section as well as the Organization Units sections to update text and add screenshots. Also added instructions for hours of operation notes (released in 3.10).

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
21 months agoUpdating best practices for web browser to include turning off Google Translate
Gina Monti [Tue, 14 Feb 2023 15:49:32 +0000 (10:49 -0500)]
Updating best practices for web browser to include turning off Google Translate

For the DIG revamp project.  No LP.

Signed-off-by: Jane Sandberg <js7389@princeton.edu>
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 agoDocs: LP1863921 max-old-space-size param when building angular
Jane Sandberg [Tue, 20 Sep 2022 13:40:03 +0000 (06:40 -0700)]
Docs: LP1863921 max-old-space-size param when building angular

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
21 months agoSync upgrade_log
Jason Boyer [Sun, 5 Mar 2023 21:40:25 +0000 (16:40 -0500)]
Sync upgrade_log

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP1441750: Stamp Upgrade Script
Jason Boyer [Sun, 5 Mar 2023 21:17:49 +0000 (16:17 -0500)]
LP1441750: Stamp Upgrade Script

Also update unapi.mmr and actor.usr_merge to account for drift.

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP#1441750: use string_agg (again and again)
Jason Stephenson [Fri, 8 Mar 2019 14:30:41 +0000 (09:30 -0500)]
LP#1441750: use string_agg (again and again)

Update the upgrade/fix for name keyword moving in the actor.usr_merge
function.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP#1441750: use string_agg (again)
Ben Shum [Wed, 2 May 2018 22:31:08 +0000 (17:31 -0500)]
LP#1441750: use string_agg (again)

Some older style ARRAY_TO_STRING(ARRAY_AGG()) should be replaced to
use the native STRING_AGG() that comes with PG 9+.  This should improve
performance for these functions.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP#1996908: Expand support for eg.auth.token to other legacy mod_perl handlers (but...
Mike Rylander [Thu, 1 Dec 2022 19:41:34 +0000 (14:41 -0500)]
LP#1996908: Expand support for eg.auth.token to other legacy mod_perl handlers (but not the OPAC)

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP#1996908: allow OpenILS::WWW::Proxy::Authen to check eg.auth.token
Galen Charlton [Thu, 17 Nov 2022 15:09:39 +0000 (10:09 -0500)]
LP#1996908: allow OpenILS::WWW::Proxy::Authen to check eg.auth.token

This patch allows the authentication handler to accept the
'eg.auth.token' cookie coming from the staff client if a 'ses' parameter
or 'ses' cookie has not been set. This allows resources gated by
this handler to be accessed by a staff member who has logged
into the staff client without requiring an additional login.

To test
-------
[1] Create a report and note the URL of one of its
    outputs.
[2] In a completely fresh browser session, log into the
    staff client, then directly load the reporter output.
    You will be prompted to log in again because the 'ses'
    cookie was not set.
[3] Apply the patch and repeat step 2. This time, the reporter
    output should be directly retrieved.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP1625192 Filtering Grid refreshes to 1st Page
Mike Risher [Tue, 12 Jan 2021 20:46:55 +0000 (20:46 +0000)]
LP1625192 Filtering Grid refreshes to 1st Page

Modify the old DOJO grid so that when you filter the grid it resets
to the first page.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP1998355: Stamp Upgrade Script
Jason Boyer [Sun, 5 Mar 2023 18:04:58 +0000 (13:04 -0500)]
LP1998355: Stamp Upgrade Script

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP#1998355: reduce growth of DYM dictionary
Galen Charlton [Wed, 30 Nov 2022 16:10:36 +0000 (11:10 -0500)]
LP#1998355: reduce growth of DYM dictionary

This patch reduces the number of updates to search.sympell_dictionary
rows that would not change the contents of those rows, thereby
reducing the potential for certain record maintenance operations to
significantlly bloat that table.

In particular, it adjust the upsert to update the row for an existing
prefix only if there would be a net change in at least one of the *_count
columns or the list of suggestions. (Note that if a row is the target of
an UPDATE statement, PostgreSQL will _always_ create a row version, even
if there is no change to the contents of the row.)

It should be noted that while this patch is useful in and of itself, there
is a longer-term fix that would have additional benefits: adjust the
overall reingest logic so that it minimizes changes to all large tables
derived from the bib record when a bib gets reingested. A row that never
gets touched because it doesn't have to be can never become bloat.

To test
-------
[1] In a Concerto database, ensure that idempotent updates of the MARC
    in biblio.record_entry will nonetheless force a reingest by running:

    update config.internal_flag set enabled = true where name = 'ingest.reingest.force_on_same_marc';

[2] Note the size of search.symspell_dictionary by running:

    select pg_size_pretty(pg_total_relation_size('search.symspell_dictionary'));

[3] Run a few rounds of the following update that forces a reingest of the bibs:

    update biblio.record_entry set id = id;

[4] For the sake of fairness, run a vacuum on the table:

    VACUUM ANALYZE search.sympsell_dictionary

[5] Run the size measuremeant again and not that it's significantly larger.

[6] Run the following the reset the table size:

    VACUUM FULL search.symspell_dictionary;

[7] Note the size, apply the patch, and repeat step 3.

[8] This time, the table size should be the same (or close to the same) as it
    was at the beginning of step 7.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 months agoLP#1999401 release note
Michele Morgan [Fri, 3 Mar 2023 18:17:16 +0000 (13:17 -0500)]
LP#1999401 release note

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
21 months agoLP1999401: Don't override magic statuses from holdings editor templates
Jane Sandberg [Wed, 22 Feb 2023 04:48:31 +0000 (20:48 -0800)]
LP1999401: Don't override magic statuses from holdings editor templates

1. Create a new template including a status
2. Check out an item
3. Apply your template to the item
4. Note that the item's status is no longer Checked Out
5. Apply this patch
6. Retry steps 1-3.  Note that the item's status is still Checked Out

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Elizabeth Davis <elizabeth.davis@sparkpa.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
21 months agoLP1999401: Don't apply magic statuses from holdings editor templates
Jane Sandberg [Wed, 11 Jan 2023 00:59:14 +0000 (16:59 -0800)]
LP1999401: Don't apply magic statuses from holdings editor templates

1. Create a new template in the holdings template editor with a few
different values in various fields.
2. Include a "magic" status in your template (like Lost or In
Transit).  To select it, you can type the first few characters
then press <Tab>.
3. Save your template.
4. Apply your template to an item.
5. Note that the copy status has changed to a magic status.
6. Apply this patch.
7. Try applying your template to another item.
8. Note that the copy status field doesn't change this time,
but other fields from your template should still apply.

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
21 months agoLP#2007351: fix the MARC editor heading linker for certain fields
Galen Charlton [Wed, 15 Feb 2023 17:01:47 +0000 (12:01 -0500)]
LP#2007351: fix the MARC editor heading linker for certain fields

The headings linker in the Angular bib record editor could fail
to retrieve the relevant authority control field metadata to determine
what subfields in the bib record are controlled by a top-level authority
record (as opposed to a subdivision record). This patch fixes this
by adjusting the query for bib-to-authority linking relationships.

This manifiested by the headings linker not consistently bringing
up the headings browse when attemping to link headings in the bib
600, 600, 651, and 655 field.A

To test:

[1] Open a bib record in the Angular MARC editor and create a 650
    field.
[2] Click the button to open the headings linker. Note that no
    browse is performed. (This is not 100%, as the bug is sensitive
    to the exact order that the database happens to return rows
    from the authority.control_set_bib_field table.)
[3] Apply the patch and repeat step 2.
[4] This time, the browse list in the headings linker should show
    results.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Carol Witt <wittc@cwmars.org>
21 months agoLP#1706664 - This adds Mark Item docs
Jennifer Pringle [Thu, 3 Nov 2022 18:59:34 +0000 (11:59 -0700)]
LP#1706664 - This adds Mark Item docs

Documentation for marking items of different status including Missing Pieces.

Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
signed-off-by: Debbie Luchenbill <deborah@mobiusconsortium.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP#1980142: adjust styling of patron message body in Bootstrap OPAC
Galen Charlton [Wed, 16 Nov 2022 17:11:22 +0000 (12:11 -0500)]
LP#1980142: adjust styling of patron message body in Bootstrap OPAC

This patch resolves an issue where the text of the message body
could be rendered very small due to default styles applied to the <pre>
element. In particular, it converts the <pre> to a <p> and restores
a TPAC-era style that ensures that

* long lines in the message wrap
* but line breaks are also preserved (see LP#1927990)

This patch also ensures that the message body is not displayed with
label but no contents if the body is empty.

To test
-------
[1] Create a public patron note that contains line breaks and
    long lines.
[2] Note that in the Bootstrap OPAC message view, the message
    displays with fixed-width text (that may use a smaller font
    than the rest of the page) and has a horizontal scrollbar
    (due to the long line).
[3] Apply the patch and look at the message again in the OPAC.
    This time, the long line should wrap, but line breaks are
    also preserved.

This patch includes a portion of a patch by Garry Collum.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Mary Llewelln <mllewell@biblio.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
21 months agoLP1989284 Input labels for Manage Authorities
Stephanie Leary [Thu, 22 Dec 2022 17:46:03 +0000 (11:46 -0600)]
LP1989284 Input labels for Manage Authorities

Adds <label> tags for the search term and authority type field inputs in
Cataloging -> Manage Authorities.

To test, run axeDevTools on this screen. The two form label warnings
that previously appeared should now be gone.

LP1989284 Add ID for authority combobox

Signed-off-by: Stephanie Leary <stephanie.leary@equinoxOLI.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLp 2008925: Patch Templates Adversely Affected by Lp 1992490
Jason Stephenson [Wed, 1 Mar 2023 19:34:25 +0000 (14:34 -0500)]
Lp 2008925: Patch Templates Adversely Affected by Lp 1992490

The patch for Lp 1992490 wrapped several text blocks in the l()
translation function.  At least two of these introduced syntax error
in Template Toolkit.  Some of the others could have been done
differntly to fit in better with the general idiom of how we use the
fuction in Evergreen.

This commit modifies those that stood out as the most egregious
examples.

An easy way to test this is to login to the OPAC on an unpatched
system and click to open "Messages."  You will get an Internal Server
Error.  After you apply this commit and install the affected
templates, you will not get an Internal Server Error.

The other modified templates do not seem to crash, but use the
translation funciton in idiosyncratic ways.  This commit attempts to
smooth those out.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
21 months agoLP #1998494: Angular Holdings Editor: Cannot create empty call numbers
Jessica Woolford [Fri, 9 Dec 2022 15:32:25 +0000 (10:32 -0500)]
LP #1998494: Angular Holdings Editor: Cannot create empty call numbers

Returns support for adding empty call numbers when adding holdings.

Signed-off-by: Jessica Woolford <jwoolford@biblio.org>
Signed-off-by: Mary Llewelln <mllewell@biblio.org>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.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.9.1 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>
21 months agoLP2007591 Allow Last-Copy Delete to Create Hold Notices
Bill Erickson [Thu, 16 Feb 2023 16:02:49 +0000 (11:02 -0500)]
LP2007591 Allow Last-Copy Delete to Create Hold Notices

Fixes an issue where attempting to create A/T events for recently
canceled holds fails becuase the cancel_time on the hold is the
pre-insert value of "now" instead of a valid date string.

Resolve the issue by fetching the post-insert copy of the hold, so it has
all of the correct in-database values, before passing the hold to A/T
for processing.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
21 months agoLP1980874 Limit depth dropdown in patron notes
Stephanie Leary [Thu, 19 Jan 2023 15:18:40 +0000 (09:18 -0600)]
LP1980874 Limit depth dropdown in patron notes

Adds standard form control styling to the depth select menu in the
Patron > Create Note modal. This limits the width of the closed dropdown
to the width of the form and prevents long labels from overflowing.

This does not prevent the individual options from overflowing the
<select> width due to the limited CSS support for the <option> tag; all
width and text wrap properties are currently unsupported.

Signed-off-by: Stephanie Leary <stephanie.leary@equinoxOLI.org>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP2003742 Shelf browse in angular catalog uses deleted call numbers
Garry Collum [Tue, 24 Jan 2023 16:22:28 +0000 (16:22 +0000)]
LP2003742 Shelf browse in angular catalog uses deleted call numbers

Fixes the call number browse.  To determine the call number for which
the browse list displays, deleted call numbers are not removed from
the query.

To test in Concerto:
1. Go to a bib and click on the shelf browse tab. Notice where the list
begins.
2. Add a new item with a call number less thatn the starting point of
the browse list.  For example, if the list begins at 780, create
a call number at 100.
3. Refresh the browse screen and notice that the list now begins at
the lower call number.
4. Delete the item and call number that was created, the list still
begins at the lower call number.
5. Apply the patch.
6. The list should now begin at it's original call number.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
22 months agoLP#1999944: fix bug that can break drawing the folder tree for reports
Llewellyn Marshall [Fri, 9 Dec 2022 20:40:54 +0000 (15:40 -0500)]
LP#1999944: fix bug that can break drawing the folder tree for reports

Specifically, skip drawfolders iteration if parent node cannot be
found and eport invalid parent folder in the browser console.

For example, if a user creates a template folder that is not shared
that has a child folder that _is_ shared, another user at the library
that the folder is shared with would see their report folders be
incompletely rendered.

Signed-off-by: Llewellyn Marshall <llewellyn.marshall@ncdcr.gov>
Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP#1988321: Fix comparison problems to avoid incorrect error
Chris Sharp [Tue, 17 Jan 2023 16:11:36 +0000 (11:11 -0500)]
LP#1988321: Fix comparison problems to avoid incorrect error

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
22 months agoLP1969641 Show useful lack of staff working location message
Bill Erickson [Wed, 20 Apr 2022 16:08:52 +0000 (12:08 -0400)]
LP1969641 Show useful lack of staff working location message

When a user logs into the staff client that has STAFF_LOGIN permissions,
but no working locations, show a message to this affect instead of
resulting in a blank page.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP#2003755 No Stat Cat Change Indication When Applying Template
Dan Briem [Wed, 25 Jan 2023 04:11:08 +0000 (23:11 -0500)]
LP#2003755 No Stat Cat Change Indication When Applying Template

Add indicator styles on statistical category form fields when
they are applied by a template in the Angular Holdings Editor.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Beth Willis <willis@noblenet.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>
22 months agoLP#1945355 Inconsistent button placement: delete holdings dialog
Dan Briem [Wed, 9 Feb 2022 16:44:54 +0000 (11:44 -0500)]
LP#1945355 Inconsistent button placement: delete holdings dialog

The cancel button on the delete-volcopy-dialog now appears last
to be consistent with the eg-confirm dialogs.

To test:
1. set the ou setting "Alert on empty bib records" to true
2. delete the last copy on a record
3. note the Delete Holdings/OK and Cancel buttons are in the
   same order on the delete and confirmation dialogs

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP1980302 Bootstrap: applied search filters display oddly
Garry Collum [Thu, 14 Jul 2022 16:43:53 +0000 (16:43 +0000)]
LP1980302 Bootstrap: applied search filters display oddly

Moves the display of applied filters into bootstrap alert messages and aligns applied filters
in a row, and utilizes more native bootstrap classes.  Also, adds a label to the 'Locations'
filter and code to implement an 'OR' separator, if more than one location is selected.

To test:
1. Perform an advanced search in the bootstrap catalog and apply some filters. To test
the locations, select several location options.
2. Notice the formatting of the 'Filtered by:' display data.  Notice also the display
of the locations filter without a label or a separator.
3. Apply the patch.
4. Repeat 2 to see the new formatting.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Gina Monti <gmonti@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP1965065 Example DOB on self-registration displays twice
Garry Collum [Tue, 28 Jun 2022 15:07:46 +0000 (15:07 +0000)]
LP1965065 Example DOB on self-registration displays twice

This fixes the double display of the example text in the self-registration form of the opac.
Not only does DOB example display twice but the example text for phone, email, and
postal code also display twice.

To test:
1. Go to library settings and set "Allow Patron Self Registration" and "Show DOB field on patron
registration" to true.  Set a value for "Example dob field on patron registration".  If testing
phone, postal code, or email the appropriate values must be set for the show and example
parameters.
2. Go to "Request a Library Card" in the opac.
3. Notice that the DOB example displays twice.
4. Apply the patch.
5. The example now just displays once.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Gina Monti <gmonti@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP#1984269: Bootstrap opac: display of tables on small screens
Garry Collum [Thu, 11 Aug 2022 18:44:19 +0000 (18:44 +0000)]
LP#1984269: Bootstrap opac: display of tables on small screens

This incorporates a generic process to display vertical tables in the Bootstrap
opac in small screens by adding a 'mobile-title' attr to any <td> elements
of the table.  This patch uses the copy_table.tt2 and results/table.tt2
as examples.

These two tables are best tested with bibs that contain items that have parts.
The results/table.tt2 is displayed by using the "Show More Details" button
on the results screen.  When the screen is sized so that the tables become
vertical the parts column is not displayed.  After the patch is applied
the parts column is displayed only on those bibs that contain parts.

For these two particular tables, it also refactors the method
in which the copies are numbered with the lists.  Prior to the patch the
mobile display would show the copy number, but it would stop at 10 for both
of these tables, because that's what was defined in CSS.  They should now
display a number for each table row displayed.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP1983020-Bootstrap opac: Electronic links pagination button.
Garry Collum [Fri, 5 Aug 2022 13:27:33 +0000 (13:27 +0000)]
LP1983020-Bootstrap opac: Electronic links pagination button.

Fixes the placement of the previous and next buttons in the Bootstrap Opac
when the record contains electronic links and physical items.

To Test:
1. To fully test a record with physical items, a record with electronic
links, and a record with both physical items and electronic links need
to be viewed in the opac.
2. On each of these records notice the placement of the previous
or next buttons.
3. Apply the patch.
4. View the 3 types of records after the patch is applied.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
22 months agoLP#1983729: Bootstrap Opac: fix copy navigation links in small screens
Garry Collum [Wed, 10 Aug 2022 17:05:14 +0000 (17:05 +0000)]
LP#1983729: Bootstrap Opac: fix copy navigation links in small screens

This moves the previous, next, and Show more copies links out of the
copies table so that these values do not have incorrect labels on small
screens.

To test:
1. Retrieve a bib record with a large number of copies.
2. In a small screen notice that the previous, next, and show more copies
links are labeled, as Library and Call Number.
3. Apply the patch.
4. Repeat step 2.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
22 months agoLP1980304 Bootstrap: Facets move when viewing results for grouped records.
Garry Collum [Wed, 14 Sep 2022 15:01:00 +0000 (15:01 +0000)]
LP1980304 Bootstrap: Facets move when viewing results for grouped records.

Fixes the displacement of the facets in the bootstrap opac when viewing grouped records.

To test:
1. Perform a search in the bootstrap opac with the Group Formats and Editions option
selected.  In concerto - "Ready Player One"
2. Click on a resulting title that contains more than one format.
3. Notice the placement of the facets.
4. Apply the patch and repeat.
5. The facets should no longer be displaced when viewing metarecords or non-metarecords.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
23 months agoLP1966995: Bootstrap Opac: fix display of 856 $n, $z, and $3
Garry Collum [Fri, 5 Aug 2022 14:45:27 +0000 (14:45 +0000)]
LP1966995: Bootstrap Opac: fix display of 856 $n, $z, and $3

This fixes the display in the Bootstrap Opac for the 856 subfields n, z, and
3.

To test:

1. Create a record(s) with 856 fields which contain a combination of
subfield n, z and 3's.
2. Prior to the patch the fields do not display in the bootstrap opac.
3. Apply the patch.
4. The fields will now display.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Carol Witt <wittc@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
23 months agoLP#1976126: (follow-up) update method documentation
Galen Charlton [Tue, 11 Oct 2022 20:06:24 +0000 (16:06 -0400)]
LP#1976126: (follow-up) update method documentation

This patch updates the open-ils.actor.patron.update method
documentation to explicitly state that updates to patron notes,
user activity, and standing penalities via that method are
ignored. This is to try to avoid a regression on this bug, as
otherwise it might be plausible for the method to allow the notes
and standing penalties (at least) to be updated.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
23 months agoLP#1976126: Don't send useless (big) user data
Mike Rylander [Fri, 27 May 2022 20:48:41 +0000 (16:48 -0400)]
LP#1976126: Don't send useless (big) user data

When saving a user in the AngularJS UIs, we currently send the notes,
usr_activity, and standing_penalties fields to the actor service.
However, that's not how those get updated, and with large sets that can
cause problems.  This commit removes those fields before saving the
user.

Signed-off-by: Mike Rylander <mrylander@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 agoLP 1999696 - Saving stat cats and values in holdings templates
Jessica Woolford [Fri, 6 Jan 2023 20:32:42 +0000 (15:32 -0500)]
LP 1999696 - Saving stat cats and values in holdings templates

Updating the saveTemplate function so that is consults statCatValues

Signed-off-by: Jessica Woolford <jwoolford@biblio.org>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
23 months agoLP19800544 Import all holdings templates
Adam Woolford [Fri, 6 Jan 2023 20:13:53 +0000 (15:13 -0500)]
LP19800544 Import all holdings templates

Adds loop to importTemplate function so that the whole file will import

Signed-off-by: Adam Woolford <adam.woolford@hotmail.com>
Signed-off-by: Jessica Woolford <jwoolford@biblio.org>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>