evergreen/tadl.git
3 years agoLP#1846354 various speed improvements
Mike Rylander [Tue, 8 Sep 2020 19:12:06 +0000 (15:12 -0400)]
LP#1846354 various speed improvements

* Adjust upgrade script for speed

This commit makes minor adjustments to the upgrade script to speed it up
in the face of larger data sets.

NOTE: The DO blocks that provided assertion tests during the the upgrade
have been commented out, as they primarily test that the preceding
insert did not break in some way that would have inserted data from the
wrong table into the intermediate staging tables.  They take a very long
time to run in some cases, but are left here for testers to enable in
order to confirm that they would pass in production.

* Move the deleted filter out of the query for speed

* Rework aum and ausp to use the same sequence, and aump view to use UNION ALL

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agolp1846354 toward consolidated patron notes
Jason Etheridge [Wed, 8 Jan 2020 14:02:52 +0000 (09:02 -0500)]
lp1846354 toward consolidated patron notes

* 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.

* 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.

* OPAC changes

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

* 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.

* 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.

* qa tests

* alert message wording

* set existing user messages to public

before adding new ones; also, remove a lingering reference to alert_message in
Storage/CDBI/actor.pm

* upgrade script tweaks

the main change is that we're creating SILENT_NOTE penalties for migrated
actor.usr_note's in order to preserve the creator.  I'm also removing explicit
TEMP tables in case admins do want to preserve these staging tables (by
commenting out the DROP's at the bottom of the script).

* update auditors

fixes updating patrons and allowing them to login

one consequence of this is that old alert_messages in the auditor will be deleted

* add a WARNING to the release notes

about the auditor table

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP#1928363: add release notes entry
Galen Charlton [Mon, 20 Sep 2021 19:41:57 +0000 (15:41 -0400)]
LP#1928363: add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1928363 Fix PCRUD permission
Bill Erickson [Thu, 17 Jun 2021 22:06:37 +0000 (18:06 -0400)]
LP1928363 Fix PCRUD permission

Was referencing a nonexisting column.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chrisy Schroth <chrisy.schroth@kentonlibrary.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1928363 Item circ info for Holdings tab
Bill Erickson [Thu, 13 May 2021 16:36:28 +0000 (12:36 -0400)]
LP1928363 Item circ info for Holdings tab

Adds "Total Circ Count" and "Last Circ Date" columns to the staff
catalog Holdings grid.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chrisy Schroth <chrisy.schroth@kentonlibrary.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1937875: Remove GitHub reference from package.js
Adam Bowling [Fri, 23 Jul 2021 20:00:35 +0000 (16:00 -0400)]
LP1937875: Remove GitHub reference from package.js

Removes the call to GitHub (required under legacy circumstances),
since it can cause some machines lacking SSH keys for GitHub to
fail when "npm install" is run for the AngularJS web client.

Signed-off-by: Adam Bowling <abowling@emeralddata.net>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
3 years agoLP#1904593: stamp DB update
Galen Charlton [Mon, 20 Sep 2021 16:28:11 +0000 (12:28 -0400)]
LP#1904593: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1904593: added release notes
Galen Charlton [Mon, 20 Sep 2021 16:26:57 +0000 (12:26 -0400)]
LP#1904593: added release notes

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1904593: new library setting for My Account URL
Rogan Hamby [Fri, 19 Feb 2021 13:55:12 +0000 (08:55 -0500)]
LP#1904593: new library setting for My Account URL

This adds a library setting parallel to lib.info_url
that can be used to include a link to the My Account
page on receipts and A/T output.

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Jennifer Bruch <jbruch@sparkpa.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1906855: add release notes entry
Galen Charlton [Mon, 20 Sep 2021 16:12:03 +0000 (12:12 -0400)]
LP#1906855: add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1906855 Additional CSS for mobile display
Terran McCanna [Thu, 22 Jul 2021 23:08:40 +0000 (19:08 -0400)]
LP1906855 Additional CSS for mobile display

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1906855 Show Covers in My Account
Terran McCanna [Thu, 24 Jun 2021 19:26:36 +0000 (15:26 -0400)]
LP1906855 Show Covers in My Account

Adds covers to current circs, circ history, current holds,
holds history, and list tables.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1922273: stamp DB update
Galen Charlton [Mon, 20 Sep 2021 15:59:27 +0000 (11:59 -0400)]
LP#1922273: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1922273: add release note
Galen Charlton [Mon, 20 Sep 2021 15:55:41 +0000 (11:55 -0400)]
LP#1922273: add release note

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1922273: (follow-up) adjust positioning of filters
Galen Charlton [Mon, 20 Sep 2021 15:48:47 +0000 (11:48 -0400)]
LP#1922273: (follow-up) adjust positioning of filters

This patch puts all of the filters in a single row div
but preserves the styling that displays up to four columns
of them on large screens. This way, if you use the library
setting to hide some of the filters, the ones that remain
won't end up randomly appearing in two rows unless you've
retained more than four of them.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1922273: use a setting to determine which advanced search filters are displayed...
Jeff Davis [Mon, 3 May 2021 22:21:02 +0000 (15:21 -0700)]
LP#1922273: use a setting to determine which advanced search filters are displayed in staff catalog

The TPAC allows admins to customize which search filters are available
in advanced search.  This commit adds an org unit setting,
eg.staffcat.search_filters, which lets you customize search filters in
the staff catalog.  The setting value should be an array of filter
types, e.g. ["item_lang","audience","lit_form"].  The standard set of
search filters is used when the settings are not set.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1922273: staff catalog: put is_simple filter options at top of list
Jeff Davis [Mon, 3 May 2021 20:40:22 +0000 (13:40 -0700)]
LP#1922273: staff catalog: put is_simple filter options at top of list

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1917338 Angular: Holdings view column picker missing OPAC visible?
Dan Briem [Wed, 3 Mar 2021 21:06:50 +0000 (16:06 -0500)]
LP#1917338 Angular: Holdings view column picker missing OPAC visible?

Adds OPAC visible column to holdings grid in the Angular catalog.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1908614: Show the Age Hold Protection name in the staff catalog
Jason Boyer [Fri, 20 Aug 2021 18:00:25 +0000 (14:00 -0400)]
LP1908614: Show the Age Hold Protection name in the staff catalog

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1786971 z39.50 incorporate Bill's changes
Terran McCanna [Wed, 21 Jul 2021 19:43:05 +0000 (15:43 -0400)]
LP1786971 z39.50 incorporate Bill's changes

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1786971 TCN fetching and maintenance tweaks
Bill Erickson [Tue, 20 Jul 2021 14:59:42 +0000 (10:59 -0400)]
LP1786971 TCN fetching and maintenance tweaks

Avoid storing the TCN value in local storage since it's not needed
outside the Z app.

Wait for async TCN lookups to complete before using the value.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
3 years agoLP1786971 z39.50 add TCN to overlay popups as well
Terran McCanna [Thu, 15 Jul 2021 20:27:21 +0000 (16:27 -0400)]
LP1786971 z39.50 add TCN to overlay popups as well

Displays TCN on the Overlay modal and on the confirmation popup
that displays if the live overlay target has changed.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1786971 z39.50 using TCN instead of ID
Jessica Woolford [Wed, 17 Mar 2021 20:31:30 +0000 (16:31 -0400)]
LP1786971 z39.50 using TCN instead of ID

This patch switches the target to overlays to the bib ID instead of the
TCN. This allows overlays to work for sites where TCN and bib ID are not
the same.

Signed-off-by: Jessica Woolford <jwoolford@biblio.org>
LP1786971 Z39.50 TCN-Bib ID display and wording

This adds the TCN to the Z39.50 interface when a record is
marked for overlay and the TCN does not match the Bib ID.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mary Llewellyn <mllewell@biblio.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP#1928359: add release notes entry
Galen Charlton [Mon, 20 Sep 2021 15:23:36 +0000 (11:23 -0400)]
LP#1928359: add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1928359 Add item circ info to Item Table
Bill Erickson [Thu, 13 May 2021 16:18:33 +0000 (12:18 -0400)]
LP1928359 Add item circ info to Item Table

Adds "Total Circ Count" and "Last Circ Date" to the staff catalog Item
Table grid view.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Shula Link <slink@gchrl.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1906826: Changes column header for purchase order in line item search
Tiffany Little [Fri, 18 Jun 2021 20:00:32 +0000 (16:00 -0400)]
LP1906826: Changes column header for purchase order in line item search

Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP#1929587 Place hold button in staff client
Dan Briem [Thu, 3 Jun 2021 00:53:44 +0000 (20:53 -0400)]
LP#1929587 Place hold button in staff client

Disables and gray's out the place hold button on records in the
Angular catalog that are deleted or have no holdable copies
unless the user has the perm PLACE_UNFILLABLE_HOLD.

To test:
* Search for records with and without any copies
* Search for records with and without holdable copies
* Search as user with and without the permission
  PLACE_UNFILLABLE_HOLD

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1866667 - Clear current_copy when pickup_lib is changed and waiting for capture
Josh Stompro [Tue, 10 Mar 2020 16:38:48 +0000 (11:38 -0500)]
LP1866667 - Clear current_copy when pickup_lib is changed and waiting for capture

When a user changes the pickup lib and a retarget is triggered
the currently targeted copy gets excluded if there are other
available copies.

This can cause delays and confusion since the new copy may
not be the best choice.

This change clears the current_copy before the retarget in that
situation.

Testing setup.

Find/create a title with items that looks like:

System X ->
   Branch A -> Holdable item
   Branch B ->
System Y
   Branch C -> Holdable item
   Branch D -> Holdable item

Place a hold with a pickup location of Branch B, which should target
the closest item at Branch A

Then change the pickup location of your hold to Branch A.

The retarget that happens, should switch the targeted copy to Branch C or D.

After Change Applied:

The hold should remain targeted to Branch A after pickup lib is changed
to Branch A.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP#1821804 - Cloned patron address set to pending
Josh Stompro [Wed, 23 Jun 2021 19:21:46 +0000 (14:21 -0500)]
LP#1821804 - Cloned patron address set to pending

When cloning a patron record, the address gets set to pending and cannot
be fixed until the new patron record is saved.

The address creation steps for cloned records are a little different if
the library setting "Patron Registration: Cloned patrons get address copy" is
set, so test with that enabled and disabled.  In our system we have that setting
enabled.

The issue is that the values come in as a string like 't' or 'f' and need to be converted
to a boolean value.  That is done in the normal address loading code, but wasn't in
the cloning code.

I also added in a fix for the city limits flag not getting cloned which seems
like an related issue.  This seems like it was just cosmetic, the city limits
does get set when the record is saved, based on the parent records address.

Testing Plan:

Before change:

1. Enable "Cloned patrons get address copy" setting.
2. Open up a patron record that has a valid non pending address with city limits checked.
3. Save and Clone
4. Notice that the address in the new cloned record says pending.
5. Notice that the city limits checkbox isn't checked.

After change applied:

1. Enable "Cloned patrons get address copy" setting.
2. Open up a patron record that has a valid non pending address with city limits checked.
3. Save and Clone
4. Notice that the address in the new cloned record doesn't say pending.
5. Notice that the city limits checkbox is checked.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 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>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoStamping upgrade script
Mike Rylander [Wed, 15 Sep 2021 14:31:39 +0000 (10:31 -0400)]
Stamping upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agolp1905028 lost items and price versus acq cost
Jason Etheridge [Fri, 28 May 2021 20:25:22 +0000 (16:25 -0400)]
lp1905028 lost items and price versus acq cost

This feature adds two new library settings:

    Use Item Price or Cost as Primary Item Value
    Use Item Price or Cost as Backup Item Value

which intersect the behavior of these existing settings:

    Charge lost on zero
    Default Item Price
    Minimum Item Price
    Maximum Item Price

Each of these settings affect how item price is used in
various contexts and is not limited to "lost" items, but
can affect notices, fine rules, and billings for long
overdue and damaged items (as well as lost items).

By default, the price field on items is the only field
considered by these various uses, but if we set, for
example, "Use Item Price or Cost as Primary Item Value" to
"cost", then we'll use the cost field instead of the price
field.

Alternately, if we set the "Backup Item Value" to "cost"
and either leave the "Primary Item Value" setting unset or
set to "price", then we'll consider the price field first,
and if it is either unset/null or equal to 0 (and
"Charge lost on zero" is true), then it'll fall-through to
the cost field.  We can also flip the behavior with these
settings and consider cost first and then price second.

Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP1752356 Offline Block List Download Date
Terran McCanna [Thu, 20 Aug 2020 22:37:28 +0000 (18:37 -0400)]
LP1752356 Offline Block List Download Date

Amended previous commits by adding the download block list date to
the other reasons why an account could show up on the block list.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Jason Boyer <jboyer@equinoxOLI.org>
3 years agoLP1752356 Offline expired patrons download date additions
Bill Erickson [Wed, 3 Jul 2019 18:34:39 +0000 (14:34 -0400)]
LP1752356 Offline expired patrons download date additions

Modify wording to clarify the date displayed is that of the block list
download and not necessarily the date the patron was flagged expired.

Avoid console errors when the file download date is not known -- edge
case where the code is updated but the block list was not updated in the
meantime.

Clean up some debug logging.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <jboyer@equinoxOLI.org>
3 years agoLP1752356 Offline block list date addition
Mike Risher [Mon, 1 Jul 2019 15:56:17 +0000 (15:56 +0000)]
LP1752356 Offline block list date addition

In offline mode when checking out for an expired patron, we changed
the error message so that the last date the blocklist was downloaded
is displayed along with the patron barcode

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <jboyer@equinoxOLI.org>
3 years agoLP1170795 Stamp Database Update
Jason Boyer [Wed, 8 Sep 2021 19:01:48 +0000 (15:01 -0400)]
LP1170795 Stamp Database Update

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
3 years agoLP1170795: Void deposits on checkin
Jason Boyer [Wed, 11 Sep 2019 16:45:00 +0000 (12:45 -0400)]
LP1170795: Void deposits on checkin

Release note

Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <jboyer@equinoxOLI.org>
3 years agoLP1170795: Void deposits on checkin
blake [Fri, 3 Feb 2017 22:45:29 +0000 (16:45 -0600)]
LP1170795: Void deposits on checkin

Introduce a library setting circ.void_item_deposit. When set, the money.billing
deposit row will be voided on checkin.

Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <jboyer@equinoxOLI.org>
3 years agoLP#1823983: repeat_delay check removes event definition id filter
Mike Rylander [Tue, 9 Apr 2019 15:30:15 +0000 (11:30 -0400)]
LP#1823983: repeat_delay check removes event definition id filter

This bug has existed since the repeat_delay feature was added, but likely only
rarely was triggered because most events don't have a repeat_delay, and those
that do don't interact with the same target.  However, as more repeatable event
definitions are created, inappropriate interaction becomes more likely.

In this commit we avoid overwriting the whole join condition clause, which
already contains an event definition id filter and needs to retain it.

Included is an unrelated change that uses the new-ish form of
interval_to_seconds that avoids DST boundary shifting issues by passing a
context DateTime object as the second parameter.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1809157 SMS Carriers display not in alphabetical order
Garry Collum [Wed, 28 Apr 2021 19:26:39 +0000 (15:26 -0400)]
LP1809157 SMS Carriers display not in alphabetical order

This alphabetizes the carrier display when editing the sms carrier in an existing hold.

It also adds the region to the name to make the interface consistent with other interfaces.

To Test:

1. Enable SMS options in the Library Settings.
2. Place a hold for a patron.
3. Use the Edit Notifications Settings.  Enter an SMS number, if needed.
4. Drop-down the Carrier list - the list is not in alphabetical order.
5. Apply the patch and repeat 3-4.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1932051: serialize adding items to bucket from Item Status
Jeff Davis [Mon, 23 Aug 2021 18:24:05 +0000 (11:24 -0700)]
LP#1932051: serialize adding items to bucket from Item Status

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP#1932051: Batch calls for add items to bucket
Chris Sharp [Tue, 15 Jun 2021 15:59:48 +0000 (11:59 -0400)]
LP#1932051: Batch calls for add items to bucket

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
3 years agoLP#1743611 Circ History by Year Info
Dan Briem [Thu, 26 Aug 2021 18:52:51 +0000 (14:52 -0400)]
LP#1743611 Circ History by Year Info

Adds an info button next to Total Circs in the AngularJS staff
client Item Status screen. Clicking the button displays a
popover list of total circs by year.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLP827356: Stamp Ugrade Script
Jason Boyer [Fri, 27 Aug 2021 19:56:10 +0000 (15:56 -0400)]
LP827356: Stamp Ugrade Script

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
3 years agolp827356 new rules protect bre -1, acn -1 and acl 1 as well as marc editing buttons...
Rogan Hamby [Thu, 18 Mar 2021 13:11:00 +0000 (13:11 +0000)]
lp827356 new rules protect bre -1, acn -1 and acl 1 as well as marc editing buttons disabled

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
3 years agoLP1931162: Stamp Upgrade Script
Jason Boyer [Fri, 27 Aug 2021 18:45:54 +0000 (14:45 -0400)]
LP1931162: Stamp Upgrade Script

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
3 years agoLP#1931162: DYM needs some situational optimization
Mike Rylander [Mon, 7 Jun 2021 19:57:32 +0000 (15:57 -0400)]
LP#1931162: DYM needs some situational optimization

For some data sets and some queries the Did You Mean search suggestion
logic can be much too slow. This is mainly in cases where a "misspelled"
word of sufficient length greater than the symspell prefix length is
checked against many short prefixes that have many long suggestions
attached to them.

This commit optimizes for that case in particular by testing the length
of suggestions and prefix keys against the user input to avoid
unnecessary tests.  Futher, it captures the edit distance of suggestions
that pass that test in-line, avoiding expensive retesting, and caches
the short-cutoff edit distance when in low-verbosity mode to avoid
future different-but-not-too-different suggestions coming from the same
prefix key.

It additionally provides a general optimization by batching the capture
of suggest counts to avoid per-suggestion secondary lookups, and a
micro-optimization of ordering suggestions by length at distance cache
time.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Shula Link <slink@gchrl.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
3 years agolp1908439 Auto-override enhancment
Jason Etheridge [Tue, 9 Feb 2021 14:42:06 +0000 (09:42 -0500)]
lp1908439 Auto-override enhancment

This reworks the override action dialogs in the patron display for Check
Out and Items Out, and in the Circulation -> Renew Items interface.  It
exposes the auto-override behavior as checkboxes giving staff more fine
grained control over which events are auto-forced or skipped upon
subsequent encounters.  It also changes the Cancel action for batch
renewals to abort the remaining renewals in the batch, and makes it so
that new authorization credentials provided during such a batch will be
treated as an operator change for the entire batch.  We also fix an
existing bug where events marked as already encountered for
auto-override could leak into other patron contexts via Patron Search.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoRepair missing line in seed data causing build failures
Jason Boyer [Mon, 16 Aug 2021 11:18:57 +0000 (07:18 -0400)]
Repair missing line in seed data causing build failures

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
3 years agoLP#1888723: stamp DB update
Galen Charlton [Sun, 15 Aug 2021 23:58:38 +0000 (19:58 -0400)]
LP#1888723: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1888723: tweak eg-item-location-select
Galen Charlton [Sun, 15 Aug 2021 23:37:39 +0000 (19:37 -0400)]
LP#1888723: tweak eg-item-location-select

The contextOrgId Input() can now be changed dynamically; doing
so will refresh the list list of shelving locations available
in the drop-down.

Apply this to the distribution formula editor.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Disable special copy statuses in status selector
Bill Erickson [Wed, 3 Mar 2021 15:52:55 +0000 (10:52 -0500)]
LP1888723 Disable special copy statuses in status selector

It is no longer possible to manually move a copy into a special copy
status in the Angular volcopy attributes editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Support disabling select entries in combobox
Bill Erickson [Wed, 3 Mar 2021 15:52:36 +0000 (10:52 -0500)]
LP1888723 Support disabling select entries in combobox

Adds a new @Input() disableEntries: any[] for tracking identifier
values in the combobox that should be marked as disabled / unselectable.

Substantive updates during rebasing made by Galen Charlton.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Item location select honors context org
Bill Erickson [Fri, 28 Aug 2020 19:16:20 +0000 (15:16 -0400)]
LP1888723 Item location select honors context org

The Angular <eg-item-location-select /> component now limits the
locations to display to those within the specified context org unit.

Instead of acting as the source of context org units, the permFilter org
units now act as limiters.  This is done so that users with global
permissions won't by default result in retrieving all copy locations.
In cases where all are needed, however, they can still be retrieved by
setting the context org unit appropriately.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Avoid save warning on vol load; vol save thinko
Bill Erickson [Wed, 11 Aug 2021 19:01:06 +0000 (15:01 -0400)]
LP1888723 Avoid save warning on vol load; vol save thinko

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Traditional catalog still uses traditional holdings editor
Bill Erickson [Mon, 12 Jul 2021 16:54:14 +0000 (12:54 -0400)]
LP1888723 Traditional catalog still uses traditional holdings editor

Avoid sending staff to the new holdings editor from within the
traditional catalog, so there remains a way to get to the traditional
editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Remove ref. to nonexistent workstation setting
Bill Erickson [Mon, 12 Jul 2021 16:53:52 +0000 (12:53 -0400)]
LP1888723 Remove ref. to nonexistent workstation setting

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Manage mode for single-copy edits notes/tags/alerts
Bill Erickson [Mon, 12 Jul 2021 16:38:16 +0000 (12:38 -0400)]
LP1888723 Manage mode for single-copy edits notes/tags/alerts

When editing multiple items, always open the Item Alerts/Tags/Notes
dialogs in "manage" mode so users can see and edit existing values on
the edited copy.

In batch copy mode, these dialogs still only allow adding new values.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Angular volcopy Apply All actions
Bill Erickson [Mon, 12 Jul 2021 16:02:58 +0000 (12:02 -0400)]
LP1888723 Angular volcopy Apply All actions

Replace Save and SAve & Exit buttons in the Angular holdings editor with
'Apply All & Save' and 'Apply All, Save & Exit' buttons.  With this,
staff are not required to click Apply on every change.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Merge repairs
Bill Erickson [Mon, 12 Jul 2021 15:26:22 +0000 (11:26 -0400)]
LP1888723 Merge repairs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Avoid defaulting CN labels for existing CN's
Bill Erickson [Wed, 3 Mar 2021 17:27:51 +0000 (12:27 -0500)]
LP1888723 Avoid defaulting CN labels for existing CN's

When a call number is loaded in the editor whose label is an empty
string, avoid applying a default values to the label so it's clear in
the UI that the call number label is blank.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Adds call number edit link to catalog copy table
Bill Erickson [Wed, 3 Mar 2021 17:27:30 +0000 (12:27 -0500)]
LP1888723 Adds call number edit link to catalog copy table

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Remove no longer needed (click) handler
Bill Erickson [Wed, 17 Feb 2021 15:09:30 +0000 (10:09 -0500)]
LP1888723 Remove no longer needed (click) handler

The holdings Edit link no longer includes a redirect and can be
opened/closed as expected via a regular href (routerLink).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Sort new-volum holding orgs alphabetically
Bill Erickson [Tue, 9 Feb 2021 20:04:38 +0000 (15:04 -0500)]
LP1888723 Sort new-volum holding orgs alphabetically

When adding new call numbers to newly represented org units in the
volcopy holdings grid, ensure newly added org units are sorted
alphabetically by the org unit shortname.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Use existing user setting for copy templates
Bill Erickson [Tue, 9 Feb 2021 16:33:33 +0000 (11:33 -0500)]
LP1888723 Use existing user setting for copy templates

Also propagate the new 'defaults' workstation setting to the seed data
file.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Repair Add Item Alerts action
Bill Erickson [Mon, 8 Feb 2021 20:13:49 +0000 (15:13 -0500)]
LP1888723 Repair Add Item Alerts action

Adding alerts opens the copy alerts dialog, not the copy notes dialog.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Value summaries '1 copy' vs 'x copies'
Bill Erickson [Mon, 11 Jan 2021 21:08:08 +0000 (16:08 -0500)]
LP1888723 Value summaries '1 copy' vs 'x copies'

Add pluralization support to the copy summary counts so that values
linked to only a single copy display as "1 copy" instead of "1 copies"

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Volcopy strings should be global
Bill Erickson [Wed, 6 Jan 2021 18:10:58 +0000 (13:10 -0500)]
LP1888723 Volcopy strings should be global

Moving the <eg-string /> entries to the root of the tepmlate ensures all
references to those strings are defined / non-null.  Otherwise, if the
user opts to hide a field which contained its own strings (e.g. loan
duration), the code would fail on null references, e.g.:

ERROR TypeError: Cannot read property 'text' of undefined

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Copy value counts separation
Bill Erickson [Tue, 5 Jan 2021 20:01:16 +0000 (15:01 -0500)]
LP1888723 Copy value counts separation

Provide a small amount of padding and light vertical border for the item
value summary counts so the counts don't blend with longer values (e.g.
long call numbers, etc.)

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Call number modification repair
Bill Erickson [Mon, 28 Dec 2020 23:36:01 +0000 (18:36 -0500)]
LP1888723 Call number modification repair

