working/Evergreen.git
5 years agolp1846354 qa tests collab/phasefx/consolidate_patron_notes
Jason Etheridge [Fri, 17 Jan 2020 10:50:35 +0000 (05:50 -0500)]
lp1846354 qa tests

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agolp1846354 release notes
Jason Etheridge [Fri, 31 Jan 2020 08:54:26 +0000 (03:54 -0500)]
lp1846354 release notes

Patron notes, messages, alert messages, and standing penalties have been folded
into one Notes interface.  Notes designated as public will show in the My Account
-> Message Center in the OPAC for patrons.  The underlying data structure has
also changed with all notes living in the actor.usr_message table, so certain
reports may need to be adjusted.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agolp1846354 staff client changes
Jason Etheridge [Wed, 8 Jan 2020 14:05:58 +0000 (09:05 -0500)]
lp1846354 staff client changes

References to Message or Messages in the UI, including the button bar that
spawns the interface, will be changed to Note and Notes.

The Alert Message field in the patron editor will be removed.

The Notes interface under Other -> Notes will be removed.

The Notes (and count) indicator in the patron summary sidebar will be removed.
The note count will instead be presented as part of the Notes nav button.

The patron summary sidebar and the "stop sign page" will be modified to
retrieve and display user messages linked to standing penalties that are
flagged as staff alerting.  It will retain the same styling (i.e. red text) by
default.

The Messages interface, including the archived view, will be populated with a
combination of user messages and user penalties, which may or may not be linked
in pairs via a new foreign key on the penalties.  For messages without
associated standing penalties, the sending_lib column will be used for the
implicit filtering on org units that standing penalties get now, based on the
workstation library.  This combined view will result in new columns for the
interface.  At minimum the following columns (subject to label changes) will be
displayed by default: Title, Message, Create Date, Creator, Library, and Patron
Visible.  Columns such as Staff Alert, Org Depth, Block List, Ignore Proximity,
and Penalty Label will still be available.

The Apply Penalty / Message dialog will gain a new widget for toggling whether
or not a message is intended to be visible to the patron.  The Edit message
version of the dialog will also show when/if a patron has read and/or deleted
the message.  An entry field for the message title will be added.  The dialog
will also gain an org selector to the right of the penalty type selector, which
will default to the workstation library, and will change based on the org depth
of any standing penalty type selected in the UI (either via the
Note/Alert/Block buttons or the penalty menu).  This will be passed as the
org_unit field for a penalty instead of the workstation library and org depth
that is implicitly used today  The sending_lib field for the user message will
always be set to the workstation library.

The Archive Penalty / Message action will be modified to work with both
penalties and user messages depending on what it is selected.  If an archived
penalty has a linked user message, then both will have their archive fields
set.  An archived user message may still be otherwise visible to the patron if
it is not marked as deleted or staff only.

The Remove Penalty / Message action will behave as normal for a selected
penalty.  For a user message, linked or unlinked, the message will be flagged
as deleted and, even if public, will no longer show up in the patron's Message
Center.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agolp1846354 OPAC changes
Jason Etheridge [Wed, 8 Jan 2020 14:04:37 +0000 (09:04 -0500)]
lp1846354 OPAC changes

Surface the edit date for patron visible notes in the Message Center.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agolp1846354 middle layer changes
Jason Etheridge [Wed, 8 Jan 2020 14:03:28 +0000 (09:03 -0500)]
lp1846354 middle layer changes

The ApplyPatronPenalty A/T Reactor will be modified to create a user message if
needed instead of setting the note field on the created penalty, and will set
the new usr_message field accordingly.

The API method open-ils.actor.user.penalty.note.update will be similarly
adjusted, though it may edit or create a user message as needed.

The API method open-ils.actor.user.penalty.apply will also be modified to
create user messages in lieu of setting a note field.  The sending_lib field
for such messages will be set to match the session's workstation library,
regardless of the org unit that actually gets applied to the penalty's org_unit
field.  The org_unit field will use the value as passed by the caller, and no
longer do the org_unit_ancestor_at_depth adjustment that happens today.

Both penalty.note.update and penalty.apply will set the editor and edit date
columns on any linked user messages to the current time and staff member for
any already existing message that has its title or message value modified.  The
read_date column will also be NULL'ed in such circumstances so that the message
will appear unread to the patron if public.

The react sub in Event.pm will be tweaked to explicitly set the pub field on
created user messages to true for Action/Trigger.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agolp1846354 changes to IDL, DB, and upgrade script
Jason Etheridge [Wed, 8 Jan 2020 14:02:52 +0000 (09:02 -0500)]
lp1846354 changes to IDL, DB, and upgrade script

A new view actor.usr_message_penalty and associated IDL entry will be created
for use with populating the staff Messages interface.  It will perform a full
outer join between penalties and user messages.

The default IDL permissions for user messages will remain VIEW_USER and
UPDATE_USER.

The view that populates the Message Center will be changed slightly to ensure
that staff-only messages are never retrieved for patrons.  The Date column in
the grid/list view will show the edit_date value if populated in lieu of the
create_date value.  The message view will explicitly show an Edit Date label and
value below the Date row if set.

The actor.usr_message table will gain a new boolean column called pub, which
will default to false.

The actor.usr_message table will also gain a stop_date column for handling
archival as with standing penalties.

The actor.usr_message table will also gain editor and edit_date columns.

The actor.usr_message_limited view will be changed to only include rows where
pub is true.

As part of the upgrade script, Patron alert messages will be migrated as
ALERT_NOTE penalties and linked User Messages.  A database assertion will ensure
that this has happened prior to the removal of the alert_message field from the
actor.usr table.  The field will also be removed from the corresponding IDL
entry.  The sending_lib column for these user messages and the org unit field
for these penalties will be set to the top org from the org hierarchy.

