Galen Charlton [Mon, 5 Oct 2020 21:55:01 +0000 (17:55 -0400)]
docs: release notes: adding EOLI to the list of commissioning entities
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Lisa Carlucci [Mon, 5 Oct 2020 21:51:46 +0000 (17:51 -0400)]
docs: corrections to the 3.6 release notes
Signed-off-by: Lisa Carlucci <lisa@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 2 Oct 2020 21:21:25 +0000 (17:21 -0400)]
update target branches for Antora
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Wed, 5 Aug 2020 18:19:52 +0000 (14:19 -0400)]
LP1774008 Remove Hatch storage options
Remove option to store settings in Hatch from the AngJS Hatch admin
page. Update some Hatch labels to remove the term 'Storage'. Remove
deprecated JS code related to tracking this setting and the
long-deprecated offline file storage setting.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Galen Charlton [Wed, 30 Sep 2020 19:10:03 +0000 (15:10 -0400)]
Translation updates - newpot
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 30 Sep 2020 19:08:04 +0000 (15:08 -0400)]
move 3.6-beta1 schema update to 3.6-beta2
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 30 Sep 2020 19:07:09 +0000 (15:07 -0400)]
stamp 3.6-beta2 release notes
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 30 Sep 2020 19:05:25 +0000 (15:05 -0400)]
clean up RELEASE_NOTES_NEXT upon branching of rel_3_6
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 17 Sep 2020 14:44:01 +0000 (10:44 -0400)]
LP#
1896070: ensure that deatching course material doesn't delete non-temporary bibs
This patch fixes how the temporary_record field is checked; in Perl code,
non-NULL Boolean fields in Fieldmapper objects do /not/ evaluate as
Perl Boolean values; you have to use $U->is_true() or explictly
compare against 't' and 'f'.
This patch also tweaks live_t/31-courses.t so that it can be run
repeatedly.
To test
-------
[1] Run live_t/31-courses.t repeatedly; note that it will start failing
the second time.
[2] Reset the database and apply the patch, then repeat step 1.
[3] This time, the test should work when run repeatedly.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Angela Kilsdonk [Tue, 29 Sep 2020 21:01:45 +0000 (17:01 -0400)]
docs: Curbside Pickup documentation
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Angela Kilsdonk [Tue, 29 Sep 2020 20:57:23 +0000 (16:57 -0400)]
docs: OPAC Email Print documentation
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Angela Kilsdonk [Tue, 29 Sep 2020 20:47:32 +0000 (16:47 -0400)]
docs: Acquisitions Providers documentation
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Andrea Buntz Neiman [Tue, 29 Sep 2020 20:38:58 +0000 (16:38 -0400)]
docs: adding new image files for Hopeless Holds
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Felicia Beaudry [Tue, 29 Sep 2020 20:02:26 +0000 (16:02 -0400)]
docs: updates to holds documentation
Signed-off-by: Felicia Beaudry <felicia.beaudry@equinoxinitiative.org>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Andrea Buntz Neiman [Tue, 29 Sep 2020 19:53:39 +0000 (15:53 -0400)]
docs: Angular Acq Sprint 0 Tools and Infrastructure
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Angela Kilsdonk [Tue, 29 Sep 2020 19:27:01 +0000 (15:27 -0400)]
docs: Acquisitions Search documentation
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Andrea Buntz Neiman [Tue, 29 Sep 2020 19:22:24 +0000 (15:22 -0400)]
docs: updates to Best Hold Sort Selection Order
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Andrea Buntz Neiman [Tue, 29 Sep 2020 19:17:49 +0000 (15:17 -0400)]
docs: adding credit card payment info
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Boyer [Tue, 29 Sep 2020 14:32:48 +0000 (10:32 -0400)]
LP1849212: (follow-up) Don't use group ids in upgrade scripts
Previously if there was not a permission group with an id of 9
this upgrade script would fail. Changing the consatruction to
match the seed data allows the insert to benignly do nothing if
the group is missing. Also, the permission is made grantable.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Andrea Buntz Neiman [Fri, 25 Sep 2020 19:27:01 +0000 (15:27 -0400)]
Docs: more 3.6 release notes updates
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Andrea Buntz Neiman [Fri, 25 Sep 2020 18:44:09 +0000 (14:44 -0400)]
Docs: 3.6 release notes update
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Bill Erickson [Fri, 8 Nov 2019 22:09:03 +0000 (17:09 -0500)]
LP1851882 Relase Notes (Angular catalog hold types)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Fri, 8 Nov 2019 22:02:48 +0000 (17:02 -0500)]
LP1851882 Angular catalog recall/force/part holds
Adds entry points for placing Recall, Force, and Part-level holds.
For any item-level hold type, the user now has the option to cycle
between Item, Recall, and Force hold types. The selected type affects
the full batch of holds.
For title-level holds, the user now has the option to select a part as
the hold target for each hold in the list. Part selection is optional.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Chris Sharp [Thu, 24 Sep 2020 23:46:51 +0000 (19:46 -0400)]
account for race condition in courses live test
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Thu, 30 Jul 2020 16:23:15 +0000 (12:23 -0400)]
LP1872867 Staff catalog filters use search labels
The Angular staff catalog now displays the search_label value for all of
the coded-value-map filters (search format, item type, etc.) when
available. It falls back to the 'value' field when no search_label exists.
If a value is not opac_visible, the text "(Hidden)" is appended to the
label.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Chris Sharp [Thu, 24 Sep 2020 17:41:20 +0000 (13:41 -0400)]
LP#
1096209: Stamp upgrade script
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jeff Davis [Thu, 28 May 2020 16:17:11 +0000 (09:17 -0700)]
LP#
1096209: add check_sms_notify parameter to all relevant event defs
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Chris Sharp [Thu, 24 Sep 2020 17:18:39 +0000 (13:18 -0400)]
LP#
1776954 - Add release notes
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Scott [Thu, 14 Jun 2018 17:59:42 +0000 (13:59 -0400)]
LP#
1776954 Avoid empty string for tcn_source
The tcn_source for some records is an empty string, instead of the database
default of 'AUTOGEN', because the Perl record import code avoids a Perl warning
in the logger info call by setting the value to an empty string if it can't
find any other source (e.g. OCLC number). Unfortunately, the empty string then
gets passed to the database, meaning that it satisfies the non-NULL constraint
and does not invoke the default value of 'AUTOGEN'.
The resulting MARCXML then contains an empty, self-closing 901 $b subfield
(<subfield code="b"/>) that causes an error for some other applications, such
as Zotero, which do not anticipate empty subfields.
The simple fix applied here is to follow the example for $source and $tcn of
not setting the value of the tcn_source field in the bib record object if the
corresponding variable evaluates to false (such as if it's an empty string).
To test: create a basic record in the MARC editor that includes minimal fields
(for example, a 100 and 245) so that it has no TCN source to extract. Check the
MARCXML served up by SuperCat ("curl
http://<hostname>/opac/extras/supercat/retrieve/marcxml-uris/record/<bib-id>").
Before this patch, it will have a self-closing 901 $b subfield. After applying
this patch and creating a new test record, the new test record will have a
901$b subfield with the value 'AUTOGEN'.
A site that has been running without this patch for a long time might want to
check how many bib records they have with an empty tcn_source:
SELECT COUNT(*) FROM biblio.record_entry WHERE deleted IS FALSE AND tcn_source = '';
Sites can fix the problem by issuing UPDATE statements to set the 901$b to a value
like 'AUTOGEN' or 'Unknown'. They should probably do it per-record, however, to
avoid locking the table in a huge commit.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jane Sandberg [Wed, 19 Aug 2020 23:22:43 +0000 (16:22 -0700)]
LP1882828: Fix issues with displaying cataloged resources in Pull List
I had mistakenly used switchMap, when I should have used mergeMap. This
led to erroneously canceled subscriptions, leaving rows out of the pull
list.
This commit also uses getRows, rather than manually setting the
GridDataSource's data.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 24 Sep 2020 15:59:02 +0000 (11:59 -0400)]
LP#
1882825: (follow-up) include update number
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 24 Sep 2020 15:58:08 +0000 (11:58 -0400)]
LP#
1835127: (follow-up) fixes to update script
- include the version number stamp
- adjust the permission IDs
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Boyer [Thu, 24 Sep 2020 12:03:33 +0000 (08:03 -0400)]
Repair Permission Seed Data
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Chris Sharp [Wed, 23 Sep 2020 20:47:33 +0000 (16:47 -0400)]
LP1882825 - Stamp upgrade script
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jane Sandberg [Tue, 9 Jun 2020 20:51:24 +0000 (13:51 -0700)]
LP1882825: Add setting for booking pull list grid
Steps to test:
[1] Go to the Booking Pull List.
[2] Change the grid around and try to save.
[3] Note in your browser console an error message: "Error saving columns: No user or workstation setting type exists for eg.grid.booking.pull_list"
[4] Run the database migration included in this commit.
[5] Repeat steps 1-2.
[6] Note that no error message appears.
[7] Try exiting Evergreen and coming back (using the same workstation). Note that your changes to the grid have stuck!
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Chris Sharp [Wed, 23 Sep 2020 20:33:06 +0000 (16:33 -0400)]
LP#
1835127 - Stamp upgrade script
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jeff Davis [Wed, 6 May 2020 21:22:49 +0000 (14:22 -0700)]
LP#
1835127: scoped permissions for reservations
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Briem [Tue, 25 Aug 2020 19:47:15 +0000 (15:47 -0400)]
LP#
1361270 Self-registration doesn't retain org unit on refresh
This sets the self-registration form's org unit selector to the
the current org unit request parameter if it's set and self-
registration is allowed for that org unit. This will preopulate
the org selector on refresh or error instead of resetting to the
default context.
To test:
1. Administration->Local Administration->Library Settings Editor
set Allow Patron Self-Registration to True (top context)
2. go to OPAC->Request Library Card (stock link is on bottom)
3. select a Home Library and click Submit Registration
4. note the Home Library select doesn't retain your selection
5. apply this fix and repeat steps
6. note the Home Library is retained
Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Wed, 10 Jun 2020 15:46:39 +0000 (11:46 -0400)]
LP1883126 Angular accesskey sort repair
Fixes sorting issue in Angular egAccessKey directive to ensure that the
most recent additions are given highest priority and to ensure that
like keys (same action) are sorted next to each other in the control-h
help dialog.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Bill Erickson [Mon, 1 Jun 2020 19:43:02 +0000 (15:43 -0400)]
LP1896629 Angular catalog deleted record indicators
Adds a (Deleted) record indictor to the bib summary component, which
appears in various Angular interfaces.
Also adds a (Deleted) to the catalog search results. It sits where the
Place Hold button would normally go.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 22 Sep 2020 14:26:51 +0000 (10:26 -0400)]
LP#
1885767: stamp DB update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 28 Aug 2020 16:11:39 +0000 (12:11 -0400)]
LP1885767 Staff catalog exclude electronic option
Adds support for the 'Exclude Electronic Resources' checkbox in the
staff catalog, consistent with the TPAC option.
Adds a workstation setting, 'Staff Catalog "Exclude Electronic
Resources" Option' to control the behavior and an option to
toggle the preference in the staff catalog preferences page.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Wed, 19 Aug 2020 14:54:35 +0000 (10:54 -0400)]
LP1892111 Staff Catalog Digital Bookplates
Support for digital bookplates searching in the staff catalog.
Note to testers, the org setting 'opac.search.enable_bookplate_search'
must be set to true and copy tags must be added and linked to copies.
Included in commit is a minor i18n tweak to address some complaints by
the Angular build.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Thu, 17 Sep 2020 15:15:39 +0000 (11:15 -0400)]
LP1896081 Repair staff catalog filter expansion error
Simplifies an i18n structure that was leading to this error when
expanding the staff catalog filters section:
ERROR DOMException: Failed to execute 'appendChild' on
'Node': The new child element contains the parent.
at EmulatedEncapsulationDomRenderer2.appendChild
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Thu, 17 Sep 2020 15:39:43 +0000 (11:39 -0400)]
LP1896083 Staff catalog handles not-found barcodes
Staff catalog => Numeric Search => Item Barcode
Display the standard 'No Maching Items Were Found' message when a
barcode search returns no results.
Prior to this patch, the search progress indicator would freeze as the
page failed to completely render on JS error.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Mon, 21 Sep 2020 19:38:26 +0000 (15:38 -0400)]
LP1896512 Angular retrieve record by ID/TCN
Ports the retrieve records by ID/TCN to Angular. Note this version of
the form confirms a record exists by both ID and TCN before directing
the user to the record detail page in the Angular staff catalog.
Updates the navigation bars to use the Angular port for each.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 21 Sep 2020 15:51:09 +0000 (11:51 -0400)]
LP#
1788260: stamp schema update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Chris Sharp [Tue, 21 Aug 2018 18:22:05 +0000 (14:22 -0400)]
LP#
1788260 - Break out in-house-use non-cat circulations.
Previously, all non-cataloged circulations were grouped
together, causing problems for libraries who need to
exclude in-house circulations from circ counts.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 17 Sep 2020 16:16:01 +0000 (12:16 -0400)]
make npm run export-strings happier
The UrlMatcher function used by the provider interface needs
to spelled slighly differently to avoid the AOT compiler
used by "npm run export-strings" from failing with the following error:
ERROR in Error during template compile of 'AcqProviderRoutingModule'
Function expressions are not supported in decorators in 'ɵ0'
'ɵ0' contains the error at app/staff/acq/provider/routing.module.ts(7,14)
Consider changing the function expression into an exported function
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Boyer [Wed, 16 Sep 2020 17:03:20 +0000 (13:03 -0400)]
Remove Extraneous Permissions from Course Reserves
According to the release notes and seed data the MANAGE_RESERVES
permission is intended to be granted to the Circulation Administrator
group rather than Serials and System / Global Administrators.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 20:41:20 +0000 (16:41 -0400)]
update schema update script for Curbside Pickup
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 18:39:33 +0000 (14:39 -0400)]
first pass at consolidated schema update for 3.6-beta1
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Jason Boyer [Wed, 16 Sep 2020 18:22:15 +0000 (14:22 -0400)]
Correct typo in seed data
Rather than causing an error, forgetting a comma between 2 strings
concatenates them, and we don't have a permission called
VIEW_MERGE_PROFILEVIEW_REPORT_OUTPUT.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Galen Charlton [Wed, 16 Sep 2020 18:34:12 +0000 (14:34 -0400)]
Translation updates - po file - 3.6
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 16 Sep 2020 18:28:21 +0000 (14:28 -0400)]
Translation updates - newpot for 3.6
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 16 Sep 2020 18:10:41 +0000 (14:10 -0400)]
adjusted release notes title to use -beta1 rather than -beta
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Michele Morgan [Wed, 16 Sep 2020 17:54:26 +0000 (13:54 -0400)]
various changes to the 3.6 release notes
Added notes for:
LP1818367
LP1841974
LP1880028
LP1884657
as well as typos and omissions
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 20:43:19 +0000 (16:43 -0400)]
update draft release notes for Curbside Pickup
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 18:17:27 +0000 (14:17 -0400)]
start 3.6 release notes
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Boyer [Wed, 16 Sep 2020 10:57:55 +0000 (06:57 -0400)]
Correct opensrf.xml.example
Add missing closing tag, include child process limits.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Jane Sandberg [Tue, 15 Sep 2020 23:34:55 +0000 (16:34 -0700)]
Fix errors in live tests for courses
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Tue, 15 Sep 2020 21:38:22 +0000 (17:38 -0400)]
fix some warnings reported by Launchpad's translation import
This patch fixes POT syntax errors in two cases and checks
in the results of xml2po for another. None of the files involved
(nowadays) are visible to users, so this patch is strictly
about keeping LP happy.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 20:53:02 +0000 (16:53 -0400)]
LP#
1811710: (follow-up) update loadChildren for hopeless holds
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 20:38:24 +0000 (16:38 -0400)]
LP#
1879983: stamp schema update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Mon, 24 Aug 2020 23:40:51 +0000 (19:40 -0400)]
LP#
1879983: Look at closings when getting times for a date
This adds a check for library closings when getting the list of times to
offer for an appointment.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Mon, 27 Jul 2020 18:10:14 +0000 (14:10 -0400)]
LP#
1879983: Create and protect a floor on appt granularity
If bare numbers are entered, they are interpreted as a number of
seconds. The most likely intent is minutes, so we force that unit.
Additionally, this commit sets a hard floor of 10 minutes on appointment
granularity.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Mon, 29 Jun 2020 20:58:37 +0000 (16:58 -0400)]
LP#
1879983: Restrict top-level curbside tab display
Refactor the code checking for curbside-available current-pickup
libraries so that it is checked for all of MyOPAC, allowing us to hide
the Curbside Pickup top-level tab when there are no holds ready at
curbside pickup enabled locations. The tab will always be at the end of
the list if it is visible.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 26 Jun 2020 20:19:50 +0000 (16:19 -0400)]
LP#
1879983: ensure that slot notes appear on delivered tab
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Galen Charlton [Thu, 25 Jun 2020 17:48:48 +0000 (13:48 -0400)]
LP#
1879983: corrected wording for appointment-claiming toasts
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Mike Rylander [Thu, 25 Jun 2020 16:45:15 +0000 (12:45 -0400)]
LP#
1879983: Allow different granularities for the same date
The times available for each date were unintentionally limited to just
one org unit. This commit removes that restriction by storing the times
available for a date as passed to the template separately for each org
unit that has a curbside object, or is now requesting one.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Mike Rylander [Fri, 29 May 2020 16:17:54 +0000 (12:17 -0400)]
LP#
1879983: Add curbside subtab to the My Account holds UI
This updates the public catalog My Account holds tab to add
a subtab for curbside appointments. This subtab is displayed
only when the patron has available holds on the shelf at pickup
libraries that have enabled the circ.curbside library setting.
From this subtab, patrons can:
* Set times for curbside appointments and specify notes.
* Modify and cancel appointments.
* Mark themselves has having arrived at the library.
In addition to Mike Rylander, significant contributions to this
patch were made by Galen Charlton.
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Mike Rylander [Fri, 29 May 2020 16:14:55 +0000 (12:14 -0400)]
LP#
1879983: tweak public catalog CSS
In particular, add CSS to support table-ish display of
a div-grid for form-per-row. For example:
<div class="egtable">
<form class="egtr" method="post" action="blah.html">
<span class="egtd"><input type="text"/></span>
<span class="egtd"><input type="text"/></span>
</form>
<div class="egtr">
<span class="egtd">(cell data)</span>
<span class="egtd">(cell data)</span>
</div>
...
</div>
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Mike Rylander [Fri, 29 May 2020 16:17:07 +0000 (12:17 -0400)]
LP#
1879983: My Account curbside TPAC app
This adds code for managing curbside appointments in the
public catalog My Account page.
In addition to Mike Rylander, significant contributions to this
patch were made and Galen Charlton.
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Galen Charlton [Tue, 2 Jun 2020 18:51:35 +0000 (14:51 -0400)]
LP#
1879983: add Curbside Pickup to the Angular navbar
For both the Angular and AngularJS staff interfaces, the
Curbside Pickup option in the Circulation menu is displayed
only if circ.curbside has been enabled for the workstation
library.
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Galen Charlton [Tue, 26 May 2020 21:17:48 +0000 (17:17 -0400)]
LP#
1879983: AngularJS staff interface for curbside pickup
This adds a new AngularJS page for curbside appointment management. The
page has several tabs:
* To Be Staged appointments. This displays upcoming appointments; from
here, staff can mark appointments as "staged". Depending on the
library's curbside workflow, that may mean that the staff member
places the items in a bag or on a delivery table.
This tab also allows a staff member to claim (or unclaim)
responsibility for staging items for an appointment.
* Staged and Ready. This displays staged appointments; from here, staff
can mark that the patron has arrived, check out the items and mark
the appointment delivered, or un-stage the appointment.
* Patron Is Outside: from here, staff can check out the items and
mark the appointment delivered.
* Delivered Today: This displays appointments that were marked as
delivered.
* Schedule Pickup: This allows staff members to create and modify
curbside appointments on behalf of a patron.
AngularJS was chosen for this interface to permit backporting the
feature to older versions of Evergreen without having to deal with
variations in the version of Angular that is supported in past
releases. It also better meshes with the patron and circulation staff
interfaces that have not yet been rewritten in Angular.
The curbside pickup page only handles appointments at the workstation
library of the current staff user, as it assumes that the curbside
process is not centralized.
In addition to Galen Charlton, significant contributions to this
patch were made by Mike Rylander.
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Mike Rylander [Tue, 19 May 2020 19:13:57 +0000 (15:13 -0400)]
LP#
1879983: A/T components of Curbside
This commit adds a reactor and validator for automating parts of the
basic Curbside workflows:
* Curbside validator: check whether curbside is enabled at the org unit
applicable an A/T event's target, which could be a user, org unit,
curbside appointment, or hold request.
* CurbsideSlot reactor: Creates a curbside appointment slot at the hold
pickup library when a hold becomes ready for pickup, if one does not
exist. This is meant to be triggered by the hold.available hook.
Appointments created by this reactor do not have an appointment time
set, as that is meant to be supplied by the patron or a staff member
acting on behalf of the patron.
In addition to Mike Rylander, significant contributions to this
patch were made by Jason Boyer.
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Mike Rylander [Tue, 19 May 2020 19:11:54 +0000 (15:11 -0400)]
LP#
1879983: Curbside application: open-ils.curbside
This commit adds the Curbside OpenSRF application, open-ils.curbside,
which provides all the business logic and data retrieval APIs. The
open-ils.curbside service must be registered with the public routeri
in order for the feature to function.
The methods in this service are:
* open-ils.curbside.fetch_mine: retrieve the active appointments
for the current login session; this is meant for OPAC use.
* open-ils.curbside.open_user_appointments_at_lib: retrieve
appointments for the specified user at a given library.
* open-ils.curbside.patron.ready_holds_at_lib.count: count
available holds for a patron at a specified library; this is
needed because there is no other single method that provides
this.
* open-ils.curbside.fetch_to_be_staged
* open-ils.curbside.fetch_staged
* open-ils.curbside.fetch_arrived
* open-ils.curbside.fetch_delivered
Retrieve appointments in various states. These methods are streaming
and also have .atomic variants.
* open-ils.circ.curbside.claim_staging
* open-ils.circ.curbside.unclaim_staging
Allow a staff member to claim responsibility for staging items
for an appointment or to release a claim.
* open-ils.curbside.fetch_to_be_staged.latest
* open-ils.curbside.fetch_staged.latest
* open-ils.curbside.fetch_arrived.latest
* open-ils.curbside.fetch_delivered.latest
Retrieve a hash of apopintments in various states; used to determine
if the UI should be updated.
* open-ils.curbside.times_for_date
Retrieve available times for curbside appointments at the specified
date.
* open-ils.curbside.update_appointment
* open-ils.curbside.create_appointment
* open-ils.curbside.delete_appointment
CUD.
* open-ils.curbside.mark_staged
* open-ils.curbside.mark_unstaged
* open-ils.curbside.mark_arrived
Update the state of appointments.
* open-ils.curbside.mark_delivered
Update the state of an appointment to mark it delivered AND check
out all of the available holds.
In addition to Mike Rylander, significant contributions to this
patch were made by Galen Charlton.
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Mike Rylander [Tue, 19 May 2020 19:10:34 +0000 (15:10 -0400)]
LP#
1879983: Predefined ILS Events to alert the UI
This commit defines events that might be sent to UIs in the case of
exceptional circumstances:
* CURBSIDE_NOT_ALLOWED (i.e., if the circ.curbside library setting is
not enabled for a given pickup library.)
* CURBSIDE_MAX_FOR_TIME (i.e., if all of the available slots for
a given appointment time have been scheduled.)
* CURBSIDE_EXISTS (i.e., if one is attempting to create a new
open curbside appointment for a patron and pickup library when
one already exists.)
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Galen Charlton [Thu, 18 Jun 2020 14:12:49 +0000 (10:12 -0400)]
LP#
1879983: add DB updates to baseline
In addition to Galen Charlton, significant contributions to this
patch were made by Jason Boyer and Mike Rylander.
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Mike Rylander [Tue, 19 May 2020 19:08:32 +0000 (15:08 -0400)]
LP#
1879983: new table and seed data for curbside
This patch adds a new database table, action.curbside, for
tracking appointments to pick up on-shelf hold requests:
id - ID
patron - patron that the appoint is for
org - pickup library that the appointment is for
slot - date and time of appointment
staged - whethers for appointment have been staged
stage_staff - staff member responsible for staging the items
arrival - whether patron has arrived to pick up the items
delivered - whether items have been checked out to patron
delivery_staff - staff member responsible for checking out the items
notes - notes about the appointment, e.g., the color
of the patron's vehicle
It also adds four new library settings:
* circ.curbside: whether to enable curbside appointments for
picking up available hold requests. This default to off.
* circ.curbside.granularity: interval between appointment slots. This
defaults to 15 minutes.
* circ.curbside.max_concurrent: how many appointments to permit per
time slot. This defaults to 10.
* circ.curbside.disable_patron_input: if turned on, display scheduled
and pending appointments in My Account in the public catalog but
do not give the patron the ability to change them from My Account.
This defaults to false, i.e., allowing patrons to modify appointments
from My Account.
It also adds two Action Trigger hooks:
* hold.offer_curbside: to trigger notifications offering a patron the
opportunity to set an appointment time; this is invoked if the
CurbsideSlot A/T reactor is used to create appointment slots when
holds become available.
* hold.confim_curbside: fired when a curbside pickup appointment is
created or updated.
It also adds seed data for the Curbside A/T validator and CurbsideSlot A/T
reactor.
Finally, it adds sample A/T event definitions:
* Curbside offer Email notification
* Curbside offer SMS notification
* Curbside confirmation Email notification
* Curbside confirmation SMS notification
These event definitions are disabled by default.
In addition to Mike Rylander, significant contributions to this
patch were made by Jason Boyer and Galen Charlton.
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Galen Charlton [Wed, 10 Jun 2020 17:22:47 +0000 (13:22 -0400)]
LP#
1879983: Release notes for Curbside Pickup
This is in the first patch in a series for a new feature in
Evergreen called Curbside Pickup.
The Curbside Pickup features in Evergreen provides an interface to help
facilitate contact free pickup of library materials. It provides a dedicated
interface in the staff client for library staff to track and manage curbside
pickup appointments and materials through the various stages of the process.
Staff can also schedule pickup appointments on behalf of patrons. This feature
also allows patrons to schedule their own curbside pickup appointments in their
OPAC account, as well as inform the library when they have arrived and are
waiting for their materials.
To test
-------
(Testing notes were contributed by Andrea Neiman)
In order to test Curbside, you will need to place and capture holds at the
respective location you’re testing. This work does not interfere with existing
hold rules or parameters, except to force checkout override in certain
circumstances.
In addition, the circ.curbside library setting must be enabled. These testing
suggestions assume that the A/T event definitions included in this patch
series have been enabled.
Things to test:
* MyAccount correctly reflects scheduling/scheduled options
* Alert staff on my arrival should move batch to the Patron is Outside
tab
* Update appointment/cancel appointment options should move or remove
the batch appropriately
* If a patron has pickups at multiple locations, they should be able
to schedule separate pickups per location
* Email notices at various steps of the way are firing correctly
* Patron should get email for hold pickup, including scheduling
curbside.
* Patron should get email confirming curbside pickup
* Patron should get email with checked out items, if email receipts
are enabled
* Correct “batching” of items for pickup
* Batch moving correctly through tabs
* Batch is physically collocated - i.e. not containing pickups for
other OUs
* Checkouts are performed correctly
* Check against patrons with blocks - force override should be in effect
* Settings are being respected with regard to pickup scheduling & time
constraints
* Can’t create pickups in the past
* Pickups respect library open hours as set in Org Unit Administration
* Can’t create pickups if the 15-minute block is filled
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Galen Charlton [Tue, 15 Sep 2020 16:10:02 +0000 (12:10 -0400)]
LP#
1811710: stamp schema update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 3 Jan 2020 19:28:15 +0000 (14:28 -0500)]
LP#
1811710: (follow-up) fix lint issues
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Etheridge [Tue, 10 Sep 2019 20:29:19 +0000 (16:29 -0400)]
lp1811710: automated tests
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Etheridge [Fri, 16 Aug 2019 14:49:20 +0000 (10:49 -0400)]
lp1811710: hopeless holds release notes
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Etheridge [Sun, 30 Jun 2019 00:53:15 +0000 (20:53 -0400)]
lp1811710: minor fixes to other code
outside of the holds grid and the Hopeless Holds interface
* Retargetd vs Retargeted typo
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Etheridge [Tue, 11 Jun 2019 16:24:56 +0000 (12:24 -0400)]
lp1811710: hide Pre-Fetch for now
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Etheridge [Fri, 7 Jun 2019 14:30:53 +0000 (10:30 -0400)]
lp1811710: minor tweaks to the eg2 holds grid
column label fixes and let some actions work with multiple rows
fix for item barcode link
prevent certain actions from spawning broken interfaces
disable Title Hold Transfer if non-title holds are selected
render hold status
return the sms carrier name instead of the id in the wide_holds API
(we may want to back this one out and do it differently)
show time component for timestamp columns
fixed live summaries for various hold actions intended for large batches
remove mvr.* from eg2 holds grid; not doing anything
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Etheridge [Tue, 4 Jun 2019 16:12:54 +0000 (12:12 -0400)]
lp1811710: toward hopeless data
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Etheridge [Fri, 10 May 2019 06:52:01 +0000 (02:52 -0400)]
lp1811710: toward hopeless UI
dedicated interface and grid tweaks
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Etheridge [Wed, 17 Apr 2019 12:29:53 +0000 (08:29 -0400)]
lp1811710: toward hopeless holds, backend and existing UI's
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Boyer [Tue, 15 Sep 2020 11:49:36 +0000 (07:49 -0400)]
LP#
1849212: oils_i18n_gettext fixup
Each call to oils_i18n_gettext should have a unique id per class,
this patch adjusts the call for acmr so translations (and tests)
will work correctly.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 01:21:55 +0000 (21:21 -0400)]
LP#
1849212: stamp schema update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 01:18:26 +0000 (21:18 -0400)]
LP#
1849212: (follow-up) numerous fixes to open-ils.courses.detach_material
This patch ensures that when an item is taken off of reserve, any
previous item and call number values are correctly restored.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 01:16:30 +0000 (21:16 -0400)]
LP#
1849212: (follow-up) avoid open-ils.courses drone starvation
In particular, ensure that open-ils.courses.course_materials.retrieve.atomic
will return.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 01:15:03 +0000 (21:15 -0400)]
LP#
1849212: (follow-up) fix adding an item to a course with alt call number
open-ils.cat.call_number.find_or_create expects an integer to identify
the owning library, not a fieldmapper object.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 01:14:05 +0000 (21:14 -0400)]
LP#
1849212: (follow-up) fixes to removing users from course
* correctly extract the IDs of the user mappings to remove
* update the grid upon completion of the deletions
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 01:13:31 +0000 (21:13 -0400)]
LP#
1849212: (follow-up) fix edit course user dialog
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 01:12:24 +0000 (21:12 -0400)]
LP#
1849212: (follow-up) refresh grid upon removing course material
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Fri, 11 Sep 2020 19:49:10 +0000 (12:49 -0700)]
LP1849212: don't send empty courseId arrays to pcrud
Also removes some unneeded Import calls
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>