Fixes an issues where modifying the call number label without modifying
any items would result in modifying the call number for all linked items
instead of the items actually loaded in the volcopy editor.

Also fixes a case where modifying call numbers failed to reflect
correctly in the catalog holdings view.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Detect unapplied changes; improve tab change
Bill Erickson [Wed, 16 Dec 2020 16:03:54 +0000 (08:03 -0800)]
LP1888723 Detect unapplied changes; improve tab change

1. Detect when a change was initiated for one of the copy attributes,
but not applied during change detection for warning alerts.

2. Improve handling of inter-tab navigation for change alerts.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Improve copy default status lookup
Bill Erickson [Tue, 15 Dec 2020 15:40:45 +0000 (07:40 -0800)]
LP1888723 Improve copy default status lookup

Fixes an issue where a) default copy statuses were not getting correctly
applied and b) the copy status org setting lookup was not correctly
serialized, which can lead to actor drone exhaustion on the server (see
also bug 1896285).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Unsaved changes navigation warning
Bill Erickson [Mon, 14 Dec 2020 17:20:38 +0000 (09:20 -0800)]
LP1888723 Unsaved changes navigation warning

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Add/Manage item notes from catalog holdings
Bill Erickson [Thu, 24 Sep 2020 19:53:16 +0000 (15:53 -0400)]
LP1888723 Add/Manage item notes from catalog holdings

