Jason Stephenson [Fri, 19 Nov 2021 22:44:37 +0000 (17:44 -0500)]
LP1937294: Fix the unaccent and squash tests
Changes in Pg 12 and Pg 14 character handling necessitate changes to
two of the tests in t/lp1501781-unaccent_and_squash.pg. These are
similar to changes made for PostgreSQL 9.6.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson [Fri, 19 Nov 2021 19:44:43 +0000 (14:44 -0500)]
LP1937294: Fix metarecord master record choice predictability issue
The metabib master record was being chosen using indeterminant code.
In the case of a quality tie, which record would be chosen depends on
the order that they were returned from the database. This commit adds
an additional order by on the biblio.record_entry.id to ensure that
the best matching record with the lowest id is chosen.
The live_t/lp1145213_test_func_asset.merge_record_assets.pg tests are
also adjusted to take this into account and should now pass on all Pg
versions and regardless of the order that the data is inserted.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson [Mon, 15 Nov 2021 19:21:17 +0000 (14:21 -0500)]
LP1937294: Fix Sample Data Load Predictability Issue
Add "ORDER BY id" to the main queries in the functions used to create
call numbers and copies when loading the sample data. This change
allows the call numbers and copies to be created in a predictable
manner.
The necessity of this change was revealed by the failure of the
20-hold-targeter.t Perl live test on PostgreSQL 11+. After this
change, that test passes on newer PostgreSQL versions and continues to
pass on PostgreSQL 10.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
To Test the display:
1. Apply the patch.
2. Place a hold on a record with a series title.
3. Pull up the Holds Pull list and display the Series Title column.
To Test the Print Template:
1. Add the series_title variable to the hold pull list server template.
2. Display the Holds Pull list and click on the Print Full List button.
3. The print preview should display the series title information.
Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Shula Link <slink@gchrl.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Josh Stompro [Mon, 13 Dec 2021 19:58:02 +0000 (13:58 -0600)]
LP1847827 - Evergreen Web Based Self Check - Use prefered first name in header.
Thank you to Suzanne Paterno for showing me what to edit.
After this is installed, just set and unset a preferred first name for an account
and make sure it shows up correctly in the web based self check interface.
https://example.com/eg/circ/selfcheck/main
Signed-off-by: Josh Stompro <stompro@stompro.org> Signed-off-by: Jennifer Pringle <jennifer.pringle@bclibraries.coop> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jason Stephenson [Wed, 16 Mar 2022 17:29:09 +0000 (13:29 -0400)]
LP1965161: Sort Monograph Parts in Holds Metadata
When placing a hold in the Angular Staff Catalog, parts are not sorted
in the proper order. This patch corrects the sort order.
To verify the bug:
1. Find a record with parts in your catalog.
2. Place a hold on a specific part using the Angular Staff Catalog.
3. Notice that the entries int he parts drop down are likely not
sorted in the correct order. (If they are you lucked out and
should try again with a different record.)
To verify the fix after applying the patch and re-installing
Evergreen, repeat the above steps. The parts should display in the
proper sort order by label.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Garry Collum [Tue, 16 Nov 2021 18:43:17 +0000 (13:43 -0500)]
LP1838580: Holds Shelf detail view record summary doesn't populate
Fixes the record summary of the detail view from the holds shelf. After
the patch is applied the bibliographic data displays in the detail view.
To test:
1. Go to Holds Shelf
2. Select a line
3. Click on the Detail View button, and notice that the bibliographic
information doesn't populate.
4. Click on the MARC link, to see to that the link does not take you to the
MARC view.
5. Apply patch.
6. Repeat 1-4. The bibliographic information now displays, and the MARC link
takes you to the correct page.
Galen Charlton [Tue, 9 Nov 2021 23:22:07 +0000 (18:22 -0500)]
LP#1950394: isolate attribute extraction of metarecord
This patch ensures that calling the Template Toolkit block
get_marc_attrs() on the metarecord's lead record's MARCXML
does not interfere with attributes already parsed from the
current bib's MARCXML on the record summary page in the Bootstrap
OPAC.
This fixes an issue where electronic resource links could fail to
be displayed under the following conditions:
- the MARC record has an 856 field with ind1 = 4 and ind2 = 0 or 1
and is NOT a located URI
- the bib is part of a metarecord set with at least one other member
- the master record in the metarecord set does not have 856 fields
To test
-------
[1] Create a setup where two bibs are in the same metarecord set, one
with 856 fields and one without. Arrange that the one without
856 fields is the lead record in the metarecord.
[2] View the one that has 856 fields in the Bootstrap OPAC's record
summary page. Note that the electronic resource links do not
appear.
[3] Apply the patch and repeat step 2. This time, the links should
appear.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Dan Briem [Sat, 20 Nov 2021 20:14:36 +0000 (15:14 -0500)]
LP#1939426 Traditional Catalog Holds: Patron Info Not Populating
When no hold groups exist, its interface isn't present. When
placing volume holds, the advanced link isn't present.
This checks that those elements exist before accessing their
attributes and adds a missing name attribute to the Bootstrap
catalog to display the email address.
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Boyer [Fri, 11 Mar 2022 14:03:02 +0000 (09:03 -0500)]
LP1964019: Change span tag to div to work around a Chrome bug
For some reason the span tag wrapping the contents of the Holdable? column
began to cause problems with Chrome 99 on Windows. Changing the spans to divs
works everywhere without turning off tooltips.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Jason Stephenson [Thu, 24 Sep 2020 16:31:23 +0000 (12:31 -0400)]
LP#1482757: Speed Up the Delete of Orphaned URIs in upgrade script
Modify the code that deletes orphaned asset.uri table entries in the
upgrade script to use IN logic on the subquery, because IN is much
faster than NOT IN. Also take into account the link between
serial.item and asset.uri so that we don't accidentally delete URIs
used by serial items.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Jessica Woolford <jwoolford@biblio.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Michele Morgan [Wed, 29 Jul 2020 20:40:06 +0000 (16:40 -0400)]
LP#1482757: Delete URIs and call numbers when all 856 fields are removed
This patch assures that URIs and call numbers are deleted as appropriate
when all 856 fields are removed from the MARC.
Also provides for tracking editor and edit_date when call numbers are
deleted.
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Michele Morgan [Fri, 24 Apr 2020 17:03:23 +0000 (13:03 -0400)]
LP#1482757: Amend upgrade script to remove existing orphaned URIs
Remove orphaned URIs from the database that have accumulated from past
additions, updates and deletions of records with located URIs.
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Michele Morgan [Fri, 24 Apr 2020 16:43:39 +0000 (12:43 -0400)]
LP#1482757: Remove 'orphaned_uri_list' and 'NOT cn.deleted' criteria
Per Dan Wells' suggestions.
1) One possible "crack" I see for data to fall through is the dead map
selector. The "AND cn.label = '##URI##' AND NOT cn.deleted" seems overly
restrictive. Now, I realize we *shouldn't* have mappings to deleted or
non-##URI## call numbers, but it isn't impossible, and I don't think we'd
have harm in leaving those restrictions out. If a map isn't used, let's
get rid of it regardless, I think.
2) (side note) orphaned_uri_list doesn't seems to be used any more, so
should be removed.
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
As reported by Michele Morgan, URIs can be orphaned in some cases, such
as when a location drops one of several 856 entries. This commit tracks
objects at the mapping level, to identify disused URIs even where the
call number level is not changed.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Instead of recreating all Located URI mappings, we will add any new
ones and remember all those (existing and new) that are in use. Any
existing maps that we don't see in this record, and whose URI is only
used once previously and therefore about to be orphaned, we remove.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Jeff Godin [Fri, 28 Jan 2022 22:54:38 +0000 (17:54 -0500)]
Avoid fleshing standing penalty org unit children
When fleshing the org unit on standing penalties, exclude child org
units. We don't need them, and they can cause issues when your
standing penalty has a Depth of "Everywhere": you end up with a full
copy of the org unit tree, and you will include this when editing
and saving the user.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Galen Charlton [Mon, 1 Nov 2021 16:36:31 +0000 (12:36 -0400)]
LP#1949389: reduce number of PCRUD requests by subscription manager
This patch changes how the AngularJS subscription manager fetches
serial item templates. In particular, rather than issuing a PCRUD
request for every org unit in the system, it fetches them in one
fell swoop. This fixes an issue where loading the subscription manager
in a large Evergreen consortium could lead to so many requests that
it drives PCRUD into backlog mode, resulting in higher request
latency across the board.
To test
-------
[1] Apply the patch.
[2] Verify that the subscription manager lets you set the receiving
template for each distribution and that the drop-down's contents
changes if the distribution library is changed.
[3] Verify that the Apply Binding Template action works and that
the binding template drop-down(s) include the relevant copy templates.
Note that if a binding template has been set already, the current
binding template is _not_ displayed as the selected value in the drop-down.
This is existing behavior that this patch does not aim to fix.
Sponsored-by: BC Libraries Cooperative Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Fixes the barcode search in the patron search modal in the holds screen.
To test:
1. Navigate to the 'place a hold' screen in a bib record and open
the patron search modal.
2. Enter a patron barcode.
3. The search for the patron fails.
4. Apply the patch and repeat.
Jason Stephenson [Wed, 20 Oct 2021 16:38:46 +0000 (12:38 -0400)]
Lp 1947595: Remove the array_accum aggregate function
Remove the array_accum aggregate from Evergreen because it will need
to be dropped and redefined when upgrading to PostgreSQL 14.
Replace any uses of array_accum with array_agg in the code.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Galen Charlton [Fri, 7 Jan 2022 23:50:04 +0000 (18:50 -0500)]
LP#1951021: account for change in OverDrive checkout response
The OverDrive circulation API soon will stop providing a direct
download link in favor of displaying a separate fulfillment page
(either as an iframe or a redirect). This patch implements this
change with the redirect option.
Additional information on the API change can be found at
Jane Sandberg [Wed, 27 Oct 2021 17:16:30 +0000 (10:16 -0700)]
LP1903476: Use Github Actions to build antora documentation
This allows documenters to submit a pull request and get a
preview version where they can view their changes. The goal
is to provide quick feedback to documenters on whether their
changes build correctly and appear as desired, without them
having to have a full docs building setup locally.
To test:
1. Use the Github Web site to fork the Evergreen repository.
2. Take the .github/workflows/docs.yml file from this commit.
Add it to any branch of your fork of the Evergreen repository.
3. Click on the Actions tab of your fork in the Github Web
site.
4. Click on the most recent run (at the top of the list).
5. When the build process is done (should take 3-4 minutes),
download and unzip the artifact that appears at the bottom of
the screen. Open index.html in your browser. Confirm that
the docs built properly.
6. On the same branch, make some changes to the documentation
in the docs/modules directory.
7. Repeat steps 3-5. Confirm that your changes are reflected
in the new artifact.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
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>
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>
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>
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>
Galen Charlton [Mon, 8 Nov 2021 17:00:42 +0000 (12:00 -0500)]
LP#1855780: avoid race condition when deleting env or params
When deleting from a grid using pcrud.autoApply, the grid
should be refreshed only at the very end. Otherwise, even if you're
deleting only one row, the grid reload could occur before the
deletion is committed, yielding a grid fetch error when
pcrud complains about verifying access to a row that is
no longer in the database.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Mike Risher [Thu, 19 Dec 2019 17:56:41 +0000 (17:56 +0000)]
LP#1855780 Angular Notification/Action Triggers port
Port Notification Action Triggers from DOJO to Angular. This consists of 4 grids, each
navigated to by its corresponding tab. The Trigger Event Definitions grid allows
cloning of records. When editing an event defintion one can also edit parameters,
environments, and run tests.
Signed-off-by: Mike Risher <mrisher@catalyte.io> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>