working/Evergreen.git
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
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>