Also, non-public entries in the actor.usr_note table will be migrated as
non-public User Messages. Subject to a database assertion that this has
happened, the table actor.usr_note and the actor.convert_usr_note_to_message
trigger will be removed.  The corresponding IDL entry will also be removed.  The
sending_lib column for these user messages will be set to the top org from the
org hierarchy.

Also, rows from actor.org_unit_setting for
ui.staff.require_initials.patron_info_notes will be migrated to
ui.staff.require_initials.patron_standing_penalty.  Collisions will be recorded
in a text file but otherwise dropped.  The row in config.org_unit_setting_type
for ui.staff.require_initials.patron_info_notes will then be removed.  The label
and description for ui.staff.require_initials.patron_standing_penalty in
config.org_unit_setting_type will be edited to reflect the Notes/Penalties
labeling from the UI.

The actor.usr_standing_penalty table and associated IDL entry will gain a
foreign key column linking to actor.usr_message called usr_message, and the note
column itself will be migrated to User Messages.  The usr_message field on the
penalties will be updated accordingly.  Subject to a database assertion that
this has happened, the note field on the actor.usr_standing_penalty table will
be removed.  The corresponding IDL entry will also be removed.  The sending_lib
column for these user messages will be set to match the org_unit column from
their associated penalties.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agolp1859502 fix A/T ApplyPatronPenalty reactor
Jason Etheridge [Mon, 13 Jan 2020 17:38:53 +0000 (12:38 -0500)]
lp1859502 fix A/T ApplyPatronPenalty reactor

To test this, you could create the following A/T definition:

    Owning Library: CONS
    Name: test lp1859502
    Hook: penalty.PATRON_EXCEEDS_FINES
    Enabled: True
    Processing Delay: 00:00:00
    Processing Group Context Field: usr
    Reactor: ApplyPatronPenalty
    Validator: NOOP_TRUE
    Max Event Validity Delay: 1 day
    Template: test message

with environment:

    Field Path: usr
    Label: user

    Field Path: usr.home_ou
    Label: context_org

with event params:

    Parameter Name: standing_penalty
    Parameter Value: ALERT_NOTE

Then bill a test patron for $100 and run something like:

/openils/bin/action_trigger_runner.pl --osrf-config /openils/conf/opensrf_core.xml --run-pending

Without the patch, you'll get something like this in osrfsys.log:

ApplyPatronPenalty: missing parameters

And no ALERT_NOTE penalty.  With the patch you should see a "test message" alert note
when reloading the patron.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agoLP#1775276: Check In - "Route To" Field Sometimes Incorrect
Dan Briem [Fri, 29 Nov 2019 19:51:06 +0000 (14:51 -0500)]
LP#1775276: Check In - "Route To" Field Sometimes Incorrect

When open-ils.circ.checkin closes a transit and creates a new one, the
payload only returns the closed transit. The route dialogs perform a
pcrud search to get the most recent transit, but the grid's Route To
field still depends on the transit returned by the API, so received
transits display the old destination in the Route To field instead of
the shelving location or new destination.

This branch returns the most recent route info collected by the route
dialog and, if the most recent transit destination doesn't match the
old one, the new one is assigned to the route_to prop on the
final_resp. It also checks that the transit is open before displaying
the destination in the Route To field so the shelving location
displays if the most recent transit is closed.

To test:
1. Sign in as Library A and check in an item owned by Library B
2. Place a copy hold on the item with a pickup location of Library C
3. Sign in as Library B and check in the item - note the dialog is
   correct but the grid's Route To field displays Library B instead of
   Library C
4. Apply patch
5. Repeat steps 1-3, note the Route To field displays Library C

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
5 years agoForward port 3.3.5 to 3.3.6 db upgrade script
Jason Stephenson [Mon, 27 Jan 2020 20:08:06 +0000 (15:08 -0500)]
Forward port 3.3.5 to 3.3.6 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
5 years agoForward Port 3.4.1 to 3.4.2 upgrade script
Jason Stephenson [Fri, 24 Jan 2020 14:37:22 +0000 (09:37 -0500)]
Forward Port 3.4.1 to 3.4.2 upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
5 years agoDocs: release notes for 3.4.2
Jane Sandberg [Thu, 23 Jan 2020 15:11:17 +0000 (07:11 -0800)]
Docs: release notes for 3.4.2

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoDocs: release notes for 3.3.6
Jane Sandberg [Thu, 23 Jan 2020 15:12:42 +0000 (07:12 -0800)]
Docs: release notes for 3.3.6

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1801163: (follow-up) deal with header fields that contain Unicode strings
Galen Charlton [Fri, 3 Jan 2020 22:55:10 +0000 (17:55 -0500)]
LP#1801163: (follow-up) deal with header fields that contain Unicode strings

Since Email::MIME->header_str_set() expects Unicode strings, not octets,
use decode_utf8() on the header values to

To test
-------
[1] Update the biblio.format.record_entry.print A/T event definition
    to include non-ASCII characters in the subject and from headers.
[2] Upon applying the patch series, verifying that the strings provided
    in step 1 are not mangled when the email is sent.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP#1801163: update Debian Buster and Fedora installation deps
Galen Charlton [Fri, 3 Jan 2020 22:19:56 +0000 (17:19 -0500)]
LP#1801163: update Debian Buster and Fedora installation deps

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLp 1801163: Switch to Email::MIME in SendEmail A/T Reactor
Jason Stephenson [Fri, 8 Feb 2019 20:47:41 +0000 (15:47 -0500)]
Lp 1801163: Switch to Email::MIME in SendEmail A/T Reactor

Switch from Email::Simple to Email::MIME Perl module in the SendEmail
Action/Trigger Reactor.  Email::MIME properly encodes unescaped header
fields when added to the message with the header_str_set method.

We allow only 1 of each address field to be created while doing the
encoding, so that messages conform to RFC 2822.

This commit adds a new prerequisite as mentioned in the release notes,
so be sure to install the prerequisites for your Linux distribution
before installing.

You can test this with concerto data from a fresh installation by:

1. Configuring your test system to send email.

2. Updating all actor.usr entries to have your email address.

3. Updating the New User Created Welcome Notice event definiton to
   active = true.

4. Run the action_trigger_runner with --process-hooks --run-pending.

5. You should get 237 new user welcome emails.  The exact number is
   subject to change.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP1832735 - Allow copy alerts to be applied to multiple copies
Josh Stompro [Fri, 8 Nov 2019 04:00:21 +0000 (22:00 -0600)]
LP1832735 - Allow copy alerts to be applied to multiple copies

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1851434 - Allow COPY_NOT_AVAILABLE.override during renewal
Josh Stompro [Tue, 5 Nov 2019 21:31:21 +0000 (15:31 -0600)]
LP#1851434 - Allow COPY_NOT_AVAILABLE.override during renewal

Also addresses LP#1827901 - Allow PATRON_EXCEEDS_LONGOVERDUE_COUNT
override during checkout and renew.

Test Plan:
1. Check out an item to a patron.
2. Mark item lost by patron to change status to lost.
3. In web client, log in as user with COPY_NOT_AVAILABLE.override
4. Try to renew item for patron, see that it isn't allowed.

After fix:
1. Try to renew item for patron, see that the override is now allowed.

Also try checkouts and renews for patrons that have the PATRON_EXCEEDS_LONGOVERDUE_COUNT block.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP1840982 Replace troublesome catalog icons
Bill Erickson [Wed, 21 Aug 2019 21:18:09 +0000 (17:18 -0400)]
LP1840982 Replace troublesome catalog icons

Replace 'arrow_right' icon with 'keyboard_arrow_right' (ditto left) in
the Angular catalog holdings maintenance grid.  This resolves an issue
where the 'arrow_right' icon presents with excess padding, causing the
barcode / call number values to appear to be empty in the
'Location/Barcode' column of the holdings grid.

See also LP1830912 for icon padding issues.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1849182 Angular catalog result/detail tab titles
Bill Erickson [Mon, 21 Oct 2019 18:23:07 +0000 (14:23 -0400)]
LP1849182 Angular catalog result/detail tab titles

Add tab/page titles to the Angular staff catalog Search Results and
Record Details pages.

Search results offers 1 of 2 titles, depending on whether a search has
be run:

"Catalog Search"
"Catalog Search - <count> Results"

The record detail title shows the bib ID and bib title:

"Bib <bib TCN> - <bib title>"

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1735566: Ask before deleting items in non-ideal statuses in AngularJS
Jane Sandberg [Thu, 17 Oct 2019 18:11:34 +0000 (11:11 -0700)]
LP1735566: Ask before deleting items in non-ideal statuses in AngularJS

To test:

1) Apply this commit.
2) Log in as a user with COPY_DELETE_WARNING.override permission.
3) Go to item status and scan an item in a non-ideal status (like #1:
checked out)
4) Delete the item.  Note that you are alerted of the item's non-ideal
status, and you can confirm that you actually want to delete it.
5) Repeat steps 3-4 with an item in an ideal status (like #0:
Available). Note that no such alert appears.
6) Open the holdings view and repeat steps 4-5.
7) Log in as a user without the COPY_DELETE_WARNING.override
permission. Note that you are still informed about the non-ideal status,
but you aren't able to continue with the deletion without an admin
using their credentials.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP#1860351: fix hasWorkPermHere() in Angular client
Galen Charlton [Sun, 19 Jan 2020 19:47:40 +0000 (14:47 -0500)]
LP#1860351: fix hasWorkPermHere() in Angular client

Fixes a bug where the Angular client's hasWorkPermHere() check
could return incorrect results and thus incorrectly report
whether or not the staff user currently has particularl permissions
at their current workstation.

To test
-------
[1] Arrange for a workstation whose internal ID is larger than
    any of the org unit IDs.
[2] Log in to that workstation with a user who has permission
    to update monograph parts.
[4] In the experimental Angular staff catalog, go to a record
    (e.g., /eg2/en-US/staff/catalog/record/21/monoparts) and note
    that the New Monograph Part button is disabled.
[5] Apply the patch and repeat step 4. This time, the button
    should be active.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP1739609 - Add Monographic Part to check in grid.
Josh Stompro [Thu, 21 Nov 2019 20:01:36 +0000 (14:01 -0600)]
LP1739609 - Add Monographic Part to check in grid.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1835982 follow-up: Add cellTextGenerator to booking schedule grid
Jane Sandberg [Sat, 18 Jan 2020 18:44:02 +0000 (10:44 -0800)]
LP#1835982 follow-up: Add cellTextGenerator to booking schedule grid

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLPLP1835982 Holds grid user barcode text generator; handle null
Bill Erickson [Fri, 3 Jan 2020 20:41:03 +0000 (15:41 -0500)]
LPLP1835982 Holds grid user barcode text generator; handle null

Adds a new text generator for the patron barcode template in the staff
catalog holds grid.  Also adds a name field to the <eg-grid-column/>
to support the text generator.

Teach the cell text generator internals to translate undefined and null
values to '' so generator authors don't have to.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1835982: tweak a few of the new GridCellTextGenerator
Galen Charlton [Fri, 3 Jan 2020 16:50:05 +0000 (11:50 -0500)]
LP#1835982: tweak a few of the new GridCellTextGenerator

- do not display 'null' for Vandelay import errors and
  holds table current copy barcodes
- trim leading and trailing whitespace from the items table
  call number

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#1835982: add GridCellTextGenerator to the btGrid in the sandbox
Galen Charlton [Fri, 3 Jan 2020 16:33:19 +0000 (11:33 -0500)]
LP#1835982: add GridCellTextGenerator to the btGrid in the sandbox

This patch also adds a usage note: since the GridCellTextGenerator
only has access to the row object but a cellTemplate can be passed
arbitrary context in addition to the row, a GridCellTextGenerator
that needs that additional context to have the print content match
the displayed content may require that the caller stick it in the
row object.

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 agoLP1835982 Remove more deprecated cellPrintValue refs
Bill Erickson [Wed, 20 Nov 2019 16:57:26 +0000 (11:57 -0500)]
LP1835982 Remove more deprecated cellPrintValue refs

cellPrintValue inputs were replaced with grid-wide cellTextGenerator
handlers.  This patch removes a few remaining references to
cellPrintValue inputs.  Having them linger was breaking --prod builds,
since they referred to nonexistent methods.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1835982 Grid cell text generator API migration
Bill Erickson [Fri, 9 Aug 2019 16:47:37 +0000 (12:47 -0400)]
LP1835982 Grid cell text generator API migration

Migrate cell-specific cellPrintValue handlers to a grid-wide
cellTextGenerator handler.  This simplifies the client-side API and
helps to formalize the API a bit more by providing a new
GridCellTextGenerator interface.

Warning messages are now display at page load time when a grid cell uses
a cellTemplate but does not have a matching text generator.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1835982 More grid cell print generators
Bill Erickson [Fri, 9 Aug 2019 15:52:05 +0000 (11:52 -0400)]
LP1835982 More grid cell print generators

Adds additional print content generators for Angular grid cells which
are rendered via cell templates.

* Vandelay match set list grid
* Vandelay queue contents grid
* Vandelay queued record matches grid
* Catalog holds grid.

Also adds a warning to the grid component when an attempt is made to
print a templated cell which has no print content generator.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1835982: add cell value print handlers to holdings grid
Galen Charlton [Tue, 30 Jul 2019 16:02:26 +0000 (12:02 -0400)]
LP#1835982: add cell value print handlers to holdings grid

This patch adds cell value print handlers for the barcode
and holdable columns of the Angular staff catalog holdings
view.

To test
-------
[1] After applying the patches for this bug, perform a "Download
    Full CSV" or "Print Full Grid" action on the Holdings View
    grid in the Angular staff catalog.
[2] Verify that the Location/Barcode and Holdable? columns in the
    output contain appropriate values.

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 agoLP1835982 Grid cell print values option
Bill Erickson [Tue, 16 Jul 2019 16:10:36 +0000 (12:10 -0400)]
LP1835982 Grid cell print values option

Allow grid callers to implement functions that return plain text
(printable) values for a given cell.  These are primarily useful when a
cell is rendered via cellTemplate, which may not produce content which
is ideal for printing. Such functions are specified by the cellPrintValue
attribute in the eg-grid-column element.

Includes sample implementation for the Angular record detail copies
grid, which uses several cellTemplate cells.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1843599: AngularJS MARC editor once again sets bib source
Galen Charlton [Fri, 20 Dec 2019 17:40:34 +0000 (12:40 -0500)]
LP#1843599: AngularJS MARC editor once again sets bib source

This patch fixes a regression introduced by the patch for bug 1693580
that prevent changes to the bib source from being made via the AngularJS
MARC editor.

To test
-------
[1] Apply the patch.
[2] Create a new bib record and save it with a non-empty source. Verify
    that the record sets the source as expected.
[3] Edit a bib record and change the source. Verify that the new source
    is retained when the record is saved.
[4] Edit an authority record and save it. Verify that it can be updated
    without error. (Note that authority records do not have sources in
    the same way that bib records do.)

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Rogan Hamby <rhamby@esilibrary.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5 years agoLP#1855329: Hold shelf query speed problem
Mike Rylander [Thu, 5 Dec 2019 20:12:57 +0000 (15:12 -0500)]
LP#1855329: Hold shelf query speed problem

In bug 1827250 I suggested Jason Stephenson look at an alternate SQL
formulation to solve the original problem. He did, and deemed it faster,
so went with that. Unfortunately, on PG 9.6, we're seeing some data sets
that decide on a /very/ poor plan for the wide-hold query with the
solution as implemented, but the original suggestion from Jason works
fine.

In the face of evidence controverting my thought that giving PG more
options for planning is better in this case, this commit moves to his
original query change.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1858138: (follow-up) flesh creator and editor in sandbox's acp grid
Galen Charlton [Fri, 3 Jan 2020 16:02:29 +0000 (11:02 -0500)]
LP#1858138: (follow-up) flesh creator and editor in sandbox's acp grid

Doing so ensures that the usrnames are displayed in the respective
grid columns rather than the au ID.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP#1858138: remove remaining uses of showLinkSelector
Galen Charlton [Fri, 3 Jan 2020 15:35:56 +0000 (10:35 -0500)]
LP#1858138: remove remaining uses of showLinkSelector

Now that showLinkSelector is deprecated and does nothing,
remove current uses of it.

To test
-------
[1] Apply the patch.
[2] Visit Angular admin interfaces that have grids that
    refer to linked IDL classes, e.g.,

    - Local Admin -> Carousels (carousel type)
    - Server Admin -> Weights Association (circ weights and hold
                                           weights)
    - Local Admin -> Item Tags (copy tag type)
    - Acq Admin -> EDI Accounts (provider)

[3] Verify that the columns for linked fields display the
    appropriate selector field rather than the numeric ID.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP1858138 Sandbox example of simple grid filtering
Bill Erickson [Thu, 2 Jan 2020 21:31:31 +0000 (16:31 -0500)]
LP1858138 Sandbox example of simple grid filtering

