Jeff Davis [Fri, 22 May 2020 22:40:30 +0000 (15:40 -0700)]
LP#1879993: use default value for opac.hold_notify when appropriate
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Stephenson [Tue, 18 Aug 2020 12:45:07 +0000 (08:45 -0400)]
LP 1889628: Use Workstation in SIP Username Lookup
Following a suggestion from Bill Erickson, the SIP->get_ou_settings()
function now uses the workstation org. unit of the logged in SIP2
account if it is set. The home_ou is used as a fallback.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Allow SIP2 clients to pass the username or barcode in the SIP2 Patron
Identifier field (AA). This is useful for services, such as
Overdrive, that can send a patron's username. It is easier for a
patron to remember their username rather than barcode, and this
unifies login for those patrons who use their username to login to the
OPAC.
To make this possible, we modify the OpenILS::SIP::Patron->new method
to accept a usrname key to retrieve patrons by usrname.
We also modify the OpenILS::SIP->find_patron method to accept a
usrname key to look up patrons. The find_partron method is further
modified to check the patron id against the opac.barcode.regex in more or
less the same manner as the OPAC.
Two helper functions are added to OpenILS::SIP:
1. get_ou_setting: to retrieve org unit settings using the home_ou of
the logged in SIP2 account.
2. get_barcode_regex: To retrieve and cache the opac.barcode_regex
setting.
Testing this requires a working SIP2 installation and a knowledge of
the SIP protocols. The easiest thing is to install the patch and see
if your SIP client can recognize a patron who has a username different
from their barcode by using both their barcode and then their
username.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Fri, 21 Aug 2020 15:14:02 +0000 (11:14 -0400)]
LP1891355 Perm group refresh after changes
Fixes an issue where the permission group interface failed to refresh
the page after an edit and data refetch was performed. At issue was a
progress component which was not rendered/active at the time of refresh,
leading to a JS error, causeing the refresh to stop.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
The user is presented with a login form. If their account is
authorized, they will be redirected to EZProxy with a valid
authentication ticket, allowing them to access online resources. If
they are not authorized, an error message is displayed indicating why
the auth attempt failed. The login form and error messages use
Template Toolkit (TT2) templates and can be customized.
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jeff Davis [Thu, 21 Nov 2019 22:27:00 +0000 (14:27 -0800)]
Template Toolkit for RemoteAuth
With this commit, RemoteAuth handlers can now use TT2 templates to
manage the format and content of responses. This will make it easier
for admins to control what patron information is included in a
successful auth response, among other things.
TT2 support is provided by a new OpenILS::WWW::RemoteAuth::Template Perl
module. (EGWeb has too much overhead and is not well-suited to this use
case.)
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Wed, 18 Mar 2020 00:34:01 +0000 (17:34 -0700)]
LP1837802: Add records to shared record buckets from the Staff Catalog
To test:
1) As User A, create a bucket.
2) As User B, search in the Staff Catalog, and add some items to your
basket.
3) As User B, click Basket Actions, and choose add Basket to Bucket
4) Click on the "Shared Bucket" tab and enter the id of User A's bucket
Some potential scenarios to test:
* Trying to add to a bucket that does not exist
* Trying to add to an unshared bucket when User B does not have the
VIEW_CONTAINER permission
* Trying to add to existing and new buckets as before
Mike Rylander [Wed, 29 Aug 2018 15:39:30 +0000 (11:39 -0400)]
LP#1789679: Provide ROLLUP support in report output
In Postgres 9.5 and newer, it is simple to generate group subtotal and grand
total rows for aggregate queries. The simplest thing would be to spell the
grouping clause as
GROUP BY ROLLUP (...)
rather than
GROUP BY ...
when there is a mix of aggregate and non-aggregate columns in a report. This
branch does just that.
The report definition UI now has a checkbox labeled "Calculate grouping
subtotals" which enables use of the ROLLUP functionality.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Lynn Floyd <lfloyd1@library.in.gov> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Mon, 24 Aug 2020 11:56:25 +0000 (04:56 -0700)]
LP1891960: Angular patron search org is sticky
Also removes some unused dependencies and adds
a new org setting to the database:
eg.orgselect.patron.search
To test:
1) Find a title in the staff catalog.
2) Click Place Hold.
3) Search for a Patron.
4) Notice that the search org is initially
your root org (Consortium-level).
5) Select a different value.
6) Leave and come back to this screen. Note
that the value you selected remains.
7) Perform a search to make sure that the
search is limited to the org you selected.
8) Click the Clear button. Note that the
value you selected still remains.
9) Perform anoter search to make sure that the
search is limited to the org you selected.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Mon, 27 Jul 2020 18:21:09 +0000 (14:21 -0400)]
LP1889113 Staff catalog record holds sticky org select
Teaches the record holds grid to use a persistkey for making the pickup
lib selector sticky. Additionaly, teach the holds retrieval code to
wait until the org select has settled on a value before collecting any
data.
Also adds the new workstation setting type
'eg.orgselect.cat.catalog.wide_holds'
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Mon, 27 Jul 2020 18:20:52 +0000 (14:20 -0400)]
LP1889113 Angular org select persistKey support
* Support reading and writing org-select values using server settings.
* Adds a new @Input fallbackOrg[Id] which is used in cases where no
persisted value is found.
* Adds a new @Otput called componentLoaded which fires once when the
selector has completed all of it's load time work.
* Improvid code documentation.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Mike Risher [Tue, 24 Mar 2020 16:40:02 +0000 (16:40 +0000)]
lp1362743 holdings view duplicate barcodes
Modify holdings view's "replace barcodes" UI so that it doesn't allow one
to enter a duplicate barcode.
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/templates/staff/cat/share/t_replace_barcode.tt2
modified: Open-ILS/web/js/ui/default/staff/cat/catalog/app.js
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Bill Erickson [Thu, 16 Jul 2020 18:27:34 +0000 (14:27 -0400)]
LP1865564 Clear holds cache after Request Items
When staff place holds on a record within the Holdings View via the
Request Items function, reset the holds grid data so it bypasses the
cache and refetches the holds, including the new holds.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Thu, 16 Jul 2020 16:22:52 +0000 (12:22 -0400)]
LP1865564 Holds grid avoid dupes (AngularJS)
Address a couple if cases where the record holds grid in the AngularJS
staff catalog would make multiple network calls to fetch holds data.
In some cases, these calls would result displaying duplicate holds.
1. Avoid fetching holds when the pickup lib selector fires its on change
if the value provided matches the pickup lib we are already using.
2. Avoid reseting and reloading the grid during an active grid load.
Instead wait for the current load to complete before launching the next
load action.
Patch also includes a minor sanity check in the holdings code to avoid
console errors caused during pickup lib change.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP#1844732 Circulation Modifier Display when Batch Editing Items
Fixes the circulation modifiers multivalue list when editing items with
more than one circulation modifier.
To test in with the concerto data, go to Server Administrator ->
Circulation Modifiers and create a couple of circ modifiers (kittens,
puppies).
Bring up the holdings view of a bib and edit a few items assigning these
items to each of the circ modifiers.
After assigning circ modifiers to several items, bring up some of these
items into the item editor making sure that you have chosen items that
have both circ modifiers.
View the multiple values for the circ modifiers. It will display
something like 'No (10)'.
Apply the patch. Bring up the items again and view the multiple values.
The circ modifiers will be listed indivitually with a number
representing the number of items with that circ modifier.
Bill Erickson [Mon, 23 Sep 2019 21:17:13 +0000 (17:17 -0400)]
LP1845047 Ignore grid page size pref when paging disabled
Ignore any saved value for page size on grids configured with paging
disabled. Such grids are required to show all rows or any data past the
first page would be innaccessible.
Bill Erickson [Mon, 10 Aug 2020 19:19:51 +0000 (15:19 -0400)]
LP1850825 Vandely export set default record source
Provide a default value for the record ID source (csv, id, bucket) in
the Vandelay record export interface. Without this, a record source was
only specified if the source value was modified. Defaults to 'csv'.
Bill Erickson [Tue, 11 Aug 2020 15:07:04 +0000 (11:07 -0400)]
LP1839562 Ang Vandelay Match Set Replace Mode
Recover "Replace Mode" functionality in the Vandelay Match Set editor
interface, so existing nodes (e.g. And) may be replaced with other nodes
(e.g. Or) without modifying the rest of the tree structure.
Values (Record Attrs / MARC Fields) can replace other values. Booleans
can replace any type of tree node.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mary Llewellyn <mllewell@biblio.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Risher [Fri, 19 Jun 2020 20:00:04 +0000 (20:00 +0000)]
lp1801947 eg-help-popover accessibility
Modify the eg-help-popover directive so that it can be invoked via
a keyboard action.
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/templates/staff/css/style.css.tt2
modified: Open-ILS/src/templates/staff/share/t_help_popover.tt2
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Terran McCanna [Mon, 21 Oct 2019 19:12:22 +0000 (15:12 -0400)]
LP#1726918 Alert doesn't display for soon-to-expire patron accounts
This displays an alert on the patron summary bar if a patron account
is set to expire within x number of days as defined by the
'Warn when patron account is about to expire' library setting.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
On the offline circulation interface adjust the orgs so that they're
sorted alphabetically. Preserve the org hierarchy.
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified: Open-ILS/web/js/ui/default/staff/services/env.js
modified: Open-ILS/web/js/ui/default/staff/services/lovefield.js
Bill Erickson [Thu, 30 Jul 2020 19:29:08 +0000 (15:29 -0400)]
LP1889685 Staff catalog record CN browse retains search
Using the Shelf Browse tab on the record detail page in the Angular
staff catalog no longer clobbers the active search, allowing the search
navigation buttons (Next, Previous, etc.) to continue working.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 31 Jul 2020 14:54:28 +0000 (10:54 -0400)]
LP1889694 Staff catalog record summary API
Replaces a number of result page and record detail page API calls with a
bespoke API specifically created to return the data required for display
bib and metabib record summary information in the catalog.
Specifically, a single streaming API this replaces the following:
* fleshed record retrieval
** including record display fields and attributes processing.
* copy count retrieval
* hold count retrieval
The end result is 22 API calls per results page replaced with 2.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Wed, 5 Aug 2020 14:43:05 +0000 (10:43 -0400)]
LP1869898 Ang cat copy table responds to broadcasts
Angular staff catalog copy table responds to broadcasts of modified
holdings. When holdings for the current record have changed, the table
data is refreshed.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 19 Jun 2020 20:50:18 +0000 (16:50 -0400)]
LP1869898 Holdings responds to broadcasted changes
Adds a new service for interracting with BroadcastChannel's.
Teaches the holdings grid to refresh data if a broadcast is received for
related holdings updates.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Mon, 8 Jun 2020 18:57:37 +0000 (14:57 -0400)]
LP1869898 Angular staff cat place hold from patron
The place hold button in the patron holds list now takes staff to the
Angular catalog for holds placement. A banner is displayed along the
top of the catalog to indicate which patron the hold is for and to
provide a link back to the patron's holds list.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 27 Mar 2020 17:17:38 +0000 (13:17 -0400)]
LP1869898 Make Angular staff catalog default
Modifies Angular and AngJS templates and AngJS code to use the new
Angular staff catalog as the default catalog for new catalog searches,
record detail links, etc.
The traditional client is left unmodified and remains accessible from
the navigation menus.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Risher [Fri, 12 Jun 2020 22:17:44 +0000 (22:17 +0000)]
LP#1207744: fix display of duplicate results when viewing report folders
When you repeatedly click the link to display a template, report, or
output folder on the reports UI, the contents of that folder can
display multiple times. This patch addresses this bug and prevents
duplicate contents from displaying.
Lp 1843079: Add renewals remaining to AutoRenew reactor's user data
Add auto_renewal_remaining and total_renewal_remaining fields to the
autorenew event's user data so that we can report the number of
renewals remaining to the patron without doing (possibly erroneous)
math in the template. When the circulation is renewed, we use the
renewal remaining counts from the new circulation. When the renewal
fails, we use the counts from the original circulation.
The current template is not modified to add these fields. That is left
as an exercise for sites that want to add this information for the
convenience of their patrons.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
- Change the button text from "Search" to "Search Catalog"
- adjust the styling on the AngularJS side to cuddle the
button with the search input
- standardize the placeholder text as "Search for..."
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jason Etheridge [Fri, 10 Jul 2020 16:15:22 +0000 (12:15 -0400)]
LP1774892 stripe elements
This fixes some minor errors with the generic payment form.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Etheridge [Fri, 10 Jul 2020 16:08:30 +0000 (12:08 -0400)]
LP1774892 stripe elements
This commit breaks some code out into separate files for easier understanding.
The Stripe form was then tweaked and repositioned to work with specific selected
transactions, invoke the last chance screen, and show the refund policy.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Etheridge [Fri, 12 Jun 2020 13:57:03 +0000 (09:57 -0400)]
LP1774892 stripe elements
This commmit changes the OPAC to use https://js.stripe.com/v3/ instead of
https://js.stripe.com/v2/ for processing payments through Stripe.
Additionally, it disables the "internal" credit card form in the staff client
when Stripe is the payment processor (or if the processor is not set at all),
as that does not currently work.
It also does not replace Business::Stripe's use of the "Charges API" with the
newer "Payment Intents" API on the backend, but credit card details are still
not sent to the Evergreen server.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP#1889251: make call number affix sort keys read-only
This patch makes the call number prefix and suffix label sort
key fields read-only on their respective Server Administration
pages, as any values that a user would try to set for them
would get overwritten by a database trigger.
To test
-------
[1] Apply the patch.
[2] Go to Server Administration -> Call Number Prefixes (or Suffixes)
and attempt create and edit new affixes.
[3] Verify that the label sort key is a read-only display field on the
edit modal.
Josh Stompro [Mon, 4 Mar 2019 17:16:56 +0000 (11:16 -0600)]
LP#1674364 - Use database bib id for cover art lookup
Export the 901c as the URN:BIBID identifier to allow the
ATOM2XHTML.xsl to construct a cover art img link using it.
Testing Notes:
I used a bookbag to test this out.
1. Create a public bookbag of items and grab the bookbag id.
2. View the source of these links on your system to see the current output.
/opac/extras/feed/bookbag/atom/<bookbagid>
/opac/extras/feed/bookbag/html-full/<bookbagid>
Make note that the jacket img link uses the ISBN to lookup cover art.
Make changes.
1. Restart supercat to re-load xsl transfor files.
osrf_control -l --service open-ils.supercat --restart
2. View the source and output of these links on your system to see the changes.
/opac/extras/feed/bookbag/atom/<bookbagid>
/opac/extras/feed/bookbag/html-full/<bookbagid>
The cover art images should show up now in the html-full, and the
URN:BIBID: identifier should be populated in the atom file.
a. bellenir [Thu, 28 Mar 2019 16:26:37 +0000 (12:26 -0400)]
LP1761142 Volume Copy Editor Changed Fields Hard to Discern
Add a changed_fields object to the scope and update it as copies are
changed. The function field_changed(field) determines if any of the
selected copies have altered the given field. finally, a CSS class,
field-changed, is applied to add a green border to fields whose values
have been modified.
Josh Stompro [Tue, 28 Jan 2020 16:04:02 +0000 (10:04 -0600)]
LP#1783793 - Suspend holds when activation date set in web client angularjs
1. Modify Dates popup changed to not allow picking dates in the past for hold
activation date both in the date picker, and if typed in manually. If a
date in the past is typed in, it is changed to today's date and an alert
message is displayed. The date picker just won't allow past days to be
selected. The alert message remains until a date in the future is selected.
2. Suspend holds when the activation date is set and saved.
3. Adds a note about the fact that the hold will be suspended when the hold
activation date is selected for editing. This makes the behavior clear so
staff don't have to figure it out by trial and error.
4. Updates several sr-only (Screen Reader Only) labels in the holds date popup
template that were set to the wrong values. The file was copied from the hold
notification popup and the screen reader descriptions were left unchanged from
those values.
Jeff Davis [Tue, 8 Oct 2019 23:00:12 +0000 (16:00 -0700)]
LP#1847343: fix Exclude Electronic Resources checkbox when locale picker is enabled
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Changes 'publicly visible' label on buckets and also adds a tooltip with an explanation. Also makes sure that clicking the tooltip does not check the checkbox automatically.
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>