]> git.evergreen-ils.org Git - working/Evergreen.git/log
working/Evergreen.git
4 years agoLP#1816475: Cleanup 950.data.seed-values.sql
Ben Shum [Sat, 7 Sep 2019 03:32:42 +0000 (23:32 -0400)]
LP#1816475: Cleanup 950.data.seed-values.sql

When this branch was committed, some old seed data snuck back into
the file from LP#1759343 cleanup commit (eee5c5948ca).  Remove the
extra code to prevent duplicate INSERT errors.

Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1068287: stamp database update
Galen Charlton [Fri, 6 Sep 2019 22:09:05 +0000 (18:09 -0400)]
LP#1068287: stamp database update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1068287 UI tweak and renewal behavior
Jason Etheridge [Fri, 6 Sep 2019 03:51:46 +0000 (23:51 -0400)]
LP#1068287 UI tweak and renewal behavior

Skips the CREATE_PRECAT permission check when renewing pre-cataloged items.

Also disables all the elements except the Cancel button in the Pre-Cat dialog
when the user lacks the CREATE_PRECAT permission, and repositions the explanatory
text.

Also includes release notes.

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1068287 - Add CREATE_PRECAT permission
Cesar Velez [Thu, 13 Dec 2018 23:13:39 +0000 (18:13 -0500)]
LP#1068287 - Add CREATE_PRECAT permission

Add this permission to prevent untrained/un-authorized
circ staff from creating pre-cat items due to mis-scanned
barcodes. Added to all profiles by default, so that staff
admins can pinpoint users who may not have it, i.e Volunteers, etc.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1823255: stamp database update
Galen Charlton [Fri, 6 Sep 2019 22:03:14 +0000 (18:03 -0400)]
LP#1823255: stamp database update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1823255: optionally require ident_value
Mark Bucholtz [Mon, 1 Apr 2019 14:45:20 +0000 (07:45 -0700)]
LP#1823255: optionally require ident_value

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Mark Bucholtz <mbucholtz@sitka.bclibraries.ca>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLp 1811696: Add --rebuild-rmsr option to pingest.pl
Jason Stephenson [Wed, 3 Apr 2019 17:30:07 +0000 (13:30 -0400)]
Lp 1811696: Add --rebuild-rmsr option to pingest.pl

Add the option to rebuild the reporter.materialized_simple_record
table to the pingest.pl support script.

Add release notes.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1841270: release notes
Jason Etheridge [Fri, 23 Aug 2019 19:48:41 +0000 (15:48 -0400)]
LP#1841270: release notes

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1841270: fix ITEM_NOT_HOLDABLE event description
Jason Etheridge [Wed, 14 Aug 2019 13:16:31 +0000 (09:16 -0400)]
LP#1841270: fix ITEM_NOT_HOLDABLE event description

The main functionality for this enhancment produces toast messages for success
and failure, and the description for this particular event when testing had me
double-taking :)

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1841270: add Title Hold option in various places in staff client
Jason Etheridge [Fri, 19 Jul 2019 22:59:19 +0000 (18:59 -0400)]
LP#1841270: add Title Hold option in various places in staff client

* Adds a Title Hold option to certain invocations of Request Items
(Item Status, Copy Buckets, but not Holdings View)

* Switches count of items to count of titles when Title hold option
is selected

* Adds a checkbox for honoring the preferred notification settings
and default pickup library of the selected patron

* Adds a success/failure toast for Request Items

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLp 1799272: Option to Limit Hold Items in SIP2 msg 64 to Available
Jason Stephenson [Fri, 2 Nov 2018 13:03:07 +0000 (09:03 -0400)]
Lp 1799272: Option to Limit Hold Items in SIP2 msg 64 to Available

This commit adds an implementation option to the oils_sip.xml that,
when enabled, will limit the hold items list and hold items counts in
the patron information response (response 64) to only the holds
available for pickup by the patron.  When the setting is not enabled,
the full list of the patron's holds continues to be used.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1731021 SIP fine detail fee type additions
Bill Erickson [Mon, 13 May 2019 14:43:51 +0000 (10:43 -0400)]
LP1731021 SIP fine detail fee type additions

Adds support for specifying different fee types in the fine/fee response
based on the most recent billing type of each transaction.

Thanks to Jason Stephenson for the initial implementation.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1731021 SIP Fine detail repairs / display fields
Bill Erickson [Wed, 10 Apr 2019 16:45:56 +0000 (12:45 -0400)]
LP1731021 SIP Fine detail repairs / display fields

Resolve commit issues with the second commit from the source branch
working/user/dpearl/LP1731021_fine_item_detail

