working/Evergreen.git
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months agoLP#1721036: Add url to item tags (DB, IDL, and OPAC link)
Remington Steed [Wed, 24 Apr 2019 18:01:39 +0000 (14:01 -0400)]
LP#1721036: Add url to item tags (DB, IDL, and OPAC link)

This commit adds a new field to the asset.copy_tag database table, adds
it to the IDL, and includes it as a link in the OPAC when present.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 months agolp1790169 call compileSort after closing showColumnDialog
Jason Etheridge [Thu, 27 Jun 2019 22:15:50 +0000 (18:15 -0400)]
lp1790169 call compileSort after closing showColumnDialog

or in other words, make Sort Priority work right away after configuring it

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 months agoLP#1790169: ensure that the sort priority actually gets saved
Galen Charlton [Fri, 7 Sep 2018 21:32:15 +0000 (17:32 -0400)]
LP#1790169: ensure that the sort priority actually gets saved

This is a WIP patch - there's still a problem with the saved
sort priorities actually getting used when a grid is initalized.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 months agofix bad conflict resolution made merging LP#1825851
Galen Charlton [Fri, 9 Aug 2019 14:10:23 +0000 (10:10 -0400)]
fix bad conflict resolution made merging LP#1825851

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agoLP#1836808: add release notes
Galen Charlton [Wed, 31 Jul 2019 18:12:48 +0000 (14:12 -0400)]
LP#1836808: add release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agolp1836808 add cancel button to merge edit
Mike Risher [Wed, 17 Jul 2019 17:26:34 +0000 (17:26 +0000)]
lp1836808 add cancel button to merge edit

In the merge UI add a button so one can cancel out of editing mode

To test
-------
[1] Apply the patch and create/find a record bucket that has at least
    two records.
[2] In the Record Buckets interface, select two records and invoke
    the Merge Selected Records action.
[3] Select one record as the lead record, then click the Edit button.
[4] Verify that a "Cancel Edit" button is displayed. Make changes to
    the record, then click "Cancel Edit".
[5] Verify that the contents of the record have not changed.
[6] Click the Edit button again; verify that the record is at its
    original state. Make changes, then save them.
[7] Verify that the lead record has been updated.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agoLP#1825851: stamp schema update
Galen Charlton [Thu, 8 Aug 2019 20:41:14 +0000 (16:41 -0400)]
LP#1825851: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agoLP1825851 Print template admin misc. repairs/improvements
Bill Erickson [Thu, 1 Aug 2019 20:36:31 +0000 (16:36 -0400)]
LP1825851 Print template admin misc. repairs/improvements

1. When cloning a template, be sure the cloned template is available in
   the template selector regardless of whether it would have been given
   the current filters.

2. When cloning, set the 'active' flag explicitly to false so the user
   is forced to manually activate.  This prevent unintentional
   activation on in-process templtes.

3. When cloning, clear the owner value so the user is forced to select
   an owner value.

4. Allow the template editor textaread to expand vertically as the
   template gets longer (i.e. adds more new lines).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agoLP1825851 Print template failure warnings
Bill Erickson [Thu, 1 Aug 2019 20:35:41 +0000 (16:35 -0400)]
LP1825851 Print template failure warnings

Display error toasts when an attempt is made to a server-generated print
template and no active template can be found or the template generation
failed.

This required moving String and Toast components/services into the base
module so they could be used by the print components/services.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agoLP1825851 Server print templates Release Notes
Bill Erickson [Fri, 12 Jul 2019 21:11:55 +0000 (17:11 -0400)]
LP1825851 Server print templates Release Notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agoLP1825851 Server managed/processed print templates
Bill Erickson [Mon, 15 Apr 2019 22:11:46 +0000 (18:11 -0400)]
LP1825851 Server managed/processed print templates

Adds a new database table config.print_template (and IDL class) for
storing configurable, org- and locale-specific print templates.

Adds a web service which accepts POSTed print data and generates a
print-ready document.  Includes example Apache configs.

Teaches the Angular app to use the new web service for generting
print output.

Adds and Angular print template administration interface.

Adds HTML::Defang for scrubbing unwanted HTML elements and attributes
from print documents for security.

Add the new ADMIN_PRINT_TEMPLATE permission to the Circ Admin group at
System level as a default.

Adds 2 templates, a simple patron_address tepmlate (pending Angular port
of patron UIs) and a 'Holds for Bib Record' template, accessible from
the Angular staff catalog Holds interface.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agoLP1825851 Add Perl HTML::Defang dependency
Bill Erickson [Fri, 24 May 2019 16:38:34 +0000 (12:38 -0400)]
LP1825851 Add Perl HTML::Defang dependency

