]> git.evergreen-ils.org Git - working/Evergreen.git/log
working/Evergreen.git
2 years agoLP#172113 - Patron Search Form Reset Enhancement user/blake/lp1721131_patron_search_reset_3_7
Josh Stompro [Fri, 28 Feb 2020 16:36:22 +0000 (10:36 -0600)]
LP#172113 - Patron Search Form Reset Enhancement

The patron search "Clear Form" button clears the value
from the Home Library selector and sets it to undefined.

This can cause some strange results for subsequent
searches, where the workstation ou can get inserted
unintentionally.

This branch changes the Clear Form input from a reset button to
just a button, so the clearForm() function does all the work.

The clearForm() function is changed to set the Home Lib to cons
and the Include Inactive to true, so a reset results in the broadest
search possible.

Testing Notes:
1. Clear browser pref for eg.circ.patron.search.ou in admin ->
  workstation -> stored preferences.
2. Load patron search.
3. Press clear form. (Home library gets cleared)
4. Add some search args and perform a search that returns some patrons.
5. Open a patron.
6. Click on patron search in upper right corner to return to results.
7. Note that home library is now set to workstation ou.

After fix applied.

Perform above steps, but note that clear form sets Home Lib to cons,
and doesn't unset Include Inactive.

Signed-off-by: Josh Stompro <stompro@stompro.org>
2 years agoDocs: Update basic_holds.adoc
gmontimantis [Fri, 30 Jul 2021 14:15:46 +0000 (10:15 -0400)]
Docs: Update basic_holds.adoc

removing Print full pull list alternative reference

https://bugs.launchpad.net/evergreen/+bug/1775402
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoDocs: Update basic_holds.adoc to include updated screenshot
gmontimantis [Fri, 30 Jul 2021 14:14:01 +0000 (10:14 -0400)]
Docs: Update basic_holds.adoc to include updated screenshot

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoDocs: add a chapter about the course materials module
Jane Sandberg [Fri, 14 Jan 2022 23:58:02 +0000 (15:58 -0800)]
Docs: add a chapter about the course materials module

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoLP 1942645: stamp upgrade script
Jane Sandberg [Tue, 14 Dec 2021 21:02:15 +0000 (13:02 -0800)]
LP 1942645: stamp upgrade script

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agolp-1942645 term name uniqueness
malexander [Wed, 8 Dec 2021 19:12:23 +0000 (19:12 +0000)]
lp-1942645 term name uniqueness

dropped name uniqueness between orgs, added constraint to owning lib and name

Includes syntax corrections from Martha Driscoll -- thank you, Martha!

Signed-off-by: malexander <malexander@catalyte.io>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoLp 1862652: pingest.pl reingest record attributes fix
Jason Stephenson [Mon, 10 Feb 2020 16:09:37 +0000 (11:09 -0500)]
Lp 1862652: pingest.pl reingest record attributes fix

Use the rdeleted parameter when reingesting record attributes in
pingest.pl support script so that passing argument values to the
--attr option makes sense.

Prior to this patch, arguments of the --attr option would be ignored,
and all record attribute fields were reingested for all records,
deleted and not deleted alike.

With this patch, the arguments of the --attr option are respected for
not deleted records.  Deleted records still have all attributes
reingested.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoLP1933275 Staff catalog holdings view shows correct counts
Bill Erickson [Thu, 8 Jul 2021 14:19:43 +0000 (10:19 -0400)]
LP1933275 Staff catalog holdings view shows correct counts

teaches the Holdings view to determine the number of copies and call
numbers attached to each org unit based on the full data set (via new
API) instead of copies in hand, since we may only have copies in hand
for a subset of child org units.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoDocs: remove outdated screenshots
Jane Sandberg [Thu, 2 Dec 2021 00:08:52 +0000 (16:08 -0800)]
Docs: remove outdated screenshots

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoDocs: update lsa-barcode-completion
gmontimantis [Thu, 18 Nov 2021 13:57:26 +0000 (08:57 -0500)]
Docs: update lsa-barcode-completion

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoLP#1949910: serialize deleting items from item bucket
Galen Charlton [Thu, 11 Nov 2021 16:21:11 +0000 (11:21 -0500)]
LP#1949910: serialize deleting items from item bucket

This patch serializes the fetching and fleshing of items to delete
when the delete-from-item-bucket action is invoked, thereby
avoiding possible drone starvation from open-ils.search. It
also throws up the progress dialog for good measure while
the deletion occurs.

To test
-------
[1] Set up an item bucket with 25-50 items.
[2] From the item bucket intervace, invoke the action to delete
    all of the items.
[3] Note that the open-ils.search.asset.copy.fleshed2.retrieve calls,
    one for each item, are all made simultaneously. Assuming stock
    max_children settings, this will cause open-ils.search to log
    that some requests are hitting the backlog.
[4] Apply the patch and refresh the item bucket page, then repeat
    step 2 (it doesn't matter for this purpose that the items have
    already been deleted). This time, the open-ils.search API calls
    are made serially and a progress bar is displayed while the
    deletion takes place. Verify that no requests hit the backlog.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoForward Port 3.6.3 Upgrade Script
Jason Boyer [Thu, 18 Nov 2021 13:52:09 +0000 (08:52 -0500)]
Forward Port 3.6.3 Upgrade Script

2 years agodocs: updating batch_importing_MARC.adoc
gmontimantis [Wed, 17 Nov 2021 18:40:16 +0000 (13:40 -0500)]
docs: updating batch_importing_MARC.adoc

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoDocs: lp1739277 Release Notes for Org Selector Styling
Kyle Huckins [Wed, 31 Jul 2019 16:42:35 +0000 (16:42 +0000)]
Docs: lp1739277 Release Notes for Org Selector Styling

