Tiffany Little [Fri, 9 Dec 2022 18:16:55 +0000 (13:16 -0500)]
LP1999270: Bold the Paid indicator on line items
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Mary Llewellyn <mllewell@biblio.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Provides label tags for staff catalog search form fields.
Most labels in the form are visible. I have used the sr-only class to
make labels available to screen reader users while hiding them from
sight on the publication date range fields, which I think are easy
enough to use without visible labels. However, this combination of year
and operator dropdowns is not well organized for screen reader users,
and we should rethink the order and wording of these fields.
To test, visit staff/catalog/search and inspect each form field. Verify
that each one has a <label> tag where the for attribute matches the ID
of the associated form element. (Checkboxes wrapped in the <label> tag
still need matching ID and for attributes for consistent ARIA support.)
Tiffany Little [Mon, 30 Jan 2023 18:52:58 +0000 (13:52 -0500)]
LP2003947 Add LID count to Acq Search
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Tiffany Little [Mon, 30 Jan 2023 19:01:11 +0000 (14:01 -0500)]
LP2004187 Opens acq provider link in new tab on PO
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
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>
Galen Charlton [Mon, 20 Feb 2023 22:13:45 +0000 (17:13 -0500)]
LP#2007877: various fixes to Server Admin Print Templates page
This patch fixes a regression introduced by the switch to NgbNav
as well as a number of other issues.
To test
-------
[1] Open the Server Administration -> Print Templates page and select
a print template. Observe that the template editor is not displayed
and that there are errors in the browser console.
[2] Apply the patch and repeat step 1. This time, the template is
displayed along with its previewed.
[3] Switch to the Sample Data tab, then select another template. Observe
that the template is reloaded and the active tab switched to the template
editor.
[4] Select a template such as "Checkin" that does not have stock
sample data. Observe that the Preview and Compiled Content panes on
the template editor tab are empty and that the Sample Data tab
has an empty control
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Use OFFSET as an optimization fence to keep newer PGs from trying to
fold the c_attr and b_attr CTEs into the main search query.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Stephanie Leary [Fri, 9 Dec 2022 22:25:15 +0000 (16:25 -0600)]
LP1999282 Less intense badges for staff interface
Flips the contrast on badges to make them less intense and comply with
color contrast requirements. In keeping with the less intense alert
styles, the badges have more subtle background colors. I have also
adjusted the spacing and font weight to make the characters larger
without greatly increasing the overall size of the badge.
All of these styles pass WCAG AAA contrast checks. In anticipation of
Bootstrap 5, I have included the new .text-bg-* classes alongside the
current ones.
The access key modal (Control-H) is a good place to observe the overall
effect.
This patch fixes a regression introduced by bug 2006749 that
prevented open-ils.actor.ou_setting.ancestor_default from retrieving
the value of a library setting that does not have a view permission
associated with it. It also fixes a similar issue with
open-ils.actor.org_unit.settings.history.retrieve.
To test
-------
[1] Use srfsh to retrieve the value of a library setting
that does not have a view permission. E.g.,
[2] Apply the patch and repeat step 1. This time, the value of
the setting should be returned.
[3] Verify that viewing the edit history of a setting in the
Library Settings admin page works as expected.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
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.
Jason Boyer [Fri, 18 Nov 2022 13:31:31 +0000 (08:31 -0500)]
LP1754455: Sanity checking and auto-strip 852s when using --items
If a user passes --strip / inform them that their request to output nothing
but empty records has been denied. Also auto-remove existing 852 fields when
using --items because only actual holdings data should be output in that case.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
The shelf browse interface has enough space, so this patch
changes the label to "Publication Date" for the sake of translations
and consistency with other places in the interface that use
the full label.
Tiffany Little [Fri, 16 Dec 2022 20:55:21 +0000 (15:55 -0500)]
LP1999544 Also fixes fund dropdown in PO charges
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Tiffany Little [Fri, 16 Dec 2022 20:09:34 +0000 (15:09 -0500)]
LP1999544_funddropdown Add owners limiter to fund dropdown
Adds a limiter of owners to the acqf idlquery for fund dropdown in line items
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
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>
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>
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>
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.
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.
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.
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.
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.
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.
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.
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>
The angular staff catalog uses the new print/email records
functionality, but calls it without some expected parameters. This
causes the backend method to fail as it assumes the params will exist.
This commit removes that assumption by testing the length of the
parameter list before attempted to read them.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Garry Collum [Tue, 11 Oct 2022 17:47:14 +0000 (17:47 +0000)]
LP1992490-Bootstrap Opac: sr-only, aria-label, and title localization.
Corrects some instances of non-localization of sr-only fields, aria-labels,
and title attributes. Also corrects some stray display strings that were
not localized.
To test:
Apply the patch, and view each page to see if it renders. View the page
source of each page to see if the sr-only fields, aria-labels, and
title attributes are rendered correctly.
Jane Sandberg [Sat, 7 Jan 2023 04:19:55 +0000 (20:19 -0800)]
LP1999304 (follow-up): blank alt text for decorative image
Steps to test:
1. Search the staff catalog for Ready Player One in the concerto dataset.
2. Check the Group Formats/Editions checkbox
3. Press the Place hold button
4. Use your browser's dev tools (or a screen reader) to find the accessible
name of the Large Print Book checkbox.
5. Confirm that the accessible name is Large Print Book, rather than
Large Print Book Large Print Book.
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Stephanie Leary [Tue, 13 Dec 2022 16:45:58 +0000 (10:45 -0600)]
LP1999304 Labels for metarecord hold checkboxes
Wraps metarecord hold format and language checkboxes in labels with
for attributes matched to input IDs.
To test:
1. Search the catalog for an item with multiple formats
2. Check the option to group formats/editions
3. Click "place hold" on one of the results
4. Find the table below "Placing METARECORD hold on record(s)"
5. Toggle the language or format checkboxes by clicking their labels or
icons rather than the box itself
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxOLI.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Garry Collum [Thu, 25 Aug 2022 17:44:13 +0000 (17:44 +0000)]
LP1422927 Opac hold history pagination
Fixes the hold history pagination in both the TPac and the Bootstrap opac.
To test:
1. Login as a patron and enable the hold history preference. The default
number of items on each page is 15, so place at least 16 holds for this
patron. (The limit can be overridden in the url with the &limit switch).
2. View the hold history and notice that all items are displaying on all
pages.
3. Apply the patch
4. The results are now paginated with 15 items per page.
1. /staff/acq/provider, right click an existing provider to show details tabs
2. /staff/admin/local/negative-balances
3. /staff/admin/local/action/survey, edit an existing survey, test Edit Survey
and Q&A tabs
4. /staff/admin/server/actor/org_unit, note that Addresses tab has a second set
of tabs underneath
5. /staff/admin/server/actor/org_unit_type, note that eg-tree has also changed
here
6. /staff/admin/server/permission/grp_tree, choose a group to see tabs
7. /staff/admin/server/config/print_template
8. /staff/booking/create_reservation
9. /staff/booking/manage_reservations, filter reservations section
10. /staff/booking/return
11. /staff/cat/authority/browse
12. /staff/cat/vandelay/import and all import/export tabs
13. /staff/cat/bucket/record/view
14. /staff/catalog/search
15. /staff/circ/holds/pull-list, right click a hold, choose Show Hold Details,
the tabs are at the bottom of the screen
Test plan:
Note that you cannot navigate tabbed interfaces using the tab key on your
keyboard.
Apply the patch, then visit the screens listed above.
You should be able to use the tab key to move sequentially through all the tabs.
Pressing Enter on an inactive tab should make it active, just as clicking it
would. You should not be able to click or press Enter to activate a disabled
tab.
You should be able to move from the last tab in the list into the first
focusable element in the active tab's content panel. If you spot a tab content
panel that doesn't contain a focusable element (i.e. links or inputs), let me
know; we have to set its tabindex attribute manually.
If a tab panel contains a second set of tabs, these should work as well.
Note on ARIA and roles:
Note that neither Bootstrap 5 nor ng-bootstrap are currently following the ARIA
Authoring Practices Guide for tabs with manual activation (the recommended
pattern for tab panels with complicated content, like form inputs or data
tables), which does not recommend sequential movement:
https://www.w3.org/WAI/ARIA/apg/example-index/tabs/tabs-manual.html. Therefore,
we aren't following this pattern either. We can revisit this and/or take it up
with Bootstrap.
For now, running axe DevTools on any screen with navs will show ARIA role errors
on role="tab" attributes. We are using ng-bootstrap's default ARIA roles for
tabs, but they are incorrect. I am trying to get traction on a pull request to
change the problem in ng-bootstrap, but in the meantime, we are not using the
automatic [roles] directive. Role attributes have been set explicitly on all
tabs and their containing elements.
Note on eg-tree CSS:
In the Org Unit Type screens, there was previously some inline CSS related to
eg-tree that was causing compiler errors. I have moved this to a separate CSS
file, and will revisit eg-tree styles more generally in another upcoming
project.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxOLI.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Josh Stompro [Tue, 22 Nov 2022 18:09:46 +0000 (12:09 -0600)]
LP#1971745 - speed up open-ils.storage.action.live_holds.wide_hash
Postgresql 10 and EG 3.9.0
The query to grab holds on the hold shelf was taking 35-50 seconds on
a test system to return 466 records. Explain analyze showed that the
left join on asset.call_number was causing a sequential scan and reading
all asset.call_number rows.
Letting PG know that the two conditions of the join are mutually exclusive
seems to let PG know that an index scan is faster.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Jason Stephenson <jstephenson@cwmars.org>
Galen Charlton [Thu, 5 May 2022 16:44:26 +0000 (12:44 -0400)]
LP#1971745: work around issue that can cause large hold shelf lists to fail
This patch addresses an issue where hold shelf lists with
more than ~350 rows can fail to be retrieved. It works by
making the open-ils.circ.hold.wide_hash.stream method fetch
the holds from an open-ils.storage method in one fell swoop,
rather than both streaming the list from open-ils.storage and
streaming it back to the client that invoked the open-ils.circ
method.
I suspect that this is working around a subtle OpenSRF bug when
bidirectional streaming is in play, but I'm not positive.
To test
-------
[1] Set up an environment with hundreds or thousands of holds on
a shelf at an OU.
[2] Attempt to display the holds shelf list.
[3] It may fail; if it doesn't, try with even larger number of holds
or by setting up a test system that has ejabberd s2s going on
to service requests.
[4] Apply the patch and repeat step 2. This time, the holds shelf
list should be consistently retrieved. There will also be a
user-visible change: the spinner on the AngularJS holds shelf page
will pause for a few seconds, then start advancing.
LP1980275 Bootstrap - buttons on two lines in current hold screen
This fixes the button arrangement in the Bootstrap Opac's Current Items on Hold screen.
To test:
1. Place some items on hold for patron.
2. Login as that patron in the Bootstrap opac.
3. View the Current Items on Hold screen and notice the buttons are on two lines.
4. Apply the patch.
5. View the Current Itesms on Holcs screen to see that the buttons are now arranged on a
single line.
Fixes the alignment of patron addresses in the Bootstap opac, if the
patron as more than one address. Two addresses will now display
side-by-side in a row, except on smaller screens.
To test:
1. To fully test use patrons with one address, two addresses, and more than
two addresses.
2. Login as each patron and notice the mis-aligned addresses.
3. Apply the patch.
4. The addresses should now be displayed side-by-side, two per row. They
collapse to one per row on smaller screens.
5. Enable the 'Allow pending addresses' library setting. The editable
address displays in the same space as it's non-editable display.
Garry Collum [Mon, 20 Dec 2021 12:59:27 +0000 (07:59 -0500)]
LP1955403-Bootstrap opac - Google Books preview not rendering.
Fixes the Google Books preview in the Bootstrap Opac.
To test.
1. Set ctx.google_books_preview=1 in config.tt2.
2. View a bibliographic record that would have an ISBN that would link to
a google book preview. In concerto you can change and ISBN on a record to
and ISBN that you know would pull data (9788027103782, 9781629795645).
3. Notice there is no preview button link, or preview.
4. Apply the patch and refresh. The google preview button should render.
Clicking on the button will display the preview.
Jason Boyer [Wed, 16 Nov 2022 21:23:52 +0000 (16:23 -0500)]
Docs: Update Supported Browsers, Drop Staff Client
Stated that supported browsers are Chrome, Edge, and Firefox, and removed the
reference to the XUL staff client as it's no longer available and never coming
back.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Bill Erickson [Mon, 8 Aug 2022 18:04:55 +0000 (14:04 -0400)]
LP1915440 Clear Hopeless Date on Capture
Clear the hold hopeless date when a copy is captured for the hold.
One way to make this happen for testing:
. Configure the Missing copy status as holdable=true hopeless_prone=true
. Place hold with only 1 viable copy.
. Mark said copy as missing -- this stamps a hopeless_date on the hold.
. Check the copy in. This results in a capture + hopeless hold.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Susan Morrison <smorrison@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Jane Sandberg [Mon, 3 Oct 2022 23:08:38 +0000 (16:08 -0700)]
LP1991590: Better order for survey admin fields
To test:
1. Press Admin > Local Admin
2. Press Surveys
3. Create a new survey.
4. Notice that the Start Date field comes before the End Date field.
5. Repeat steps 1-2.
6. Select a survey and edit selected.
7. Notice that the Start Date again comes before the End Date.
Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Shula Link <slink@gchrl.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Terran McCanna [Fri, 28 Oct 2022 22:19:58 +0000 (18:19 -0400)]
LP1895675 Bootstrap OPAC: Add notification method testing to My Account
This adds the work done in the TPAC for LP1777677 to the Bootstrap OPAC.
A test email button is added to My Account > Preferences, and a test
text message button is added to My Account > Preferences > Notification
Preferences.
Jane Sandberg [Tue, 4 Oct 2022 01:22:48 +0000 (18:22 -0700)]
LP1972928: Show course user role dropdown choices without typing
To test:
1. Go to Admin > Local Admin > Course List
2. Choose a course
3. Go to the Course users tab
4. Activate the Role dropdown.
5. Note that no options appear.
6. Apply the patch
7. Repeat steps 1-5
8. Note that the role options appear when you activate the dropdown now
Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Signed-off-by: Stephanie Leary <stephanie.leary@equinoxOLI.org>