Migrating circ title/author lookup to use metabib display fields instead
of MVR's.

Minor code refactoring.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1731021: Support fine detail enhancement to SIP.
Dan Pearl [Thu, 25 May 2017 18:10:01 +0000 (14:10 -0400)]
LP#1731021: Support fine detail enhancement to SIP.

The particular flavor of fine detail output is manufacturer dependent,
although 3m is popular, and the default.  To configure the selection,
modify the /openils/conf/oils_sip.xml file.

Testing: See the /openils/conf/oils_sip.xml file and test all supported
values for the av_format option.  You should also test the case where
the option is omitted, or a non-supported value.  I am not sure what
happens if you supply more than one option with same or different
values, but this is a non-supported degenerate case.

For each test value, ensure tha the fine item detail is the expected
format.

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1444644: stamp database update
Galen Charlton [Fri, 6 Sep 2019 21:51:21 +0000 (17:51 -0400)]
LP#1444644: stamp database update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1444644 Copy Import Development Work
Liam Whalen [Thu, 2 Oct 2014 02:17:34 +0000 (19:17 -0700)]
LP#1444644 Copy Import Development Work

Two new options for importing holdings have been added to MARC Batch
Import/Export:

1) Auto-overlay On-order Cataloguing Copies

This is similar to "Auto-overlay In-process Acquisitions Copies," but
for copies that were not created from an acquisitions workflow.
Holdings information in the incoming record will be used to overlay any
existing On Order copies for the matching record which belong to the
owning library defined in the Holdings Import Profile.  The Holdings
Import Profile is also used to match incoming to existing copies, if
possible; otherwise, On Order copies are overlaid in the order they were
created.  The call number will also be overlaid if the incoming record
provides one.

2) Use Org Unit Matching in Copy to Determine Best Match

When there are multiple potential matching records, this feature allows
the user to automatically select the record which has the most copies at
libraries near the importing library in the org tree.  That is, starting
at the importing library, it climbs the org tree, gradually expanding
the scope at which it checks for holdings on matching records; once
holdings are found, the record with the most holdings at that scope is
selected for overlay.  If there are no matching records with holdings,
then the default best match overlay is attempted.

Two new permissions are added to control the use of these new features.

Signed-off-by: Liam Whalen <liam.whalen@bc.libraries.coop>
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1728331 - Action Trigger Aggregator Date Parameter
Josh Stompro [Wed, 27 Feb 2019 16:31:54 +0000 (10:31 -0600)]
LP#1728331 - Action Trigger Aggregator Date Parameter

- Added release notes.
- Added note about script to support scripts doc.
- Added script to makefile for confile processing and installation.
- Added processed version of the script to .gitignore

I tested out the script with our production data and it worked as described.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1728331: A/T Aggregator Date Parameter
Jason Boyer [Tue, 20 Feb 2018 19:51:21 +0000 (14:51 -0500)]
LP1728331: A/T Aggregator Date Parameter

Adds a --date parameter to action_trigger_aggregator.pl
to make it simpler to pull events for a single day when
that day isn't "today."

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1786552: AuthProxy: release note for LDAP bind_user and restrict_by_home_ou
Jeff Davis [Fri, 21 Jun 2019 23:25:04 +0000 (16:25 -0700)]
LP#1786552: AuthProxy: release note for LDAP bind_user and restrict_by_home_ou

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1786552: AuthProxy: restrict_by_home_ou based on authenticator org_units
Jeff Davis [Thu, 20 Jun 2019 19:49:31 +0000 (12:49 -0700)]
LP#1786552: AuthProxy: restrict_by_home_ou based on authenticator org_units

It makes more sense to check the patron's home library against the org
units to which the authenticator applies, rather than the login org
param.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1786552: optionally restrict auth_proxy login by home OU
Jeff Davis [Fri, 8 Feb 2019 21:59:14 +0000 (13:59 -0800)]
LP#1786552: optionally restrict auth_proxy login by home OU

This adds a new restrict_by_home_ou setting to auth_proxy authenticator
config.  When enabled, if the login request includes an org param, the
authenticator will refuse to authenticate a user unless their home OU
matches or is a descendant of that org; login fails and auth_proxy
proceeds to the next configured authenticator.

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1786552: LDAP bind user option
Jeff Davis [Wed, 17 Oct 2018 01:24:00 +0000 (18:24 -0700)]
LP#1786552: LDAP bind user option

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1793802: stamp database update
Galen Charlton [Fri, 6 Sep 2019 21:38:02 +0000 (17:38 -0400)]
LP#1793802: stamp database update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1793802 - Add new aged/all billing/payment sources to aged/all circ sources.
Chris Sharp [Tue, 21 May 2019 10:53:53 +0000 (06:53 -0400)]
LP#1793802 - Add new aged/all billing/payment sources to aged/all circ sources.