- Add release notes for new Org Selector Styling functionality.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
new file:   docs/RELEASE_NOTES_NEXT/Client/org-select-styling.adoc

Signed-off-by: Jennifer Bruch <jbruch@sparkpa.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 years agolp1739277 OrgSelect Class Callback Holdings Implementation
Kyle Huckins [Tue, 30 Jul 2019 19:00:14 +0000 (19:00 +0000)]
lp1739277 OrgSelect Class Callback Holdings Implementation

- Implement OrgSelectClassCallback in Angular Catalog Holdings UI

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.html
modified:   Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.ts

Signed-off-by: Jennifer Bruch <jbruch@sparkpa.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 years agoLP1739277 Angular org selector style callback
Bill Erickson [Tue, 30 Jul 2019 16:12:12 +0000 (12:12 -0400)]
LP1739277 Angular org selector style callback

Allow the caller of an <eg-org-select> to pass a function which is
called against each org unit in the list to determine what CSS class(es)
should be applied to the org unit label in the list.

Includes sandbox example.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jennifer Bruch <jbruch@sparkpa.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 years agoDocs: Adding latency test and disable sounds to workstation admin.
Jennifer Pringle [Thu, 7 Oct 2021 18:46:13 +0000 (11:46 -0700)]
Docs: Adding latency test and disable sounds to workstation admin.

Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoDocs: Transit List
Lynn Floyd [Fri, 4 Jun 2021 19:41:31 +0000 (15:41 -0400)]
Docs: Transit List

Documentation on Transit List.

Signed-off-by: Lynn Floyd <alynn2671@gmail.com>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoDocs: Update receipt_template_editor.adoc
gmontimantis [Mon, 28 Jun 2021 16:22:57 +0000 (12:22 -0400)]
Docs: Update receipt_template_editor.adoc

Fixes https://bugs.launchpad.net/evergreen/+bug/1929592

Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
2 years agoLP1766726 Clarify Field Hints on Print Templates
Terran McCanna [Tue, 21 Sep 2021 20:48:50 +0000 (16:48 -0400)]
LP1766726 Clarify Field Hints on Print Templates

Adds 'patron.' to beginning of patron field hints in Checkout and Items Out
templates to make it easier for users to understand.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1819233 improve AngularJS eg-basic-combo-box filtering
Mike Risher [Wed, 20 May 2020 23:27:20 +0000 (23:27 +0000)]
LP#1819233 improve AngularJS eg-basic-combo-box filtering

