working/Evergreen.git
3 years agoLP1863252 Geosort - add dropped END tag
Terran McCanna [Fri, 19 Feb 2021 21:35:45 +0000 (16:35 -0500)]
LP1863252 Geosort - add dropped END tag

This adds back an END tag in the boostrap copy_table.tt2
that got lost.

Note that in order to fully test this in bootstrap, I had to
add the fix included here as well:
https://bugs.launchpad.net/evergreen/+bug/1916085

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
3 years agolp1863252 fix Get Coordinates button in org admin
Jason Etheridge [Fri, 19 Feb 2021 05:29:13 +0000 (00:29 -0500)]
lp1863252 fix Get Coordinates button in org admin

The underlying method can now handle org objects or org id's, and the UI
will also alert the user with any non-catastrophic error such as the location
not being found.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
3 years agolp1863252 make Geo::Coder::Free optional
Jason Etheridge [Tue, 9 Feb 2021 16:38:22 +0000 (11:38 -0500)]
lp1863252 make Geo::Coder::Free optional

Restore Geo::Coder::Google to the CPAN module list and remove the Googlev3 package.

Geo::Coder::Google requires an API key, and Geo::Coder::Googlev3 purports not to
but is currently giving a REQUEST_DENIED to requests and is a known issue.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
3 years agoLP#1863252 - Use APT for Perl dependencies where possible.
Chris Sharp [Fri, 5 Feb 2021 19:01:06 +0000 (14:01 -0500)]
LP#1863252 - Use APT for Perl dependencies where possible.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
3 years agolp1863252 fix unrelated issue that was breaking display of the copy_table
Galen Charlton [Wed, 16 Dec 2020 16:10:20 +0000 (11:10 -0500)]
lp1863252 fix unrelated issue that was breaking display of the copy_table

Without this, lack of a 'loc' CGI parameter breaks the page. This
was introduced in the course materials work and just appears to be wrong,
but should be double-checked.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
3 years agolp1863252 toward geosort
Galen Charlton [Tue, 15 Dec 2020 23:07:00 +0000 (18:07 -0500)]
lp1863252 toward geosort

* fix swap of lat/lon that broke Math::Trig-based distance calculations
  TODO: might want to drop that entirely in favor of delegating to a DB
  call that uses earthdistance
* first pass at implementing display of distance in the OPAC
* include "Distance" label on mobile view of copy table
* display warning if address input is not translated to coordinates
* add distance column to TPAC copy table
* add default item sort button to both TPAC and Bootstrap
* changes to open-ils.geo registration
  - don't register with the public router
  - add to param redaction list
* add temporary caching of address => coordinates results
  By default, coordinates are cached in memcached for 5 minutes. The
  cache key is derived from a SHA-2 hash of the input address.
* implement query parameter log redaction as a PerLogHandler
* Don't need perl-script for a PerlLogHandler

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
3 years agolp1863252 toward geosort
Mike Rylander [Thu, 10 Dec 2020 21:41:24 +0000 (16:41 -0500)]
lp1863252 toward geosort

* Add earthdistance-based org ranking
* Accept user input and get best-guess coordinates from that

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
3 years agolp1863252 toward geosort
Jason Etheridge [Thu, 3 Dec 2020 15:08:44 +0000 (10:08 -0500)]
lp1863252 toward geosort

From the release notes:

Sort Holdings by Geographical Proximity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This functionality integrates 3rd party geographic lookup services to allow patrons
to enter an address on the record details page in the OPAC and sort the holdings
for that record based on proximity of their circulating libraries to the entered
address. To support this, latitude and longitude coordinates may be associated with
each org unit. Care is given to not log or leak patron provided addresses or the
context in which they are used.

squashed commits:

* actor.org_address
* config.geolocation_service
* config.global_flag
* opac.holdings_sort_by_geographic_proximity OUS
* opac.geographic_proximity_in_miles OUS
* opac.geographic_location_service_for_address
* permission.perm_list
* Geo.pm, opensrf*.xml, ils_events.xml
* Org Unit Configuration
* OPAC Record Details
* release notes
* remove base_url
* provide an open-ils.actor wrapper for open-ils.geo.retrieve_coordinates
* some error trapping
  This will throw the GEOCODING_LOCATION_NOT_FOUND event for a wider range of problems.
  With the Google service, you can test by providing a bad API key or sending the
  copyright symbol as an address to lookup.
* distribute permissions to stock perm groups
* prerequisite cpan modules
* live_t/ tests

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
3 years agoLP#1815815: stamp schema update
Galen Charlton [Thu, 11 Mar 2021 18:45:55 +0000 (13:45 -0500)]
LP#1815815: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1815815: add release notes
Galen Charlton [Thu, 11 Mar 2021 18:44:50 +0000 (13:44 -0500)]
LP#1815815: add release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1815815: Do not use depth when filtering copies for a library group
Mike Rylander [Wed, 10 Mar 2021 23:57:19 +0000 (18:57 -0500)]
LP#1815815: Do not use depth when filtering copies for a library group

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1815815: Library Groups - limit copy table
Mike Rylander [Wed, 3 Mar 2021 21:23:25 +0000 (16:23 -0500)]
LP#1815815: Library Groups - limit copy table

