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>
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.
This commit represents a months-long project on behalf of the Evergreen Documentation Interest Group (DIG) to revise the community reports documentation. Many thanks to BC Libraries Cooperative for providing the original documentation, and the following contributors from DIG:
-- Jennifer Pringle, BC Libraries Cooperative (writing)
-- Elizabeth Davis, PaILS (editing)
-- Debbie Luchenbill, MOBIUS (DIG chairperson)
-- Susan Morrison, Georgia Public Library Service (editing)
-- Andrea Buntz Neiman, Equinox Open Library Initiative (editing, technical assembly)
-- Jane Sandberg, independent (technical assistance)
-- Beth Willis, NOBLE (editing, screenshots)
-- Members of DIG (reviewing, editing)
Signed-off-by: BC Libraries Cooperative <sitka@bc.libraries.coop> Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Signed-off-by: Beth Willis <willis@noblenet.org> Signed-off-by: Susan Morrison <smorrison@georgialibraries.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Elizabeth Davis <elizabeth.davis@sparkpa.org> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Jason Boyer [Sun, 5 Mar 2023 19:10:32 +0000 (14:10 -0500)]
LP1862834: Use More Specific Regexes when Building URLs
If using regex to replace something in a pathname, make
that explicit so we don't accidentally break things for
hostnames starting with "eg" or "staff".
Jane Sandberg [Wed, 13 Sep 2023 16:44:37 +0000 (09:44 -0700)]
LP2035383: Add docs/package.json to .gitignore
To test:
1. cd docs
2. perl generate_docs.pl --base-url="http://example.com"
3. git status
4. Note that there is a bit less clutter, since package.json
no longer appears under "Untracked files"
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
The Pg replication tool Slony-I is now obsolete for
new setups given the existence of mature native streaming
and logical replication support in PostgreSQL.
This patch removes an example script for setting up
Slony replication for Evergreen and edits a couple references
to Slony in source code comments.
No test plan: this patch is effectively a documentation patch.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Here are some updates to the floating documentation. There wasn't really anything that said what
floating was, and it wasn't in the glossary.
This also describes when floating happens, with a note about how it doesn't happen for
items that are filling a long list of holds. That behavior was different from our last
ILS (Millennium) and may be different from how other ILS's handle it.
I added a section about how floating and shelving locations work together, or rather how
they don't work together.
I also added some notes about the benefits and drawbacks of floating that I'm aware of.
And troubleshooting steps to take if you run into problems with the Floating feature.
I spell checked the glossary also while I was editing it, so there are spelling updates included.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Jason Stephenson [Thu, 10 Aug 2023 13:09:45 +0000 (09:09 -0400)]
LP2030915: Restrain creation of AutorenewNotify events
Using a connected open-ils.trigger session to create AutorenewNotify
events without gathering the results can overwhelm the
open-ils.trigger drones leading to errors while processing the
Autorenew events. These errors may cascade causing additional
Autorenew events to error.
By switching from calling request() on a connected open-ils.trigger
session to using the simplereq() function from AppUtils, we cause the
event creation code to 1) gather the results, thus waiting on the call
to finish before making another, and 2) make a new connection to
open-ils.trigger for each AutorenewNotify event creation. The latter
leads to fewer drones being used and avoids a case where a connected
drone may disappear without notifying the connected client.
Co-authored-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Josh Stompro [Wed, 23 Aug 2023 14:43:09 +0000 (09:43 -0500)]
LP#1986706 - Fast Item Add - barcode wasn't being set in volcopy editor.
The volcopy editor wasn't attempting to take the barcode set in the session
cache from the fast item add feature. Only the call number label was being
handled.
The data was there, it just wasn't being sent to the createStubCopy function
in volcopy.service.ts.
Added in sending the barcode data and setting it if it exists.
Testing Notes:
Make use of the fast item add (Item checkbox in MARC Editor) in the angular staff interface.
Set a value for both call number and barcode and save the record.
The Angular volcopy editor should load, and the call number label and barcode should be set.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Permission controls administering entries in Server Admin - Org Unit
Proximity Adjustments
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Susan Morrison <smorrison@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jane Sandberg [Sun, 14 May 2023 20:31:59 +0000 (13:31 -0700)]
LP1917092: Filter shelving location grid to non-deleted by default
To test:
1) Go to Admin > Local admin > Shelving locations editor.
2) Note that there is a filter enabled: Deleted = No.
3) Check through the grid entries to confirm that no deleted locations exist in the grid.
4) Remove the filter.
5) Note that the deleted entries are now available to you if you need them.
Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Elizabeth Thomsen <et@noblenet.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Fills in button styles where either text or background color had been
specified, but not both. This should correct color contrast issues in
primary, info, and success buttons.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Josh Stompro [Mon, 10 Feb 2020 16:15:02 +0000 (10:15 -0600)]
LP#2031114 - Create MARC Record - focus on item add and call number
This change sets the focus on the "Add Item" checkbox when the marc editor
is opened with fast item add enabled. This allows the user to just press space
to enable Add item.
When the add item checkbox is enabled, the focus is moved to the call number field.
This adds a directive to app.js called focusOnShow that makes it easy
to mark an element to have focus when it becomes visible when using ng-show.
I had to add in a bit of redundancy in t_marcedit.tt2, the Add Item checkbox
needs to have it's own ng-show directive for the focus-on-show to work.
Josh Stompro [Mon, 10 Feb 2020 14:35:31 +0000 (08:35 -0600)]
LP#2031043 - Create MARC Record - Focus on template on load
Focus on the template selector dropdown when interface loads.
This removes the need to use the mouse, and speeds up using the
interface. Pressing tab, then enter will submit
the form with the default template selected.
If the template needs to be changed, then pressing the first letter
of the template will switch between the different options.
This adds a directive named autoFocus to staff/cat/catalog/app.js,
so adding "auto-focus" to an element will cause that element
to have focus on load.