Evergreen.git
84 min agoDocs: more 3.6 release notes updates master
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>
2 hours agoDocs: 3.6 release notes update
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>
3 hours agoLP1851882 Relase Notes (Angular catalog hold types)
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>
3 hours agoLP1851882 Angular catalog recall/force/part holds
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>
21 hours agoaccount for race condition in courses live test
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>
27 hours agoLP1872867 Staff catalog filters use search labels
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>
27 hours agoLP#1096209: Stamp upgrade script
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>
27 hours agoLP#1096209: add check_sms_notify parameter to all relevant event defs
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>
27 hours agoLP#1776954 - Add release notes
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>
27 hours agoLP#1776954 Avoid empty string for tcn_source
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>
28 hours agoLP1882828: Fix issues with displaying cataloged resources in Pull List
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>
28 hours agoLP#1882825: (follow-up) include update number
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>
28 hours agoLP#1835127: (follow-up) fixes to update script
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>
32 hours agoRepair Permission Seed Data
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>
2 days agoLP1882825 - Stamp upgrade script
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>
2 days agoLP1882825: Add setting for booking pull list grid
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>
2 days agoLP#1835127 - Stamp upgrade script
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>
2 days agoLP#1835127: scoped permissions for reservations
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>
2 days agoLP#1361270 Self-registration doesn't retain org unit on refresh
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>
2 days agoLP1883126 Angular accesskey sort repair
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>
3 days agoLP1896629 Angular catalog deleted record indicators
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>
3 days agoLP#1885767: stamp DB update
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>
3 days agoLP1885767 Staff catalog exclude electronic option
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>
3 days agoLP1892111 Staff Catalog Digital Bookplates
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>
3 days agoLP1896081 Repair staff catalog filter expansion error
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>
3 days agoLP1896083 Staff catalog handles not-found barcodes
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>
3 days agoLP1896512 Angular retrieve record by ID/TCN
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>
4 days agoLP#1788260: stamp schema update
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>
4 days agoLP#1788260 - Break out in-house-use non-cat circulations.
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>
8 days agomake npm run export-strings happier
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>
9 days agoRemove Extraneous Permissions from Course Reserves
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>
9 days agoupdate schema update script for Curbside Pickup
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>
9 days agofirst pass at consolidated schema update for 3.6-beta1
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>
9 days agoCorrect typo in seed data
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>
9 days agoTranslation updates - po file - 3.6
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>
9 days agoTranslation updates - newpot for 3.6
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>
9 days agoadjusted release notes title to use -beta1 rather than -beta
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>
9 days agovarious changes to the 3.6 release notes
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>
9 days agoupdate draft release notes for Curbside Pickup
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>
9 days agostart 3.6 release notes
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>
9 days agoCorrect opensrf.xml.example
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>
9 days agoFix errors in live tests for courses
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>
9 days agofix some warnings reported by Launchpad's translation import
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>
9 days agoLP#1811710: (follow-up) update loadChildren for hopeless holds
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>
10 days agoLP#1879983: stamp schema update
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>
10 days agoLP#1879983: Look at closings when getting times for a date
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>
10 days agoLP#1879983: Create and protect a floor on appt granularity
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>
10 days agoLP#1879983: Restrict top-level curbside tab display
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>
10 days agoLP#1879983: ensure that slot notes appear on delivered tab
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>
10 days agoLP#1879983: corrected wording for appointment-claiming toasts
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>
10 days agoLP#1879983: Allow different granularities for the same date
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>
10 days agoLP#1879983: Add curbside subtab to the My Account holds UI
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>
10 days agoLP#1879983: tweak public catalog CSS
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>
10 days agoLP#1879983: My Account curbside TPAC app
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>
10 days agoLP#1879983: add Curbside Pickup to the Angular navbar
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>
10 days agoLP#1879983: AngularJS staff interface for curbside pickup
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>
10 days agoLP#1879983: A/T components of Curbside
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>
10 days agoLP#1879983: Curbside application: open-ils.curbside
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>
10 days agoLP#1879983: Predefined ILS Events to alert the UI
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>
10 days agoLP#1879983: add DB updates to baseline
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>
10 days agoLP#1879983: new table and seed data for curbside
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>
10 days agoLP#1879983: Release notes for Curbside Pickup
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>
10 days agoLP#1811710: stamp schema update
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>
10 days agoLP#1811710: (follow-up) fix lint issues
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>
10 days agolp1811710: automated tests
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>
10 days agolp1811710: hopeless holds release notes
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>
10 days agolp1811710: minor fixes to other code
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>
10 days agolp1811710: hide Pre-Fetch for now
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>
10 days agolp1811710: minor tweaks to the eg2 holds grid
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>
10 days agolp1811710: toward hopeless data
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>
10 days agolp1811710: toward hopeless UI
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>
10 days agolp1811710: toward hopeless holds, backend and existing UI's
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>
10 days agoLP#1849212: oils_i18n_gettext fixup
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>
10 days agoLP#1849212: stamp schema update
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>
10 days agoLP#1849212: (follow-up) numerous fixes to open-ils.courses.detach_material
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>
10 days agoLP#1849212: (follow-up) avoid open-ils.courses drone starvation
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>
10 days agoLP#1849212: (follow-up) fix adding an item to a course with alt call number
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>
10 days agoLP#1849212: (follow-up) fixes to removing users from course
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>
10 days agoLP#1849212: (follow-up) fix edit course user dialog
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>
10 days agoLP#1849212: (follow-up) refresh grid upon removing course material
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>
10 days agoLP1849212: don't send empty courseId arrays to pcrud
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>
10 days agoLP1849212: Correct upgrade script
Jason Boyer [Fri, 11 Sep 2020 16:43:20 +0000 (12:43 -0400)]
LP1849212: Correct upgrade script

