Jane Sandberg [Thu, 30 Jan 2020 19:40:13 +0000 (11:40 -0800)]
LP1821094: Add an AngularJS module that runs promises in batches
This service helps to reduce server load for repetitive OpenSRF
calls by dividing a large array of promises into batches. It
maintains the original order of the array when returning results.
Within each batch, calls are sent simultaneously. The batches
themselves are run sequentially.
This represents a middle ground between running a ton of OpenSRF
calls sequentially -- which leads to a long wait for the user --
and running them simultaneously, which can result in some serious
wait times.
One use case is when you need to get several rows from pcrud,
but the order of results is important and can't be just passed
using orderBy.
To use, you can just replace $q.all with egBatchPromises.all
This also changes the item status refresh code to use
egBatchPromises.all instead of $q.all, in response to some
pcrud-monopolizing noted in
https://bugs.launchpad.net/evergreen/+bug/1821094/comments/14
Release-note: Improves performance of item refresh after batch editing
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxoli.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Jane Sandberg [Sun, 28 Apr 2019 17:57:30 +0000 (13:57 -0400)]
LP1821094: Improve item status reload performance
To test:
1) Create a file with 500 or more item barcodes.
2) Load your file into Item Status.
3) Select a few rows.
4) Go to Actions > Edit > Items.
5) Make some changes, then Save and Exit.
6) Time how long it takes between clicking
"Save and Exit" and when the grid actually
refreshes.
7) Repeat steps 2-6, but use Actions > Edit
> Call Numbers instead.
8) Apply this commit.
9) Repeat steps 2-7. The time should be much
faster with this commit.
10) Verify that no columns lose their data
when refreshed, especially monograph parts
and in-house use count.
11) Note that there is also a progress bar.
Jason Stephenson [Tue, 26 Mar 2024 15:37:08 +0000 (11:37 -0400)]
LP#2404514: Disable StrictHostKeyChecking in Net::SFTP::Foreign
Set the StrictHostKeyChecking option to no when using
Net::SFTP::Foreign. Doing so allows the connection to proceed if
we've never connected to the server before or if the host key changes.
Note: This change has implications for security. It should be kept as
a stand-alone commit in case a site decides to remove it.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Ken Cox [Mon, 18 Mar 2024 18:15:59 +0000 (14:15 -0400)]
LP#2057948: Add Idempotency-Key to prevent duplicate stripe requests
* Create key from sorted list of transaction IDs passed through md5_hex.
* Do not include xact param for now, since I am not sure what it is;
xact_misc is the list of transaction IDs selected in the payment form.
* Pass header through -ua_args option when constructing the Stripe obj,
because the per-request method is not published yet to CPAN.
Tested with manual code on Ubuntu 22 LTS and Business::Stripe 0.07.
Release-note: Adds idempotency to Stripe to prevent duplicate payments
Signed-off-by: Ken Cox <kenstir@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Gina Monti [Sat, 13 Jan 2024 14:20:38 +0000 (09:20 -0500)]
LP#1929596: Adds help popover text next to 'Convert change to patron
credit'
Search for a patron
Go to Bills
Note the popover text next to 'Convert change to patron credit' modifier
Release-note: Adds help button for 'Convert change to patron credit' on patron bills
Signed-off-by: Gina Monti <gmonti@biblio.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
<eg-help-popover help-text="[% l('Applies any remaining amount after payment to the patron account for future use.') %]">#
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Steven Mayo [Tue, 23 Jan 2024 16:48:45 +0000 (11:48 -0500)]
LP#2047158 Annotate Payment Popup Box Skipped When Using Keyboard
Navigation
Changed AngularJS text input modal to submit on keydown instead of
keyup.
This stops the modal from immediately closing after being opened by
the enter key.
Release-note: Fixes annotate payment when using keyboard navigation
Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Eva Cerniňáková <cernin@jabok.cz> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Jane Sandberg [Thu, 4 Jan 2024 21:58:16 +0000 (13:58 -0800)]
LP1930099: Make generate_docs.pl Windows-compatible
* Use `npx` rather than relying on specific paths to
binaries within node_modules.
* Use the cross-platform $ENV and File::Copy provided
by Perl, rather than using the platform-specific
command-line syntax.
To test on Windows:
1) Use the instructions provided in the comment at
the top of generate_docs.pl.
2) Make sure that the locally generated documentation
displays correctly in your browser.
To test for regressions on Linux or MacOs:
1) `cd /path/to/Evergreen/docs && perl generate_docs.pl`
2) Make sure that the locally generated documentation
at /path/to/Evergreen/docs/output/index.html displays
correctly in your browser.
Release-note: Allow Windows users to generate the Evergreen manual locally.
Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxOLI.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Jason Boyer [Mon, 9 Sep 2019 19:29:47 +0000 (15:29 -0400)]
LP1525394: Return Titles for All Hold Types in SIP
The SIP Patron Status Response message can include hold
titles if requested by the SIP client. This commit
adds Issuance holds to the previous commit addressing
part holds, and should finally represent full coverage
for our hold types.
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
blake [Fri, 11 Dec 2015 21:28:17 +0000 (15:28 -0600)]
LP1525394 SIP patron part level holds respond blank
Added code to flesh part level hold information in SIP/Patron.pm
In order to test this, you will need to identify a patron who has
a part level hold. Query SIP with a 63 message like:
6300120151211 104201 Y AOhidden|AApatronbarcode|AC|AY1AZF08D
and the server should respond with the title in the |CD field for that
part level hold.
Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Galen Charlton [Wed, 7 Feb 2024 14:02:29 +0000 (09:02 -0500)]
LP#2052567: allow Reports to load when BitWarden plugin is active
This patches works around an issue where the legacy Reports interface
can fail to load if the BitWarden plugin is installed on the
user's browser.
To test
-------
[1] Set up your browser with the BitWarden plugin. It looks like it's
necessary to create an account on the BitWarden service or on
a self-hosted instance in order to exercise the bug.
[2] Attempt to load the Reports interface. It should fail to load.
[3] Apply the patch and repeat step 2. This time, the interface should
load and function normally.
Release-note: Fixes issue where Reports interface would not load if the BitWarden browser plugin is installed
Steven Mayo [Thu, 30 Nov 2023 16:30:49 +0000 (11:30 -0500)]
LP#2028095: Fix typo in Library Setting Description for acq.default_owning_lib_for_auto_lids_strategy
Updated the description for acq.default_owning_lib_for_auto_lids_strategy to the text suggested in the ticket.
Release-note: Improves description of the "How to set default owning library for auto-created line item items" Library Setting
Steps to test:
[1] Run XXXX.data.default_owning_lib_for_auto_lids_strategy_typo_fix.sql or install the seed data anew
[2] Go to Administration -> Local Admin -> Library Settings Editor
[3] Search for acq.default_owning_lib_for_auto_lids_strategy
[4] Read description
Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Susan Morrison <smorrison@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Jeff Davis [Thu, 13 Apr 2023 22:11:24 +0000 (15:11 -0700)]
LP#2016188: avoid EDIWriter error when PO ordering agency has no mailing address
Release-note: Fixes EDI error when PO ordering agency has no mailing address
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
FMRecordEditorComponent was depending on the @reporter:datatype to
identify the primary key (identity) field for an FM class. Instead, it
should check the field name against the @oils_persist:primary attribute
of the <fields> element, which gets around the special case of org unit
id having a declared datatype of "org_unit", and future-proofs against
other possible edge cases.
This commit does that.
To test
-------
[1] Update the Organizational Units page's form to include "id" as
a visible field, a la bug 2051879.
[2] Note that the form display a selector.
[3] Apply the patch and recompile the Angular staff client.
[4] This time, the OU ID should display as a read-only number.
Release-notes: Makes it possible to display the org unit ID as a number on Angular record editor forms for editing org units
Josh Stompro [Thu, 3 Aug 2023 19:58:52 +0000 (14:58 -0500)]
LP#1329872 - marc_export exit when required IDs are missing
The marc_export script would handle being passed invalid or empty
IDs as if you had the --all flag selected. So if you accidentally
generated a file with a list of BIB id numbers that was empty and
passed it to the script, you would end up with an export of all bibs
in the system instead of an empty export.
Testing Notes:
=== Before fix ===
Create an empty file, or a file that just contains "id".
$ touch input1
$ echo "id" > input2
All these commands should result in a full export of all bibs.
Terran McCanna [Fri, 29 Dec 2023 19:58:14 +0000 (14:58 -0500)]
LP2047704 Patrons with Negative Balances - Grid Columns
This adjusts the negative balances grid so that it shows the most
useful columns by default and upon reset. (Before this change,
resetting the columns showed ALL available columns.)
It also adds local column sortability.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Stephanie Leary [Mon, 4 Mar 2024 20:40:15 +0000 (20:40 +0000)]
LP1803788 Gear icon for AngularJS grid settings menu
Changes the icon for the grid settings dropdown menu in AngularJS
screens from the default Bootstrap downward caret to the gear icon, to
match the Angular grid buttons.
Release-note: Ensures that both AngularJS and Angular grids use a gear icon for the grid settings menu.
Galen Charlton [Tue, 5 Mar 2024 20:27:13 +0000 (15:27 -0500)]
LP#2056204: support "Form of item" in MARC editor for electronic resources
This patch adds mappings to the Angular and AngularJS MARC editors
so that the "Form" (form of item) fixed field positions in the 006
and 008 fields are recognized and (in the case of the 008) editable
via the "Form" input when the record type is "m" (electronic resources/computer files).
Release-note: Fixes problem where "Form" value could not be saved in MARC editor for electronic resources.
To test
-------
[1] Open a bib record of type 'm' (electronic resource) in the Angular
MARC editor.
[2] Change the form value with the input labeled "Form".
[3] Note that the corresponding position in the 008 is not updated.
[4] Apply the patch and repeat steps 1-3. This type, the change
should stick.
[5] Bonus: do the same testing in the AngularJS MARC editor.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Galen Charlton [Mon, 18 Mar 2024 15:09:17 +0000 (11:09 -0400)]
LP#1869971: (follow-up) also apply HTML::Defang in the OPAC templates
This patch ensures that HTML::Defang (via the defang_string() TT helper)
is applied to the value of the OPAC custom CSS library setting. This
provides additional protection in cases where questionable values
predate these patches or if another means (such as direct database entry)
is used to set the value of the setting.
LP#2034617: improve how AngularJS handles logout BroadcastChannel messages
This patch reduces the risk that if there are multiple tabs of the
AngularJS staff client open, that logging out from one of them will
cause a storm of logout messages on the eg.auth BroadcastChannel.
If the open staff client tabs are all AngularJS, the result of that
storm can freeze the user's browser. However, if one or more of
the tabs are running the Angular client, the Angular tabs can
_also_ make repeated open-ils.auth.session.delete calls at a high
rate of speed, thereby degrading the availability of the
open-ils.auth service.
Testing involves opening up 4 or 5 tabs running the staff client, with
at least three or four of them running the AngularJS client. It
is strongly recommended that testing of this patch be done only on
personal, isolated test Evergreen systems.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Galen Charlton [Tue, 30 Jan 2024 15:19:22 +0000 (10:19 -0500)]
LP#2051599: fix parsing of start and end dates by Cash Reports
This patch fixes a bug where if you open the Cash Reports at a
time of day where the date in the local time zone is different
from the date in UTC and do not interact with the date selectors,
the report will not display payments made during the current day.
The problem was due to the use of Date.toISOString() when
attempting to extract just the date component; since Date.toISOString()
forces the timestamp to UTC. The effect is that if you (say) open
the Cash Reports page in North America sufficiently late in the date,
the date selectors will display your current date, but the query
to fetch payment information will (silently) supply the following day.
To test
-------
[1] Make some patron bill payments.
[2] Open the Cash Reports at a time of day when an UTC clock would
report a different date from your local date. Observe that no
payments are listed or that payments from the previous day are
listed.
[3] Apply the patch and repeat step 2. This time, opening the Cash
Reports page should show the payments for the current day.
Release-note: Fix bug that could cause the Cash Reports page to display payments for the wrong day.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Galen Charlton [Tue, 23 Jan 2024 16:57:53 +0000 (11:57 -0500)]
LP#1779743: add privilege expiration date to Group Member Details
This patch adds the privilege expiration date to the list
of available columns in the AngularJS group member details
page. No equivalent change is needed to the experimental Angular
circ interface, as that column is already available there.
To test
-------
[1] Apply the patch.
[2] Navigate to a patron in the Evergreen staff interface
and view the Group Member Details page.
[3] Verify that the privilege expiration date is now available
in the column selector.
Release-note: Add privilege expiration date column to Group Member Details table
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Jane Sandberg [Mon, 11 Mar 2024 03:20:42 +0000 (20:20 -0700)]
LP2056480: docs: only index the latest version of the docs for lunr
This addresses a regression caused by bug 2056480.
To test:
* Build the docs using
cd docs
perl generate_docs.pl --base-url=http://example.com
* Open docs/output/index.html in your browser
* Type a search into the search box
* Note that you only get results for latest, rather than getting duplicate
results from multiple versions.
* Note that the file docs/output/search-index.js is now 3.3 MB, rather than
5.53 MB.
Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
* Update generate_docs.pl help text to note the new
default version
* Clean up more aggressively before installing Antora; I
discovered that if you switch from 2.3 to 3.1.7 without
doing so, the older version of the CLI still gets used
(and fails because 2.3 predates Antora's extension mechanism)
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
This patch updates the version of Antora used to build the documentation
to a supported release.
* Uses the new @antora/lunr-extension, rather than the antora 2 antora-lunr
* Fixes a few issues that are no longer supported in the new version of
asciidoctor
* Installs antora via the antora npm package, rather than installing
@antora/cli and @antora/site-generator separately
Release-note: Update the version of Antora used to build the documentation
Co-authored-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Co-authored-by: Robin Fitch <rfitch@biblio.org> Co-authored-by: Andrea Buntz Neiman <abneiman@equinoxOLI.org> Co-authored-by: Debbie Luchenbill <debbie@mobiusconsortium.org> Co-authored-by: Lena Hernandez <lena.hernandez@equinoxoli.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Galen Charlton [Wed, 28 Feb 2024 12:35:53 +0000 (07:35 -0500)]
LP#1828463: (follow-up) tweak focus outlines for buttons that are dropdown items
This patch makes the focus outline for buttons that are dropdown items
(e.g., Retrieve Last Bib Record in the Cataloging menu) match the
new style. This avoids the opacity of the focus outline from changing
when navigating between items in the nav menus that can contain
a mixture of anchors and buttons.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Terran McCanna [Tue, 24 Oct 2023 21:26:52 +0000 (17:26 -0400)]
LP1909585 Use full title on book list csv download
Adds subfield n and subfield p to CSV download for lists in the OPAC
in order to match the screen display.
To test:
1 - Create a List in the OPAC
2 - Add a record to the list that has subfields n and/or p (Concerto record id 224 has both)
3 - Download the CSV for the list to confirm that the full title appears
Release-note: Adds 245$n and 245$p to the title field in public catalog list CSV download, to better distinguish between multiple titles in the same series.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Stephanie Leary [Mon, 12 Feb 2024 19:03:32 +0000 (19:03 +0000)]
LP2052960 Remove button markup from record actions
Removes errant <button> elements that were nested inside the Patron View
and Place Hold links (in the bib record actions row of buttons below the
summary box). Buttons inside links are unnecessary and created an extra
tab stop when navigating the page via keyboard. Classes have been moved
to the <a> element to retain styling.
Release-note: Remove extra tab stops when navigating bib record actions in staff client using keyboard
Galen Charlton [Sat, 17 Feb 2024 16:13:11 +0000 (11:13 -0500)]
LP#2054128: OPAC autosuggest now gets closed when input loses focus
This patch ensure that the autosuggest list goes away when
the basic search box in the OPAC loses focus. Otherwise, it
can obscure controls that the user is trying to interact with.
To test
-------
[1] Enter a search term in the OPAC and observe that the
dropdown of suggestions appears.
[2] Tab or click away from the input. Note that the dropdown
remains open.
[3] Apply the patch and repeat steps 2 and 3. This time, the
dropdown should get closed.
Release-note: Close autosuggest dropdown in the public catalog when it loses focus.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Galen Charlton [Tue, 13 Feb 2024 16:52:50 +0000 (11:52 -0500)]
LP#2053035: return ability to submit OPAC basic search via enter
This patch fixes an issue with the current autosuggest implementation
that prevented submitting the form while focus is on the main
text input.
To test
-------
[1] Apply patch. Do the following tests using both keyboard
and mouse navigation.
[2] Verify that submitting a search without selecting any
of the suggested terms works.
[3] Verify that submitting a search after selecting one
of the suggestions works.
[4] Verify that submitting the search after using the keyboard
to navigate the selections, but ultimately not choosing
any of them, works.
[5] Run automated tests, e.g., by running
Release-note: Restore ability to submit basic OPAC search by hitting enter in search input.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: blake <blake@mobiusconsortium.org>
Chris Sharp [Sun, 12 Nov 2023 17:19:24 +0000 (12:19 -0500)]
LP#1901932: Do not add unused org settings to enhanced dataset.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Steven Mayo <smayo@georgialibraries.org>
blake [Wed, 17 May 2023 15:48:11 +0000 (10:48 -0500)]
LP#1901932 Enhancing the enhanced concerto dataset
- A date carry forward feature that carry's the various date columns
forward based upon the difference between today's date and the create_date
for asset.call_number in the dataset. Which is the default. This can be
skipped with with: psql -v skip_date_carry='1' -f load_all.sql
- Expansion of special cases for certain tables:
config.metabib_class, config.org_unit_setting_type, config.global_flag.
- Dropping these tables from consideration:
acq.acq_lineitem_history, acq.acq_purchase_order_history, permission.perm_list
Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Adding seq
Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Steven Mayo <smayo@georgialibraries.org>
AccessHandler.pm did not look for the newer eg.auth.token session cookie
so it was not possible to clear the added content cache unless the old ses
cookie was somehow set first. Now AccessHandler.pm will look for both cookie
names.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Galen Charlton [Wed, 31 Jan 2024 16:04:11 +0000 (11:04 -0500)]
LP#1939162: add option to clear added content cache to Angular staff catalog
This patch restores the ability to clear the added content cache
to the staff catalog by adding a "Clear Added Content Cache" item
to the Other Actions menu on the Angular staff catalog record page.
As with the former embedded staff catalog, clearing the added content
cache does not result in the staff catalog attempting to automaticaly
reload the cover image; the user will still need to reload the page
to see if the change has taken effect. Improving that behavior would
be for a separate bug.
This patch also includes a fix to tag an unrelated string for
localization.
To test
-------
[1] Ensure that at an added content handler is active.
[2] Install the patch.
[3] Navigate to a bib record in the Angular staff catalog.
[4] Observe that there is a Clear Added Content Cache item
in the Other Actions menu.
[5] Click it and note that a toast stating that the cache was
cleared is displayed.
[6] (extra credit) Test while making changes to the record (say
to the ISBN) that would result in a different cover image
being provided by the added content source.
[7] (extra credit) Update opensrf.xml to remove the added content
handler, restart services and Apache, then try the cache-clearing
action. This time, toast should be displayed stating that the
action failed.
Release-note: Adds a "Clear Added Content Cache" item to the Other Actions menu in the staff catalog record page.
Tiffany Little [Wed, 13 Dec 2023 21:30:21 +0000 (16:30 -0500)]
LP2040637 Reverse fund dropdown regression
Returns Dojo behavior of compiling fund view based on perms rather than work OU.
Release-note: The fund dropdowns for line items and direct charges on purchase orders now display funds that user has permission to use.
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Elizabeth Davis <elizabeth.davis@sparkpa.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Galen Charlton [Wed, 14 Feb 2024 14:28:03 +0000 (09:28 -0500)]
LP#1890822: (follow-up) update comments and documentation
This patch adds a comment to clarify that the database transaction
isolation level must be "read committed" (as is the default for Pg)
in order for penalties created in one transaction to be seen by another
one. It also extends the documentation to cover behavior for SIP2
checkouts and renewals.
Jane Sandberg [Tue, 13 Feb 2024 21:44:37 +0000 (13:44 -0800)]
LP1890822: incorporate feedback from review
* Put the penalty calculation in its own transaction, so
applicable penalties remain on the patron account, even
if the circulation is canceled.
* Don't hard-code a list of threshold-based penalties in
the penalty calculation call. calculate_penalties only
concerns itself with threshold-based penalties anyway,
so there was no need to enumerate them (and I missed
two anyway).
* Update a comment to better match the new state of affairs.
Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Jane Sandberg [Tue, 2 Jan 2024 03:33:58 +0000 (19:33 -0800)]
LP1890822: Don't checkout in cases where a patron is eligible for a penalty, but hasn't received it yet
To test:
1. In Local Admin > Group Penalty Threshold, set the
PATRON_EXCEEDS_OVERDUE_COUNT threshold to 1.
2. Find a patron who has more than 1 overdue.
3. Try to check another item out to the patron.
4. Confirm that you get an alert PATRON_EXCEEDS_OVERDUE_COUNT
and the item does not check out.
Note that this adds a penalty check to the checkout logic, rather than
to the patron retrieval logic as suggested in
https://bugs.launchpad.net/evergreen/+bug/1983621, since this will also
address SIP checkouts.
Also adds characterization tests for relevant stored procedures.
Release-note: Fix bug that allowed one checkout after a patron had reached a group penalty threshold, for example PATRON_EXCEEDS_OVERDUE_COUNT or PATRON_EXCEEDS_CHECKOUT_COUNT.
Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Sponsored-by: PaILS Signed-off-by: Elizabeth Davis <elizabeth.davis@sparkpa.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Galen Charlton [Mon, 29 Jan 2024 15:49:24 +0000 (10:49 -0500)]
LP#2051557: ignore deleted monograph parts when checking title holds
This patch ensures that when "Require Monographic Part when Present"
is in effect, that deleted monograph parts are not taken into
account when checking whether a title-level hold is possible.
To test
-------
[1] Set up a bibliographic record that has at least one monograph
part, then delete that part.
[2] Turn on the "Require Monographic Part when Present" library setting.
[3] Attempt to place a title-level hold on the record. Note that the
following error is returned: "Require Monographic Part when Present"
[4] Apply the patch and repeat step 3. This time, the hold should
go through.
Release-note: Ignore deleted monograp parts when checking title holds while "Require Monographic Part when Present" is on.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Ruth Frasur Davis <rfrasur@library.in.gov> Signed-off-by: Jason Etheridge <phasefx@gmail.com>
Galen Charlton [Fri, 26 Jan 2024 14:34:15 +0000 (09:34 -0500)]
LP#2051370: have make_release build browser client by default
This patch replace the -c switch (to build the browser client) with
a -C switch to _skip_ building the browser client. Release tarballs
should always have the browser client, so the main reason to use -C
is just to create the initial DB update script.
To test
-------
[1] Apply patch. Verify that make_release now advertises a -C
switch.
[2] Run make_release without -C; it should build the browser client.
[3] Run make_release with -C; the browser client build should be skipped.
Release-note: [Developer] make_release now builds the browser client by default.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Galen Charlton [Fri, 26 Jan 2024 14:24:49 +0000 (09:24 -0500)]
LP#2051370: remove make_release option to build XUL client
This patch removes the -x option in make_release to build
the XUL client, which has ceased to be, is an ex-client. It
doesn't remove the dependencies and subordinate Makefile
that would permit manually building the XUL client; that will
happen later.
Release-note: [Developer] Remove make_release -x option to build XUL client
To test
-------
[1] Install the patch and verify that make_release does not
advertise an option to build the XUL client.
[2] Run a build and verify that it works.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Chris Sharp [Fri, 26 Jan 2024 15:51:10 +0000 (10:51 -0500)]
LP#2021903: remove "Locate Z39.50 Matches" buttons from OPAC
Remove non-functional buttons that previously retrieved matches from
the Z39.50 XUL UI. See https://bugs.launchpad.net/evergreen/+bug/1798847
for the request to recreate this feature in our current UI.