This commit causes the record detail copy table to be restricted to
lasso orgs of the user-selected lasso.  The copy and hold summary
information is still making use of the last context org selected, but
it's unclear how to adjust those because they are (currently) strictly
hierarchical via the org tree.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoProvide two library groups for testing with Concerto
Mike Rylander [Tue, 9 Feb 2021 21:11:03 +0000 (16:11 -0500)]
Provide two library groups for testing with Concerto

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoAdd BooPAC support for Library Groups (lassos)
Mike Rylander [Fri, 13 Nov 2020 20:30:41 +0000 (15:30 -0500)]
Add BooPAC support for Library Groups (lassos)

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1815815: Simplify basic search UI
Mike Rylander [Thu, 6 Aug 2020 20:43:25 +0000 (16:43 -0400)]
LP#1815815: Simplify basic search UI

This commit adds logic to the org selector (and backing context building
logic) to allow the library dropdown to render Library Groups in a way
mechanically similar to location groups.  This is used in the basic
search interface to simplify the Library Group feature.

The advanced search interface still uses separate Library and Where
dropdowns, as this allows advance search to retain the depth selection
capability, and more directly shows the (real) relationship between a
library and the location groups, library groups, and depths that are
relevant to it.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1815815: Library Groups
Mike Rylander [Mon, 28 Jan 2019 21:02:43 +0000 (16:02 -0500)]
LP#1815815: Library Groups

This branch implements Library Groups (what used to be called "lassos") for
Evergreen.

Evergreen has, internally, a concept called "lassos" that allows an
administrator to define a group of org units to search that has no relation
to the hierarchical org tree. For instance, one might create a group of law
or science libraries within a university consortium, or group all school
libraries together.

In addition to the previous always-visible type of Library Group (lasso), one
can now make them context-aware so that that only show up if the current
search location is included as one of the org units in the Library Group.
This is implemented without regard to the org unit hierarchy, and so requires
that the relevant ancestor and descendent org units be included in the group
along with those that actually hold copies, but allows for complete
flexibility in context-aware Library Group configuration.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1918511: make the Bootstrap skin the default for the public catalog
Galen Charlton [Wed, 10 Mar 2021 22:48:08 +0000 (17:48 -0500)]
LP#1918511: make the Bootstrap skin the default for the public catalog

To test
-------
[1] Perform a fresh installation of Evergreen, or at least
    put in the updated eg_vhost.conf.
[2] Verify that the public catalog is using the Bootstrap skin.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP1908444 Support browse search record result sorting
Bill Erickson [Wed, 16 Dec 2020 21:16:47 +0000 (13:16 -0800)]
LP1908444 Support browse search record result sorting

Allow users to sort the set of bib records which link to a browse
heading via the existing sort options.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1907977: Display course name and number in course material editor
Jane Sandberg [Sat, 23 Jan 2021 00:33:15 +0000 (16:33 -0800)]
LP1907977: Display course name and number in course material editor

To test:

1) Go to Administration > Local > Course List
2) Make sure you have a variety of courses added.
3) Double click on a course that already has materials
attached to it.
4) Go to the materials tab.
5) Select a material and choose Edit
6) Note that the Course combobox shows both the course
number (HST243) and course name (History of Indonesia).
7) Note that you can blank out that field and type to
complete to get other courses in the same format.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1891550: stamp schema update and add release notes entry
Galen Charlton [Wed, 10 Mar 2021 22:14:47 +0000 (17:14 -0500)]
LP#1891550: stamp schema update and add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1891550 Ang print context support; no-print contexts
Bill Erickson [Mon, 17 Aug 2020 19:13:58 +0000 (15:13 -0400)]
LP1891550 Ang print context support; no-print contexts

Adds support to the Angular server template admin page for forcing a
print context for a given template.

Adds support to the Angular print service for looking up the context of
a print template when specified by name.

Adds support to And and AngJS print settings interfaces for a "No-Print"
context, which bypasses printing when used.

Adds a new workstation setting for the Booking Capture server print
template context.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1852321: (follow-up) modernize loadChildren invocation
Galen Charlton [Wed, 10 Mar 2021 22:01:27 +0000 (17:01 -0500)]
LP#1852321: (follow-up) modernize loadChildren invocation

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1917826: stamp schema update
Galen Charlton [Wed, 10 Mar 2021 21:26:56 +0000 (16:26 -0500)]
LP#1917826: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1917826: add release notes entry
Galen Charlton [Wed, 10 Mar 2021 21:25:23 +0000 (16:25 -0500)]
LP#1917826: add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1917826: tweaks to data update
Galen Charlton [Wed, 10 Mar 2021 21:21:24 +0000 (16:21 -0500)]
LP#1917826: tweaks to data update

- restrict the attribute reingest just to records whose item_type
  is 'g'
- don't break the transaction if a composite attribute definition
  whose coded_value is 1738 already exists

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1917826: Add All Videos option to the Search Format dropdown
Jane Sandberg [Fri, 5 Mar 2021 03:28:05 +0000 (19:28 -0800)]
LP1917826: Add All Videos option to the Search Format dropdown