Adds a trimmed down grid example demonstrating consistent filtering and
link selector display for auto and manual fields without requiring any
additional grid markup to define basic column behevior.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1858138 Link selector consolidation/repairs
Bill Erickson [Thu, 2 Jan 2020 21:28:46 +0000 (16:28 -0500)]
LP1858138 Link selector consolidation/repairs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1858138 Grid IDL field definition repairs and more
Bill Erickson [Thu, 2 Jan 2020 21:22:34 +0000 (16:22 -0500)]
LP1858138 Grid IDL field definition repairs and more

* Deprecate showLinkSelectors, since FormatService now performs that
  logic under the covers.  Includes deprecation console warning.

* Fix Grid field IDL class extraction off-by-one error.  The code was
  stamping the source field with the class of the field's link target
  instead of the class the field actually belonged to.

* Allow for IDL field info extraction from the 'name' attribute when no
  'path' attribute is defined.

* Avoid console errors when clearing combobox values in grid filters.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1858138 Link selector consolidation/repairs
Bill Erickson [Thu, 2 Jan 2020 21:17:59 +0000 (16:17 -0500)]
LP1858138 Link selector consolidation/repairs

Move more of the IDL link class selector extraction logic into the IDL
service.

Avoid using 'name' as a fall-through selector field when no 'name' field
exists on the class.

Teach the idl service to log warnings on invalid class and field name
combinations in selector lookups.

Modify fm-editor and combobox to use the new idl link selector
functions.

While we're in there, avoid unnecessary API calls from the combobox
by preventing async data lookups with a search term of "_CLICK_".

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1858138 Action/Trigger IDL selector additions
Bill Erickson [Thu, 2 Jan 2020 20:19:16 +0000 (15:19 -0500)]
LP1858138 Action/Trigger IDL selector additions

Adds selector field entries for Action/Trigger hook, collector,
validator, reactor, and cleanup classes for ease of admin page building.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1857156: handle HHH:MM:SS durations in loans
Galen Charlton [Fri, 20 Dec 2019 17:55:16 +0000 (12:55 -0500)]
LP#1857156: handle HHH:MM:SS durations in loans

This patch fixes a problem where loan durations of the form
HHH:MM:SS, where the hours component is longer than 2 digits, could
cause checkouts to fail. This sort of duration has been observed
in cases where a library wanted a long-term reserves loan that
doesn't have the due time bumped up to midnight.

To test
-------
[1] Set up a circulation policy that has a loan duration of 167:59:59.
[2] Attempt a checkout that uses that policy. Note that the checkout
    will fail.
[3] Apply the patch and repeat step 2. This time, the checkout should
    succeed.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
5 years agoLP1858118 Hatch enabled check repairs
Bill Erickson [Tue, 12 Nov 2019 20:13:39 +0000 (15:13 -0500)]
LP1858118 Hatch enabled check repairs

Teach code asking Hatch whether printing is enabled to properly handle
the asynchronous response of the setting which now exists as a
workstation setting instead of a localStorage setting.

Related, if Hatch is unavailable, use browser printing regardless of the
hatch printing workstation setting.

Additionally update the "reprint last" handling to store the
last_printed value in localStorage instead of attempting to save its
value as a workstation setting.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoDocs: Fixing asciidoc syntax so fop doesn't complain about staff client admin manual
Jane Sandberg [Mon, 30 Dec 2019 22:50:47 +0000 (14:50 -0800)]
Docs: Fixing asciidoc syntax so fop doesn't complain about staff client admin manual

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoDocs: LP1767378 follow up: adding manual anchor
Jane Sandberg [Mon, 30 Dec 2019 22:24:58 +0000 (14:24 -0800)]
Docs: LP1767378 follow up: adding manual anchor

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoDocs: fixed a spacing issue
lfloyd [Mon, 23 Dec 2019 17:53:04 +0000 (12:53 -0500)]
Docs: fixed a spacing issue

Signed-off-by: Lynn Floyd <lfloyd@library.in.gov>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoDOCS: LP 1767378 Work Log documentation
lfloyd [Mon, 23 Dec 2019 16:25:40 +0000 (11:25 -0500)]
DOCS: LP 1767378 Work Log documentation

Updated Work Log documentation with new image.
Deleted old image files, noted which holds log.

Signed-off-by: Lynn Floyd <lfloyd1@library.in.gov>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1855931: (follow-up) make grid filter control cells wrap as well
Galen Charlton [Fri, 27 Dec 2019 21:45:42 +0000 (16:45 -0500)]
LP#1855931: (follow-up) make grid filter control cells wrap as well

This patch applies "word-wrap: normal" to filter control cells
as well, making it more likely that they will stay aligned with
the width of their corresponding header cells. This can be tested
by adding visible columns to the "Grid with filtering" table in
the Angular sandbox (/eg2/en-US/staff/sandbox) and verifying that
the column after "Circulating Library" continues to have its
filter widget stay aligned with its label.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agolp1855931 wrap text for wide Angular eg-grid column headers
Mike Risher [Tue, 10 Dec 2019 23:15:35 +0000 (23:15 +0000)]
lp1855931 wrap text for wide Angular eg-grid column headers

Make column headers text wrap so that you can fully read the header even if
it's several words long.  This will help when there are multiple headers
that start with the same word and they show up identically.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1857350: (follow-up) fix lint issue
Galen Charlton [Fri, 27 Dec 2019 22:50:08 +0000 (17:50 -0500)]
LP#1857350: (follow-up) fix lint issue

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP1857350 Org selector sorts by display value
Bill Erickson [Thu, 26 Dec 2019 18:18:26 +0000 (13:18 -0500)]
LP1857350 Org selector sorts by display value

When displaying the org unit selector, sort each set of children by the
display label (defaults to shortname).