Re-align permission ids and correct syntax errors in the course reserves upgrade script.
I'm not convinced the boolean_facet metabib class should exist simply to add "course reserves, Y/N?"
and in any case can not function as is because adding metabib field classes requires additional
field_entry tables which are missing from the seed data and upgrade script.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: Workstation ou should be the default owning library for course term
Jane Sandberg [Mon, 7 Sep 2020 20:57:41 +0000 (13:57 -0700)]
LP1849212: Workstation ou should be the default owning library for course term

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: Clarify default values in MARC simplified editor
Jane Sandberg [Mon, 7 Sep 2020 20:56:45 +0000 (13:56 -0700)]
LP1849212: Clarify default values in MARC simplified editor

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: OPAC course browse, search, display improvements
Jane Sandberg [Thu, 3 Sep 2020 16:00:18 +0000 (09:00 -0700)]
LP1849212: OPAC course browse, search, display improvements

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: lint
Jane Sandberg [Wed, 2 Sep 2020 19:32:07 +0000 (12:32 -0700)]
LP1849212: lint

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: some fixes to seed data and upgrade script
Jane Sandberg [Wed, 2 Sep 2020 19:03:31 +0000 (12:03 -0700)]
LP1849212: some fixes to seed data and upgrade script

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: Use terminology: Course Name, not Course Title
Jane Sandberg [Wed, 2 Sep 2020 15:42:29 +0000 (08:42 -0700)]
LP1849212: Use terminology: Course Name, not Course Title

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: Use a set list of roles for course users
Jane Sandberg [Wed, 2 Sep 2020 04:24:08 +0000 (21:24 -0700)]
LP1849212: Use a set list of roles for course users

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: improve fleshing in course service
Jane Sandberg [Tue, 1 Sep 2020 16:19:35 +0000 (09:19 -0700)]
LP1849212: improve fleshing in course service

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: update loadChildren syntax
Jane Sandberg [Tue, 1 Sep 2020 16:07:24 +0000 (09:07 -0700)]
LP1849212: update loadChildren syntax

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: Improvements to the Simplified Marc Editor
Jane Sandberg [Wed, 26 Aug 2020 22:51:32 +0000 (15:51 -0700)]
LP1849212: Improvements to the Simplified Marc Editor

* Templates can now set multiple subfields for the same field
* Templates can now set indicator values
* Editor now allows user to choose a MARC Form and Type
* Improvements to the course associate brief record interface
to use these improvements

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: Grid improvements
Jane Sandberg [Wed, 26 Aug 2020 18:30:02 +0000 (11:30 -0700)]
LP1849212: Grid improvements

- Correcting some grid column labels
- Correcting ViewChild static flags, allowing grid refresh
- Also, remove the static: false flag, since it is no longer necessary

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: Consult physical_loc to determine if an ou is using course materials module
Jane Sandberg [Wed, 26 Aug 2020 18:22:22 +0000 (11:22 -0700)]
LP1849212: Consult physical_loc to determine if an ou is using course materials module

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP 1849212: Add course term functionality
Jane Sandberg [Sat, 15 Aug 2020 15:21:46 +0000 (08:21 -0700)]
LP 1849212: Add course term functionality

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: allow call number change when course is at a system or consortium level
Jane Sandberg [Sat, 15 Aug 2020 02:56:11 +0000 (19:56 -0700)]
LP1849212: allow call number change when course is at a system or consortium level

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: display course information in catalog for record-only acmcm entries
Jane Sandberg [Fri, 14 Aug 2020 23:55:02 +0000 (16:55 -0700)]
LP1849212: display course information in catalog for record-only acmcm entries

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: release notes
Jane Sandberg [Mon, 10 Aug 2020 03:52:10 +0000 (20:52 -0700)]
LP1849212: release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: Improvements to course materials admin UI
Jane Sandberg [Mon, 10 Aug 2020 03:03:26 +0000 (20:03 -0700)]
LP1849212: Improvements to course materials admin UI

- Better order for acmc fm-editor
- Add original item attributes to the course materials list
- trim whitespace from barcodes
- accessible labels in the course page
- refactor course users
- fix incorrect paths in course materials grid columns

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
10 days agoLP1849212: Make OPAC header links consistent
Jane Sandberg [Sun, 9 Aug 2020 20:53:40 +0000 (13:53 -0700)]
LP1849212: Make OPAC header links consistent

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>