To test:
1) Make sure that you have not added an "All Videos" option or a
config.coded_value_map with ID=1738 to the system you are testing
on.
2) Run the upgrade script, including the reingest.
3) Open the OPAC.
4) Perform a basic search using Format="All Videos".
5) Make sure that all the videos you expect show up, and no non-videos
   appear in the results.
6) Try building the database from scratch, using the seed data from this
   branch
7) Repeat steps 3-5.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1899405 - Add Part column to item table in Angular Catalog
Michele Morgan [Thu, 25 Feb 2021 21:51:01 +0000 (16:51 -0500)]
LP1899405 - Add Part column to item table in Angular Catalog

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1885179: add release notes stub
Galen Charlton [Wed, 10 Mar 2021 20:33:38 +0000 (15:33 -0500)]
LP#1885179: add release notes stub

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1885179 Staff catalog add results to basket
Bill Erickson [Thu, 25 Jun 2020 19:40:08 +0000 (15:40 -0400)]
LP1885179 Staff catalog add results to basket

Adds a new staff catalog option to add all search results to the basket.
prior to this, results could only be added one page at a time to the
basket.

Note there is currently a 1k limit on the number of items added from a
search result set.  This could be modified.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1861319: stamp schema update
Galen Charlton [Wed, 10 Mar 2021 20:26:01 +0000 (15:26 -0500)]
LP#1861319: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLp 1861319: Add Release Notes and Perl Live Tests
Jason Stephenson [Sat, 30 Jan 2021 00:36:19 +0000 (19:36 -0500)]
Lp 1861319: Add Release Notes and Perl Live Tests

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLp 1861319: Repair expire setting logic
Jason Stephenson [Mon, 25 Jan 2021 19:23:41 +0000 (14:23 -0500)]
Lp 1861319: Repair expire setting logic

Move the checks in Circulate.pm from mk_env to do_renew after the
circ_lib has been set for opac, auto, and desk renewals.

Only check for expired patrons in mk_env if we're not doing a renewal,
i.e. it's a regular checkout.

OPINION: That checks for patron validity in mk_env should be moved to
their own subroutine and called from do_checkout and do_renew.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agolp1861319 Auto-Renew/OPAC Renewal Compatibility
Kyle Huckins [Mon, 16 Nov 2020 21:54:04 +0000 (21:54 +0000)]
lp1861319 Auto-Renew/OPAC Renewal Compatibility

- Check global flag to determine which OU to check setting for.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agolp1861319 Expired Patron Item Renewal
Kyle Huckins [Thu, 19 Mar 2020 23:04:29 +0000 (23:04 +0000)]
lp1861319 Expired Patron Item Renewal

- SQL Upgrade for the new Org Unit Setting
- Perl Constant for new Org Unit Setting
- Include YAOUS to allow/disallow renewal of items
to expired patrons

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agonew branch using new id names
Rogan Hamby [Thu, 12 Nov 2020 15:51:17 +0000 (10:51 -0500)]
new branch using new id names

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1865898 Missing pieces mult-scan work flow improvements
Bill Erickson [Wed, 23 Sep 2020 15:45:42 +0000 (11:45 -0400)]
LP1865898 Missing pieces mult-scan work flow improvements

After an item is marked as missing pieces, select/focus the barcode
input so another item can easily be marked as missing pieces without
having to manually clear the form / reload the page.

Tweaks the "Cancel" button to use the text "Reset Form" once the current
item has been processed, since it can no longer be canceled, but the
form can be forceably cleared if desired.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1865898 Release Notes (Scan Missing Pieces)
Bill Erickson [Tue, 3 Mar 2020 15:56:40 +0000 (10:56 -0500)]
LP1865898 Release Notes (Scan Missing Pieces)

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1865898 Scan Item as Missing Pieces Angular Port
Bill Erickson [Mon, 2 Mar 2020 19:17:55 +0000 (14:17 -0500)]
LP1865898 Scan Item as Missing Pieces Angular Port

Port the 'Scan Item As Missing Pieces' staff client interface to
Angular.  Interface displays additional data (title/author/callnum)
during the staff confirmation step.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1852321: add release notes entry
Galen Charlton [Mon, 8 Mar 2021 19:51:43 +0000 (14:51 -0500)]
LP#1852321: add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agolp1852321 Angular Shelving Location Groups UI Port
Mike Risher [Mon, 2 Dec 2019 20:38:15 +0000 (20:38 +0000)]
lp1852321 Angular Shelving Location Groups UI Port