Fixes issues with the org server sortTree function and adds a unit test
to test the repaired sort function.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agolp1843640 Standing Penalty Followup
Mike Risher [Fri, 13 Sep 2019 21:53:42 +0000 (21:53 +0000)]
lp1843640 Standing Penalty Followup
Fix 2 issues:  grid not updating when a new record is created and
double clicking a row doesn't edit it

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/standing-penalty.component.html
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/standing-penalty.component.ts

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1848778 Use consistent MARC breaker delimiter
Bill Erickson [Fri, 18 Oct 2019 17:47:17 +0000 (13:47 -0400)]
LP1848778 Use consistent MARC breaker delimiter

Use the '$' delimiter in the read-only MARC breaker view for
consistency with the flat text MARC editor to easy copy/paste from one
to the other.

To test
-------
[1] Apply the patch.
[2] Set up two records in a record bucket and initiate a merge. Note
    that when you select a lead record and choose to edit it in
    flat text mode, you can copy and paste fields from the subordinate
    record display without having to change the subfield delimiter
    character.
[3] Mark a record for overlay, perform a Z39.50 search, then select
    a hit and choose the overlay action. Note that you can copy and
    paste fields from the record to overlay when editing the incoming
    record using the flat text editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1780283 Checking One Bill Checks Them All
Dan Briem [Fri, 9 Aug 2019 03:45:40 +0000 (23:45 -0400)]
LP#1780283 Checking One Bill Checks Them All

Under Patron->Bills->History if Bill # isn't visible for the Transactions
grid or Payment ID isn't visible for Payments grid, rows can't be selected
individually. This adds the required attribute to those field directives.

1. Under a patron account with multiple bills, go to Bills->History
2. Remove Bill # from the Transactions grid
3. Try to select an individual row (note all rows are selected)
4. Apply patch and repeat steps 1-3 (note rows are selected individually)

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agolp1712644 Prevent check out due date in past
Katlyn Beck [Mon, 26 Nov 2018 21:23:48 +0000 (21:23 +0000)]
lp1712644 Prevent check out due date in past

- Prevents selecting past due date when checking out an item
- Prevents saving a due date with hatch when input date is invalid

Signed-off-by: Katlyn Beck <kbeck@catalyte.io>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1857710: fix Angular client whitescreen on Firefox
Galen Charlton [Fri, 27 Dec 2019 18:21:15 +0000 (13:21 -0500)]
LP#1857710: fix Angular client whitescreen on Firefox

Work done for LP#1830391 added an instance of a Javascript
regexp replace using the dotAll ("/s") flag, but as of the moment
Firefox treats that flag as a fatal syntax error, breaking the
Angular staff client.

To test
-------
[1] Attempt to log in the Angular staff client with Firefox. Note
    that you get a whitescreen with the following in the browser
    console:

    SyntaxError: invalid regular expression flag s
[2] Apply the patch and repeat step 1. This time, the Angular
    staff client should work normally.
[3] Verify that the Angular unit tests pass.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP#1827942: follow-up to fix a couple issues
Galen Charlton [Fri, 27 Dec 2019 16:04:32 +0000 (11:04 -0500)]
LP#1827942: follow-up to fix a couple issues

[1] Sets a default value for the modal options for dialogs such
    as ProgressDialog that do not supply any value for the
    options parameter; otherwise, progress dialogs would not
    appear at all.
[2] Fix lint warnings.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agolp1827942: prevent clicking outside an Angular modal from closing it
Zavier Banks [Tue, 17 Sep 2019 20:59:15 +0000 (20:59 +0000)]
lp1827942: prevent clicking outside an Angular modal from closing it

I added a new property to the "options" object inside the "open"
function, which resides in the dialog.component.ts. The static string
inside the backdrop property makes the form stay, even if the backdrop
is clicked.

Signed-off-by: Zavier Banks <zbanks@catalyte.io>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoFix doc build for glossary
Dan Scott [Sun, 15 Dec 2019 15:53:33 +0000 (10:53 -0500)]
Fix doc build for glossary

asciidoctor was throwing the error "invalid part, must have at least one
section (e.g., chapter, appendix, etc.)"; including [appendix] in front
of the include mollified it.

Also we don't need the duplicated Glossary / Glossary headings.

Signed-off-by: Dan Scott <dan@coffeecode.net>
5 years agoLP1830391 Stamping DB upgrate (hatch omnibus)
Bill Erickson [Fri, 13 Dec 2019 19:27:16 +0000 (14:27 -0500)]
LP1830391 Stamping DB upgrate (hatch omnibus)

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP1830391 Angular test spec updates for Hatch store updates
Bill Erickson [Fri, 13 Dec 2019 19:13:40 +0000 (14:13 -0500)]
LP1830391 Angular test spec updates for Hatch store updates

The store service now leverages Hatch for workstation storage.  Update
unit tests which load the store service to also load and propagate the
Hatch service.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP1830391 Warn on dupe workstation settings user/jboyer/lp1830391_signoff
Bill Erickson [Thu, 12 Dec 2019 21:47:31 +0000 (16:47 -0500)]
LP1830391 Warn on dupe workstation settings

Check for duplication workstations (by name and workstation) before
applying the UNIQUE constraint on actor.workstation_setting.  If found,
raise a notice to the user to provide suggestions.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP1830391 Angular Hatch enabled flag lookup repair
Bill Erickson [Mon, 28 Oct 2019 17:53:46 +0000 (13:53 -0400)]
LP1830391 Angular Hatch enabled flag lookup repair

Fix the Angular Hatch enabled setting lookup to pull the value from the
workstation setting instead of localStorage.  This required shuffling a
few things around to support the asynchronicity.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP1830391 Hatch core mod import/export repairs
Bill Erickson [Mon, 5 Aug 2019 14:44:55 +0000 (10:44 -0400)]
LP1830391 Hatch core mod import/export repairs

No need to import/export HatchService from the base common module since
it's now a core service which is exported automatically to root.

