Jason Stephenson [Thu, 10 Aug 2023 17:56:04 +0000 (13:56 -0400)]
LP1902937: Refresh branch with latest PINES renewal code
Import minor modifications from the latest PINES working branch as
indicated by Terran McCanna in
https://bugs.launchpad.net/evergreen/+bug/1902937/comments/6.
This commit also removes the Spanish renewal form because a) we don't
support multilingual pages in this branch and b) the code "sp" for
Spanish is nonstandard. The latter should be "es" for Espanol.
Co-authored-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Stephenson [Fri, 27 Jan 2023 18:49:29 +0000 (13:49 -0500)]
LP1902937: Modify New Schema Upgrade SQL scripts
Alter schema upgrade that adds the erenew column to set the column
"NOT NULL DEFAULT FALSE." Remove the extra updates to set the current
column values to FALSE and add the NOT NULL constraint. This new
version does it all in 1 ALTER TABLE statement.
Rename the Quipu standing penalty and erenew pgt column upgrade
scripts so that the order that they should be run is obvious from the
filenames.
Terran McCanna [Tue, 27 Dec 2022 18:05:33 +0000 (13:05 -0500)]
LP1902937: Quipu Online Account Renewal
Online Renewal - Squashed from several working branch commits.
- Creates placeholders for new English & Spanish pages
- Adds ability for those pages to load
- Create div on My Account main page & prefs page to hold renewal message or button
- Adds code to check whether or not patron is eligible to renew online or not:
* patron has not already had one temporary renewal
* patron account is still active
* patron account expiration date is no more than 30 days in the future
* patron account is not barred
* patron account does not have a staff-added blocking alert
* patron does not owe any fines
* patron is not in collections (even if patron pays fines, staff still need
to remove collections note)
* patron permission group allow e-renewal
* patron has a valid billing address
* patron has a valid day phone
Add standing penalty
The ID of the standing penalty has to be under 100 to prevent
staff from manually adding it to patron accounts through the
client interface.
Add Standing Penalty for temporary renewal.
Add temporay renewal flag to Quipu response.
Create new API instead of piggybacking on vital_stats:
open-ils.actor.user.opac.renewal
Add column to permission.grp_tree to allow e-renew.
See & update permission group setting through staff client.
Look up permission groups by name or by e-renewal eligibility flag.
Commit message edited by Jason Stephenson - 20230127
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
LP1902937: Move Quipu ecard templates to Bootstrap
Move the ecard templates from Open-ILS/src/templates to
Open-ILS/src/templates-bootstrap and move the "Request an Electronic
Card" link to the Bootstrap footer.tt2.
Jason Stephenson [Thu, 18 Nov 2021 13:54:08 +0000 (08:54 -0500)]
LP1902937: Use setting for guardian check
Check the value of the ui.patron.edit.guardian_required_for_juv
setting before requiring the guardian field for juvenile eCard
registrations. We should add our own setting for this.
Jason Stephenson [Fri, 10 Sep 2021 16:56:16 +0000 (12:56 -0400)]
Lp 1902937: Make the Quipu Integration Code More Generic
Rename quipu upgrade script.
Enable ecard form in EGCatLoader.
Add the calculate_luhn_checkdigit function to calculate a barcode
check digit using the Luhn algorithm to OpenILS::Applicaiton::AppUtils
because it could be useful for more than just generating barcodes for
the eCard integration. We may also need more than one check digit
algorithm in the future.
Replace the KCLS specific registration form with one that is more generic.
Add new settings.
Add the generate_barcode utility function.
Modify Ecard login_vendor to use org unit settings
Change the login field value to FALSE so it can't be used to login.
Add evergreen.upgrade_deps_block_check to upgrade script
Add Ecard registration link to OPAC footer
Make voter registration field optional in Ecard.pm because not
everyone has or requires this survey. It is PINES-specific.
Do not set actor.usr.name_keywords in Ecard.pm
Make day_phone optional.
Make in_house_registration optional.
Return the user's expiration date, in ISO format (YYYY-MM-DD), as the
"expiration_date" field in a successful response to Quipu.
Chris Sharp [Fri, 14 Aug 2020 13:11:30 +0000 (09:11 -0400)]
Quipu eCard Integration for PINES
Altering KCLS's Quipu eCard implementation to align
with PINES's needs, with an eye towards a generic feature
that could be submitted to Evergreen master.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Bill Erickson [Tue, 7 Jul 2020 14:41:36 +0000 (10:41 -0400)]
KCLS Quipu integration bits
Notes:
1. See constants along the top of Ecard.pm which will need changing.
2. Ecard.pm add_stat_cats() is very kcls-specific
3. The vendor login uses a new password type 'ecard_vendor' which does
not have the intermediate md5 hashing.
4. Ecard.pm and templates have header/footer stuff that's specific to
bibliocommons and should be removed.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Stephanie Leary [Fri, 10 Nov 2023 15:51:32 +0000 (15:51 +0000)]
LP2015163 Force MARC fixed field layout refresh
Removes a check that was intended to speed up MARC record loading, but
was preventing the fixed fields from refreshing between consecutive MARC
record views, as when paging between search results of mixed record
types.
Stephanie Leary [Fri, 10 Nov 2023 16:19:43 +0000 (16:19 +0000)]
LP2043134 Fix match set expression form button size
Places the MARC import/export match set expression buttons in columns to
avoid the forced full-width effect of items outside defined columns in
Bootstrap 5 rows.
briankennedy [Thu, 24 Aug 2023 19:51:20 +0000 (12:51 -0700)]
LP2023579 - Fix for renaming new statistical catergories editor
To reproduce:
1) Go to Local Administrator splash menu
2) Note that "Statistical Categories Editor" was split between "Patron" and "Item" and the new naming put these out of alphabetical order
The fix:
The relevent Satistical Categories Editors have been renamed to fit alphabetical order
Each Editor page has been renamed to better match the link title.
briankennedy [Tue, 22 Aug 2023 18:05:46 +0000 (11:05 -0700)]
LP2023579 - Fix for renaming new statistical catergories editor
To reproduce:
1) Go to Local Administrator splash menu
2) Note that "Statistical Categories Editor" was split between "Patron" and "Item" and the new naming put these out of alphabetical order
The fix:
The relevent Satistical Categories Editors have been renamed to fit alphabetical order
Each Editor page has been renamed to better match the link title.
Stephanie Leary [Tue, 3 Jan 2023 17:44:40 +0000 (11:44 -0600)]
LP1947906 Remove spellcheck="false" on MARC inputs
Removes the spellcheck="false" attributes on editable content fields in
the MARC rich editor, to allow browser-based spellcheckers to work as
expected. This change does not affect the flat editor.
Bill Erickson [Thu, 26 Oct 2023 19:31:02 +0000 (15:31 -0400)]
LP2041431 EG 3.12 Docs for OpenSRF+Redis configs
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Tue, 24 Oct 2023 19:20:51 +0000 (15:20 -0400)]
LP2041431 EG opensrf_core.example for Redis; defaults to Ejab.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson [Tue, 24 Oct 2023 20:23:28 +0000 (16:23 -0400)]
LP2017941 Fix failure to find hiredis headers
When building Evergreen with Redis, oils_dataloader and oils_requestor
fail to find the hiredis headers. This patch adds entries to the
Makefile.ams to resolve this.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Stephanie Leary [Mon, 16 Oct 2023 19:20:54 +0000 (19:20 +0000)]
LP2039483 Subheadings for staff catalog record page
Adds headings level 2, 3, and 4 to the staff catalog's individual record
page to facilitate better in-page navigation for screen reader users.
Styles have been added to negate the font styles usually applied to
headings, so the page is visually unchanged.
Garry Collum [Fri, 27 Oct 2023 20:02:19 +0000 (20:02 +0000)]
LP2040305 MARC Barch Import/Export Queue Links should open in a New Tab
Fixes the links for the bib ID in the Record ID column of the Record Matches tab and the
linke for the bib ID in the Imported As column in the main queue page, so that they open
in a new browser tab.
I tested by:
1. In the Concerto data I created a record match set for 901c
2. I exported 4 marc records from the data and changed the title for two of these marc records,
and removed the 901c for theother two.
3. On reimport - two records were merged and two new records were created.
4. On reimport the Imported As links on the main page, and in this case the
Record ID links for the records that were merge can be tested.
5. Clicking the links open the bib record in the same page.
6. Applying the patch and retesting should result in the pages opening in new tabs.
Jane Sandberg [Sun, 8 Oct 2023 14:09:56 +0000 (07:09 -0700)]
LP2017673: Default item alert types
Also, fix two accessibility issues that nightwatch/axe found
To test:
1. Open your favorite bib record in the angular staff catalog
2. In the item table, choose an item and press Edit
3. Open the Preferences Tab
4. Under the Item Attribute Settings heading, select your favorite item alert type as the default
5. Open the Item Attributes tab.
6. Press the Item Alerts button.
7. Note that your favorite item alert type is now the default.
8. Add various alerts, with a variety of alert types.
9. Press the Apply Changes button.
10. Press the "Apply All, Save & Exit" button
11. Press Edit again
12. Press the Item Alerts button again.
13. Confirm that the correct item alert types are listed.
Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Currently, the web staff client displays URIs in a slightly different
(and arguably better/more complete) way than the OPAC. In particular,
the staff client includes any 856 with an ind2 value of 0, 1, or 2, and
provides a label indicating the purpose of the URI based on the ind2
value. The OPAC, on the other hand, only displays 856s with an ind2 of 0
or 1, and does not distinguish the purpose.
This commit both implements the "purpose" labeling and allows ind2=2
URIs to be displayed. Both BooPAC and TPAC templates are adjusted.
This does not change the way Located URIs are excluded from OPAC
display, they are still filtered out based on the existence of subfield
9.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Bill Erickson [Fri, 10 Nov 2023 20:03:49 +0000 (15:03 -0500)]
LP1993824 Seed SQL cleanup
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jason Etheridge <phasefx@gmail.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Jane Sandberg [Sun, 28 Feb 2021 05:47:12 +0000 (21:47 -0800)]
LP1895699: Add an on_reserve search filter
This filter allows users to limit their search to records that are
attached to courses at particular libraries, like so:
biology on_reserve(5, 10)
The filter can also be negated to search for records that are not
attached to a course:
biology -on_reserve(5)
Also includes some additional bib records and courses to facilitate
testing.
A test using the concerto data set:
1) In the OPAC, run the following search at BR3: type
2) Note that you get 5 results
3) Run this search at BR3: type on_reserve(6)
4) Note that it's down to 2 results
5) Run this search at BR3: type -on_reserve(6)
6) Note that you get 3 results -- the 3 that were included in step 2 but
not step 5.
Another test using concerto data set:
1) Ensure that your org is opted in to the Course Materials module,
and that you don't have an old value of that library setting
cached.
2) Use the advanced search screen to search for `graphic` at BR3
3) Check that the "Limit to course materials" checkbox works as
expected.
Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Jeff Davis [Thu, 26 May 2022 21:43:58 +0000 (14:43 -0700)]
LP#1966096: check permissions when deleting lineitem
Hitherto EG has only prevented you from deleting a lineitem if it's
attached to a picklist belonging to someone else (in which case the
deletion would silently fail). This commit checks whether you have the
CREATE_PURCHASE_ORDER perm if the line item is attached to a purchase
order, or else the CREATE_PICKLIST perm if the line item is attached to
a picklist.
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Eva Cerniňáková <cerninakova@gmail.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Stephanie Leary [Tue, 6 Dec 2022 22:27:20 +0000 (16:27 -0600)]
LP1999158 Form labels for eg-org-select component
Adds input directives to <eg-org-select> to support <label> tags with
various options. Label tags are included alongside inputs unless
explicitly suppressed. Where a visible label would disrupt the current
layout, the "visually-hidden" CSS class may be used to hide the label
visually while leaving it available to screen readers.
All current instances of <eg-org-select> have been updated. Where labels
already existed, those with specific layout requirements have been
adjusted only to add missing "for" attributes, and the component's
automatic output is suppressed with "visually-hidden". While this
sometimes results in two <label> tags being present in the DOM, this is
valid and doesn't cause any issues.
Galen Charlton [Wed, 14 Jun 2023 13:56:53 +0000 (09:56 -0400)]
LP#1956510: mark acqfy and acqfc fields as required in the IDL
This ensures that the non-NULL fields in for the fiscal year
and fiscal calendar must have values supplied during creation
and editing. (However, at the moment, Evergreen's Angular datepicker
does not implement checks for the date value being mandatory)
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Stephanie Leary <stephanie.leary@equinoxOLI.org>
Dan Briem [Mon, 23 Oct 2023 22:28:00 +0000 (22:28 +0000)]
LP#1998605 Prevent Checked Out Items from Being Marked Missing
- Remove mark missing actions from the patron items out grids.
- The circ.mark_item... service will not allow a checkin
attempt on a checked out item if it's being marked missing.
- Keep the promise chain alive in AngularJS when marking
multiple items missing and one fails (consistent with the
behavior in Angular).
To test:
- Patron items out grids should not display missing actions.
- Item status (both detail and list view) should not allow
checked out items to be marked missing.
- While checked out items shouldn't typically appear on the
pull list, holds shelf, or patron holds grids, if stale data
is there (ex. multiple tabs), checked out items will not be
marked missing.
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxOLI.org> Signed-off-by: Susan Morrison <smorrison@georgialibraries.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Stephanie Leary [Tue, 31 Oct 2023 16:12:39 +0000 (16:12 +0000)]
LP2019031 Prefix line items' checkbox IDs
Adds a 'lineitem-' prefix to the row selection checkboxes' IDs in line
item lists, such as those on a purchase order. This prevents JavaScript
errors related to element IDs that start with numbers.
Jane Sandberg [Thu, 26 Oct 2023 22:42:29 +0000 (15:42 -0700)]
LP2032717: fix endless observable loop in booking create reservation
Previously, this pipe/tap had an unusual behavior when a resourceId
was passed in via url params. `from` created an Observable from
the this.resources array, but `tap` tried to add to that same array
that was under observation. This apparently worked before the Angular
15 migration, but afterwards caused an infinite loop.
If the resourceId is passed in, we know there will only be a single
resource in this.resources. Therefore, we can just observe the first
element of the array in these cases.
This commit also eliminates one unnecessary trip through fetchData().
To test:
* Go to Booking > Create Reservation
* Choose the "Choose resource by barcode" tab
* Type in ROOM1231 (the barcode of a non-cataloged resource in the concerto data set)
* Confirm that you can place the reservation
When applying a template in the Angular volcopy editor, skip applying
a duplicate item alert. Prevents multiple alerts being applied
when a template gets applied more than once.
Testing Notes:
1. Create a copy template that includes one or more item alerts.
Use the AngularJS holdings editor to do so Admin -> local admin ->
Holdings Template Editor.
2. After saving, log out and back in. I've noticed my template
edits in the AngularJS interface sometimes don't make it
to the Angular interface witout logging out and back in.
3. Edit an item in the Angular holdings editor
/eg2/en-US/staff/cat/volcopy/holdings/item/xxxx
4. Apply the template several times and save the copy.
5. Check for duplicate item alerts.
There will also be a console for message about duplicate
alerts being detected when applying the template.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Jane Sandberg [Wed, 17 May 2023 23:39:21 +0000 (16:39 -0700)]
LP1754364: Show timezone combobox in library settings editor
To test:
1. Go to Admin > Local Administration > Library Settings Editor
2. Find the Timezone setting in the list of settings
3. Confirm that the timezone select is a typeahead that autocompletes
any valid timezone
This was created in collaboration with the New Developers Working Group
at the May 2023 meeting
Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Co-authored-by: New Developers Working Group Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jane Sandberg [Sun, 12 Nov 2023 20:14:27 +0000 (12:14 -0800)]
Fix test failure
Two issues with this test:
* It passed or failed depending on the default firefox screen size. Let's specify a large screen size, to be certain not to fail on this again.
* The order of the holdings grid had changed, so the asssertion of the specific barcode number failed. I updated the barcode number to match, but this seems like it could be flakey in the future too.
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Stephanie Leary [Tue, 31 Oct 2023 22:40:42 +0000 (22:40 +0000)]
LP2040319 Acq dropdowns should open on click
Adds [asyncSupportsEmptyTermClick]="true" to the selection list and
purchase order comboboxes in the Line Items Related to Bib Record
screen. This allows them to open on click when nothing has been entered
into the input.
Also fixes a typo in the screen title.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Dan Briem [Mon, 30 Oct 2023 04:12:40 +0000 (04:12 +0000)]
LP#2040528 Marc Editor Stack Subfields Bootstrap 5 Fix
Replaces the form-inline class with flex utility classes for
stacked subfields and removes a custom height calc to match
form-control heights in the marc editor. These were removed
in Bootstrap 5.
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Bill Erickson [Wed, 23 Aug 2023 14:53:48 +0000 (10:53 -0400)]
LP1626139 Remove References to OSRFGatewayLegacyJSON
With the deprecation of OSRFGatewayLegacyJSON in OpenSRF, update the
Evergreen example Apache confugration to suit. Includes upgrade notes
about removal.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu>