LP#1851884: eg-fm-record-editor: avoid fetching all rows from linked table
This patch ensures that Angular FM record editor dialogs do
not attempt to fetch all rows from target table when constructing
a combobox for a linked field.
In particular, it makes the following changes:
* If a custom template for a field is supplied, use that by
default rather than _also_ creating a data source for
a combobox.
* Rather than creating its own data source for a linked field,
the FM record editor now uses the IDL mode of eg-combobox. By doing
this, we use eg-combobox's default data source, which limits
record retrievals to 100 rows max. Also, empty-click is now
enabled by default.
* When attempting to identify a selector for an IDL class, if
the class doesn't define a selector and doesn't have a field named
'name', but its primary key is a text field, use the primary
key as the selector.
To test
-------
[1] Create a few thousand empty bib record buckets in your test database.
[2] Edit a carousel under Local Administration; note that it can
take some time for the dialog to load.
[3] Apply the patch and repeat step 2. This time, the carousel edit modal
should open instantly.
[4] Test various Angular record editor modals to confirm that they behave
as expected. For example:
* The allocate to fund dialog in Fund Administration, in particular
to verify that only active funds show up.
* The assign user to course modal, to verify that searching is done
by course number, not name.
* Filter Dialog Set editor under /eg2/en-US/staff/admin/local/config/filter_dialog_filter_set
to verify that the drop down for the creator doesn't fetch
all patrons. (Note that this is an artificial example).
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Jeff Davis [Thu, 19 May 2022 23:32:38 +0000 (16:32 -0700)]
LP#1945385: use eg-admin-page for circ limit sets admin UI
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Signed-off-by: Jason Stephenson <jason@sigio.com>
Kyle Huckins [Tue, 15 Mar 2022 02:20:40 +0000 (02:20 +0000)]
lp1942647 Provide Warning when deleting Term linked to Courses
- Separates out Course Term Grid to its own component
- Adds retrieval service function for Course/Term Maps based on Term ID
- Displays Confirmation dialog when deleting terms on the term grid if term is mapped to a course
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-list.component.html
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-reserves.module.ts
new file: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-grid.component.html
new file: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-grid.component.ts
modified: Open-ILS/src/eg2/src/app/staff/share/course.service.ts
Signed-off-by: Beth Willis <willis@noblenet.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Garry Collum [Wed, 10 Nov 2021 19:01:44 +0000 (14:01 -0500)]
LP1950345-Format the Current Hold Groups table in bootstrap opac
This patch styles the Current Hold Groups table in bootstrap to be consistent
with other tables in the bootstrap catalog. It fixes overlappling text
in cells. It also fixes the column headings for small screens. Previously
the headings on small screens were pulling from the css rules for the
holds history table.
To test:
1. create a couple of hold groups and add a patron to each group. Make the
groups opac visible.
2. login to the opac as the patron to view the holds groups to which the
patron belongs. Notice the table style with not margins or padding.
3. make your browser as small as possible to see the incorrect headings.
4. apply the patch.
5. repeat 2 and 3 to view the fix.
Galen Charlton [Mon, 23 May 2022 23:06:48 +0000 (19:06 -0400)]
LP#1930617: reduce parallel requests initiated by AngularJS holdings editor
This patch decreases the number of parallel requests spawned by the
AngularJS holdings editor. This can reduce load on open-ils.pcrud when
the editor is used to handle a large number of items in one batch.
This patch takes the following approaches:
- the fetching of call number affixes now only makes one request
per relevant org unit
- item alerts are now retrieved via fleshing when the batch of items
is requested (as opposed to doing a PCRUD request for each copy)
- fetching monograph parts is now done serially
To test
-------
[1] Apply the patch.
[2] Create a bucket with a few hundred items and edit all of them
in the AngularJS holdings editor (which is what you get when
you edit items from the bucket interface).
[3] Verify that the editing loads itself without causing errors
or PCRUD drone spikes.
[4] Verify that item alerts and monograph parts are loaded
[5] Verify that the call number prefix and suffix drop-downs
are correctly populated.
[6] Verify that copy alerts can be attached to newly-created items
and saved.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Galen Charlton [Thu, 19 May 2022 14:00:48 +0000 (10:00 -0400)]
LP#1974195: fix memory leak when performing fleshed Fieldmapper search
This patch fixes a memory leak that occurs when performing
a fleshed search of an IDL class via open-ils.cstore, open-ils.pcrud,
or open-ils.rstore. It removes a debug-level log entry that didn't
free a temporary string.
To test
-------
[1] Perform a PCRUD search that includes fleshing and retrieves
a large responses. One example is a search on bre that fleshes
call numbers and copies and returns a few hundred bibs.
[2] Observe that the PCRUD drone that serviced the request has
increased its memory usage significantly.
[3] Apply the patch and repeat step 1. This time, the drone's memory
usage should not (persistently) increase as much.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Jeff Davis [Wed, 11 May 2022 22:55:21 +0000 (15:55 -0700)]
LP#1946531: use batch method to add users to bucket via User Buckets UI
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
LP#1970486: fix SuperCat crash on serial units with stat cats
This patch fixes a bug where retrieving a title via SuperCat (in
particular, with holdings XML) can crash of the title has a serial
unit (i.e., barcoded serial item) attached that also has a statistical
category.
To test
-------
[1] Create a title with a barcoded serial item.
[2] Attempt to fetch the title via SuperCat:
[3] Note that an internal server error is returned.
[4] Apply the patch and repeat step 2. This time, an XML
document should be returned that includes the serial item
and its stat cat.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
This patch moves the buttons for each list row underneath the title and descriptions fields.
It makes the create list form collapsible using a button.
If there are lists, the create form is collapsed.
The create form is expanded on load, if the user selects move bucket to new list, or add rec to new list from a menu or button from another page.
The "Move contents of basket to this list?" in the creation form now defaults to 'yes' if an option to move a basket to a new list is chosen from a menu.
It adds localization functions to the button texts and removes a dangling </div> in anon-list.tt2
It moves the create form from a <table> design and uses Bootstrap elements instead.
To Test.
1. After applying the patch view the list page and notice that the form is expanded.
2. Create a list. The form is now collapse.
3. Perform a search and add some of the titles to a basket.
4. From one of the result rows drop-down the Add to My List menu and select 'Add to New List'.
The form is expanded and the "Move contents of basket to this list" should be 'yes'.
5. From the basket screen or from the lists screen click on the 'Add to New List' button. The results should be the same as step 4.
6. After creating a few lists, notice that the buttons for each list are now displayed under the list title and description and
each row is distinguished by a bottom border.
Bill Erickson [Tue, 19 Apr 2022 17:27:17 +0000 (13:27 -0400)]
LP1956626 Copy editor loads all needed copy locations
The item-location-select component now allows the caller to pass in a
set of context org unit IDs (in lieu of just a single id) for loading
copy locations across different areas of the org unit tree (without
having to load *all* copy locations).
Changes applied to the Angular copy location editor to pass the needed
context org units to the item location select component.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Galen Charlton [Wed, 10 Nov 2021 15:06:36 +0000 (10:06 -0500)]
LP#1950468: make Replace Barcode from Item Status detect duplicate barcodes
This patch makes the Replace Barcode action when invoked from
Item Status properly detect and warn if the replacement barcode
is a duplicate of one already found in the system. This is a complement
to the fix for bug 1890498.
To test
-------
[1] Enter an item barcode into Item Status.
[2] Try 'Replace Barcode' from detail view and set the
replacement barcode to one that is already active in
Evergreen. Note that the dialog closes without
updating the barcode or warning about the duplicate and
that a error is logged in the browser console.
[3] Repeat step 2, but this time from list view. Note
the problem remains the same.
[4] Apply the patch and repeat steps 2 and 3. Note that
now the dialog will remain open and will display an
error message complaining about the duplicate barcode.
This update fixes an error when trying to process a 755 tag in
and authority record that has a source set.
See the discussion on the listserv at:
https://georgialibraries.markmail.org/thread/rmwcxkwjzv2qczmu
To test, try to import the sample authority record provided
by Linda Jansova (https://markmail.org/thread/2ay3j4wg7fecymhz)
in evergreen, and see the log files for the import errors.
It is also possible to test from the command line.
In /openils/var/xsl, copy the example autority marc xml file to
that directory, name it americ.xml, then run the command
xsltproc ./MARC21slim2MADS.xsl ./americ.xml
This will error out.
After patch has been applied, try importing the sample authority
record and see that it imports successfully.
Signed-off-by: Josh Stompro <stompro@stompro.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
LP#1942240 Insufficient color contrast in boostrap forms
Overrides the bootstrap form-control border color. Also changes the
border_standard color in colors.tt2 which is used for the border
around some form elements.
After this patch is applied the color ratio is 3.54:1
Garry Collum [Mon, 17 Jan 2022 18:05:37 +0000 (13:05 -0500)]
LP1958163 Bootstrap Opac: the 'Request a Card' link.
This fixes the 'Request a Card' link which displays in the bootstrap opac
regardless of the 'Allow Patron Self-Registration' library setting in both
the login page and the login modal.
To Test:
1. Click on My Account in the Bootstrap Opac to open the login modal.
Notice the Request a Card link. Click Login without adding a barcode
or pin# to see the login page with its link.
2. Set the Allow Patron Self_Registration library setting to false for the
Consortium.
3. Repeat 1, and notice that the link still displays.
4. Apply the patch.
5. Now the link should not be visible in both forms.
6. Set the library setting to true, to verify that the link does display.
Josh Stompro [Thu, 28 Feb 2019 15:43:49 +0000 (09:43 -0600)]
LP#1778783 - Circulate.pm fix log_me correct barcode var
The log_me sub wasn't using the correct variable for showing the entered
barcode. It should be $self->copy_barcode instead of $self->barcode.
Testing Notes:
Before fix:
1. Watch the logs with something like
tail -f osrfsys.log | fgrep 'circulator: do_permit()'
2. Perform a checkout of a non-existant barcode.
3. Notice that the entered barcode is missing after 'copy='
After fix:
1. Restart the circ openils service
osrf_control -l --service open-ils.circ --restart
2. Watch the logs.
3. Perform a checkout of a non-existant barcode.
4. Notice that the barcode is now shown after 'copy='
Signed-off-by: Josh Stompro <stompro@stompro.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Terran McCanna [Mon, 31 Jan 2022 19:29:16 +0000 (14:29 -0500)]
LP1958265 Angular Holds Grids Not Printing Barcode
This adds the ability to print (or download CSV) the Current Item
and Requested Item barcodes from the Holds Pull List and from the
Holds tab of the bib record.
Jason Stephenson [Fri, 11 Feb 2022 14:44:55 +0000 (09:44 -0500)]
LP1959904: Fix Angular Profile Select Component
The Angular profile select component has a bug when permission group
tree display entries are used. It will loop forever if the grp and
parent have the same value in permission.grp_tree_display_entry
because it is comparing permission group tree entries to permission
group tree display entries in the groups filter of the grpLabel
function.
This patch adds a ternary operator to compare display entries to
display entries and group tree entries to group tree entries in a
manner identical to how the parent value is determined a few lines
above.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Garry Collum [Thu, 13 Jan 2022 20:02:34 +0000 (15:02 -0500)]
LP1920039-Bootstrap Opac: More Details button doesn't change on use.
The 'More Details' button in a bib record in the Bootstrap Opac should change
to say 'Less Details' when pressed. This patch fixes that behavior.
To Test.
1. Go to a bib record in the boostrap opac.
2. Press "More Details"
3. Notice the button still displays "More Details"
4. Apply the patch and repeat.
5. The button should now toggle between "More Details" and "Less Details"
Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Boyer [Thu, 15 Oct 2020 17:50:18 +0000 (13:50 -0400)]
LP1900005: Don't require a specific 'opensrf' user
There's no technical reason to require a specific user beyond our
instructions stating that it's the default. One thing that we should
do is not allow our network services to be run as root.
Additionally, autogen.sh is excluded from running as root because while
that would work, it may then have to *always* be run by root or
require you to change the file owner between runs.
NOTE: We check for the user by id rather than name, as there's no rule
saying user 0 must be called "root" on Linux.
NOTE: This also cleans up and unifies the the coding style and removes
some dead code in autogen.sh.
To test:
Pre-patch:
Use oils_ctl.sh to start SIP or z3950 as opensrf, Success.
Use oils_ctl.sh to start SIP or z3950 as yourself, Failure.
Use oils_ctl.sh to start SIP or z3950 as root, Failure.
Run autogen.sh as opensrf, Success.
Run autogen.sh as yourself, Failure.
Run autogen.sh as root, Failure.
Post patch:
Use oils_ctl.sh to start SIP or z3950 as opensrf, Success.
Use oils_ctl.sh to start SIP or z3950 as your normal user, Success.
Use oils_ctl.sh to start SIP or z3950 as root, Failure.
Run autogen.sh as opensrf, Success.
Run autogen.sh as yourself, potential Success - IF you're able to write to the correct directory / files.
Run autogen.sh as root, Failure.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Garry Collum [Thu, 3 Feb 2022 22:57:45 +0000 (17:57 -0500)]
LP#1959405: hold status not looking for shelf delay status
This patch fixes the blank status display in the opac by treating that
status as a 'Waiting for Copy' status. This commit covers both the TPAC
and the Bootstrap OPAC.
To Test:
As stated by Erica in LP1959405
1. Administration->Local Administration->Library Settins Editor
set Hold Shelf Status Delay to 1 minute.
2. Place a hold for a patron
3. Capture the hold.
The opac will change from "Waiting for Copy" to a blank column.
4. Allow the delay interval to expire
The opac will change from a blank status to "Available"
5. Apply the patch
6. Repeat 2-3.
The opac will continue to display "Waiting for Copy"
7. Allow the delay interval to expire
The opac will change from "Waiting for Copy" to "Available"
Galen Charlton [Fri, 11 Feb 2022 15:45:51 +0000 (10:45 -0500)]
LP#1939338: fix IDL mistake that could prevent admin of carousels
This patch fixes a typo found in the IDL definition of the
classes for bib, call number, item, and user buckets. One effect
of the typo is that the admin interface for carousels could not
flesh out the record buckets unless the staff user was either
a global administrator or was the one who had created the carousel
and bucket originally.
This patch likely fixes other cases where one would expect to be
able to access buckets created by another user.
This patch is effectively a subset of a patch in the Simple Reporter
branch (bug 1945836 and working repository commit 36369719067) that
addresses several more errors in the IDL. However, I'm submitting this one
now in the hopes of resolving a long-standing bug with carousels sooner
rather than later.
To test
-------
[1] As a local admin, create a carousel definition.
[2] As a different local admin at the same OU, open the carousels
admin interface. Note that attempting to retrieve carousel defs
created in step 1 will result in a console error and the interface
not being completely rendered.
[3] Apply the patch and repeat step 2. This time, the carousel definitions
should all display.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxOLI.org> 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>
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>
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.
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