Port Shelving Location Groups interface from DOJO to Angular. Features
ported include  creating and editing Location Groups, dragging and dropping
Location Groups to change their saved order, adding and removing
Group Entgries, and sorting Shelving Locations in the same order as the old
interface.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1838995: (follow-up) add Hold Groups to Angular staff nav
Galen Charlton [Mon, 8 Mar 2021 16:01:33 +0000 (11:01 -0500)]
LP#1838995: (follow-up) add Hold Groups to Angular staff nav

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1838995: stamp schema update
Galen Charlton [Mon, 8 Mar 2021 15:54:02 +0000 (10:54 -0500)]
LP#1838995: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1838995: (follow-up) adjust ID for new permission
Galen Charlton [Mon, 8 Mar 2021 15:51:49 +0000 (10:51 -0500)]
LP#1838995: (follow-up) adjust ID for new permission

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1838995: Hold group buckets
Mike Rylander [Fri, 6 Sep 2019 18:49:52 +0000 (14:49 -0400)]
LP#1838995: Hold group buckets

This feature allows staff to add multiple users to a named hold group
bucket and place title-level holds for a record for that entire set of users.
Users can be added to such a hold group bucket from either the patron
search result interface, via the Add to Bucket dropdown, or through a dedicated
Hold Groups interface available from the Circulation menu.  Adding new
patrons to a hold group bucket will require staff have the PLACE_HOLD
permission.

Holds can be placed for the users in a hold group bucket either directly from
the normal staff-place hold interface in the embedded OPAC, or by supplying the
record ID within the hold group bucket interface.  In the latter case, the
list of users for which a hold was attempted but failed to be placed can be
downloaded by staff in order to address any placement issues.  Placing a
hold group bucket hold will requires staff have the MANAGE_HOLD_GROUPS
permission, which is new with this development.

In the event of a mistaken hold group hold, staff with the
MANAGE_HOLD_GROUPS permission will have the ability to cancel all unfulfilled
holds created as part of a hold group hold event.

A link to the title's hold interface is available from the list of hold group
hold events in the dedicated hold group hold interface.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Chauncey Montgomery <chauncey@yourcl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1913219: (follow-up) clean up ng lint warning
Galen Charlton [Mon, 8 Mar 2021 15:45:46 +0000 (10:45 -0500)]
LP#1913219: (follow-up) clean up ng lint warning

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1908763: (follow-up) clean up ng lint warnings
Galen Charlton [Mon, 8 Mar 2021 15:44:11 +0000 (10:44 -0500)]
LP#1908763: (follow-up) clean up ng lint warnings

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agolp 1848579 filtering interval columns
Mike Risher [Wed, 19 Feb 2020 23:49:01 +0000 (23:49 +0000)]
lp 1848579 filtering interval columns

This is a shot term change intended to prevent the "I don't know how
to filter" default message from showing up when the datatype 'interval'
is filtered.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1915219: stamp schema update
Galen Charlton [Thu, 4 Mar 2021 16:09:11 +0000 (11:09 -0500)]
LP#1915219: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1915219: remove nonexistent setting group from user setting for overdue notices
Jeff Davis [Fri, 12 Feb 2021 23:01:22 +0000 (15:01 -0800)]
LP#1915219: remove nonexistent setting group from user setting for overdue notices

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1915219: opt-in setting for overdue and predue emails
Jeff Davis [Wed, 10 Feb 2021 00:31:52 +0000 (16:31 -0800)]
LP#1915219: opt-in setting for overdue and predue emails

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1895679: Simplify and genericize the refund policy
Jason Boyer [Tue, 9 Feb 2021 18:06:32 +0000 (13:06 -0500)]
LP1895679: Simplify and genericize the refund policy

Don't refrence the "email above" since that's not always
the case and simplify the languge slightly, though most
users will still likely want to customize it.

Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1895679: Add Stripe v3 support to Bootstrap OPAC
Jason Boyer [Tue, 8 Dec 2020 20:52:13 +0000 (15:52 -0500)]
LP1895679: Add Stripe v3 support to Bootstrap OPAC

Update the Bootstrap OPAC to use Stripe v3, added to the TPAC
in LP 1774892.

Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#169625: add a release notes entry
Galen Charlton [Thu, 4 Mar 2021 15:29:52 +0000 (10:29 -0500)]
LP#169625: add a release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#169625: Support script for working with OverDrive API
Jeff Davis [Thu, 8 Jun 2017 18:09:04 +0000 (11:09 -0700)]
LP#169625: Support script for working with OverDrive API

Adds a script, overdrive-api-checker.pl, for testing the
OverDrive API from the command line.