The new aged/all billing/payment sources need to be included
in the aged/all circulations reporting sources.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1793802 Age circ ages payments before billings
Bill Erickson [Sat, 20 Oct 2018 12:11:46 +0000 (08:11 -0400)]
LP#1793802 Age circ ages payments before billings

When aging a circulation, payments must be deleted before billings,
since account_adjustements (payment) reference billings.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1793802 Billing/payment purge improvements
Bill Erickson [Wed, 26 Sep 2018 21:22:11 +0000 (17:22 -0400)]
LP#1793802 Billing/payment purge improvements

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1793802 Aged billings/payments release notes
Bill Erickson [Fri, 21 Sep 2018 19:56:25 +0000 (15:56 -0400)]
LP#1793802 Aged billings/payments release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1793802 Aged billings/payments PGTAP tests
Bill Erickson [Fri, 21 Sep 2018 19:53:23 +0000 (15:53 -0400)]
LP#1793802 Aged billings/payments PGTAP tests

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1793802 Add money.all_[payments|billings] views
Bill Erickson [Mon, 24 Sep 2018 14:33:13 +0000 (10:33 -0400)]
LP#1793802 Add money.all_[payments|billings] views

Similar to money.all_circulation_slim, add views to collect data from
both active and aged versions of the payment and billing tables.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1793802 Aged billings and payments
Bill Erickson [Fri, 21 Sep 2018 18:53:33 +0000 (14:53 -0400)]
LP#1793802 Aged billings and payments

Creates tables money.aged_billing and money.aged_payment.  When a
circulation is aged, billings/payments linked to the circ are migrated
to the aged_* table.

Upgrade script includes a migration script for migrating existing
billings and payments.

Includes IDL entries for reporting and pcrud access just in case it's
needed.  Note the 'xact' column on these new tables links directly to
the aged circulation instead of the non-existent money.billable_xact.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: add release notes
Galen Charlton [Fri, 6 Sep 2019 21:17:14 +0000 (17:17 -0400)]
LP#1817645: add release notes

These are taken from the introduction of the technical reference
docs written by Jeff Davis.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: stamp schema update
Galen Charlton [Fri, 6 Sep 2019 21:13:30 +0000 (17:13 -0400)]
LP#1817645: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: (follow-up) sync schema update script
Galen Charlton [Fri, 6 Sep 2019 21:11:13 +0000 (17:11 -0400)]
LP#1817645: (follow-up) sync schema update script

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: use label as reporter:selector for user activity type
Jeff Davis [Mon, 17 Jun 2019 21:12:21 +0000 (14:12 -0700)]
LP#1817645: use label as reporter:selector for user activity type

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: add RemoteAuth profiles to Angular server admin
Jeff Davis [Wed, 12 Jun 2019 17:46:30 +0000 (10:46 -0700)]
LP#1817645: add RemoteAuth profiles to Angular server admin

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: track RemoteAuth user activity
Jeff Davis [Wed, 1 May 2019 18:42:11 +0000 (11:42 -0700)]
LP#1817645: track RemoteAuth user activity

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: RemoteAuth documentation
Jeff Davis [Thu, 4 Apr 2019 22:47:14 +0000 (15:47 -0700)]
LP#1817645: RemoteAuth documentation

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: RemoteAuth Perl live test for basic HTTP authentication (RFC 7617)
Jeff Davis [Tue, 5 Mar 2019 00:34:58 +0000 (16:34 -0800)]
LP#1817645: RemoteAuth Perl live test for basic HTTP authentication (RFC 7617)

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: RemoteAuth pgTAP test
Jeff Davis [Tue, 5 Mar 2019 00:12:45 +0000 (16:12 -0800)]
LP#1817645: RemoteAuth pgTAP test

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: sample data for testing remote patron auth
Jeff Davis [Mon, 4 Mar 2019 22:53:43 +0000 (14:53 -0800)]
LP#1817645: sample data for testing remote patron auth

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: RemoteAuth handler for basic HTTP authentication (RFC 7617)
Jeff Davis [Tue, 5 Mar 2019 00:48:23 +0000 (16:48 -0800)]
LP#1817645: RemoteAuth handler for basic HTTP authentication (RFC 7617)

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1817645: configurable HTTP API for patron auth/retrieval
Jeff Davis [Wed, 27 Feb 2019 02:02:58 +0000 (18:02 -0800)]
LP#1817645: configurable HTTP API for patron auth/retrieval

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1840327: add release notes
Galen Charlton [Fri, 6 Sep 2019 19:00:26 +0000 (15:00 -0400)]
LP#1840327: add release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1840327: (follow-up) various fixes and improvements
Galen Charlton [Fri, 6 Sep 2019 18:57:13 +0000 (14:57 -0400)]
LP#1840327: (follow-up) various fixes and improvements

