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>
Jason Boyer [Fri, 6 Sep 2019 18:10:45 +0000 (14:10 -0400)]
LP1528301: Hold Notify Phone in Checkin Response
Adds a setting to oils_sip.xml.sample to en/dis-able
the extention of including the hold notify phone number
for captured holds in the SIP Checkin Response.
Defaults to false.
blake [Thu, 9 Jun 2016 14:04:56 +0000 (09:04 -0500)]
LP1528301 Add SIP Support for BF field on type 10 checkin responses
This little patch will append the BF field in the SIP response during
checkin when the item is for another hold. Some self check software vendors
(ahem Bibliotheca) implement the hold phone number for the next patron this way.
You will need this patch as well as the code change to the SIPServer repo
LP1528301_Add_SIP_Support_for_BF_field_on_type_10_checkin_responses
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.
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.
Jason Boyer [Fri, 24 Sep 2021 13:12:20 +0000 (09:12 -0400)]
LP1831803: Remove unused data types
The search.search_args and search.search_result types appear to have only
been used in combination with search.query_parser_qts, so they can also
be retired.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Jeff Davis [Fri, 18 Oct 2019 19:44:52 +0000 (12:44 -0700)]
LP#1831803: release note for removing old staged search stuff from db
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Jeff Davis [Fri, 18 Oct 2019 19:26:03 +0000 (12:26 -0700)]
LP#1831803: remove asset.refresh_opac_visible_copies_mat_view if it exists too
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Jeff Davis [Wed, 5 Jun 2019 21:30:11 +0000 (14:30 -0700)]
LP#1831803: remove obsolete asset.opac_visible_copies and search.query_parser_fts from database
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
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>
Jason Stephenson [Sun, 24 Oct 2021 18:38:52 +0000 (14:38 -0400)]
LP1948594: Fix pgtap live test
Fix the lp1145213_test_func_asset.merge_record_assets.pg pgtap live
test by removing the COMMIT and adding a ROLLBACK at the end. This
permits the test to run multiple times without requiring a database
reload.
To verify the bug:
1. Install the pgtap package appropriate for your PostgreSQL database
version.
2. Load a fresh database with eg_db_config using the --load-all-sample
option.
3. Create the pgtap extension in the evergreen database.
4. Run the Open-ILS/src/sql/Pg/live_t/ tests with pg_prove.
5. Repeat step 4, and if this patch has not been applied, then the
lp1145213_test_func_asset.merge_record_assets.pg tests will fail on
the second run.
To test the fix, repeat steps 2 - 5, above, after pulling this commit.
Step 5 should succeed.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
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>
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>
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.
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>
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>
Bill Erickson [Wed, 22 Sep 2021 15:04:18 +0000 (11:04 -0400)]
LP1919465 Pull list only shows holds with current_copy
This avoids a scenario where copy-level holds would appear in the pull
list even if they are not pull-able, because they have "a copy" (i.e.
the requested copy), but no current copy (i.e. targeted copy).
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Wed, 22 Sep 2021 14:24:30 +0000 (10:24 -0400)]
LP1919465 Avoid dupe Current Item's in pull list
* Show a value for Current Item when a hold is targeted
* Show a value for a new column on Requested Item for copy-level holds.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Tue, 14 Sep 2021 15:04:10 +0000 (11:04 -0400)]
LP1919465 Pull List Mark Discard/Weed Action
Includes general purpose discard/weed dialog.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Rename various "Item Location ..." references to "Shelving Location ..."
in the Angular holds grids.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Tue, 14 Sep 2021 14:43:47 +0000 (10:43 -0400)]
LP1919465 Pull list detail show record summary
Display the bib record summary when displaying the hold detail view from
the holds pull list.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Tue, 14 Sep 2021 14:27:30 +0000 (10:27 -0400)]
LP1919465 Pull list prefix/suffix sorting; columns
* Include call number prefix and suffix in hold pull list sorting.
* Apply sane default grid columns.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxOLI.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>