evergreen/tadl.git
5 years agoLP#1816475: stamp DB updates
Galen Charlton [Fri, 6 Sep 2019 15:20:45 +0000 (11:20 -0400)]
LP#1816475: stamp DB updates

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Many thanks to Dan Wells for pointing out this issue.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The new methods are:

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

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

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

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

This patch adds three Angular administration interfaces:

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

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

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

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

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

There are five stock Carousel Types:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The component has the following attributes:

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

This component emits onChange events.

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

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

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years agoTranslation updates - newpot
Dan Wells [Thu, 22 Aug 2019 16:23:06 +0000 (12:23 -0400)]
Translation updates - newpot

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoLP1840852: Separates two MARCXML datafields in sample data
Jane Sandberg [Tue, 20 Aug 2019 22:42:39 +0000 (15:42 -0700)]
LP1840852: Separates two MARCXML datafields in sample data

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Ben Shum <ben@evergreener.net>
5 years agoUpdate upgrade instructions
Dan Wells [Wed, 18 Apr 2018 22:12:19 +0000 (18:12 -0400)]
Update upgrade instructions

Genericize version numbers, plus a few minor tweaks.

Eventually we probably need to start building the docs from tags, and
let the main branch use real placeholders.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoDocs: Adding 3.3.3 release notes
Andrea Buntz Neiman [Wed, 21 Aug 2019 21:03:25 +0000 (14:03 -0700)]
Docs: Adding 3.3.3 release notes

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoDocs: Adding missing entry to 3.2.8 release notes
Andrea Buntz Neiman [Wed, 21 Aug 2019 21:00:47 +0000 (14:00 -0700)]
Docs: Adding missing entry to 3.2.8 release notes

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoDocs: Adding 3.1.14 release notes
Jane Sandberg [Wed, 21 Aug 2019 20:30:01 +0000 (13:30 -0700)]
Docs: Adding 3.1.14 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
5 years agoDocs: Adding 3.1.14 release notes
Andrea Buntz Neiman [Wed, 21 Aug 2019 20:25:49 +0000 (13:25 -0700)]
Docs: Adding 3.1.14 release notes

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agolp1739292 merge UI displays record summary
Mike Risher [Wed, 10 Jul 2019 19:52:58 +0000 (19:52 +0000)]
lp1739292 merge UI displays record summary

Add the record summary to the record merge UI.  Note that when one clicks
on "use as lead record" or "remove from consieration" the order of the
records changes.  The record summary also will change order to match.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
new file:   Open-ILS/src/templates/staff/cat/share/t_record_summary_slim.tt2
modified:   Open-ILS/web/js/ui/default/staff/cat/services/record.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP1839548 Angular catalog holds patron barcode link
Bill Erickson [Fri, 9 Aug 2019 14:21:53 +0000 (10:21 -0400)]
LP1839548 Angular catalog holds patron barcode link

Holds grid on record detail page now present the patron barcode as a
link to the patron UI.

Related, this fixes the URL in the link for the copy barcode.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
5 years agoLP1751800 - fix fields fields reversing
James Fournie [Thu, 2 May 2019 16:53:35 +0000 (09:53 -0700)]
LP1751800 - fix fields fields reversing

The pop() here will remove the last item in the array, only to add it
later with a push() a few lines later.  Instead use a shift() to
preserve the order.

Signed-off-by: James Fournie <james.fournie@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoLP#1785061: move the filter value munging to the template service
Galen Charlton [Wed, 22 May 2019 15:12:37 +0000 (11:12 -0400)]
LP#1785061: move the filter value munging to the template service

This allows the reporter app to stay a bit more focused on
display concerns.

Here's a test plan for the patch series
---------------------------------------
[1] Create a reporter template that has a filter field
    and a filter operator of "In list", "Not in list", "Between",
    or "Not between" and hard-code a value for that filter
    in the template, separating values with a comma.
[2] Try to create a report from that template; note that it
    fails with an error.