Adds an entry point for adding and managing Item Notes from the Angular
staff catalog holdings view.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Item notes dialog and volcopy entry point
Bill Erickson [Thu, 24 Sep 2020 19:39:45 +0000 (15:39 -0400)]
LP1888723 Item notes dialog and volcopy entry point

Support for adding new item notes to one or more items in the copy
editor interface.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Copy tag dialog placeholder fixes
Bill Erickson [Thu, 24 Sep 2020 18:45:34 +0000 (14:45 -0400)]
LP1888723 Copy tag dialog placeholder fixes

Change the placeholder for the tag label to read 'Enter tag label'.

Modify the 'Select Tag Type' text to 'Select tag type' for consistent
casing.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Volcopy parts on demand; checkdigit preference
Bill Erickson [Mon, 14 Sep 2020 18:43:25 +0000 (14:43 -0400)]
LP1888723 Volcopy parts on demand; checkdigit preference

Support creating monograph parts on the fly in the Angular holdings
editor.

Create a separate preference for controlling the visibility of the 'Use
Checkdigit' checkbox.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Combobox avoids clearing selected for freetext
Bill Erickson [Mon, 14 Sep 2020 18:27:34 +0000 (14:27 -0400)]
LP1888723 Combobox avoids clearing selected for freetext

Follow-up to LP#1850547: Avoid clearing the selected item in the
combobox when selectedId is set to null in cases where freetext is
enabled and a freetext value is present.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Item attrs edit owning lib change repair
Bill Erickson [Thu, 10 Sep 2020 21:59:23 +0000 (17:59 -0400)]
LP1888723 Item attrs edit owning lib change repair