Added dependency to installer makefile.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agoLP1825851 Combobox display template option
Bill Erickson [Fri, 12 Jul 2019 16:37:59 +0000 (12:37 -0400)]
LP1825851 Combobox display template option

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 months agoLP1825851 CStoreEditor instance specific personality
Bill Erickson [Thu, 11 Jul 2019 21:20:45 +0000 (17:20 -0400)]
LP1825851 CStoreEditor instance specific personality

Allow applying a CStoreEditor personality to individual editor instances
without overwriting the default / process-wide personality.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP1834665 Bib summary formats and jacket
Bill Erickson [Wed, 10 Jul 2019 15:57:18 +0000 (11:57 -0400)]
LP1834665 Bib summary formats and jacket

Display the format icon and label along the top of the Angular bib
record summary.

Display the jacket image along the left of the bib summary when the
summary is in expaded mode.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1834665 MARC editor success/fail toasts
Bill Erickson [Wed, 10 Jul 2019 15:56:31 +0000 (11:56 -0400)]
LP1834665 MARC editor success/fail toasts

Indicate to the user when a MARC edit succeeds or fails via
toast in the Angular MARC editor component.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1834665 Flat text editor uses '$' delimiter
Bill Erickson [Wed, 10 Jul 2019 15:51:53 +0000 (11:51 -0400)]
LP1834665 Flat text editor uses '$' delimiter

Consistent with the AngJS flat text MARC editor, use '$' as the subfield
delimiter instead of the default '‡'.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1834665 Angular catalog MARC flat text editor
Bill Erickson [Fri, 28 Jun 2019 16:29:07 +0000 (12:29 -0400)]
LP1834665 Angular catalog MARC flat text editor

Adds a set of components for editing MARC records.  The main component
acts as a container with various actions (source selector, delete,
undelete, and save options).  The body of this component is a tabbed
interface, one tab for the Enriched editor and one for the Flat Text
editor.

The Enriched editor tab directs the user to the AngJS version of the page.
the Flat Text editor tab implements the standard MARC flat text editor
interface.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1834665 Import marcrecord.js to Angular
Bill Erickson [Fri, 28 Jun 2019 16:27:35 +0000 (12:27 -0400)]
LP1834665 Import marcrecord.js to Angular

Port the marcrecord.js file into the Angular build configuration so it
may be used by the MARC editor code.

Additionally, port jquery-dependent code to vanilla JS to avoid the
jquery dependency.  As a part of this, some code from the source file
was removed since it was not needed (yet, anyway).  Code added back will
need to be similarly ported (mostly changing XML parsing).

Note as-is, the JS is loaded on every Angular page.  We could optimize
this and have it loaded only when needed if we port it to Typescript and
integrate it into the application instead of loading it as a 3rd-party
dependancy.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1834662 Minor lingering lint repair
Bill Erickson [Mon, 26 Aug 2019 15:50:02 +0000 (11:50 -0400)]
LP1834662 Minor lingering lint repair

Unrelated to LP1834662, but there's no time like the present.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP1834662: Fix incorrect locale fallback
Jane Sandberg [Thu, 11 Jul 2019 19:48:22 +0000 (12:48 -0700)]
LP1834662: Fix incorrect locale fallback

Resolves a deprecation warning and validation errors in the
datetime-select component

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP1834662: Various fixes to the datetime select
Jane Sandberg [Sun, 7 Jul 2019 20:40:27 +0000 (13:40 -0700)]
LP1834662: Various fixes to the datetime select

* Adds the caret specifier to package.json and bumps up the version of
moment-timezone
* Adds an example of the egValidDatetime directive
* Makes the makeFormatParseable function localizable
* Gets rid of an error when this component is used without ngModel or
reactive forms
* Fixes various linting errors
* Closes the datetimepicker if the user opens another datetimepicker

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP1834662 Allow date format defaults to persist.
Bill Erickson [Fri, 5 Jul 2019 18:21:49 +0000 (14:21 -0400)]
LP1834662 Allow date format defaults to persist.

Avoid clobbering the default date / time format strings set by the
FormatService.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1834662: Add date-related components to Angular client.
Jane Sandberg [Wed, 8 May 2019 22:06:22 +0000 (15:06 -0700)]
LP1834662: Add date-related components to Angular client.

