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, 13 Oct 2023 19:40:45 +0000 (19:40 +0000)]
LP2039310 Change Vandelay queue links to buttons
Changes <a> to <button> for several links in the MARC import/export
queue that have click actions but no URL or routerLink. This change
allows the links to be accessed via the keyboard and ensures that the
link pointer changes as expected when the user hovers using a mouse.
Garry Collum [Wed, 25 Oct 2023 22:05:27 +0000 (22:05 +0000)]
LP2040303 Record Match Sets: Buttons out of alignment
Fixes the alignment and spacing of the "Add to Selected Node" and
"Replace Selected Node" buttons in the Match Set Summary screen.
To view the buttons, go to Cataloging -> MARC Batch Import/Export ->
Record Match Set. Create a new match set or click on the name of
an existing match set. Click on Record Attribute, MARC Tag and
Subfield, or Boolean Operator.
This patch aligns the buttons and adds a margin of 1 between the
buttons.
Stephanie Leary [Tue, 17 Oct 2023 22:04:02 +0000 (22:04 +0000)]
LP2039606 Multiselect accessibility & button size
Fixes overly wide buttons in the multiselect and text multiselect
components. Also adds form labels and IDs, as well as ARIA labels and
tooltips for the Add and Remove buttons.
Stephanie Leary [Fri, 19 May 2023 14:20:37 +0000 (14:20 +0000)]
LP1991294 Staff NoveList Select Added Content tab
Adds a new tab, Added Content, to the staff catalog record view to
display content from NoveList Select. If added content is available for
the current record, the tab name will include a gold star; otherwise the
tab indicates "No Added Content" with an empty star outline. This
general framework can be used to support other added content services in
the future.
Because NoveList Select depends on an external JavaScript file to load
its data, this update includes a new script loading service and a script
store containing the names and paths of scripts that may be loaded into
the Angular interfaces. In addition to the NoveList Select script
provided by EBSCO, there is a helper script to insert it into the Added
Content tab panel and adjust the progress, success, and error messages
(both visible and ARIA live regions).
New OU settings are provided for the NoveList Select staff credentials
(which are passed as URL parameters to the external script) and and a
new Library Setting that can be used to override the script store's URL
in case of future breaking changes to the service.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Terran McCanna [Mon, 23 Oct 2023 15:27:09 +0000 (11:27 -0400)]
LP1944471 Triggered Events - Time Display
Shows the hour and minute along with the date to the Event Start Time,
Event Run Time, Event Complete Time, Event Update Time, and Event Add
Time columns in the user Triggered Event Log interface.
A debug logging line was trying to reference array entries that don't exist
when the local catalog search option is also selected.
open-ils.search [WARN:24303:Application.pm:624:169942320622879281]
open-ils.search.z3950.search_class: Use of uninitialized value in concatenation
(.) or string at /usr/local/share/perl/5.36.0/OpenILS/Application/Search/Z3950.pm line 282.
The debug line was trying to access by a counter variable, but the values were being pushed
to the array, so would get out of sync with the counter when native evergreen search
is also selected.
To trigger perform a Z39.50 search with a Z39.50 server and local evergreen catalog
selected.
Josh Stompro [Tue, 7 Nov 2023 19:01:04 +0000 (13:01 -0600)]
LP#1927870: MARC Source selector initialization - allow set to null
Allow setting the source selector back to unset on null.
This fixes the issue of paging through results and not having
the source selector get set back to unset when needed.
Testing notes:
You need a results list with a mix of bibs that have the source set
and that have it set to null.
Concerto data by default doesn't have bib source set.
Perform a keword search for 'concertos' and edit every other
bib to set a source of OCLC.
or
update biblio.record_entry set source=1 where id in (22,92,88);
Observe the behavior of the source field before and after the fix.
Before the fix, you will reach a record with the source set, and the source
field will stay set even when paging through records that don't have
it set.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Terran McCanna [Mon, 23 Oct 2023 20:56:50 +0000 (16:56 -0400)]
LP1944717 Double-click on Patron Notes
This adds the ability to double-click on patron messages
in the staff client to open them in a modal in order to
make it easier to read and edit the messages. When opening
an archived message, the ability to edit is disabled.
This also adds a View Note action to the Archived Notes grid.
LP1944717 Double-click on patron messages
Adds ability to double-click on patron messages to open them in
the Edit modal. This makes it easier to read and edit the full
messages.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
LP1944717 Undo the ability to edit an archived note
The first commit added the ability to open an archived note in
the edit modal but that was determined not to be idea. This commit
removes that ability.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
LP1944717 Read-only view for archived notes
This adds the ability to double-click on an aerchived patron note
to open it in a read-only modal.
Stephanie Leary [Thu, 25 May 2023 19:35:01 +0000 (19:35 +0000)]
LP1818086 Accessible text for grid flair icons (Angular)
Adds visually-hidden text alongside grid flair icons so that the title,
if given, will be announced in place of the icon keyword. Keywords are
hidden in ARIA regardless of whether the title was specified.
For the flair column, the ngbTooltip has been replaced with a standard
title attribute, for consistency with other icons throughout the
interface.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Jason Boyer [Wed, 18 Oct 2023 20:24:24 +0000 (16:24 -0400)]
LP2039612: Fix Carousel create / edit
You can't use this.whatever unless the function is also part of this.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Terran McCanna [Thu, 19 Oct 2023 21:37:16 +0000 (17:37 -0400)]
LP1968070 Holds Pull List Filtering
This adds filters to the Holds Pull List interface for Shelving Locations/
Shelving Location Groups and for Pickup Location. The filters are sticky
and the Print Full List and Download CSV options respect the filters.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Bill Erickson [Mon, 21 Aug 2023 18:02:44 +0000 (14:02 -0400)]
LP1965326 Move Hatch Printing to Printer Settings
* Hatch printing can now be enabled / disabled directly in the Printer
Settings UI.
* Workstation menu for 'Print Service ("Hatch")' removed since it
duplicates the same logic.
* "Printer Settings" relabled to "Hatch (Print Service) Printer
Settings"
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Elizabeth Davis <elizabeth.davis@sparkpa.org>
Mike Rylander [Wed, 7 Sep 2022 17:41:27 +0000 (13:41 -0400)]
LP#1989151: Add links to secondary management interfaces
This work provides two fixes: a link from Record Attributes
to Coded Value Maps, so that CVMs can be added, removed and
adjusted in the context of a specific Record Attribute; and
provides access to the bib fields that are controlled by
specific authority fields, and browse axes mappings for
authority fields.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Steven Mayo <smayo@georgialibraries.org>
Michele Morgan [Fri, 13 Oct 2023 16:52:40 +0000 (12:52 -0400)]
LP2002693 Remove forced reload to avoid endless logout loop
Removes a forced reload when navigating from acq/picklist/upload to itself
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Garry Collum <gcollum@gmail.com>
Jason Stephenson [Tue, 27 Jun 2023 18:42:22 +0000 (14:42 -0400)]
LP 1904737: Expand copy statuses for the pull list
Evergreen limits copies on the pull list to those with hard coded
status values of 0 or 7. This commit expands the range of copies
available to fill holds to any copy whose status has both the holdable
and is_available fields set to true. This modification affords sites
more control over what copy statuses can fill holds, including custom
ones.
The hold targeter and database functions that calculate counts of
copies available to fill holds are also modified to use the new logic.
In order to maintain timely performance, new indexes are created on
the asset copy and serial unit table circ_lib columns the deleted
column is false. The previous indexes on these columns where the copy
status is 0 or 7 are dropped. Queries that used the old indexes are
modified to use the new indexes.
A database regression tests are added to check that the new indexes
exist and the the old indexes do not.
Live tests are added to the live_t/20-hold-targeter.t test suite to
exercise the new functionality and verify that it works as expected
for the hold targeter and the asset.staff_ou_metarecord_copy_count
database function. (If someone could figure out a decent way to live
test the pull list and the other database functions, that would be
great.)
On a default system, only statuses 0 and 7 match the new criteria to
fill holds, so testing the pull list would amount to checking that the
behavior has not changed after installation of the new code.
In order to verify that the change actually works, one could add a new
status or modify an existing status so that the holdable and
is_available fields are true. After running the hold targeter, a
different number of copies should be available to fill some holds.
Different copies may appear on the pull list as a result.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Jason Boyer [Thu, 8 Jun 2023 20:01:16 +0000 (16:01 -0400)]
LP2023314: Allow Some Edits to Copy Location 1, as a Treat
Prevent deletion of locations with items attached and allow
edits to the 'Stacks' location, barring owning_lib and
deletion (regardless of active item count).
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Susan Morrison <smorrison@georgialibraries.org>
Bill Erickson [Tue, 16 May 2023 21:56:36 +0000 (17:56 -0400)]
LP2019974 Open Non-Cataloged Circs View
* Make open non-cataloged circs available as a cstore/pcrud-accessible
DB view.
* Migrate the public API to cstore retrieval
* Migrate one of the browser client calls to pcrud
* Minor code tidying
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Susan Morrison <smorrison@georgialibraries.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Jane Sandberg [Thu, 12 Oct 2023 12:56:38 +0000 (05:56 -0700)]
LP1920234: Manual carousels should link to the existing bucket, rather than creating a duplicate one
Steps to test:
1. Create a record bucket
2. Add some records to it
3. Create a carousel from your bucket
4. In Local Administration > Carousel Library Mappings, set up your new bucket to display
in your library's public catalog.
5. Confirm that your records are displaying in the carousel.
6. Remove some records from your bucket, and add some new ones.
7. Refresh the public catalog in your browser, and note that the carousel contents have
updated according to the changes you made to your bucket.
Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Steven Mayo <smayo@georgialibraries.org>
Jane Sandberg [Sat, 16 Sep 2023 14:35:25 +0000 (07:35 -0700)]
LP2036297: Don't cover up the Exclude Electronic Resources checkbox
Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Stephanie Leary [Fri, 13 Oct 2023 20:08:30 +0000 (20:08 +0000)]
LP2039311 Tables for cash reports layout
Use simple tables instead of Bootstrap columns to lay out cash reports
totals. This allows the lines to wrap according to their contents and
provides keyboard shortcuts for screen reader navigation.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Stephanie Leary [Fri, 13 Oct 2023 19:09:46 +0000 (19:09 +0000)]
LP2039306 Change org setting History link to button
Changes <a> to <button> for the History link in the library org settings
table, which has no URL or routerLink and merely triggers a click
action. This change allows the link to be accessed via the keyboard and
ensures that the link pointer changes as expected when the user hovers
using a mouse.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
LP#2036842: new reporting sources for invoice totals
This patch adds three new reporting sources to permit reporting
on the total amount of invoices, including both line items and
direct charges. The sources are:
* Invoice Totals
* Invoice Debits by Fund
* Invoice Debits by Fund Tag
These sources are meant to be used as the base source of a report,
with any additional fields and tables of interest brought via
navigating links in the template editor.
To test
-------
[1] Create some invoices that include line items and direct charges
with associated fund debits. Also create and assign some fund
tags.
[2] Apply the patch.
[3] Create reports that use the new sources and verify that the invoice
totals, totals by fund, and totals by fund tag are correct.
Galen Charlton [Thu, 5 Oct 2023 14:57:20 +0000 (10:57 -0400)]
LP#2007603: restore functioning of default search tab preference
This patch restores the ability of the staff catalog search
preference for setting the default search tab to function as
expected.
To test
-------
[1] Set the default search tab preference to something like
'MARC' in the Angular staff catalog.
[2] Navigate away from, then back to the search form.
[3] Note that the active tab is set to 'keyword'.
[4] Apply the patch and repeat step 2. This time, the active
tab should match the preference.
[5] Verify that direct navigation to a specfied tab (e.g.,
/eg2/en-US/staff/catalog/search?searchTab=ident works
as expect - in particular, if you specify a searchTab
in the URL, the preference should be ignored.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Lena Hernandez [Fri, 22 Sep 2023 15:02:16 +0000 (11:02 -0400)]
Docs: Circulation Patron Record Page
Added a new section and images for 'Patron Merge' to the circulation_patron_records_web_client page. Moved all images for this page to a separate folder per style guide and updated related image paths in doc. Added missing alt text to images.
Github pullrequest #235
Signed-off-by: Lena Hernandez <lena.hernandez@equinoxoli.org> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
LP#2004587: add option to marc_export to tune 852$b output
The new --852b switch (when used in conjunction with --items)
takes the following values:
* circ_lib - emit the item circulation library in 852$b
* owning_lib - emit the owning library in 852$b
* both - emit owning lib and circ lib as separate repeats
of $b. This is both the default and legacy behavior.
To test
-------
[1] Set up some items with differing values for the owning
library and the circulating library.
[2] Run several exports exercising the three --852b options
and verify that the 852 $b output matches what is specified
by the switch.
Steven Mayo [Wed, 27 Sep 2023 20:27:03 +0000 (16:27 -0400)]
LP#1944601: Checkout Fails Silently if Operating Hours Set to Closed 7 Days a Week
This fixed an issue where a checkout or renewal would timeout and fail
without an error message if attempted from an org unit where
all hours of operation were closed, every day of the week. This
would cause open-ils.storage.actor.org_unit.closed_date.overlap to infinitely recurse without throwing an
error.
-- How to test
[1] Go to Administration -> Server Administration-> Organizational Units
[2] Select an Org Unit and the Hours of Operation tab
[3] Click on closed button or manually set start and end times to 12:00
AM for all days and apply changes
[4] Observe pretty new warning
[5] Ensure link in pretty new warning leads to the right page
[6] Using a workstation at the affected org unit, attempt to check out a
book and renew a checked out book.
[7] Go to the page the new warning links to: Administration -> Local Administration ->
Closed Dates Editor
[8] Add a closing of whatever length you desire, including now
and/or the date an item would be due if checked out today.
[9] Using a workstation at the affected org unit, attempt to check out a
book and renew a checked out book.
Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Stephanie Leary <stephanie.leary@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>
Steven Mayo [Wed, 13 Sep 2023 20:22:14 +0000 (16:22 -0400)]
LP#1944601: Checkout Fails Silently if Operating Hours Set to Closed 7 Days a Week
Started off by adding a warning while setting hours of operation to not
close all days a week, with a link to the closed dates editor. It only
appears when the user has permissions for the closed dates editor.
Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Stephanie Leary <stephanie.leary@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>
Stephanie Leary [Wed, 31 May 2023 18:33:34 +0000 (18:33 +0000)]
LP1615714 Sandbox: accessible buttons & links
Adds several new examples to the Sandbox demonstrating the proper use of
ARIA labels and title attributes to create accessible buttons and links,
including icons. Also demonstrates four counterexamples, showing why
they cause problems for assistive technology users. There is additional
commentary in the HTML comments above each button.
Signed-off-by: Stephanie Leary <stephanie.leary@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: Steven Mayo <smayo@georgialibraries.org>
Stephanie Leary [Thu, 25 May 2023 18:24:09 +0000 (18:24 +0000)]
LP1615714 Accessible names for Material Icons
Adds ARIA labels or hidden text, as appropriate, to ensure that Material
Icons are announced to screen reader users in a sensible way rather than
having the icon keyword read as if it were normal text.
In buttons containing an icon with no text, both ARIA labels and title
attributes are used so that the tooltip matches the button's accessible
name. This helps sighted users of dictation software identify the
button's name. The icon keyword is hidden from screen readers with the
aria-hidden attribute.
In buttons with both an icon and text, the icon keyword is hidden from
screen readers.
Where icons appeared in inline text rather than a button or link, a
visually-hidden span has been added to mirror the existing title
attribute (tooltip), unless the icon was purely decorative.
As part of this cleanup, several <a click()> elements were identified
that had not already been addressed in other bug reports related to
keyboard navigation support. These have been changed to <button>, and
button types have been specified throughout. Other small role and alt
text errors identified by the Axe linter have also been corrected.
Note that this branch does not include labels for the grid flair icons
(bug 1818086) or the grid actions toolbar (bug 1833726), which are
being addressed separately.
Signed-off-by: Stephanie Leary <stephanie.leary@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: Steven Mayo <smayo@georgialibraries.org>
Stephanie Leary [Mon, 2 Oct 2023 19:17:59 +0000 (19:17 +0000)]
LP2038230 Add role="gridcell" to initial row cells
Adds missing ARIA role="gridcell" attributes to the row selection
checkbox, counter, and flair icon (if present) columns in Angular grids,
to prevent these cells from being skipped when a screen reader navigates
the grid.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
LP#2036840: fix incorrectly initialized fund dropdown in legacy acq
This patch fixes an issue where the selector for editing the fund
of a line item copy can fail to be properly initialized if you are
doing a legacy search for line items (as opposed to doing a legacy
search for a purchase order, then navigating to the line item).
To test
-------
[1] Create a line item (attached to a PO) with at least one copy
that has a fund associated with it. Ensure that the line item
remains in an editable state such as 'new'.
[2] In the legacy search interface for acquisitions, do a line item
search (not a PO search) to bring up the line item.
[3] Click the copies link on the line item.
[4] Note that the fund drop-down for that line item does not
have the assigned fund selected, nor does it list any funds.
Note that attempt to change the value via the batch updater's
fund drop-down doesn't work. Note that attempting to save
changes to the line item copy (e.g., to the notes field) doesn't
work.
[5] Apply the patch and repeat steps 2 through 4. This time, the fund
selector should be correctly initialized and functioning and that
changes to the line item copy can be saved.