Fixes a thinko in the item update code when changing the owning lib for
an item.  A value must be passed to copy.ischange(...) to have any
effect.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Item attributes editor can now clear stat cats
Bill Erickson [Thu, 10 Sep 2020 21:38:10 +0000 (17:38 -0400)]
LP1888723 Item attributes editor can now clear stat cats

Correctly implement stat cat copy map deletion in the Angular holdings
editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Angular volcopy UI mods and repairs
Bill Erickson [Wed, 26 Aug 2020 22:09:11 +0000 (18:09 -0400)]
LP1888723 Angular volcopy UI mods and repairs

* Use plus/minus buttons for adding and removing vols and copies.
* Support adding multiple vols and copies via add-multi pop-over
* Support hiding the Parts column
* Move Generate Barcodes and Use Checkdigit to bottom row.
* Collapse Batch Actions row by default, state stored in preferences.
* Fix issue where loading a record with no holdings would result in a
  mostly image page.
* Various display/layout repairs for showing/hiding columns

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Holdings refresh handles deleted call numbers
Bill Erickson [Mon, 24 Aug 2020 16:16:49 +0000 (12:16 -0400)]
LP1888723 Holdings refresh handles deleted call numbers

Teach the holdings grid in the staff catalog to correctly remove deleted
volumes from its tree when holding are modified in another tab.