Adjust the eg-basic-combo-box so that it doesn’t give console errors
when typing characters such as [. Fix the bug that causes it to
sometimes show no results when there are valid results that match.

To test
-------
[1] Apply the patch, then create a new report template, add a
    display field, then open the Change Transform modal.
[2] Verify that the selection box will accept characters like '['
    as input without browser console noise, that the filtering
    is case-insensitive, and that filtering continues to work
    after clicking on the selector.
[3] Instances of this combo box can also be found in the AngularJS
    volume/copy editor.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1906842 PLACE_UNFILLABLE_HOLD permission not working if no titles exist
Steven Callender [Fri, 4 Dec 2020 14:59:25 +0000 (09:59 -0500)]
LP1906842 PLACE_UNFILLABLE_HOLD permission not working if no titles exist

This fix will correct an issue where the screen just keeps looping to
the override screen when trying to place a hold that has no titles
available for it.

Patch courtesy of Mike Rylander.

Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1830089: close transaction and update copy status on payment or adjust to zero
Jeff Davis [Thu, 6 Jun 2019 21:30:34 +0000 (14:30 -0700)]
LP#1830089: close transaction and update copy status on payment or adjust to zero

When you make a payment that sets the balance owed to zero, Evergreen
closes the transaction and sets the item status to Lost & Paid (if
appropriate).  Adjust to Zero should do the same thing, but hitherto it
would not update the item status.  This commit refactors some code to
ensure that Evergreen gives the same result whether you make a payment
or adjust to zero.

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1947173: stamp schema update
Galen Charlton [Fri, 5 Nov 2021 16:07:52 +0000 (12:07 -0400)]
LP#1947173: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1947173: Clean up bad cataloging pot hole
Mike Rylander [Wed, 20 Oct 2021 20:22:37 +0000 (16:22 -0400)]
LP#1947173: Clean up bad cataloging pot hole

If a MARC record has effectively empty fields (all space or punctuation)
then it's possible to stumble over a NULL text array when parsing
content for the symspell dictionary.  This commit checks for that
condition and returns early to avoid the problem.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1947173: Speed up the symspell part of ingest
Mike Rylander [Thu, 14 Oct 2021 13:57:24 +0000 (09:57 -0400)]
LP#1947173: Speed up the symspell part of ingest

For certain data, and certain data set sizes, merging the suggestion
arrays used by the symspell algorithm is noticably expensive.  This is
the case for suggestion arrays containing many thousands of entries.
These suggestion sets are not only slow, but generally not useful.  We
avoid the creation of such overly long suggestion sets using several
word filters that take advantage of our knowledge of the incoming data
to optimize for what is useful in a bibliographic context.  The
mechanisms employed by this patch are:

- Omit suggestions whose length is longer than the max prefix key length
  when the prefix key length is less than or equal to the maximum prefix
  key length minus the maximum edit distance.
- Omit words that contain a run of 5 or more digits. This will drop most
  identifiers from the dictionary while still allowing suggestions to
  happen for year values.
- Omit empty keys from the dictionary.  This should have been the case
  already but is now enforced directly.
- Add a small speedup to evergreen.text_array_merge_unique() by making
  it assume that arrays passed to it do not have null values, which we
  intentionally avoid, and against which we protect in other ways in the
  commit.

Besides improving reingest speed, the patches will also make the
search.symspell_dictionary table significantly smaller.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoForward-port 3.7.2 version upgrade script
Jason Stephenson [Fri, 29 Oct 2021 15:17:36 +0000 (11:17 -0400)]
Forward-port 3.7.2 version upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoTranslation updates - newpot
Jason Stephenson [Fri, 29 Oct 2021 13:13:48 +0000 (09:13 -0400)]
Translation updates - newpot

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoRemove extraneous release notes documents
Jason Stephenson [Fri, 29 Oct 2021 13:09:47 +0000 (09:09 -0400)]
Remove extraneous release notes documents

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoDocs: corrections to Hold Groups Admin doc
Andrea Buntz Neiman [Mon, 25 Oct 2021 19:50:07 +0000 (15:50 -0400)]
Docs: corrections to Hold Groups Admin doc

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
2 years agoDocs: corrections to Library Groups Admin doc
Andrea Buntz Neiman [Mon, 25 Oct 2021 19:41:11 +0000 (15:41 -0400)]
Docs: corrections to Library Groups Admin doc

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
2 years agoDocs: More 3.6.5 and 3.7.2 release notes cleanup
Jason Stephenson [Mon, 25 Oct 2021 17:16:18 +0000 (13:16 -0400)]
Docs: More 3.6.5 and 3.7.2 release notes cleanup

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoDocs: Fix previous release notes addition
Jason Stephenson [Mon, 25 Oct 2021 17:04:29 +0000 (13:04 -0400)]
Docs: Fix previous release notes addition

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoDocs: Add an upgrade note to the 3.7.2 and 3.6.5 release notes
Jason Stephenson [Mon, 25 Oct 2021 16:52:54 +0000 (12:52 -0400)]
Docs: Add an upgrade note to the 3.7.2 and 3.6.5 release notes

Add a note mentioning that upgrading sites should make sure to run
autogen.sh to update the fm_IDL.xml files.

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoDocs: updates to 3.7.2 and 3.6.5 release notes
Andrea Buntz Neiman [Mon, 25 Oct 2021 13:26:46 +0000 (09:26 -0400)]
Docs: updates to 3.7.2 and 3.6.5 release notes

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agodocs: edit to 3.7.2 release notes
Andrea Buntz Neiman [Fri, 22 Oct 2021 19:51:17 +0000 (15:51 -0400)]
docs: edit to 3.7.2 release notes

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
2 years agodocs: release notes 3.6.5
Andrea Buntz Neiman [Fri, 22 Oct 2021 19:45:50 +0000 (15:45 -0400)]
docs: release notes 3.6.5

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agodocs: release notes 3.7.2
Andrea Buntz Neiman [Fri, 22 Oct 2021 19:43:11 +0000 (15:43 -0400)]
docs: release notes 3.7.2

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
2 years agodocs: fixes to 3.7 report sources doc
Andrea Buntz Neiman [Thu, 21 Oct 2021 13:42:17 +0000 (09:42 -0400)]
docs: fixes to 3.7 report sources doc

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
2 years agoLP1903358 Staff catalog holds barcode realtime lookup
Bill Erickson [Tue, 27 Jul 2021 19:09:45 +0000 (15:09 -0400)]
LP1903358 Staff catalog holds barcode realtime lookup

Avoid requiring staff to send an Enter event (keyword / scanner) when
entering a patron barcode into the place holds form.  Instead, look the
barcode up after a sufficient amount of time has passed.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1826759: end DB update scripts with "COMMIT", not "END"
Galen Charlton [Mon, 4 Oct 2021 16:28:14 +0000 (12:28 -0400)]
LP#1826759: end DB update scripts with "COMMIT", not "END"

The former is what tools like make_release are looking
for.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1922567: stamp schema update
Galen Charlton [Mon, 4 Oct 2021 14:52:35 +0000 (10:52 -0400)]
LP#1922567: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLp 1922567: Limit authority.full_rec.value indexes
Jason Stephenson [Tue, 6 Apr 2021 11:43:52 +0000 (07:43 -0400)]
Lp 1922567: Limit authority.full_rec.value indexes

Limit the authority_full_rec_value_index and
authority_full_rec_value_tpo_index indexes to the first 1024
characters of a field or subfield in order to avoid database errors
when inserting or updating authorities with long fields.

Include release note and regression test.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLp 1826759: Stamping Upgrade Script
Jason Stephenson [Mon, 27 Sep 2021 17:39:41 +0000 (13:39 -0400)]
Lp 1826759: Stamping Upgrade Script

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLp 1826759: Fix Database Upgrade Script
Jason Stephenson [Mon, 27 Sep 2021 17:32:41 +0000 (13:32 -0400)]
Lp 1826759: Fix Database Upgrade Script

Remove 2 extraneous updates, add a blank line between the remaining
updates, and add a placeholder the upgrade_deps_block_check().

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLp 1826759: Spelling correction: oustanding to outstanding
Shula Link [Thu, 18 Mar 2021 14:27:02 +0000 (10:27 -0400)]
Lp 1826759: Spelling correction: oustanding to outstanding

Correct the spelling of "oustanding" to "outstanding" in the
descriptions of 3 config.org_unit_setting_type entries:

  * ui.circ.items_out.longoverdue
  * ui.circ.items_out.lost
  * ui.circ.items_out.claimsreturned

Signed-off-by: Shula Link <slink@gchrl.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLp 1942920: Show Legacy/Not Dated for Legacy Circs
Jason Stephenson [Tue, 7 Sep 2021 18:37:54 +0000 (14:37 -0400)]
Lp 1942920: Show Legacy/Not Dated for Legacy Circs

When legacy circ counts are displayed in the AngularJS client, the
year shows up as -1.  This patch attempts to replace -1 with a
translatable string: "Legacy/Not Dated" as was used in the XUL staff
client.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
2 years agoLP#1944765: enable the Apache module mod_headers
Galen Charlton [Thu, 23 Sep 2021 20:11:42 +0000 (16:11 -0400)]
LP#1944765: enable the Apache module mod_headers

This patch enables mod_headers for Debian Stretch and Buster
and Ubuntu Bionic and Focal during installation. Without
mod_headers, the Angular staff client application can have
its index page cached for 24 hours on a stock system, meaning
that browsers will not consistently fetch the updated app
after an upgrade.

This patch does not change the Fedora Makefile as mod_headers
is enabled by default on RHEL-like distributions.

UPGRADE NOTES
-------------
Existing Evergreen systems on Debian and Ubuntu should
do the following to ensure that mod_headers is active:

sudo a2enmod headers
sudo systemctl restart apache2

To test
-------
[1] Perform a fresh installation of Evergreen on Stretch, Buster,
    Bionic, or Focal.
[2] Verify that mod_headers is enabled.
[3] (Optional) Fetch the Angular staff client index page, e.g.,
    /eg2/staff, and verify that the response headers call for
    not caching it.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 years agoLP1834258 Replace Javascript with Placeholder Attribute
Shula Link [Tue, 13 Jul 2021 14:16:39 +0000 (10:16 -0400)]
LP1834258 Replace Javascript with Placeholder Attribute

onfocus/onblur javascript replaced with placeholder="[% seed %]" in
Open-ILS/src/templates/kpac/getit.tt2 and
Open-ILS/src/templates/kpac/parts/searchbox.tt2

Signed-off-by: Shula Link <slink@gchrl.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 years agoLP1938729 Cache "cascade" setting values
Bill Erickson [Mon, 2 Aug 2021 20:30:21 +0000 (16:30 -0400)]
LP1938729 Cache "cascade" setting values

Cache values retrieved from 'open-ils.actor.settings.retrieve' lookups
in IndexedDB, similar to to org unit setting lookups, to reduce the need
for so many API calls for settings retrieval.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1909144 BooPAC Login Form Tabbing
Terran McCanna [Mon, 20 Sep 2021 22:12:47 +0000 (18:12 -0400)]
LP1909144 BooPAC Login Form Tabbing

This change places the cursor in the user name field and adjusts the order
of the elements so that tabbing out of the user name field comes to the
password field next.

Note that this modifies both the login modal and the embedded login form.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP#1924562 - pingest.pl help typo for --max-duration
Josh Stompro [Thu, 15 Apr 2021 13:37:05 +0000 (08:37 -0500)]
LP#1924562 - pingest.pl help typo for --max-duration

In the help command example the argument --duration is used but
--max-duration is the correct command.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1911023 Batch hold cancel refreshes before completion
Bill Erickson [Mon, 11 Jan 2021 15:59:54 +0000 (10:59 -0500)]
LP1911023 Batch hold cancel refreshes before completion

Ensure all hold cancelation promises complete before reporting the
results back to the caller.  Issue was result of thinko in the code
that failed to relay one of the promises in the chain, so it reported
promise completion prematurely.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLp 1899974: Export PERL5LIB in oils_ctl.sh
Jason Stephenson [Thu, 15 Oct 2020 13:24:28 +0000 (09:24 -0400)]
Lp 1899974: Export PERL5LIB in oils_ctl.sh

A change in Perl release 5.26.0 necessitates that the SIP_DIR variable
(default value "/opt/SIPServer") be exported to the environment in
oils_ctl.sh when attempting to start SIPServer.  This change affects
Ubuntu 18.04 (Bionic Beaver) and Debian 10 (Buster) and any future
releases.

To verify the bug:

1. Install OpenSRF, Evergreen, and SIPServer on an affected O/S.
2. Start OpenSRF service.
3. Start SIPServer via oils_ctl.sh:
   oils_ctl.sh -a start_sip
4. Notice the "Starting OILS SIP Server" message is printed with no
   indication of failure.
5. Verify that the PID file exists: /openils/var/run/oils_sip.pid
6. Verify that no SIPServer processes are actually running:
   pgrep -af SIPServer
   The above should produce no output.

To test this patch:

1. Apply this patch and install oils_ctl.sh to /openils/bin/.
2. Assuming you have run the previous steps, delete the PID file:
   rm /openils/var/run/oils_sip.pid
3. Start SIPServer via oils_ctl.sh:
   oils_ctl.sh -a start_sip
4. Notice the "Starting OILS SIP Server" message is printed.
5. Verify that the PID file exists: /openils/var/run/oils_sip.pid
6. `pgrep -af SIPServer` should produce output.

It is safe to apply this patch on an unaffected O/S.  Explicitly
adding SIP_DIR to PERL5LIB will have no detrimental effect on any O/S
currently supported by Evergreen.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP#1928275: fix the Angular "Copy Queue To Bucket"
Galen Charlton [Wed, 25 Aug 2021 22:21:03 +0000 (18:21 -0400)]
LP#1928275: fix the Angular "Copy Queue To Bucket"

Similar to bug 1934184, a blank routerLink on an anchor no longer
causes an ngbModal to open via a click handler.

To test
-------
[1] Create a MARC import bib queue that has at least one imported
    record it.
[2] Click the "Copy Queue To Bucket" link from the queue inspection page
    and observe that nothing happens.
[3] Apply the patch and repeat step 2. This time, the add-to-bucket dialog
    should appear.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1924621 Place Hold For shows pref name
Bill Erickson [Mon, 20 Sep 2021 15:55:00 +0000 (11:55 -0400)]
LP1924621 Place Hold For shows pref name

In the staff catalog banner which displays when a hold is being placed
for a pre-selected patron.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1924621 Staff catalog place hold screen preferred name
Garry Collum [Thu, 15 Apr 2021 23:39:56 +0000 (19:39 -0400)]
LP1924621 Staff catalog place hold screen preferred name

Displays the preferred first or last name on the place holds screen,
if a patron barcode is entered.

To test.
1. Set up a borrower with a preferred first name, and one with a
preferred last name, and one with both.
2. Use the catalog place hold screen to search for these borrowers
and notice that the preferred names, if available, are displayed.

* note newline added by Bill to break up wide column.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Gina Monti <gmonti@biblio.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1941764 Import from queue propagate form inputs
Bill Erickson [Wed, 12 May 2021 15:46:01 +0000 (11:46 -0400)]
LP1941764 Import from queue propagate form inputs

When importing records from an existing Vandelay queue, ensure the
selected queue, its match set, its match bucket, and its holdings import
profile are propagated into the import form.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Christine Morgan <cmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1920253: Stamp Upgrade Script
Jason Boyer [Wed, 22 Sep 2021 17:21:13 +0000 (13:21 -0400)]
LP1920253: Stamp Upgrade Script

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1920253 Add missing carousel workstation setting types
Michele [Fri, 19 Mar 2021 22:21:26 +0000 (18:21 -0400)]
LP1920253 Add missing carousel workstation setting types

Adds ws setting types for the following pages:

Carousels Visible at Library Configuration (eg.grid.admin.local.container.carousel_org_unit)
Carousels Configuration (eg.grid.admin.container.carousel)
Carousel Types Configuration (eg.grid.admin.server.config.carousel_type)

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP#1844121: prevent staff login by expired barcode
Galen Charlton [Thu, 5 Aug 2021 21:55:18 +0000 (17:55 -0400)]
LP#1844121: prevent staff login by expired barcode

open-ils.auth.authenticate.init accepts an identifier as its
sole parameter, then determines whether it looks like a
username or barcode and retrieves the patron's password
salt as the seed accordingly.

open-ils.auth.authenticate.complete can accept the identifier
via the 'identifier', 'username', or 'barcode' keys, but the
key used does not need to match how .init found the patron.

As a consequence, the .init/.complete dance can retrieve the
patron by barcode but handle the barcode value as if it were
a username, thereby bypassing the check of whether the barcode
was inactive. In particular, the AngularJS staff client login
process does this, meaning that staff members can log in to the
staff client via the AngularJS form using an expired barcode.

This is not good. The OPAC explicitly blocks logging in using an
inactive barcode because it checks the identifier type and sets
the key passed to .complete accordingly. The Angular staff login
page also prevents logging in using an inactive barcode because
(a) it uses open-ils.auth.login, which doesn't have the same
problem and (b) it forces the identifier to be marked as a user
name regardless.

NOTE: this means that the Angular staff login form prevents staff
from logging in via barcode, which potentially is a regression as
compared to the AngularJS side (or, alternatively, is providing
additional necessary strictness).

This patch avoids the problem by having .complete inspect the
cached seed created by .init to determine how the user was ultimately
found.

Some alternative approaches that were rejected include:

[1] Having AngularJS just mirror Angular. Problem: if some staff
    users are used to using their barcode to log in, doing
    this would cause an immediate problem. I note that because
    the staff interface URL is commonly expressed as
    https://library.example/eg/staff, is currently far more common
    for the staff interface to be logged into via the AngularJS
    form rather than the Angular one.
[2] Having AngularJS use open-ils.auth.login, but make it and
    Angular use 'identifier' as the key rather than 'username'.
    Problem: while this would have the desired effect if you
    only use native authentication, if you're using open-ils.auth_proxy,
    it won't work - open-ils.auth_proxy.login doesn't recognize an
    'identifier' parameter. While that could be changed, it
    is more invasive.

To test
-------
[1] Set up a staff user that has a username, an active barcode,
    and an inactive barcode.
[2] Log in to the AngularJS staff interface (/eg/staff) using
    the username, the active barcode, and the inactive one.
[3] Note that you are permitted to log in with all three identifiers.
[4] Apply the patch and repeat step 2.
[5] This time, logging in using the inactive barcode should
    fail.
[6] Verify that other login types continue to work as expected:
    - Angular staff login form
    - OPAC
    - SIP2 terminal login
    - SIP2 user authentication
    - operator change (Angular and AngularJS)
    - Web-based self-check
[7] Extra credit: test logging in via open-ils.auth_proxy with
    it falling back to native authentication.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Shula Link <slink@gchrl.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP1904754 Former precat still displays precat info
Terran McCanna [Fri, 18 Jun 2021 22:12:08 +0000 (18:12 -0400)]
LP1904754 Former precat still displays precat info

This fixes a display issue where the precat title and author
were still displaying once the record was no longer a precat,
which effectively duplicated the title and author.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1916949: combobox: asyncSupportsEmptyTermClick fix
Galen Charlton [Fri, 4 Dec 2020 16:17:51 +0000 (11:17 -0500)]
LP#1916949: combobox: asyncSupportsEmptyTermClick fix

This is a backport of a patch that was included as part
of LP#1904244.

Fixes situation where combobox would fetch the needed entries
in async mode, but fail to open the drop-down.

This includes code originally written by Bill Erickson with
additions by Galen Charlton to insure that static data sources
would continue to work.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1903357 Angstcat Hold Activate Date Validation
Bill Erickson [Tue, 27 Jul 2021 18:04:03 +0000 (14:04 -0400)]
LP1903357 Angstcat Hold Activate Date Validation

Prevent setting activation dates in the past when placing holds in the
Angular Staff Catalog.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Josh Stompro <stompro@stompro.org>
2 years agoLP1937875: Remove GitHub reference from package.js
Adam Bowling [Fri, 23 Jul 2021 20:00:35 +0000 (16:00 -0400)]
LP1937875: Remove GitHub reference from package.js

Removes the call to GitHub (required under legacy circumstances),
since it can cause some machines lacking SSH keys for GitHub to
fail when "npm install" is run for the AngularJS web client.

Signed-off-by: Adam Bowling <abowling@emeralddata.net>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP#1917338 Angular: Holdings view column picker missing OPAC visible?
Dan Briem [Wed, 3 Mar 2021 21:06:50 +0000 (16:06 -0500)]
LP#1917338 Angular: Holdings view column picker missing OPAC visible?

Adds OPAC visible column to holdings grid in the Angular catalog.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1908614: Show the Age Hold Protection name in the staff catalog
Jason Boyer [Fri, 20 Aug 2021 18:00:25 +0000 (14:00 -0400)]
LP1908614: Show the Age Hold Protection name in the staff catalog

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1786971 z39.50 incorporate Bill's changes
Terran McCanna [Wed, 21 Jul 2021 19:43:05 +0000 (15:43 -0400)]
LP1786971 z39.50 incorporate Bill's changes

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1786971 TCN fetching and maintenance tweaks
Bill Erickson [Tue, 20 Jul 2021 14:59:42 +0000 (10:59 -0400)]
LP1786971 TCN fetching and maintenance tweaks

Avoid storing the TCN value in local storage since it's not needed
outside the Z app.

Wait for async TCN lookups to complete before using the value.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
2 years agoLP1786971 z39.50 add TCN to overlay popups as well
Terran McCanna [Thu, 15 Jul 2021 20:27:21 +0000 (16:27 -0400)]
LP1786971 z39.50 add TCN to overlay popups as well

Displays TCN on the Overlay modal and on the confirmation popup
that displays if the live overlay target has changed.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1786971 z39.50 using TCN instead of ID
Jessica Woolford [Wed, 17 Mar 2021 20:31:30 +0000 (16:31 -0400)]
LP1786971 z39.50 using TCN instead of ID

This patch switches the target to overlays to the bib ID instead of the
TCN. This allows overlays to work for sites where TCN and bib ID are not
the same.

Signed-off-by: Jessica Woolford <jwoolford@biblio.org>
LP1786971 Z39.50 TCN-Bib ID display and wording

This adds the TCN to the Z39.50 interface when a record is
marked for overlay and the TCN does not match the Bib ID.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1906826: Changes column header for purchase order in line item search
Tiffany Little [Fri, 18 Jun 2021 20:00:32 +0000 (16:00 -0400)]
LP1906826: Changes column header for purchase order in line item search

Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1866667 - Clear current_copy when pickup_lib is changed and waiting for capture
Josh Stompro [Tue, 10 Mar 2020 16:38:48 +0000 (11:38 -0500)]
LP1866667 - Clear current_copy when pickup_lib is changed and waiting for capture

When a user changes the pickup lib and a retarget is triggered
the currently targeted copy gets excluded if there are other
available copies.

This can cause delays and confusion since the new copy may
not be the best choice.

This change clears the current_copy before the retarget in that
situation.

Testing setup.

Find/create a title with items that looks like:

System X ->
   Branch A -> Holdable item
   Branch B ->
System Y
   Branch C -> Holdable item
   Branch D -> Holdable item

Place a hold with a pickup location of Branch B, which should target
the closest item at Branch A

Then change the pickup location of your hold to Branch A.

The retarget that happens, should switch the targeted copy to Branch C or D.

After Change Applied:

The hold should remain targeted to Branch A after pickup lib is changed
to Branch A.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1821804 - Cloned patron address set to pending
Josh Stompro [Wed, 23 Jun 2021 19:21:46 +0000 (14:21 -0500)]
LP#1821804 - Cloned patron address set to pending

When cloning a patron record, the address gets set to pending and cannot
be fixed until the new patron record is saved.

The address creation steps for cloned records are a little different if
the library setting "Patron Registration: Cloned patrons get address copy" is
set, so test with that enabled and disabled.  In our system we have that setting
enabled.

The issue is that the values come in as a string like 't' or 'f' and need to be converted
to a boolean value.  That is done in the normal address loading code, but wasn't in
the cloning code.

I also added in a fix for the city limits flag not getting cloned which seems
like an related issue.  This seems like it was just cosmetic, the city limits
does get set when the record is saved, based on the parent records address.

Testing Plan:

Before change:

1. Enable "Cloned patrons get address copy" setting.
2. Open up a patron record that has a valid non pending address with city limits checked.
3. Save and Clone
4. Notice that the address in the new cloned record says pending.
5. Notice that the city limits checkbox isn't checked.

After change applied:

1. Enable "Cloned patrons get address copy" setting.
2. Open up a patron record that has a valid non pending address with city limits checked.
3. Save and Clone
4. Notice that the address in the new cloned record doesn't say pending.
5. Notice that the city limits checkbox is checked.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agolp1859502 fix A/T ApplyPatronPenalty reactor
Jason Etheridge [Mon, 13 Jan 2020 17:38:53 +0000 (12:38 -0500)]
lp1859502 fix A/T ApplyPatronPenalty reactor

To test this, you could create the following A/T definition:

    Owning Library: CONS
    Name: test lp1859502
    Hook: penalty.PATRON_EXCEEDS_FINES
    Enabled: True
    Processing Delay: 00:00:00
    Processing Group Context Field: usr
    Reactor: ApplyPatronPenalty
    Validator: NOOP_TRUE
    Max Event Validity Delay: 1 day
    Template: test message

with environment:

    Field Path: usr
    Label: user

    Field Path: usr.home_ou
    Label: context_org

with event params:

    Parameter Name: standing_penalty
    Parameter Value: ALERT_NOTE

Then bill a test patron for $100 and run something like:

/openils/bin/action_trigger_runner.pl --osrf-config /openils/conf/opensrf_core.xml --run-pending

Without the patch, you'll get something like this in osrfsys.log:

ApplyPatronPenalty: missing parameters

And no ALERT_NOTE penalty.  With the patch you should see a "test message" alert note
when reloading the patron.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 years agoLP1752356 Offline Block List Download Date
Terran McCanna [Thu, 20 Aug 2020 22:37:28 +0000 (18:37 -0400)]
LP1752356 Offline Block List Download Date

Amended previous commits by adding the download block list date to
the other reasons why an account could show up on the block list.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Jason Boyer <jboyer@equinoxOLI.org>
2 years agoLP1752356 Offline expired patrons download date additions
Bill Erickson [Wed, 3 Jul 2019 18:34:39 +0000 (14:34 -0400)]
LP1752356 Offline expired patrons download date additions

Modify wording to clarify the date displayed is that of the block list
download and not necessarily the date the patron was flagged expired.

Avoid console errors when the file download date is not known -- edge
case where the code is updated but the block list was not updated in the
meantime.

Clean up some debug logging.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <jboyer@equinoxOLI.org>
2 years agoLP1752356 Offline block list date addition
Mike Risher [Mon, 1 Jul 2019 15:56:17 +0000 (15:56 +0000)]
LP1752356 Offline block list date addition

In offline mode when checking out for an expired patron, we changed
the error message so that the last date the blocklist was downloaded
is displayed along with the patron barcode

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <jboyer@equinoxOLI.org>
2 years agoLP#1823983: repeat_delay check removes event definition id filter
Mike Rylander [Tue, 9 Apr 2019 15:30:15 +0000 (11:30 -0400)]
LP#1823983: repeat_delay check removes event definition id filter

This bug has existed since the repeat_delay feature was added, but likely only
rarely was triggered because most events don't have a repeat_delay, and those
that do don't interact with the same target.  However, as more repeatable event
definitions are created, inappropriate interaction becomes more likely.

In this commit we avoid overwriting the whole join condition clause, which
already contains an event definition id filter and needs to retain it.

Included is an unrelated change that uses the new-ish form of
interval_to_seconds that avoids DST boundary shifting issues by passing a
context DateTime object as the second parameter.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1809157 SMS Carriers display not in alphabetical order
Garry Collum [Wed, 28 Apr 2021 19:26:39 +0000 (15:26 -0400)]
LP1809157 SMS Carriers display not in alphabetical order

This alphabetizes the carrier display when editing the sms carrier in an existing hold.

It also adds the region to the name to make the interface consistent with other interfaces.

To Test:

1. Enable SMS options in the Library Settings.
2. Place a hold for a patron.
3. Use the Edit Notifications Settings.  Enter an SMS number, if needed.
4. Drop-down the Carrier list - the list is not in alphabetical order.
5. Apply the patch and repeat 3-4.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1932051: serialize adding items to bucket from Item Status
Jeff Davis [Mon, 23 Aug 2021 18:24:05 +0000 (11:24 -0700)]
LP#1932051: serialize adding items to bucket from Item Status

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 years agoLP#1932051: Batch calls for add items to bucket
Chris Sharp [Tue, 15 Jun 2021 15:59:48 +0000 (11:59 -0400)]
LP#1932051: Batch calls for add items to bucket

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
2 years agoRevert "lp1908439 Auto-override enhancment"
Mike Rylander [Fri, 3 Sep 2021 14:35:00 +0000 (10:35 -0400)]
Revert "lp1908439 Auto-override enhancment"

This reverts commit 96e5f9d3c2a739e22485e07d9738ad52f24e60c9.

This is a feature rather than a bug fix, and should not have gone into
3.7.

2 years agoLP#1743611 Circ History by Year Info
Dan Briem [Thu, 26 Aug 2021 18:52:51 +0000 (14:52 -0400)]
LP#1743611 Circ History by Year Info

Adds an info button next to Total Circs in the AngularJS staff
client Item Status screen. Clicking the button displays a
popover list of total circs by year.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLP827356: Stamp Ugrade Script
Jason Boyer [Fri, 27 Aug 2021 19:56:10 +0000 (15:56 -0400)]
LP827356: Stamp Ugrade Script

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agolp827356 new rules protect bre -1, acn -1 and acl 1 as well as marc editing buttons...
Rogan Hamby [Thu, 18 Mar 2021 13:11:00 +0000 (13:11 +0000)]
lp827356 new rules protect bre -1, acn -1 and acl 1 as well as marc editing buttons disabled

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP1931162: Stamp Upgrade Script
Jason Boyer [Fri, 27 Aug 2021 18:45:54 +0000 (14:45 -0400)]
LP1931162: Stamp Upgrade Script

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agoLP#1931162: DYM needs some situational optimization
Mike Rylander [Mon, 7 Jun 2021 19:57:32 +0000 (15:57 -0400)]
LP#1931162: DYM needs some situational optimization

For some data sets and some queries the Did You Mean search suggestion
logic can be much too slow. This is mainly in cases where a "misspelled"
word of sufficient length greater than the symspell prefix length is
checked against many short prefixes that have many long suggestions
attached to them.

This commit optimizes for that case in particular by testing the length
of suggestions and prefix keys against the user input to avoid
unnecessary tests.  Futher, it captures the edit distance of suggestions
that pass that test in-line, avoiding expensive retesting, and caches
the short-cutoff edit distance when in low-verbosity mode to avoid
future different-but-not-too-different suggestions coming from the same
prefix key.

It additionally provides a general optimization by batching the capture
of suggest counts to avoid per-suggestion secondary lookups, and a
micro-optimization of ordering suggestions by length at distance cache
time.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Shula Link <slink@gchrl.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
2 years agolp1908439 Auto-override enhancment
Jason Etheridge [Tue, 9 Feb 2021 14:42:06 +0000 (09:42 -0500)]
lp1908439 Auto-override enhancment

This reworks the override action dialogs in the patron display for Check
Out and Items Out, and in the Circulation -> Renew Items interface.  It
exposes the auto-override behavior as checkboxes giving staff more fine
grained control over which events are auto-forced or skipped upon
subsequent encounters.  It also changes the Cancel action for batch
renewals to abort the remaining renewals in the batch, and makes it so
that new authorization credentials provided during such a batch will be
treated as an operator change for the entire batch.  We also fix an
existing bug where events marked as already encountered for
auto-override could leak into other patron contexts via Patron Search.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP1906058: Course-term map interface only allow reasonable mappings
Jane Sandberg [Fri, 23 Jul 2021 17:15:13 +0000 (10:15 -0700)]
LP1906058: Course-term map interface only allow reasonable mappings

Different libraries will use different sets of course terms.  In an
academic library context, for example, a consortium may include
libraries with very different start and end dates to their terms/semesters,
different numbers of terms/year, etc.

This commit changes the interface to only allow users to associate
a course with a term from the same library or one of its ancestors.

To test:
1. Create many courses and course terms and many different OUs.
2. On the course list, click "Terms taught".  Associate some courses
and course terms.  Make sure that you aren't able to associate your
course with any course terms that would not be reasonable for the
course's library.
3. Edit a course, and choose the Course terms tab.  Continue to associate
courses and terms, and make sure the mappings are reasonable.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1917809 Create Course: Owning Library Default
Michele Morgan [Tue, 30 Mar 2021 20:16:59 +0000 (20:16 +0000)]
LP#1917809 Create Course: Owning Library Default

Changes the default for the owning library in the Create Course modal to the logged
in user's workstation org unit instead of the consortium.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1905068: (follow-up) never initialize an OU ID to 1
Galen Charlton [Sun, 15 Aug 2021 15:27:41 +0000 (11:27 -0400)]
LP#1905068: (follow-up) never initialize an OU ID to 1

This change has no effect on behavior, as defaultOuId's
initialization value always gets replaced with the user's
WS OU or the org root when the contructor is run, but
avoids any implication during code-reading that the top
of the OU tree can be assumed to have ID 1.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1905068: Add org-family-select to course list
Jane Sandberg [Wed, 23 Jun 2021 23:59:51 +0000 (16:59 -0700)]
LP1905068: Add org-family-select to course list

To test:

1) Apply this patch
2) Admin > Local admin > Course reserves list
3) Check that the list defaults to courses available
at your workstation org unit
4) Check that, when you select ancestors, descendants,
or a different org unit, the course list updates
accordingly
5) Check that the list only displays org units for
which you have the MANAGE_RESERVES permission

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1923076: Add Perl live test
Jason Stephenson [Fri, 9 Apr 2021 20:31:57 +0000 (16:31 -0400)]
LP1923076: Add Perl live test

