Add new asset.copy_inventory table with constraints:
* Foreign Key on copy -> asset.copy.id
* Unique index on inventory_date and copy
* Require that copy is at home or may float to inventory_workstation org.
Add IDL entry for asset.copy_inventory table (aci).
Change asset.latest_inventory table into a view.
Mark the asset.latest_inventory IDL entry (alci) read-only.
Provide database upgrade script to make the database changes and move
entries from the asset.latest_inventory table to the
asset.copy_inventory table.
Add pgtap schema tests to validate that the above tables, views, and
constraints exist.
Add pgtap live tests to validate that the table and view constraints
work as intended.
MERGE NOTE: IDL permissions on the new real table were updated to
match previously modified permissions on the old real table.
This work was sponsored by NOBLE.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Thu, 28 Oct 2021 17:21:30 +0000 (13:21 -0400)]
improve existing components for use in SR
Add onChange emitter to eg-org-family-select, and augment the output so we can reconstruct it
Add @sr:org_filter_field capability to eg-multi-select and eg-combobox
Sponsored-by: C/W MARS Sponsored-by: Missouri Evergreen Consortium Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: rfrasur <rfrasur@library.in.gov>
Jason Boyer [Tue, 14 Dec 2021 15:33:32 +0000 (10:33 -0500)]
Add Simple Reporter Schema Changes
New permission for Simple Reporter: RUN_SIMPLE_REPORTS
A simple_reporter field on reporter folder tables to maintain separation
between Simple Reporter and It's Complicated. Also adjust indexes to allow
duplicate names between reporters if for some reason you want to do that.
And a reporter.completed_reports view to compliment reporter.currently_running.
Sponsored-by: C/W MARS Sponsored-by: Missouri Evergreen Consortium Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: rfrasur <rfrasur@library.in.gov> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Fri, 3 Dec 2021 18:27:01 +0000 (13:27 -0500)]
LP1951162 Migrate copy templates setting
Rename the user setting "webstaff.cat.copy.templates" to
"cat.copy.templates" and migrate any existing values. This operation is
not performed for any databases where a "cat.copy.templates" user or
workstation setting type already exists.
Teach the Angular copy editor to avoid looking up templates in local
storage, since only XUL templates are stored there, which are not
compatible.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Briem [Wed, 16 Mar 2022 20:45:37 +0000 (16:45 -0400)]
LP#1746800 Exclude empty records on filtered staff searches
Excludes empty bibs on staff searches when filtering on location
or location group or when using the availability modifier.
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxoli.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Boyer [Wed, 2 Mar 2022 11:54:29 +0000 (06:54 -0500)]
Hide username and password in eg2 when screen is narrow
The Angular staff client navbar doesn't collapse when the screen is narrow
but currently the username and password can wrap, pushing the navbar over
the content. This patch doesn't add a collapsing navbar but hiding the user
information does at least stop the navbar from growing.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: rfrasur <rfrasur@library.in.gov> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Boyer [Tue, 1 Mar 2022 19:34:55 +0000 (14:34 -0500)]
LP1724008: Hide User@workstation when screen is narrow
As an intermediate step between the "full" navbar and the
collapsed navbar we hide the username and workstation of
the current user. This helps prevent the wrapping that can
cause the navbar to cover some of the page.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: rfrasur <rfrasur@library.in.gov> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Tiffany Little [Fri, 3 Dec 2021 18:53:40 +0000 (13:53 -0500)]
LP1953193 Add autofilter to funding sources
Adds an autofilter on the active column.
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Galen Charlton [Wed, 22 Dec 2021 21:54:22 +0000 (16:54 -0500)]
LP#1938835: release notes for the customizable staff portal
To test
-------
[1] Apply the patch.
[2] Verify that the Angular staff portal is now the default
and that it displays the stock portal entries.
[3] In the new Staff Portal Page local administration interface,
make changes to add, subtract, or modify portal page entries.
[4] Verify that those changes appear on the staff portal page and
that they are sensitive to the workstation that the staff
user is logged in as.
Sponsored-by: Pioneer Library System Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Shula Link <slink@gchrl.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Guarracino <dguarracino@pls-net.org>
Galen Charlton [Mon, 2 Aug 2021 22:12:57 +0000 (18:12 -0400)]
LP#1938835: customizable staff portal - schema, IDL, and seed data
This patch adds two new database tables and corresponding IDL classes:
* config.ui_staff_portal_page_entry_type (types of portal widgets)
* config.ui_staff_portal_page_entry (entries/widgets for the portal)
It also adds a new permission, ADMIN_STAFF_PORTAL_PAGE, for managing
the new entries, seed data for the stock portal, and a grid setting
for the portal admin interface.
Sponsored-by: Pioneer Library System Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson [Tue, 22 Feb 2022 18:17:04 +0000 (13:17 -0500)]
LP1937294: Fix another invalid XPath expression error
There was a typo further down in authority.generate_overlay_template
that was missed when the previous error was corrected. This commit
replaces an erroneous ( with the correct *.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
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