To test, in the holding editor, modify a call number to have the same
label as another call number with the same owning org unit and save.  On
the backend, this will result in one of the call numbers getting
deleted.  Confirm the deleted call number no longer appears in the
holdings grid.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Angular holdings broadcast changes
Bill Erickson [Tue, 18 Aug 2020 20:44:34 +0000 (16:44 -0400)]
LP1888723 Angular holdings broadcast changes

Broadcast to other tabs information about which holdings have changed
during editing in the Angular volcopy UI.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Angular holdings trims barcode spaces
Bill Erickson [Tue, 18 Aug 2020 20:35:02 +0000 (16:35 -0400)]
LP1888723 Angular holdings trims barcode spaces

The barcode input form trims leading and trailing spaces from barcodes
in the Angular holdings editor.

Spaces in the middle of the barcode are not removed.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Angular holdings from catalog edit link; 1i8n repairs
Bill Erickson [Fri, 14 Aug 2020 16:48:29 +0000 (12:48 -0400)]
LP1888723 Angular holdings from catalog edit link; 1i8n repairs

The 'Edit' link in the copy table within the Angular staff catalog nows
directs users to the Angular volcopy editor.

Remove a number of nested 1i8n declarations.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Angular Holdings Maint / Item Attr Release Notes
Bill Erickson [Thu, 23 Jul 2020 20:23:59 +0000 (16:23 -0400)]
LP1888723 Angular Holdings Maint / Item Attr Release Notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Angular Holdings Maintenance / Item Attributes Editor
Bill Erickson [Thu, 4 Jun 2020 16:36:09 +0000 (12:36 -0400)]
LP1888723 Angular Holdings Maintenance / Item Attributes Editor