* Fixed inabiilty to set the name for a new standing penalty
* Fixed the 'Delete Selected' action
* adjust for recId => recordId change to FM record editor
* remove a bit of copy-and-paste-itis
* Lint repairs

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1840327: port standing penalty admin interface to Angular
Mike Risher [Tue, 20 Aug 2019 20:29:23 +0000 (20:29 +0000)]
LP#1840327: port standing penalty admin interface to Angular

Convert standing penalty types admin UI from DOJO to Angular. Name
field is read only if the ID is below 100.  Doing this involved:

- creating a new standing penalty component
- using rowFlairCallback functionality in the grid, so that an icon
  and tooltip is shown for fields where the name cannot be edited
- making the ID show up in red text when it is below 100
- adding "readonly Override" functionality to fm-editor, so that
  some fields of a given type are read only, but others are not

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1840050 Angular Org Unit Admin page port
Bill Erickson [Fri, 16 Aug 2019 21:01:51 +0000 (17:01 -0400)]
LP1840050 Angular Org Unit Admin page port

Migrate the Dojo Org Unit administration page to Angular:

Administration => Server Administration => Organizational Units

Includes org unit, hours of operation, and address settings.

The new UI adds details on which org unit addresses are shared, offering a
way to clone a shared address to a new address.

Includes release notes.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1840050 Angular staff banner sets title
Bill Erickson [Fri, 16 Aug 2019 21:00:53 +0000 (17:00 -0400)]
LP1840050 Angular staff banner sets title

Any UI that declares a staff banner gets the same text set as the
page/title title as well.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1840050 Modularize various standalone components + more.
Bill Erickson [Fri, 16 Aug 2019 21:00:11 +0000 (17:00 -0400)]
LP1840050 Modularize various standalone components + more.

Create container modules for the String, Translate, FM record editor, and
Admin Page components & services.  This simplifies imports and allows us
to avoid requiring these modules on pages that don't need them.  In
particular, the staff splash page now loads fewer imports, which should
improve initial load/login time.

Additionally some components were enhanced.

FM record editor now has a eg-fm-record-editor-action component so users
can pass in an action, rendered as a button at the bottom of the editor.

FM record editor gets a delete record option and hideBanner option.

FM record editor now better handles real-time updates of its underlying
recordId and record values, including updates to some editor callers to
migrate to the modified API (replace recId with recordId).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1840050 Org select sanity checks on selected value
Bill Erickson [Fri, 16 Aug 2019 20:56:42 +0000 (16:56 -0400)]
LP1840050 Org select sanity checks on selected value

Avoid use of org-select 'selected' value when it's not defined/null.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1840050 Combobox responds favoribly to value changes
Bill Erickson [Fri, 16 Aug 2019 20:52:50 +0000 (16:52 -0400)]
LP1840050 Combobox responds favoribly to value changes

Using the power of getters/setters, teach the combobox to respond to
updates of the selected entry, particulary when the selected value is
applied before the set of underlying entries is modified.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1840050 Anguar tree component realtime updates
Bill Erickson [Fri, 16 Aug 2019 20:50:34 +0000 (16:50 -0400)]
LP1840050 Anguar tree component realtime updates

Teach the Angular tree component to re-render itself when its underyling
tree has been replaced.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1840050 IDL pkeyMatches function/tests
Bill Erickson [Fri, 16 Aug 2019 20:48:51 +0000 (16:48 -0400)]
LP1840050 IDL pkeyMatches function/tests

Function to compare whether two IdlObjects are of the same class and
have matching pkey values.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1840050 IDL Org and Org Address additions
Bill Erickson [Fri, 16 Aug 2019 20:43:46 +0000 (16:43 -0400)]
LP1840050 IDL Org and Org Address additions

Adds missing 'required' attributes to org_unit and org_address and adds
labels for org_address fields.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1741980: Give type label its own span and class for easy hiding
Remington Steed [Tue, 28 May 2019 13:33:44 +0000 (09:33 -0400)]
LP#1741980: Give type label its own span and class for easy hiding

This commit separates the copy tag type label into its own span with a
new class "copy_tag_type_label", so that libraries can hide it or style
it differently. Release notes are included.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1741980: Fetch and show copy tag label in OPAC
Remington Steed [Wed, 24 Apr 2019 13:37:22 +0000 (09:37 -0400)]
LP#1741980: Fetch and show copy tag label in OPAC

