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.
This patch fixes a bug where the general search
form for acquisitions created comboboxes for the line
item bib ID and line item detail item ID search fields, thereby
preventing those search fields from working.
To test
-------
[1] Try performing a general acquisitions search on the
line item Evergreen bib ID search field. Note that the combobox
will not retain the value entered as the bib ID.
[2] Try performing a general acquisitions search on the
line item detail Evergreen copy ID search field. Note that
the combobox will match the user's input on barcode value
rather than accepting the value as an item ID.
[3] Apply the patch and repeat steps 1 and 2. This time, searching
by bib and/or item ID will work as expected.
Note that due to bug LP#2031218, the line item detail Evergreen copy ID
search field will work at all only when searching for line items.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Mary Llewellyn <mllewell@biblio.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jane Sandberg [Sun, 14 May 2023 07:58:17 +0000 (00:58 -0700)]
LP2002343: cash reports end date cannot come before start date
To test:
1. Log in as a staff member with a branch-level home library (global admin account will work only if you change it from CONS to, say, BR1)
2. As that staff member, bill some patrons and then accept some payments from them
3. Go to admin > local admin > cash reports
4. Try to set the end date before the start date.
5. Note that you get an alert, and cannot press the Submit button.
6. Confirm that when you enter valid dates and select your staff member's home ou, the reports display as usual.
Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Terran McCanna [Wed, 17 May 2023 14:13:03 +0000 (10:13 -0400)]
LP2019972 Upgrade to Google Analytics 4
Google is transitioning from Universal Analytics to GA4 in the
summer of 2023 and requires an update to the javascript that is
embedded in the public catalog pages.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Stephanie Leary [Thu, 22 Dec 2022 22:02:37 +0000 (16:02 -0600)]
LP1984007 Acq warning/stop percentage styles
Styles the background and font color of warning and stop percentages and
adds an icon prefix, in both the dropdown options and the PO summary
table. These colors are in keeping with the less intense badges in my
branch for bug 1999282.
The margin/padding styles for the dropdown buttons are not ideal; it
would be better to have the warning/stop classes applied to the parent
button rather than the inner span.
Signed-off-by: Stephanie Leary <stephanie.leary@equinoxOLI.org> Signed-off-by: Mary Llewellyn <mllewell@biblio.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Galen Charlton [Mon, 5 Jun 2023 14:27:51 +0000 (10:27 -0400)]
LP#2022939: update package-lock.json for Angular staff client
This patch serves to quell some warnings about deprecated
pacakges; it also removes some packages that were previously
removed from package.json.
As of 2023-06-05, the remaining two warnings during an
'npm install' look benign:
npm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
To test
-------
[1] Remove node_modules from the Angular staff client and
rerun 'npm install', then verify that the Angular staff
client works as expected.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Converts the user ID to a number to avoid duplicates caused
by type mismatches.
Removes duplicates before the ID is added or the array is
trimmed to avoid prematurely removing IDs.
To test:
1. Set "Number of Retrievable Recent Patrons" setting to 2
2. Open a patron record
3. Open a different patron record
4. Open Circulation->Retrieve Last Patron
5. Open Circulation->Retrieve Recent Patrons
Note: both patrons are present without duplicates
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Susan Morrison <smorrison@georgialibraries.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Support SSO login on the login modal and main login page and simplify
sso_org handling a little in EGCatLoader.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Jason Stephenson [Fri, 21 Jul 2023 23:42:18 +0000 (19:42 -0400)]
Add upgrade note to the 3.9.4 release notes
Mention that Test::MockModule is requireed to run the automated
tests and that the prerequisites should be reinstalled for the
user's distribution if they wish to run the tests.
Galen Charlton [Wed, 7 Jun 2023 18:26:16 +0000 (14:26 -0400)]
LP#2023222: prevent open-ils.fielder.$IDLCLASS from invoking function transforms
This patch adds some argument checking to the family of
open-ils.fielder.$IDLCLASS[.atomic] methods to prevent
JSON query funcion transforms from being invoked. This
is needed to prevent unauthenticated callers from invoking
arbitrary stored procedures.
This is a security patch that closes down a pathway
towards remote, unauthenticated SQL injection attacks.
This intentionally does nothing other than inserting the
database revision stamp; the only substantive use of 1379
is in rel_3_10, but it's important to ensure that anybody
applying the individual DB updates doesn't accidentally
apply the 1379 change to a 3.11 or later system.
Dan Briem [Fri, 26 May 2023 16:24:54 +0000 (16:24 +0000)]
LP#1996818 Issues Placing Holds from the Patron Record
Set the hold target using the same cookie Angular uses when
placing holds from AngularJS patron records.
Clear the cookie and broadcast to all catalog tabs to remove
the hold target when:
- the Clear button for the hold target is pressed
- the hold interface loads a different patron
- a different Angular route loads
- AngularJS app starts (left the Angular context)
When a catalog tab is closed, clear the cookie and broadcast
it so that any open catalog tabs can restore it.
To test:
1. After loading the patch, build Angular and AngularJS
2. Place a hold from AngJS patron record, note target is set
3. Open multiple catalog tabs
5. Close one catalog tab, note target persists in other tabs
6. Click Clear button, note target is cleared in all tabs
7. Repeat steps 2-3, load a different patron in the hold
interface, note target is cleared in all tabs
8. Repeat steps 2-3, click the home icon in the navbar, note
target is cleared in all tabs
9. Repeat steps 2-3, click AngJS Check Out in the navbar,
note target is cleared in all tabs
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>