Angular port of the holdings and item attributes editors interfaces.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Angular File exporter service
Bill Erickson [Tue, 23 Jun 2020 20:57:07 +0000 (16:57 -0400)]
LP1888723 Angular File exporter service

Package up some of the nitty gritty of supporting file exports from the
Angular client into a utility service.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 combobox down arrow same as click
Bill Erickson [Thu, 2 Jul 2020 21:39:00 +0000 (17:39 -0400)]
LP1888723 combobox down arrow same as click

<eg-combobox /> now treats down arrow as the same as a click operation,
allowing for activation of selectabled options dropdown via keyboard.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Cat vol update API repairs
Bill Erickson [Thu, 2 Jul 2020 20:56:46 +0000 (16:56 -0400)]
LP1888723 Cat vol update API repairs

Repair cases where subs in the volume update API failed to return the
expected response constructs, specifically (response, event).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1888723 Barcode auto-generate API skip-dupes option
Bill Erickson [Thu, 30 Apr 2020 19:33:57 +0000 (15:33 -0400)]
LP1888723 Barcode auto-generate API skip-dupes option

Option to verify generated barcodes do not exist in the database.  When
a dupe is found, skip over it and continue to the next barcode.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1906058: Course-term map interface only allow reasonable mappings
Jane Sandberg [Fri, 23 Jul 2021 17:15:13 +0000 (10:15 -0700)]
LP1906058: Course-term map interface only allow reasonable mappings