When copy/item tags (such as "Digital Bookplate") are displayed in the
OPAC, they currently only show the tag's value, but not the label of the
tags type. This commit fleshes in the tag type so we gain access to the
type's label, and it adds it to the OPAC display.

OPAC output before: "(Tag Value Here)"

OPAC output after: "Digital Bookplate: (Tag Value Here)"

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1753536: stamp DB update
Galen Charlton [Fri, 6 Sep 2019 16:33:24 +0000 (12:33 -0400)]
LP#1753536: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLp 1753536: Clarify release notes
Jason Stephenson [Mon, 13 May 2019 18:14:12 +0000 (14:14 -0400)]
Lp 1753536: Clarify release notes

It is not universally true that the patron needs to negotiate with the
owning library for more renewals, so we try to make it clear that this
is not always the case in the release notes.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1753536 - Add a new Owning Library column to the OPAC Items Out
Dan Pearl [Mon, 19 Mar 2018 19:09:43 +0000 (15:09 -0400)]
LP1753536 - Add a new Owning Library column to the OPAC Items Out

This new column indicates which library owns the materials, and is
intended to help the patron contact the owning library should they be
out of renewals and would like an exception made.

Also adds some utility code for generating an org unit URL.

Make the presence of the column controlled by an organizational unit
setting.

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1818581: stamp DB update
Galen Charlton [Fri, 6 Sep 2019 16:23:56 +0000 (12:23 -0400)]
LP#1818581: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1818581 Action Trigger for Fine Limit Exceeded
Terran McCanna [Tue, 5 Mar 2019 21:46:47 +0000 (16:46 -0500)]
LP#1818581 Action Trigger for Fine Limit Exceeded

Creates new (optional) email notification that is
sent when a block is applied to a patron's account
due to excess fines.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1839670 Angular catalog more result page info
Bill Erickson [Fri, 9 Aug 2019 20:55:30 +0000 (16:55 -0400)]
LP1839670 Angular catalog more result page info

Adds physical description, isbn, issn, upc, and publisher information to
the record result list page.

Given the extra vertical space allowed by the new data, also increase
the size of the jacket images.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1823981 Angular perm group admin UX improvements
Bill Erickson [Tue, 6 Aug 2019 15:34:51 +0000 (11:34 -0400)]
LP1823981 Angular perm group admin UX improvements

* Loading progress now increments as data arrives.
* Application perm list is now sorted
* Deleted map now use warning background instead of danger as it appears
  to have better contrast.
* Inherited perms display the label 'Inherited' in the delete colum.
* Remove border boxes around non-actionable inherited values.
* Use Bootstrap button links instead of <a> for links to perm groups to
  improve contrast and consistency.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1823981 eg-bool component padding
Bill Erickson [Tue, 6 Aug 2019 15:32:18 +0000 (11:32 -0400)]
LP1823981 eg-bool component padding

Add a whiff of padding to the <eg-bool> component so the so there is
some separation between the text and the badge border.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1823981 Release notes for perm group admin
Bill Erickson [Tue, 9 Apr 2019 15:05:28 +0000 (11:05 -0400)]
LP1823981 Release notes for perm group admin

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1823981 Angular Permission Group Tree Admin UI
Bill Erickson [Fri, 5 Apr 2019 22:00:32 +0000 (18:00 -0400)]
LP1823981 Angular Permission Group Tree Admin UI

Migrate the Admin => Server Admin => Permission Groups admin page to
Angular.

As an added feature, the interface now displays inherited permissions
alongside linked permissions for each group.  Inherited permissions
are read-only and act to indicate to the user when a group already has
a certain permission and therefore may not need a new one added.

Additionally, a new filter option is available in the linked permissions
interface for filtering the displayed linked permissions by code or
description.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1830749: set minimum PG version for eg_db_config
Ben Shum [Wed, 4 Sep 2019 02:31:17 +0000 (22:31 -0400)]
LP#1830749: set minimum PG version for eg_db_config

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1830749: Bump minimum PostgreSQL version to 9.6
Ben Shum [Thu, 25 Jul 2019 01:23:04 +0000 (21:23 -0400)]
LP#1830749: Bump minimum PostgreSQL version to 9.6

Update README and upgrade notes to reflect that new minimum PostgreSQL 9.6.