[3] Apply the patch and repeat steps 1 and 2. This time, the
    report should succeed.

Note that this fix applies only to hardcoding filter values in the
template; it doesn't change any behavior when attempting to set
a filter value for any of the four operators above at the point of
creating a report.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/web/js/ui/default/staff/reporter/template/app.js

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoLP#1785061: Split filter value on comma for "in list" and the like
Remington Steed [Thu, 2 May 2019 13:15:30 +0000 (09:15 -0400)]
LP#1785061: Split filter value on comma for "in list" and the like

This commit borrows directly from the XUL reporter code (see
function __default_value_event_handler () in
Open-ILS/web/reports/xul/template-config.js). Basically, when the filter
value is saved, certain cases need special treatment, such as splitting
an "in list" value on commas. This commit includes a helper function
which does the special treatment and saves the filter value. This helper
is called both when the value itself is changed, and when the operator
is changed.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/web/js/ui/default/staff/reporter/template/app.js

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoLP1735768: adding labels to inputs in the public catalog
Jane Sandberg [Sat, 10 Nov 2018 20:32:04 +0000 (12:32 -0800)]
LP1735768: adding labels to inputs in the public catalog

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1837059: stamp DB update
Galen Charlton [Tue, 6 Aug 2019 00:58:34 +0000 (20:58 -0400)]
LP#1837059: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1837059: (follow-up) add release notes
Galen Charlton [Thu, 1 Aug 2019 15:24:34 +0000 (11:24 -0400)]
LP#1837059: (follow-up) add release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1837059: (follow-up) mark help text for i18n
Galen Charlton [Thu, 1 Aug 2019 15:17:19 +0000 (11:17 -0400)]
LP#1837059: (follow-up) mark help text for i18n

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1837059 Address alert config help text
Bill Erickson [Thu, 1 Aug 2019 14:36:06 +0000 (10:36 -0400)]
LP1837059 Address alert config help text

Support passing a helpTemplate value to the staff admin page builder.
Create an Address Alert component so it may define and pass its own help
text to the admin page builder.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1837059 Local admin workstation settings
Bill Erickson [Thu, 18 Jul 2019 14:45:45 +0000 (10:45 -0400)]
LP1837059 Local admin workstation settings

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1837059 Angular local admin page
Bill Erickson [Wed, 17 Jul 2019 22:03:31 +0000 (18:03 -0400)]
LP1837059 Angular local admin page

Links to the following pages now refer to their auto-generated Angular
equivalent:

actor/address_alert
config/barcode_completion
actor/copy_alert_suppress
asset/copy_location
asset/copy_tag
permission/grp_penalty_threshold
config/hold_matrix_matchpoint
config/non_cataloged_type
rating/badge

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1837059 Basic admin page can propagate disableOrgFilter
Bill Erickson [Wed, 17 Jul 2019 22:02:39 +0000 (18:02 -0400)]
LP1837059 Basic admin page can propagate disableOrgFilter

Allow admin pages to hide the automagic org unit filter by passing the
value in via the route.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1722827: stamp DB update
Galen Charlton [Tue, 6 Aug 2019 00:45:28 +0000 (20:45 -0400)]
LP#1722827: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1722827: trim spaces from 856$9 when parsing locating URIs
Rogan Hamby [Fri, 14 Sep 2018 14:48:02 +0000 (10:48 -0400)]
LP#1722827: trim spaces from 856$9 when parsing locating URIs

This patch ensures that any leading and trailing spaces
and non-breaking-spaces in the 856$9 are ignored when
extracting the org unit shortname. As a consequence,
extraneous leading/trailing whitespace in the $9 will not
prevent the located URI from being displayed in the appropriate
places.

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Meg Stroup <mstroup@statelibrary.sc.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1511765 Fix error when checking in with zero-balance lost OU setting enabled
Michele Morgan [Wed, 23 May 2018 17:54:28 +0000 (13:54 -0400)]
LP#1511765 Fix error when checking in with zero-balance lost OU setting enabled