Add lp1923076-test-perl-scalar-return.t to the Perl live tests to test
a couple of back end calls affected by the changes in this branch.
These backend calls are those that are easily testable with Concerto
data.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP1923976: Remove some dead code
Jason Stephenson [Fri, 9 Apr 2021 17:42:42 +0000 (13:42 -0400)]
LP1923976: Remove some dead code

Remove a block of commented code that was turned up while working on
this issue.  This is in its own commit to make it easier to revert, if
necessary.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP1923076: Add cast to int in more places
Jason Stephenson [Fri, 9 Apr 2021 17:41:40 +0000 (13:41 -0400)]
LP1923076: Add cast to int in more places

Add cast to int of scalar used on arrays in more places where it seems
necessary.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1923076: ensure length of empty array is treated as a number when retrieving hold...
Jeff Davis [Thu, 8 Apr 2021 02:41:49 +0000 (19:41 -0700)]
LP#1923076: ensure length of empty array is treated as a number when retrieving hold counts

Thanks to Jason Stephenson for suggesting this solution.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP1935693: Improve spacing on the OPAC course materials table
Jane Sandberg [Fri, 13 Aug 2021 15:34:03 +0000 (08:34 -0700)]
LP1935693: Improve spacing on the OPAC course materials table

Signed-off-by; Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP1935693: Add circulation modifier to course page
Jane Sandberg [Tue, 13 Jul 2021 03:56:01 +0000 (20:56 -0700)]
LP1935693: Add circulation modifier to course page

Also makes some strings extractable for translation that
were previously missed.

To test:
1) Enable the course materials module
2) Add some courses
3) Add some materials to those courses, using a mix of
circulation modifiers
4) In the OPAC, use the Course Search to search for
your courses
5) Click on the course you created
6) Note that physical items associated with the course
display their circulation modifiers in the circulation
modifier column.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
2 years agoLP#1938450 - missing pieces slip printer context set to receipt
Josh Stompro [Mon, 2 Aug 2021 13:30:06 +0000 (08:30 -0500)]
LP#1938450 - missing pieces slip printer context set to receipt

Set the missing pieces slip to receipt context so it gets printed
to the receipt printer.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>