Also change all sources to draw from PostgreSQL community repo for
consistency across all supported distributions.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1816475: stamp DB updates
Galen Charlton [Fri, 6 Sep 2019 15:20:45 +0000 (11:20 -0400)]
LP#1816475: stamp DB updates

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1816475: (follow-up) fix lint issues
Galen Charlton [Fri, 6 Sep 2019 15:17:56 +0000 (11:17 -0400)]
LP#1816475: (follow-up) fix lint issues

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1816475: (follow-up) ensure that manage reservations grid refreshes
Galen Charlton [Fri, 6 Sep 2019 15:04:48 +0000 (11:04 -0400)]
LP#1816475: (follow-up) ensure that manage reservations grid refreshes

This applies the changes from LP#1823041 to make editing a record
refresh the grid.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1816475: (follow-up) remove stray bare "ngModel"
Galen Charlton [Fri, 6 Sep 2019 14:44:28 +0000 (10:44 -0400)]
LP#1816475: (follow-up) remove stray bare "ngModel"

Including this in the field template for editing end_time
had the effect of forcing the end date to be set to the
current time instead of the current value of that field,
which is unusual behavior. It also caused the form to
have an automatically-invalid input state when editing
a reservation with a start time that falls in the future.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Put the resource barcodes in order
Jane Sandberg [Mon, 26 Aug 2019 22:18:34 +0000 (15:18 -0700)]
LP1816475: Put the resource barcodes in order

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Change "Pickup Library" terminology to "Reservation Location"
Jane Sandberg [Tue, 20 Aug 2019 21:27:31 +0000 (14:27 -0700)]
LP1816475: Change "Pickup Library" terminology to "Reservation Location"

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Fix circular dependency warning
Jane Sandberg [Tue, 20 Aug 2019 21:20:15 +0000 (14:20 -0700)]
LP1816475: Fix circular dependency warning

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Changing icon for Manage Reservations
Jane Sandberg [Tue, 20 Aug 2019 17:24:49 +0000 (10:24 -0700)]
LP1816475: Changing icon for Manage Reservations

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Pre-fill patron barcode in Create Reservations
Jane Sandberg [Tue, 20 Aug 2019 17:07:17 +0000 (10:07 -0700)]
LP1816475: Pre-fill patron barcode in Create Reservations

Addresses comment #1 from
https://bugs.launchpad.net/evergreen/+bug/1816475/comments/20

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Loosening the permissions on booking resource type
Jane Sandberg [Tue, 20 Aug 2019 16:46:51 +0000 (09:46 -0700)]
LP1816475: Loosening the permissions on booking resource type

Addresses this issue: https://bugs.launchpad.net/evergreen/+bug/1816475/comments/19

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Removing development bits from the display
Jane Sandberg [Wed, 14 Aug 2019 17:56:00 +0000 (10:56 -0700)]
LP1816475: Removing development bits from the display

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Docs: release notes and docs updates
Jane Sandberg [Thu, 25 Jul 2019 17:30:32 +0000 (10:30 -0700)]
LP1816475: Docs: release notes and docs updates

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Booking module refresh
Jane Sandberg [Thu, 25 Jul 2019 17:28:47 +0000 (10:28 -0700)]
LP1816475: Booking module refresh

This commit ports several dojo interfaces to Angular(7).  As part of
this work,
* Adds moment.js-based timezone support to the Angular fmeditor and grid
* Adds a note field to booking.reservation. This field is visible in all
staff views of reservations (Create, Manage, Pull List, Capture, Pick Up
and Return), but is not visible to the patron
* Adds usrname as a selector for actor.usr
* Adds the new booking.reservation note field to the receipt in the
dojo-based Capture Reservations screen
* Adds a read-only display of au to the fm-editor
* Adds a new patron service in staff/share
* Adds relevant workstation settings to the database
* Adds form validation styles to reactive form fields
* Adds a necessary polyfill for testing

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1816475: Fixes incorrect IDL relationship for bresv pickup_lib
Jane Sandberg [Thu, 25 Jul 2019 17:13:34 +0000 (10:13 -0700)]
LP1816475: Fixes incorrect IDL relationship for bresv pickup_lib

Many thanks to Dan Wells for pointing out this issue.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1832897 and LP1721036: stamping upgrade scripts
Jane Sandberg [Wed, 4 Sep 2019 18:11:43 +0000 (11:11 -0700)]
LP1832897 and LP1721036: stamping upgrade scripts

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1832897 (follow-up): Fixing oils_i18n_gettext key
Jane Sandberg [Wed, 4 Sep 2019 17:57:32 +0000 (10:57 -0700)]
LP1832897 (follow-up): Fixing oils_i18n_gettext key

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1832897: One more carousel local admin link repair
Jane Sandberg [Wed, 4 Sep 2019 02:35:55 +0000 (19:35 -0700)]
LP1832897: One more carousel local admin link repair