Includes minor lint repair.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP1830391 Workstation settings unique constraint
Bill Erickson [Thu, 23 May 2019 22:02:41 +0000 (18:02 -0400)]
LP1830391 Workstation settings unique constraint

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP1824391 Hatch File Writer release notes
Bill Erickson [Fri, 12 Apr 2019 19:47:24 +0000 (15:47 -0400)]
LP1824391 Hatch File Writer release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP1824391 Hatch print-to-file Angular edition
Bill Erickson [Mon, 15 Apr 2019 15:34:21 +0000 (11:34 -0400)]
LP1824391 Hatch print-to-file Angular edition

Adds support for the Angular hatch service for sending 'bare' text/plain
print-to-file requests.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP1824391 Hatch File Writer print support
Bill Erickson [Fri, 12 Apr 2019 16:52:09 +0000 (12:52 -0400)]
LP1824391 Hatch File Writer print support

Adds support for translating receipt data to plain text and writing the
output to a file instead of sending it to a printer.

Adds a new stock printer named "Hatch File Writer" to the print
configuration interface.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP1825891 Use Hatch 'hostname' for workstation reg.
Bill Erickson [Mon, 22 Apr 2019 21:02:05 +0000 (14:02 -0700)]
LP1825891 Use Hatch 'hostname' for workstation reg.

Populate the workstation name with the hostname of the PC when
registring a new workstation for Hatch-enabled workstations.

Note the code gracefully returns null if Hatch returns a 404 (not found)
or Hatch is not active.

Updates the AngJS and Angular workstation admin pages to load the
hostname value when possible.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoLP1825896 Store workstations in Hatch when available
Bill Erickson [Tue, 23 Apr 2019 14:57:31 +0000 (07:57 -0700)]
LP1825896 Store workstations in Hatch when available

When Hatch is enabled, use Hatch for storing workstation registration
information.

If workstations are found in localStorage, they are merged into the
collection of workstations stored in hatch and removed from
localStorage.

Include DB udpate to add workstation setting 'eg.hatch.enable.printing'
so that it may live on the server.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
5 years agoDocs: Fix AsciiDoc syntax error in glossary
Remington Steed [Fri, 13 Dec 2019 13:22:17 +0000 (08:22 -0500)]
Docs: Fix AsciiDoc syntax error in glossary

This commit fixes a minor syntax problem that causes an AsciiDoc build
error.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
5 years agoDocs: Added linkages, and additonal terms.
lfloyd [Fri, 6 Dec 2019 19:26:35 +0000 (14:26 -0500)]
Docs: Added linkages, and additonal terms.

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
5 years agoDocs: Glossary Added
Lynn [Wed, 27 Nov 2019 17:18:01 +0000 (12:18 -0500)]
Docs: Glossary Added

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
6 years agoLP#1803406 Due date box in check out has display issues at wider resolutions
Dan Briem [Wed, 7 Aug 2019 23:13:21 +0000 (19:13 -0400)]
LP#1803406 Due date box in check out has display issues at wider resolutions

Adjusted bootstrap .col classes so the specific due date input displays the
full date and prevents the barcode input group from collapsing at < 1179px.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1830923 Replace some pesky tabs
Bill Erickson [Thu, 5 Dec 2019 15:08:48 +0000 (10:08 -0500)]
LP1830923 Replace some pesky tabs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1830923: do not show Enhanced MARC editor tab when editing in-place
Galen Charlton [Wed, 4 Dec 2019 22:41:38 +0000 (17:41 -0500)]
LP#1830923: do not show Enhanced MARC editor tab when editing in-place

As the the AngularJS side does not currently offer a path
for directly editing a queued record, the enhancd editor tab
serves no purpose in this context.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1830923: add support for editing queued authority records
Galen Charlton [Wed, 4 Dec 2019 22:34:45 +0000 (17:34 -0500)]
LP#1830923: add support for editing queued authority records

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP1830923 Vandelay queued record editing
Bill Erickson [Thu, 17 Oct 2019 21:59:08 +0000 (17:59 -0400)]
LP1830923 Vandelay queued record editing

This patch adds MARC record editing the the Angular
Vandelay interface using the Angular MARC editor
component, which as of the date of this patch offers
a flat-text mode.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1830923 Marc edit in-place additions
Bill Erickson [Thu, 17 Oct 2019 21:57:10 +0000 (17:57 -0400)]
LP1830923 Marc edit in-place additions

Improve Angular MARC editor for in-place editing.

* Make inPlaceMode a proper @Input.
* Allow the caller to pass in the bib source
* The recordSaved event now reports both the MARC XML and the currently
  selected bib source.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1830923 Combobox LP1844812 regression fix
Bill Erickson [Thu, 17 Oct 2019 21:44:40 +0000 (17:44 -0400)]
LP1830923 Combobox LP1844812 regression fix

Allow a combobox to start with an empty array that is later filled by
the caller.  This was broken due to changes which prevented the combobox
from seeing an empty/stub array as being different from its
initialization array, thus ignoring empty array as a duplicate.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoDocs: corrected image file reference in carousels.adoc
Andrea Buntz Neiman [Fri, 6 Dec 2019 14:50:10 +0000 (09:50 -0500)]
Docs: corrected image file reference in carousels.adoc

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
6 years agoDocs: follow up commit to fix include error
Andrea Buntz Neiman [Thu, 5 Dec 2019 21:07:20 +0000 (16:07 -0500)]
Docs: follow up commit to fix include error

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
6 years agoDocs: adding Carousels docs and screenshots
Felicia Beaudry [Thu, 5 Dec 2019 20:35:50 +0000 (15:35 -0500)]
Docs: adding Carousels docs and screenshots

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
6 years agoLP1850955: Include changes to package-lock.json
Jason Boyer [Wed, 27 Nov 2019 13:42:27 +0000 (08:42 -0500)]
LP1850955: Include changes to package-lock.json

The package-lock.json file is necessarily changed
by dropping some dependencies. As long as we track
it, it may as well be updated.