* Adds a moment.js-based datetime-select widget to Angular (including a
read-only version)
* Adds a daterange-select widget to Angular

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoDocs: adding alt text to MARC Editor chapter images
Jane Sandberg [Thu, 22 Aug 2019 21:42:56 +0000 (14:42 -0700)]
Docs: adding alt text to MARC Editor chapter images

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoDocs: LP #1803415: Location of MARC Editor 'Delete' Button
Derek C. Zoladz [Wed, 24 Apr 2019 18:40:13 +0000 (14:40 -0400)]
Docs: LP #1803415: Location of MARC Editor 'Delete' Button

Signed-off-by: Derek C. Zoladz <derek@derekzoladz.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoForward-port 3.3.3 upgrade script
Dan Wells [Thu, 22 Aug 2019 21:25:59 +0000 (17:25 -0400)]
Forward-port 3.3.3 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 months agoForward-port 3.2.8 upgrade script
Dan Wells [Thu, 22 Aug 2019 21:25:39 +0000 (17:25 -0400)]
Forward-port 3.2.8 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 months agoForward-port 3.1.14 upgrade script
Dan Wells [Thu, 22 Aug 2019 21:25:12 +0000 (17:25 -0400)]
Forward-port 3.1.14 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 months agoDocs: add checkin trigger holds and cancel transit
dluchenbill [Wed, 24 Apr 2019 18:41:11 +0000 (13:41 -0500)]
Docs: add checkin trigger holds and cancel transit

Signed-off-by: dluchenbill <debbie@mobiusconsortium.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoDocs: add info about merge tracking
April Durrence [Wed, 24 Apr 2019 19:22:14 +0000 (15:22 -0400)]
Docs: add info about merge tracking

Signed-off-by: April Durrence <49952522+adurrence@users.noreply.github.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agodocs: error correction to 3.1.14 release notes
Andrea Buntz Neiman [Thu, 22 Aug 2019 19:09:31 +0000 (15:09 -0400)]
docs: error correction to 3.1.14 release notes

corrected link for "Fixes display issue with menus at certain screen resolutions" - the link & bug number were incorrect.

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP#1796945 Match new path_label/alias standard
Dan Wells [Thu, 15 Aug 2019 14:20:17 +0000 (10:20 -0400)]
LP#1796945 Match new path_label/alias standard

The old reporter used '::' as a path separator in some labels, while the
new version uses '->' in its place.  This would normally be just a
curiosity, except that the hashes used as join aliases are generated
from these path labels.  The end result is that while a report can be
cloned, if you add a field anywhere other than the top level, it
references a join alias which does not exist, and the report breaks.

Now, the method by which report templates are upgraded from v4 to v5
does not happen all in one pass, but rather a first pass is made
populate the interface, then the rest is done when the user saves the
clone.  Because of this, it actually seems adequate to only fix the
label, then allow the other steps to fill in the other bits upon saving
of the report.

Thank you to J. Boyer for helping track down the culprit.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
2 months agoLP#1796945 Reporter cloning and creation fixes
Dan Wells [Fri, 3 May 2019 17:17:50 +0000 (13:17 -0400)]
LP#1796945 Reporter cloning and creation fixes

This commit addresses a variety of issues with the webstaff reporter
interface, particularly cases of cloning reports created in the XUL
client.

1. The conversion process did not account for manually selected JOIN
operations (aka nullability).  These JOINs are now honored by the
conversion code.

2. The conversion process did not account for aggregate filters.  These
filters are now converted where present.

3. The previous reporter interface attempted to intelligently apply LEFT
and INNER JOINs by default.  The new interface applied INNER joins
exclusively by default, leading in many cases to different results.
This commit reinstates the previous logic.  One side effect of this
change is that the IDL tree itself is no longer opinionated about JOIN
type, and the default JOIN is undefined.

4. The nullability selector has been expanded to allow for manual
selection of INNER joins, as they will longer be the default in some
cases.

5. Cloned-converted reports did not retain column order.  The order is
now preserved.

6. Some templates created in the older interface could, in some cases,
have aggregate values set as the string "undefined" rather than
actually being undefined.  This led to converted templates failing with
"column [xxx] must appear in the GROUP BY clause...", as they were
incorrectly converted as aggregates.  The conversion code now accounts
for this latent bug.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
2 months agoTranslation updates - po files
Dan Wells [Thu, 22 Aug 2019 16:33:27 +0000 (12:33 -0400)]
Translation updates - po files

Signed-off-by: Dan Wells <dbw2@calvin.edu>