Previously, Evergreen would redirect to the auto-generated server admin
carousel screen upon successfully creating a carousel from a bucket.
Now it goes to the local admin one.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1832897: Avoid query errors related to optional carousel filters
Mike Rylander [Tue, 3 Sep 2019 20:03:54 +0000 (16:03 -0400)]
LP1832897: Avoid query errors related to optional carousel filters

Here we make sure that the presence or absence of a shelving location
filter value does not lead to a query error.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1832897: Belt-and-suspenders for making sure max_items is set
Mike Rylander [Tue, 3 Sep 2019 20:02:53 +0000 (16:02 -0400)]
LP1832897: Belt-and-suspenders for making sure max_items is set

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1832897: Marking some carousel fields required in the IDL
Jane Sandberg [Sat, 31 Aug 2019 15:38:49 +0000 (08:38 -0700)]
LP1832897: Marking some carousel fields required in the IDL

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agoLP1832897 Carousel local admin link repair
Bill Erickson [Thu, 29 Aug 2019 16:08:16 +0000 (12:08 -0400)]
LP1832897 Carousel local admin link repair

Fixes local admin link table entries for carousels and carousel library
mappings.  Now correctly points to ../admin/local/...

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1832897 FM Editor fieldOptions sanity check
Bill Erickson [Thu, 29 Aug 2019 15:58:20 +0000 (11:58 -0400)]
LP1832897 FM Editor fieldOptions sanity check

If the caller sets the fieldOptions property to null/undefined the FM
editor will throw a JS error (field.isRequired is not a function) and fail
to render properly.  This adds a sanity check to the fieldOptions value.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: add release notes
Galen Charlton [Wed, 7 Aug 2019 18:41:55 +0000 (18:41 +0000)]
LP#1832897: add release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: add public catalog display of carousels
Galen Charlton [Mon, 10 Jun 2019 01:00:19 +0000 (21:00 -0400)]
LP#1832897: add public catalog display of carousels

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: business logic for carousels
Galen Charlton [Wed, 12 Jun 2019 21:58:21 +0000 (17:58 -0400)]
LP#1832897: business logic for carousels

This patch adds various methods in open-ils.actor and open-ils.storage
to manipulate carousels. It also adds a server-side script,
refresh_carousels.srfsh, and an example crontab entry.

The new methods are:

* open-ils.actor.carousel.retrieve_by_org
* open-ils.actor.carousel.retrieve_manual_by_staff
* open-ils.actor.carousel.refresh
* open-ils.actor.carousel.create.from_bucket
* open-ils.storage.container.refresh_from_carousel
* open-ils.storage.carousel.refresh_all

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: add miscellaneous carousels functionality to staff interface
Galen Charlton [Fri, 14 Jun 2019 20:42:52 +0000 (16:42 -0400)]
LP#1832897: add miscellaneous carousels functionality to staff interface

* Add a 'Create Carousel from Bucket' action in the record bucket interface
* Add an 'Add to Carousel' action to the record details page

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: add administrative interfaces for carousels
Galen Charlton [Sun, 9 Jun 2019 23:18:46 +0000 (19:18 -0400)]
LP#1832897: add administrative interfaces for carousels

This patch adds three Angular administration interfaces:

(Server Admin) Carousel Types
(Local Admin) Carousel Library Mappings
(Local Admin) Carousels

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: add tables, IDL, and seed data for carousels
Galen Charlton [Sun, 9 Jun 2019 22:54:04 +0000 (18:54 -0400)]
LP#1832897: add tables, IDL, and seed data for carousels

Carousels
^^^^^^^^^
This feature fully integrates the creation and management of book carousels
into Evergreen, allowing for the display of book cover images on a library’s
public catalog home page.  Carousels may be animated or static.  They can be
manually maintained by staff or automatically maintained by Evergreen.  Titles
can appear in carousels based on newly cataloged items, recent returns,
popularity, etc.  Titles must have copies that are visible to the public
catalog, be circulating, and holdable to appear in a carousel.  Serial titles
cannot be displayed in carousels.

Administration
++++++++++++++
This feature introduces the concepts of Carousel Types, Carousels, and Carousel
Library Mappings. The first can be administered in Server Administration
while the latter two can be administerd in Local Administration.

Carousel Types define the attributes of a carousel, such as whether it is
automatically managed and how it is filtered.  A carousel must be associated
with a carousel type to function properly.