USAGE:
    Open-ILS/src/support-scripts/overdrive-api-checker.pl --get-token --key <client-key> --secret <client-secret>
    Open-ILS/src/support-scripts/overdrive-api-checker.pl --account <account_id> --token <basic_token> [ --endpoint https://api.overdrive.com/v1/libraries/1234 [ --content <content> ] ]
    Open-ILS/src/support-scripts/overdrive-api-checker.pl --account <account_id> --token <basic_token> --oauth-only
    Open-ILS/src/support-scripts/overdrive-api-checker.pl --account <account_id> --token <basic_token> --patron-auth [ --endpoint https://oauth-patron.overdrive.com/patrontoken ] --barcode <barcode> [ --password <password> ] --websiteid <websiteid> --authorizationname <authorizationname>

OPTIONS:
    --get-token
        Generate OverDrive API basic token.
    --key
        Client key supplied by OverDrive.  Required with --get-token.
    --secret
        Client secret supplied by OverDrive.  Required with --get-token.
    --token
        Your OverDrive API basic token (clientKey:clientSecret, Base64-encoded).
        Required unless using --get-token.
    --account
        Your OverDrive API account ID (e.g. 1234).  Not required for generating
        a basic token; required for everything else.
    --oauth-endpoint
        OverDrive API endpoint for OAuth token requests.
        Default: https://oauth.overdrive.com/token.
    --endpoint
        OverDrive API endpoint that you wish to test.
        Default: https://api.overdrive.com/v1/libraries/<account>
    --content
        JSON content of main API request.  Required only if you have specified
        an endpoint that expects JSON message content.
    --oauth-only
        Only request an OAuth token; do not attempt further API requests.
    --patron-auth
        Submit a patron authentication request.
    --barcode
        Patron barcode.  Required with --patron-auth.
    --password
        Patron password.  Required with --patron-auth if your library requires
        password for patron authentication.
    --websiteid
        Website ID supplied by OverDrive.  Required with --patron-auth.
    --authorizationname
        ILS name supplied by OverDrive.  Required with --patron-auth.
    --verbose
        Print full HTTP requests and responses.
    --help
        Print this help message.

EXAMPLES:

    To generate your basic token, given a client key and client secret supplied
    by OverDrive:

    Open-ILS/src/support-scripts/overdrive-api-checker.pl --get-token --key <client-key> --secret <client-secret>

    To send a basic API request (this is useful for validating your client
    credentials and determining whether the OverDrive API is currently
    available):

    Open-ILS/src/support-scripts/overdrive-api-checker.pl --account <account_id> --token <basic_token>

    To send a request to a specific API endpoint:

    Open-ILS/src/support-scripts/overdrive-api-checker.pl --account <account_id> --token <basic_token>
    --endpoint <endpoint> --content <content>

    To test OverDrive API authentication for a specific patron:

    Open-ILS/src/support-scripts/overdrive-api-checker.pl --account <account_id> --token <basic_token>
    --patron-auth --barcode <barcode> --password <password>
    --websiteid <websiteid> --authorizationname <authorizationname>

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Martha Driscoll <driscoll@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoupdate the note to include the institution
Galen Charlton [Wed, 3 Mar 2021 20:30:44 +0000 (15:30 -0500)]
update the note to include the institution

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoadd an acknowledgment destined for the 3.7 release notes
Galen Charlton [Wed, 3 Mar 2021 20:29:16 +0000 (15:29 -0500)]
add an acknowledgment destined for the 3.7 release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1076582: Remove Custom Dojo Build Profile and Add Release Note
Jason Stephenson [Wed, 3 Mar 2021 14:56:17 +0000 (09:56 -0500)]
LP#1076582: Remove Custom Dojo Build Profile and Add Release Note

Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLP#1076582: remove reference to openils_dojo.js from Bootstrap OPAC
Jeff Davis [Tue, 2 Mar 2021 17:36:23 +0000 (09:36 -0800)]
LP#1076582: remove reference to openils_dojo.js from Bootstrap OPAC

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLP#1617556 - Remove openils_dojo.js references
Chris Sharp [Sat, 27 Aug 2016 12:02:11 +0000 (08:02 -0400)]
LP#1617556 - Remove openils_dojo.js references

Somewhere along the way, openils_dojo.js was removed,
but references remained.  This removes them, hopefully
helping to speed up page loads.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLp 1703658: Stamp DB Upgrade
Jason Stephenson [Tue, 2 Mar 2021 14:22:55 +0000 (09:22 -0500)]
Lp 1703658: Stamp DB Upgrade

Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLp 1703658: Repair DB Upgrade
Jason Stephenson [Thu, 25 Feb 2021 20:00:02 +0000 (15:00 -0500)]
Lp 1703658: Repair DB Upgrade

Remove an errant semicolon in the db upgrade script.

Add release notes.

Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLP1703658: Convert GIST Indexes to GIN
Jason Boyer [Thu, 25 Feb 2021 15:06:38 +0000 (10:06 -0500)]
LP1703658: Convert GIST Indexes to GIN

Rather than suggest that sites experiencing search speed issues
do this conversion on demand just knock it out from the start.

Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLp 1901899: Remove Ubuntu 16.04 Xenial Xerus
Jason Stephenson [Wed, 28 Oct 2020 17:11:10 +0000 (13:11 -0400)]
Lp 1901899: Remove Ubuntu 16.04 Xenial Xerus

Remove prerequisites, installation, and upgrade references for Ubuntu
16.04 Xenial Xerus.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLp 1875544: Add Installation Support for Ubuntu 20.04 Focal Fossa
Jason Stephenson [Tue, 27 Oct 2020 17:18:13 +0000 (13:18 -0400)]
Lp 1875544: Add Installation Support for Ubuntu 20.04 Focal Fossa

README and prerequisite updates.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
3 years agoLp 1700818: brief release notes for Czech records
Jane Sandberg [Sat, 27 Feb 2021 17:05:03 +0000 (09:05 -0800)]
Lp 1700818: brief release notes for Czech records

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1912380 Bottom Pagination for Catalog Search
Garry Collum [Wed, 3 Feb 2021 21:11:09 +0000 (16:11 -0500)]
LP1912380 Bottom Pagination for Catalog Search

Adds pagination to the bottom of a catalog search in the staff catalog.

To Test:
Search for a general topic in the staff catalog.  Pagination is at the top
of the search results but not the bottom.

Apply the patch.  Pagination now appears at the top and bottom of the search results.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLp 1700818: Add Czech Records
Jason Stephenson [Tue, 27 Oct 2020 15:37:07 +0000 (11:37 -0400)]
Lp 1700818: Add Czech Records

Add Czech bibliographic records to sample data.  The records were
provided courstesy of SPOK.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1843969 Composite Attribute Entry Defs
Mike Risher [Thu, 22 Oct 2020 20:19:51 +0000 (20:19 +0000)]
LP1843969 Composite Attribute Entry Defs

Create a port of the Coded Value Maps UI from Angular JS to
Angular. Allow creation and edits of the Composite Attribute
Entry Definitions.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Jason Boyer <boyer.jason@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP#1871211: Shibboleth release notes
Jane Sandberg [Fri, 26 Feb 2021 19:11:35 +0000 (11:11 -0800)]
LP#1871211: Shibboleth release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP#1871211: Stamp shibboleth upgrade script
Jane Sandberg [Fri, 26 Feb 2021 17:55:20 +0000 (09:55 -0800)]
LP#1871211: Stamp shibboleth upgrade script

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP#1871211: Shibboleth integration support
Mike Rylander [Fri, 28 Aug 2020 19:38:57 +0000 (15:38 -0400)]
LP#1871211: Shibboleth integration support

This commit adds Shibboleth integration to Evergreen for use in the
OPAC.  Using Shibboleth, libraries can authenticate patrons against a
wide variety of 3rd party services, using many different protocols and
standards.

Several settings control if, when and how to make use of the Shibboleth
integration:
 * Enable Shibboleth SSO for the OPAC
  - The main on/off switch.
 * Allow both Shibboleth and native OPAC authentication
  - By default only one or the other will be allowed.  This enables both
    native and Shibboleth login.
 * Log out of the Shibboleth IdP
  - If supported by the IdP configured for use on the other side of
    Shibboleth, this tells Evergreen to tell Shibboleth to log out of
    the IdP on Evergreen logout.
 * Shibboleth SSO Entity ID
  - If multiple IdPs are configured for Shibboleth, and available to a
    particular hostname, this setting defines the one to use for a
    given context org unit.
 * Evergreen SSO matchpoint
  - The Evergreen-side user field to use when looking up the patron
    after successful SSO login.
 * Shibboleth SSO matchpoint
  - The Shibboleth-side field, defined in the attribute map, that
    contains the IdP user identifier value used to look up the Evergreen
    patron.

Two apache sesttings control how Evergreen interacts with Shibboeth:
 * SetEnv sso_loc XXX, which acts in a way analogous to the physical_loc
   environment variable to define the context OU for SSO settings.
 * ShibRequestSetting applicationId XXX, which helps Shibboleth identify
   the correct set of entity ID and attribute mapping configuration.

Additional Shibboleth-focused documentation and examples will be
provided for system administrators.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP#1916904 Bootstrap OPAC: Call number on Search Results Page
Terran McCanna [Thu, 25 Feb 2021 14:58:23 +0000 (09:58 -0500)]
LP#1916904 Bootstrap OPAC: Call number on Search Results Page

This adds the call number to the search results page when
"Show More Details" is not selected. (This brings back the same
behavior as the pre-bootstrap OPAC.)

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1913458 Bucket Add/Delete Item Operations Batched
Bill Erickson [Wed, 27 Jan 2021 16:55:56 +0000 (11:55 -0500)]
LP1913458 Bucket Add/Delete Item Operations Batched

In the record bucket administration UI, the act of adding or removing
items from a bucket are now done in batch to avoid too many parallel
requests.

These changes include new batch create/delete API calls that can operate
on any bucket type, so other UI's can be similarly batched as needed.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1916085 Bootstrap OPAC - Pagination on copy table
Terran McCanna [Fri, 19 Feb 2021 00:37:35 +0000 (19:37 -0500)]
LP1916085 Bootstrap OPAC - Pagination on copy table

This adjusts some of the display logic in the Bootstrap OPAC
copy table pagination that had been causing the Next / Prev and
Show Fewer Copies links to be hidden when they shouldn't be.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
3 years agoLP1871510 Update Interface Titles
Mike Risher [Thu, 7 Jan 2021 19:55:45 +0000 (19:55 +0000)]
LP1871510 Update Interface Titles

Update titles on several local admin interfaces so that they match the page listing all Local Admin interfaces.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoForward port 3.6.1 to 3.6.2 db upgrade script
Jason Stephenson [Thu, 18 Feb 2021 14:33:45 +0000 (09:33 -0500)]
Forward port 3.6.1 to 3.6.2 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoForward Port 3.5.2 to 3.5.3 db upgrade
Jason Stephenson [Wed, 17 Feb 2021 22:01:29 +0000 (17:01 -0500)]
Forward Port 3.5.2 to 3.5.3 db upgrade

Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoForward port 3.4.5-3.4.6 db upgrade script
Jason Stephenson [Wed, 17 Feb 2021 19:13:33 +0000 (14:13 -0500)]
Forward port 3.4.5-3.4.6 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoEvergreen 3.6.2 release notes
Galen Charlton [Wed, 17 Feb 2021 20:19:46 +0000 (15:19 -0500)]
Evergreen 3.6.2 release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoEvergreen 3.5.3 release notes
Galen Charlton [Wed, 17 Feb 2021 16:47:51 +0000 (11:47 -0500)]
Evergreen 3.5.3 release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoEvergreen 3.4.6 release notes
Galen Charlton [Wed, 17 Feb 2021 15:55:56 +0000 (10:55 -0500)]
Evergreen 3.4.6 release notes

Signed-off-by: galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1836254: Handle null authtoken in PCRUD
Mike Rylander [Sat, 13 Jul 2019 18:18:09 +0000 (14:18 -0400)]
LP#1836254: Handle null authtoken in PCRUD

When the authtoken received from the client is the unquoted literal
string "null" in a pcrud request, the drone processing the request
will crash with a segmentation fault as the session verification code
passes a NULL pointer to strcmp.

To reproduce this bug, make the following request via srfsh:

    request open-ils.pcrud open-ils.pcrud.search.pgt null
    {"parent":null},{"flesh":-1,"flesh_fields":{"pgt":["children"]}}

Note that srfsh hangs util it times out.

Next, grep /var/log/syslog for the string segfault.  You should find
something resembling the following:

    Jul 12 15:29:43 buster kernel: [   94.794920] opensrf-c[1357]:
    segfault at 0 ip 00007fe3bbb8b219 sp 00007fff2877a020 error 4 in
    liboils_pcrud.so.2.0.0[7fe3bbb82000+10000]

After patching Evergreen with this commit, repeat the srfsh request
again.  This time, the call should return almost immediately with an
osrfMethodException: "permacrud received a bad auth token: (null)."
When you grep syslog for segfault this time, you should find no new
occurrences.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLP1908743 Hold pickup lib does not require have-users; repairs
Bill Erickson [Tue, 9 Feb 2021 16:10:41 +0000 (11:10 -0500)]
LP1908743 Hold pickup lib does not require have-users; repairs

To match the TPAC, only disable org units where can_have_vols is false
in the hold pickup library selector (plus those explicitly disabled via
setting).

Also fixes a thinko in the settings retrieval code.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1908743 Staff catalog honors org-not-pickup-lib
Bill Erickson [Mon, 11 Jan 2021 19:15:33 +0000 (14:15 -0500)]
LP1908743 Staff catalog honors org-not-pickup-lib

In the Angular staff catalog, disable org units in the pickup library
selector that have the 'opac.holds.org_unit_not_pickup_lib' org unit
setting applied, plus those that have false values for can-have-users or
can-have-vols.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1908743 Org select now supports disabled org unit
Bill Erickson [Fri, 5 Feb 2021 16:16:59 +0000 (11:16 -0500)]
LP1908743 Org select now supports disabled org unit

Org units specified as disabled in <eg-org-select /> are now visible,
but disabled when the typeahead displays.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP#1858114: Fix thinko in template-parameter collection
Mike Rylander [Fri, 14 Aug 2020 19:35:10 +0000 (15:35 -0400)]
LP#1858114: Fix thinko in template-parameter collection

Minor thinko in the use of Array.prototype.concat() when gathering the
"where" and "having" template parameters -- concat() does not alter the
array it is called on, so we need to assign the result back to the
array.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1858114: Record template filter values for aggregate columns
Mike Rylander [Fri, 14 Aug 2020 14:35:06 +0000 (10:35 -0400)]
LP#1858114: Record template filter values for aggregate columns

Currently the "having" clause does not record template-level filter
values in the template, but forces use of a report-level parameter.
This commit allows "having" to receive a value in the same way that
"where" does.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1858114: Present proper input widget for aggregate parameters
Mike Rylander [Thu, 13 Aug 2020 17:05:19 +0000 (13:05 -0400)]
LP#1858114: Present proper input widget for aggregate parameters

There's currently logic to override the filter widget for all columns
that have a selector defined, such as the ID column of many tables. When
we transform the column with an aggregate transform, though, we don't want
to pick a particular selector-labeled value.

While I can imagine using a min or max aggregate to get a representative
value for a group, when other dependent filters would make the value
stable or where the value in particular doesn't matter but isn't needed
in a count (say), all the other aggregate transforms that are currently
supported are specifically numeric (sum, average, count, and
count_distinct). Because of that, and the most likely use case of
matching a count to "0" or "1", we should only present the "remote
object widget" for non-aggregates, and just use the baseline text string
input here.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1866406 Followup: Add Release Note
Jason Boyer [Mon, 15 Feb 2021 21:42:42 +0000 (16:42 -0500)]
LP#1866406 Followup: Add Release Note

Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1866406: Use carousel item order
Mike Rylander [Fri, 23 Oct 2020 18:26:10 +0000 (14:26 -0400)]
LP#1866406: Use carousel item order

Previous to this commit, the item display order for carousels was
undefined.  Now, ordering is stable and predictable.

For Newly Cataloged Item and Newest Items by Shelving Location
carousels, the order is from most recently cataloged to least
recently cataloged.

For Recently Returned Item carousels, the order is from most recently
returned to least recently returned.

For Top Circulated Items carousels, the order is from most circulated
to least circulated.

For Manual carousels (as of now, without the ability to adjust the
Position of items) it is the order they are added to the backing bucket.
Thus emptying and refilling the bucket allows reordering.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1772955: Stamp Upgrade Script
Jason Boyer [Mon, 15 Feb 2021 21:17:06 +0000 (16:17 -0500)]
LP#1772955: Stamp Upgrade Script

Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP#1772955: Only include xacts with balance in summary
Mike Rylander [Thu, 30 Jul 2020 15:48:46 +0000 (11:48 -0400)]
LP#1772955: Only include xacts with balance in summary

This commit adds a new view and IDL definition that shows the total
owed/paid/balance for transactions that have a balance other than 0.
This new view is used in the patron summary bar, and access is provided
wherever the all-open-transactions version is available in case we want
to move to the new one elsewhere.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP1670457 Action Menu Grid Selection Change
Zavier Banks [Thu, 5 Mar 2020 16:19:49 +0000 (16:19 +0000)]
LP1670457 Action Menu Grid Selection Change

I reworked the grid to disable certain actions, if
an item was needed. However, if there were actions, were
there was no item needed, they would still be available.

Signed-off-by: Zavier Banks <zbanks@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP1468132 MARC search honors search scope
Bill Erickson [Mon, 14 Sep 2020 14:52:05 +0000 (10:52 -0400)]
LP1468132 MARC search honors search scope

Adds a 'Results from All Libraries' checkbox to the MARC search form in
the Angular staff catalog.  When unchecked, the MARC search will limit
to results with holdings in the search scope.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP1468132 Staff MARC Search API supports copy filtering
Bill Erickson [Mon, 14 Sep 2020 15:33:45 +0000 (11:33 -0400)]
LP1468132 Staff MARC Search API supports copy filtering

Teaches the MARC search code to filter results on records with items
attached (though not necessarily opac-visible) for scoped staff
searches.  Prior to this patch, the scope of staff searches was
effectively ignored.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
3 years agoLP1914116: Apply html filter to mkurl() output
Jason Boyer [Mon, 8 Feb 2021 19:20:32 +0000 (14:20 -0500)]
LP1914116: Apply html filter to mkurl() output

Because of the way that mkurl() generates its query parameters they're
generally escaped correctly, but nowhere do we run the output of mkurl()
through the html filter to correctly handle ampersands. Rather than adding
"|html" to every invocation of mkurl, it's just added to the macro directly.

Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
3 years agoLP1474029 Stamping DB upgrade: expired staff no-login
Bill Erickson [Wed, 10 Feb 2021 20:46:56 +0000 (15:46 -0500)]
LP1474029 Stamping DB upgrade: expired staff no-login

Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP#1474029: teach Evergreen how to prevent expired staff from logging in
Galen Charlton [Thu, 10 Dec 2020 22:23:47 +0000 (17:23 -0500)]
LP#1474029: teach Evergreen how to prevent expired staff from logging in

This patch adds the ability to prevent staff users whose
accounts have expired from logging in. This is controlled
by the new global flag "auth.block_expired_staff_login", which
is not enabled by default. If that flag is turned on, accounts
that have the `STAFF_LOGIN` permission and whose expiration date
is in the past are prevented from logging into any Evergreen
interface, including the staff client, the public catalog, and SIP2.

It should be noted that ordinary patrons are allowed to log into
the public catalog if their circulation privileges have expired. This
feature prevents expired staff users from logging into the public catalog
(and all other Evergreen interfaces and APIs) outright in order to
prevent them from getting into the staff interface anyway by
creative use of Evergreen's authentication APIs.

Evergreen admins are advised to check the expiration status of staff
accounts before turning on the global flag, as otherwise it is
possible to lock staff users out unexpectedly.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1907115 MARC editor avoid ID collisions
Bill Erickson [Wed, 9 Dec 2020 19:04:52 +0000 (14:04 -0500)]
LP1907115 MARC editor avoid ID collisions

Generate DOM IDs for editable content components via incrementing int
instead of a random int.  This addresses cases where records with higher
numbers of MARC fields could result id DOM ID collisions, leading to
empty subfield values.

Also remove use of Renderer2, which is considered harmful and overkill
for simple document.getElementById()-equivalent calls.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
3 years agoLP1907115 MARC editor correctly absorbs breaker changes
Bill Erickson [Mon, 7 Dec 2020 18:28:56 +0000 (10:28 -0800)]
LP1907115 MARC editor correctly absorbs breaker changes

MARC editor now correctly extracts MARC field data from the new
underlying MARC record when it is changed as a result of a breaker text
change and re-absorb.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>