Signed-off-by: Jason Boyer <JBoyer@eoli.info>
6 years agoLP1850955 Remove PhantomJS polyfills
Bill Erickson [Fri, 1 Nov 2019 16:22:33 +0000 (12:22 -0400)]
LP1850955 Remove PhantomJS polyfills

Remove additional polyfills that were required specifically for
PhantomJS, which we no longer use.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
6 years agoLP1850955 Angular build targets modernized
Bill Erickson [Fri, 1 Nov 2019 16:18:00 +0000 (12:18 -0400)]
LP1850955 Angular build targets modernized

Apply a specific set of browsers to guide the Angular / Typescript
compilers toward a more modern set of default browsers.  This reduces
the amount of compilation and browser files required.

Bump the ES version used by Typescript from ES5 to ES6.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
6 years agoLP#1849208 - Add PostgreSQL 10 Makfile.install targets
Chris Sharp [Tue, 22 Oct 2019 13:21:22 +0000 (09:21 -0400)]
LP#1849208 - Add PostgreSQL 10 Makfile.install targets

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoLP1607922: Receiving items on page 2 of search results
Jane Sandberg [Tue, 30 Jul 2019 20:54:10 +0000 (13:54 -0700)]
LP1607922: Receiving items on page 2 of search results

Previously, if a user selected a bunch of line items on two consecutive
pages of acq search results, and tried to receive items from the second
page, the operation would fail.

This issue was caused by Evergreen caching IDs of selected line items
from page 1, but not caching the data that went along with them.

To test:

1) Go to Acquisitions > General Search
2) In the Select Search Field dropdown, choose LI - State.
3) Set the state to on-order.
4) Click Search.
5) Click the check mark to select all results on the first page.
6) Click the Next button.
7) Click the check mark to select all results on the second page.
8) On the top --Actions-- menu, select Mark Selected Line Items as
Received.
9) Note that the interface does nothing, and that there is a TypeError
error message in the browser console.
10) Apply this commit.
11) Refresh your page completely and repeat steps 1-8.
12) Note that the items on the second page are received.  Since they no
longer meet the search criteria, Evergreen gives you the next page of
results.

For further testing, see similar test steps by John Yorio at
https://bugs.launchpad.net/evergreen/+bug/1607922.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP1851831 Group perm editor null descriptions OK
Bill Erickson [Fri, 8 Nov 2019 15:37:21 +0000 (10:37 -0500)]
LP1851831 Group perm editor null descriptions OK

Avoid assuming a permission description value is non-NULL in the
permission group editor interfaces since values are not required in the
database.

Fixes: ERROR TypeError: "l.description(...) is null"

Similarly repair the permission list title attributes so they display
the permission code (instead of an empty string) for titles when no
description is available.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1851524: fix adding a bucket when saving a new carousel
Galen Charlton [Wed, 6 Nov 2019 16:35:58 +0000 (11:35 -0500)]
LP#1851524: fix adding a bucket when saving a new carousel

This patch fixes a regression where saving a new carousel
would not result in its bucket being created due to the
post-save callback never getting invoked.

This patch does not fix any carousels that do not have
buckets due to this bug. Because such carousels will
not function anyway, they should be deleted and
recreated by the local admin.

To test
-------
[1] Create a new carousel in local adminstration. Open it
    in the edit modal again and note that no record bucket
    is linked to it.
[2] Apply the patch and repeat step 1. This time, the
    bucket should be created.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agolp1437103 Allow Receipts to Print when Suppressing Popups
Kyle Huckins [Fri, 5 Jul 2019 14:36:05 +0000 (14:36 +0000)]
lp1437103 Allow Receipts to Print when Suppressing Popups

- Move suppress_popup check further along and allow transit receipts
to properly print when popups suppressed.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/services/circ.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agolp1437103 Suppress Popups on Patron Items Out Checkin
Kyle Huckins [Wed, 26 Jun 2019 15:36:09 +0000 (15:36 +0000)]
lp1437103 Suppress Popups on Patron Items Out Checkin

- Make Patron Items Out UI respect Suppress Popups setting.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agolp1437103 - Suppress Popups based on OU Setting
Kyle Huckins [Tue, 25 Jun 2019 16:47:04 +0000 (16:47 +0000)]
lp1437103 - Suppress Popups based on OU Setting

- Allow OU setting to suppress checkin popups to properly take effect.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/services/circ.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoForward-port 3.4.1 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:40:31 +0000 (15:40 -0400)]
Forward-port 3.4.1 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoForward-port 3.3.5 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:39:46 +0000 (15:39 -0400)]
Forward-port 3.3.5 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoForward-port 3.2.10 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:38:39 +0000 (15:38 -0400)]
Forward-port 3.2.10 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoForward-port 3.1.16 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:37:17 +0000 (15:37 -0400)]
Forward-port 3.1.16 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoForward port 3.2.8 to 3.2.9 db upgrade script
Jason Stephenson [Wed, 18 Sep 2019 23:16:50 +0000 (19:16 -0400)]
Forward port 3.2.8 to 3.2.9 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoForward port 3.1.14 to 3.1.15 db upgrade script
Jason Stephenson [Thu, 19 Sep 2019 12:46:12 +0000 (08:46 -0400)]
Forward port 3.1.14 to 3.1.15 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoDocs: LP1849137 follow-up: add release note
Jane Sandberg [Tue, 29 Oct 2019 19:37:28 +0000 (12:37 -0700)]
Docs: LP1849137 follow-up: add release note

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoLP1849137 Patron View hide OPAC header
Bill Erickson [Tue, 29 Oct 2019 18:25:42 +0000 (14:25 -0400)]
LP1849137 Patron View hide OPAC header

Hide the TPAC header (nav links, My Account, etc.) when displaying the
embedded read-only record detail view in the staff catalog Patron View
tab.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>