Fixes an error generated when checking in Lost/Long Overdue/Lost and Paid
items with no associated circ when the org unit setting
circ.checkin.lost_zero_balance.do_not_change is set to TRUE

Items can attain this state from migration, or when the associated circ
has been aged.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1830912 Locally servered material icons
Bill Erickson [Wed, 29 May 2019 14:37:27 +0000 (10:37 -0400)]
LP1830912 Locally servered material icons

Adds the material-icons NPM package and teaches the Angular code to
import the icons at build time instead of fetching the icons from the
Google servers.

Two existing icons were swapped with alternate icons to avoid odd
spacing issues with the locally served versions.

Note 'npm install' is required to pick up the new icons package.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1802593: Correct formatting of language code in Angularjs, KPAC
Jane Sandberg [Mon, 29 Jul 2019 18:56:31 +0000 (11:56 -0700)]
LP1802593: Correct formatting of language code in Angularjs, KPAC

EgWeb offers two different formats of the current locale: ctx.locale and
ctx.eg_locale.  This commit configures the lang attribute in AngularJS
staff client, OPAC, and KPAC to use eg_locale, since it has the
appropriate format (e.g. en-US, fr-CA).

Also adds some tests for EgWeb's handling of language codes.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1787676: sort Z39.50 sources in JS, retaining Local Catalog at top of list
Jeff Davis [Fri, 17 Aug 2018 17:32:31 +0000 (10:32 -0700)]
LP#1787676: sort Z39.50 sources in JS, retaining Local Catalog at top of list

This reverts the original fix for LP#1119370.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1742523: Allow two strings in the mark damaged popup to be translated
Jane Sandberg [Sat, 19 May 2018 02:41:12 +0000 (19:41 -0700)]
LP1742523: Allow two strings in the mark damaged popup to be translated

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1795937: (follow-up) propagte new favicon to Angular app
Galen Charlton [Sat, 3 Aug 2019 16:35:26 +0000 (12:35 -0400)]
LP#1795937: (follow-up) propagte new favicon to Angular app

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1795937: Update favicon.ico to reflect new round logo voted in by EOB.
Geoff Sams [Thu, 25 Apr 2019 22:18:53 +0000 (17:18 -0500)]
LP#1795937: Update favicon.ico to reflect new round logo voted in by EOB.

Signed-off-by: Geoff Sams <gsams@roanoketexas.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1756564: Add sample data for the booking module
Jane Sandberg [Wed, 28 Mar 2018 20:58:20 +0000 (13:58 -0700)]
LP1756564: Add sample data for the booking module

This commit adds booking resources and resource types to Evergreen's
sample data.  Specifically, it includes four resource types:
* meeting rooms (bookable by staff at BR1 and BR4)
* phone chargers (bookable by staff at BR3, BR4, and BM1)
* laptop computers (attached to a MARC record, bookable by staff at BR3)
* e-readers (attached to a MARC record, bookable by staff at BR3)

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1803584 Avoid JS errors when clearing copy templates
Bill Erickson [Fri, 8 Mar 2019 17:09:07 +0000 (12:09 -0500)]
LP1803584 Avoid JS errors when clearing copy templates

Minor fix to sanity check multi-copy data in the copy template editor
after clearing the template contents.  This cleans up some ugly console
errors.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1803584: Fix Clear button in template editor
Jason Boyer [Thu, 15 Nov 2018 18:45:44 +0000 (13:45 -0500)]
LP1803584: Fix Clear button in template editor

There are multiple controllers in staff/cat/volcopy/ and
2 of them have a clearWorking() function. The template
editor controller is referencing $scope.MultiMap[] which
will never exist in the template editor, while the actual
item editor controller clearWorking() does not reference
$scope.MultiMap[], meaning that clearing multiple items
at once would not work as expected. This branch clears
up this confusion.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>