Different libraries will use different sets of course terms.  In an
academic library context, for example, a consortium may include
libraries with very different start and end dates to their terms/semesters,
different numbers of terms/year, etc.

This commit changes the interface to only allow users to associate
a course with a term from the same library or one of its ancestors.

To test:
1. Create many courses and course terms and many different OUs.
2. On the course list, click "Terms taught".  Associate some courses
and course terms.  Make sure that you aren't able to associate your
course with any course terms that would not be reasonable for the
course's library.
3. Edit a course, and choose the Course terms tab.  Continue to associate
courses and terms, and make sure the mappings are reasonable.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1917809 Create Course: Owning Library Default
Michele Morgan [Tue, 30 Mar 2021 20:16:59 +0000 (20:16 +0000)]
LP#1917809 Create Course: Owning Library Default

Changes the default for the owning library in the Create Course modal to the logged
in user's workstation org unit instead of the consortium.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP#1905068: (follow-up) never initialize an OU ID to 1
Galen Charlton [Sun, 15 Aug 2021 15:27:41 +0000 (11:27 -0400)]
LP#1905068: (follow-up) never initialize an OU ID to 1

This change has no effect on behavior, as defaultOuId's
initialization value always gets replaced with the user's
WS OU or the org root when the contructor is run, but
avoids any implication during code-reading that the top
of the OU tree can be assumed to have ID 1.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1905068: Add org-family-select to course list
Jane Sandberg [Wed, 23 Jun 2021 23:59:51 +0000 (16:59 -0700)]
LP1905068: Add org-family-select to course list