There are five stock Carousel Types:

  * Newly Cataloged Items - titles appear automatically based on the
    active date of the title’s copies
  * Recently Returned Items - titles appear automatically based on the
    mostly recently circulated copy’s check-in scan date and time
  * Top Circulated Titles - titles appear automatically based on the
    most circulated copies in the Item Libraries identified in the
    carousel definition; titles are chosen based on the number of
    action.circulation rows created during an interval specified
    in the carousel definition and includes both circulations and renewals
  * Newest Items by Shelving Location - titles appear automatically
    based on the active date and shelving location of the title’s copies
  * Manual - titles are added and managed manually by library staff

While additional Carousel Types can be added using the administration
interface, new automatic types currently require additional Perl code
to be recognized.

Carousel definitions allow the operator to specify the type, owner,
name and, for automatically-maintained types, the item libraries and
shelving locations to look for titles to populate the carousels as
well as how far back to look for titles.

Carousel Library Mappings specify the libraries that the carousel
should be displayed out. The visibility of a carousel at a given organizational
unit is not automatically inherited by the descendants of that unit.  The
carousel’s owning organizational unit is automatically added to the list of
display organizational units.

A server-side job, refresh_carousels.srfsh, is available to periodically
refresh the contents of automatic carousels.

Staff Interface
+++++++++++++++
Each carousel has a record bucket associated with it. Library staff can
add titles to a carousel's bucket, and for the manual Carousel Type, that
is the only way to populate the carousel. Records added to an automatic
carousel's bucket will be removed whenever the carousel is next
refreshed.

Public Catalog
++++++++++++++
A new Template Toolkit macro called “carousels” allows the Evergreen
administrator to inject the contents of one or more carousels into any point in
the OPAC.  The macro will accept the following parameters:

  * carousel_id
  * dynamic (Boolean, default value false)
  * image_size (small, medium, or large)
  * width (number of titles to display on a “pane” of the carousel)
  * animated (Boolean to specify whether the carousel should automatically cycle through its panes)
  * animation_interval (the interval (in seconds) to wait before advancing to the next pane)

If the carousel_id parameter is supplied, the carousel with that ID will be
displayed.  If carousel_id is not supplied, all carousels visible to the public
catalog’s physical_loc organizational unit is displayed.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: add Glide as a Javascript dependency for the public catalog
Galen Charlton [Mon, 10 Jun 2019 20:09:08 +0000 (16:09 -0400)]
LP#1832897: add Glide as a Javascript dependency for the public catalog

Glide (https://glidejs.com) is an MIT-licensed library for rendering
carousels. Similar to how jQuery is installed for the catalog, the
additional dependency is specified in the AngularJS client's package.json
and webpack.config.js.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: improvements to the Angular admin-page component
Galen Charlton [Tue, 11 Jun 2019 23:08:51 +0000 (19:08 -0400)]
LP#1832897: improvements to the Angular admin-page component

* Make some of its services public so that it can be more easily
  subclassed.
* Show toast on success or failure of record deletion actions.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: improvements to eg-fm-record-editor
Galen Charlton [Tue, 11 Jun 2019 23:07:37 +0000 (19:07 -0400)]
LP#1832897: improvements to eg-fm-record-editor

* Add a new optional attribute, preSave, for passing a
  callback to modify modify records (e.g.,
  to provide default values) before they are saved.
* Ensure that the components current copy of a record is
  discarded when the user closes or dismisses the modal

  This addresses an issue where editing multiple instances
  of records on an admin page could display (and/or flash)
  stale data, particularly for the new multi-select widget.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: add Angular widget to for selecting multiple linked rows
Galen Charlton [Mon, 17 Jun 2019 01:53:36 +0000 (21:53 -0400)]
LP#1832897: add Angular widget to for selecting multiple linked rows

This component provides a widget to allow the user to select
multiple linked rows. In particularly, it is meant to handle
IDL fields whose underlying database columns are intarrays that
refer to records in another IDL class.

The widget's user interface consists of an eg-combobox for selecting
new values to add to the list and a list of the existing values.

The component has the following attributes:

- idlClass: IDL class of the records being linked to
- linkedLibraryLabel: if supplied, specifies that the display
  label in the comboox should include the library shortname as
  found in the specified field.
- startValue: init value to display

This component emits onChange events.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1832897: Angular combobox: add idlIncludeLibraryInLabel option
Galen Charlton [Mon, 17 Jun 2019 00:30:10 +0000 (20:30 -0400)]
LP#1832897: Angular combobox: add idlIncludeLibraryInLabel option

The new attribute, idlIncludeLibraryInLabel, specifies the
column containing a linked OU. That OU's shortname will
then be included in the label.  This attribute takes effect
only if idlClass is specified.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>