To test:

1) Apply this patch
2) Admin > Local admin > Course reserves list
3) Check that the list defaults to courses available
at your workstation org unit
4) Check that, when you select ancestors, descendants,
or a different org unit, the course list updates
accordingly
5) Check that the list only displays org units for
which you have the MANAGE_RESERVES permission

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
3 years agoLP1923076: Add Perl live test
Jason Stephenson [Fri, 9 Apr 2021 20:31:57 +0000 (16:31 -0400)]
LP1923076: Add Perl live test

Add lp1923076-test-perl-scalar-return.t to the Perl live tests to test
a couple of back end calls affected by the changes in this branch.
These backend calls are those that are easily testable with Concerto
data.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP1923976: Remove some dead code
Jason Stephenson [Fri, 9 Apr 2021 17:42:42 +0000 (13:42 -0400)]
LP1923976: Remove some dead code

Remove a block of commented code that was turned up while working on
this issue.  This is in its own commit to make it easier to revert, if
necessary.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP1923076: Add cast to int in more places
Jason Stephenson [Fri, 9 Apr 2021 17:41:40 +0000 (13:41 -0400)]
LP1923076: Add cast to int in more places

Add cast to int of scalar used on arrays in more places where it seems
necessary.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP#1923076: ensure length of empty array is treated as a number when retrieving hold...
Jeff Davis [Thu, 8 Apr 2021 02:41:49 +0000 (19:41 -0700)]
LP#1923076: ensure length of empty array is treated as a number when retrieving hold counts

Thanks to Jason Stephenson for suggesting this solution.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP1935693: Improve spacing on the OPAC course materials table
Jane Sandberg [Fri, 13 Aug 2021 15:34:03 +0000 (08:34 -0700)]
LP1935693: Improve spacing on the OPAC course materials table

Signed-off-by; Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>