evergreen/pines.git
6 years agoDocs: updating 3.0.11 release notes
Jane Sandberg [Wed, 22 Aug 2018 17:18:29 +0000 (10:18 -0700)]
Docs: updating 3.0.11 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoLP#1788417: boolean fields should say 'Yes'/'No' instead of true/false
a. bellenir [Wed, 22 Aug 2018 15:33:55 +0000 (11:33 -0400)]
LP#1788417: boolean fields should say 'Yes'/'No' instead of true/false

boolean fields on egGrid use tt2-translated strings for "Yes" and "No"
instead of letting the browser translate the values 'true' and 'false'
(in accordance with the prophecy of XUL)

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1774448 Auth poll spam/timing repairs
Bill Erickson [Thu, 31 May 2018 19:12:55 +0000 (15:12 -0400)]
LP#1774448 Auth poll spam/timing repairs

Avoid spamming the server with authentication session checks on bad poll
time values.  Specifically, never poll more often than once per minute
and avoid integer overflow on long authentication timeout values
(greater than about 24.8 days) resulting in the poll running with an
effective timeout of zero and spamming the server with API calls.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
6 years agoLP#1724029 Patron search API returns correct order
Bill Erickson [Fri, 10 Aug 2018 16:16:57 +0000 (12:16 -0400)]
LP#1724029 Patron search API returns correct order

Avoid use of max_chunk_size in patron search API as it results in
streaming responses in the wrong order.  Use max_bundle_count instead,
which does not suffer from the sorting issues.  What's more, its purpose
and affect is easier to grasp in the code.

Bundle count is set to 5 so the API will begin returning results at most
5 patrons into the data fleshing process.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
6 years agoLP#1743801: Item Status List Display Issues
a. bellenir [Mon, 4 Jun 2018 18:25:00 +0000 (14:25 -0400)]
LP#1743801: Item Status List Display Issues

Update fm_IDL.xml, establishing circ_as_type as a link to
config::item_type_map.  Flesh this field to display desired value on
client side.

Conflicts:
    Open-ILS/web/js/ui/default/staff/circ/services/item.js

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoLP#1743801: Item Status List View Display Issues
a. bellenir [Thu, 24 May 2018 15:44:28 +0000 (11:44 -0400)]
LP#1743801: Item Status List View Display Issues

Age Protection was missing '.name' field.

Loan Duration and Fine Levels are numeric: 1, 2, or 3.
Added an Angular filter to show the desired string from numeric index.

Conflicts:
    Open-ILS/src/templates/staff/cat/item/t_list.tt2

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoDocs: Adding release notes for 3.1.5
Jane Sandberg [Tue, 21 Aug 2018 17:12:45 +0000 (10:12 -0700)]
Docs: Adding release notes for 3.1.5

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoDocs: Adding release notes for 3.0.11
Jane Sandberg [Tue, 21 Aug 2018 17:10:32 +0000 (10:10 -0700)]
Docs: Adding release notes for 3.0.11

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoDocs: removing outdated info about alerts
Jane Sandberg [Mon, 20 Aug 2018 23:47:23 +0000 (16:47 -0700)]
Docs: removing outdated info about alerts

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoDocs: small changes to record bucket docs
Jane Sandberg [Fri, 17 Aug 2018 19:25:55 +0000 (12:25 -0700)]
Docs: small changes to record bucket docs

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoLP#1775216: Stamping upgrade script for inconsistent copy counts
Kathy Lussier [Wed, 15 Aug 2018 22:10:08 +0000 (18:10 -0400)]
LP#1775216: Stamping upgrade script for inconsistent copy counts

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1587620: inconsistent copy counts between opac and staff client for peer bibs
a. bellenir [Fri, 15 Jun 2018 19:53:10 +0000 (15:53 -0400)]
LP#1587620: inconsistent copy counts between opac and staff client for peer bibs

staff copy counts should include peer bib copies, per LP1587620.

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1775216: inconsistent copy counts between opac and staff client
a. bellenir [Fri, 8 Jun 2018 15:42:53 +0000 (11:42 -0400)]
LP#1775216: inconsistent copy counts between opac and staff client

opac version of copy counts was including copies under deleted call numbers
more discussion here: http://irc.evergreen-ils.org/evergreen/2018-06-08#i_363334

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1775216: adding a pgtap test for inconsistent availability counts
a. bellenir [Fri, 8 Jun 2018 14:29:59 +0000 (10:29 -0400)]
LP#1775216: adding a pgtap test for inconsistent availability counts

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1775216: inconsistent availability counts between staff client and opac
a. bellenir [Tue, 5 Jun 2018 19:56:24 +0000 (15:56 -0400)]
LP#1775216: inconsistent availability counts between staff client and opac

update asset.staff_ou_record_copy_count to get an accurate available count.

borrow asset.opac_ou_record_copy_count's logic for counting available copies
so that statuses with is_available set to 't' in config.copy_status are used
instead of using the hardcoded status id list (0,7,12)

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1721575 Stamping DB upgrade: batch catalog actions
Bill Erickson [Wed, 15 Aug 2018 18:08:41 +0000 (14:08 -0400)]
LP#1721575 Stamping DB upgrade: batch catalog actions

Also replaced a remaining reference to "cart" with "basket"

Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1721575: Changes to some strings
Kathy Lussier [Tue, 14 Aug 2018 20:28:35 +0000 (16:28 -0400)]
LP#1721575: Changes to some strings

We missed one instance of cart when changing everything over to baskets. Also,
I updated language for clearing a basket after placing a hold to make it a
little clearer.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1721575: Batch Actions In the Public Catalog
Galen Charlton [Mon, 14 May 2018 19:24:59 +0000 (15:24 -0400)]
LP#1721575: Batch Actions In the Public Catalog

The public catalog now displays checkboxes on the bibliographic and
metarecord constituents results pages. Selecting one or more titles
by using the checkboxes will dynamically add those title to the
temporary list, which is now renamed the basket.

Above the results lists there is now a bar with a select-all checkbox,
a link to the basket management page that also indicates the number of
of titles in the basket, and a link to remove from the basket titles that
are selected on the currently displayed results page.

The search bar now includes an icon of a basket and displays the number
of titles currently in the basket. Next to that icon is a menu of basket
actions.

The basket actions available are Place Hold, Print Title Details,
Email Title Details, Add Cart to Saved List, and Clear Cart. In the
web staff client, the basket actions also include Add Cart to Bucket.
When an action is selected from this menu, the user is given an
opportunity to confirm the action and to optionally empty the basket
when the action is complete. The action is applied to all titles
in the basket.

Clicking on the basket icon brings the user to a page listing the
titles in the basket. From there, the user can select specific records
to request, print, email, add to a list, or remove from the basket.

The list of actions on the record details page now provides separate
links for adding the title to a basket or to a permanent list.

The permanent list management page in the public catalog now also
includes batch print and email actions.

Additional information
++++++++++++++++++++++
* The checkboxes do not display on the metarecord results page, as
  metarecords currently cannot be put into baskets or lists.
* The checkboxes are displayed only if Javascript is enabled. However,
  users can still add items to the basket and perform batch actions on
  the basket and on lists.
* A template `config.tt2` setting, `ctx.max_basket_size`, can be used to
  set a soft limit on the number of titles that can be added to the
  basket. If this limit is reached, checkboxes to add more records to the
  basket are disabled unless existing titles in the basket are removed
  first. The default value for this setting is 500.

Developer notes
+++++++++++++++

This patch adds the the public catalog two routes that return JSON
rather than HTML:

* `GET /eg/opac/api/mylist/add?record=45`
* `GET /eg/opac/api/mylist/delete?record=45`

The JSON response is a hash containing a mylist key pointing to the list
of bib IDs of contents of the basket.

The record parameter can be repeated to allow adding or removing
records as an atomic operation. Note that this change also now available
to `/eg/opac/mylist/{add,delete}`

More generally, this adds a way for EGWeb context loaders to specify that
a response should be emitted as JSON rather than rendering an HTML
page using `Template::Toolkit`.

Specifically, if the context as munged by the context loader contains
a `json_response` key, the contents of that key will to provide a
JSON reponse. The `json_response_cookie` key, if present, can be used
to set a cookie as part of the response.

Template Toolkit processing is bypassed entirely when emitting a JSON
response, so the context loader would be entirely reponsible for
localization of strings in the response meant for direct human
consumption.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1770981 Apply OpenSRF locale on webstaff page load
Bill Erickson [Tue, 14 Aug 2018 19:22:49 +0000 (15:22 -0400)]
LP#1770981 Apply OpenSRF locale on webstaff page load

Translate the locale from the locale cookie into the global
OpenSRF.locale variable so network calls are stamped with the correct
locale.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
6 years agoTranslation updates - newpot
Ben Shum [Wed, 15 Aug 2018 15:31:01 +0000 (11:31 -0400)]
Translation updates - newpot

Signed-off-by: Ben Shum <ben@evergreener.net>
6 years agoLP1164061: Edit authority record by database ID
Jane Sandberg [Thu, 5 Jul 2018 21:33:24 +0000 (14:33 -0700)]
LP1164061: Edit authority record by database ID

Allow users to jump directly to the authority record MARC edit interface
by entering the authority record ID.

Includes release notes.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1718032 Patron merge honors group perms; no self-merge
Bill Erickson [Tue, 7 Aug 2018 18:27:47 +0000 (14:27 -0400)]
LP#1718032 Patron merge honors group perms; no self-merge

Ensure the staff performing a patron merge have sufficient permission to
edit all users involved in the merge process, in addition the
MERGE_USERS permssion.

Prevent staff from merging their own logged in account.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
6 years agoLP#1752891 Crowded text on Print Item Labels page fix.
Garry Collum [Sun, 10 Jun 2018 04:08:53 +0000 (00:08 -0400)]
LP#1752891 Crowded text on Print Item Labels page fix.

This patch replaces an h4 style used for labels for dropdown lists, removes a blue background, and changes the style of the title of the page. All to make this page look more consistent with other pages in Evergreen.  Also removes some unnecessary extra divs and makes the bootstrap columns for the top form more consistent.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Conflicts:
Open-ILS/src/templates/staff/cat/printlabels/t_view.tt2

6 years agoDocs: sample patron import script now also updates existing patron data
Jane Sandberg [Fri, 10 Aug 2018 17:34:28 +0000 (10:34 -0700)]
Docs: sample patron import script now also updates existing patron data

With inspiration and help from Martha Driscoll

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoLP#1775719 Modify array check for Phantomjs; reduce logging;
Bill Erickson [Thu, 9 Aug 2018 14:20:54 +0000 (10:20 -0400)]
LP#1775719 Modify array check for Phantomjs; reduce logging;

PhantomJS doesn't support the handy [1,2,3].includes(1) function, so
replace it with the tried-and-true indexOf();

Avoid logging errors on failure to connect to the shared offline worker
when running within phantomjs.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1747512 Non-cat checkout fix display/print
Bill Erickson [Tue, 7 Aug 2018 19:00:12 +0000 (15:00 -0400)]
LP#1747512 Non-cat checkout fix display/print

Fixes an issue which caused an exception to be thrown during non-cat
item checkout in the browser client, preventing the checkout from being
properly displayed in the checkout page, the Items Out list, and on the
receipt.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1702978: memcache Remove method used in a variadic way
Mike Rylander [Fri, 7 Jul 2017 19:34:57 +0000 (15:34 -0400)]
LP#1702978: memcache Remove method used in a variadic way

Related to the OpenSRF branch on this same bug, the prevents Evergreen from
using a to-be-non-variadic memcache method in that way.  This prevents issues
for memcache keys that contain a %.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoLP#1785305: Item Status 'Edited By' shows id instead of username.
a. bellenir [Wed, 8 Aug 2018 15:49:57 +0000 (11:49 -0400)]
LP#1785305: Item Status 'Edited By' shows id instead of username.

This commit changes Item Status 'Edited By' field to show the editor's
username to match XUL.

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoLP#621459 Clear Z39 overlay target message after overlay
Bill Erickson [Tue, 7 Aug 2018 21:41:23 +0000 (17:41 -0400)]
LP#621459 Clear Z39 overlay target message after overlay

Reset the "Record with TCN XXX marked for overlay." message to show "No
record marked for overlay." once the overlay target is cleared after a
Z39 overlay.

Removed an errant '"' in the overlay message.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#621459: Discard overlay target after merge in Z39.50 interface
Mike Rylander [Fri, 3 Aug 2018 15:00:25 +0000 (11:00 -0400)]
LP#621459: Discard overlay target after merge in Z39.50 interface

Cataloger concensus is that we should discard the overlay target after a merge
is completed in order to help avoid accidental re-overlay.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1739460: Be more careful when gathering shelving locations
Mike Rylander [Wed, 10 Jan 2018 16:55:08 +0000 (11:55 -0500)]
LP#1739460: Be more careful when gathering shelving locations

Specifically, make sure we're getting the IDs, and comparing them as numbers.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP 1780660: Add more workstation functions to OpenILS::Utils::TestUtils.
Jason Stephenson [Sun, 8 Jul 2018 18:19:10 +0000 (14:19 -0400)]
LP 1780660: Add more workstation functions to OpenILS::Utils::TestUtils.

Add methods find_or_register_workstation($name, $lib) and
find_workstation($name, $lib) to OpenILS::Utils::TestUtils.  These can
be used when writing tests or other scripts to find or create
workstations.

The following Perl live tests were updated to use the new methods
rather than their hand-rolled versions:

* 14-lp1499123_csp_ignore_proximity.t
* 18-lp1592891_sip_standing_penalties.t
* 19-lp1306666-abort-transit-copy-status.t
* 25-lp1694058-multiple-hold-placement.t

Testing this is very simple:

1. Install Evergreen from this branch.
2. Load the Concerto dataset.
3. Start Evergreen services with osrf_control.
4. cd to the perlmods source directory.
5. Do 'make livecheck' and see that all tests pass, particularly the 4
   mentioned above.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1785333: Right-click can clear grid selection
a. bellenir [Tue, 7 Aug 2018 22:18:41 +0000 (18:18 -0400)]
LP#1785333: Right-click can clear grid selection

This commit uses egGrid's indexValue API to identify the clicked row rather
than depending on grid row order when checking whether the that row is
currently selected.  This is a generalized fix for all grids.

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1768947 Disable offline download button, improve logging
Bill Erickson [Tue, 7 Aug 2018 16:10:17 +0000 (12:10 -0400)]
LP#1768947 Disable offline download button, improve logging

Once the offline block list download button is clicked, it's disabled to
prevent any possibility of double-clicks.  The shared worker also
reports a more meaningful error in case a double-click sneaks past.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1768947 Offline xact presence is cached; show date
Bill Erickson [Fri, 22 Jun 2018 14:56:02 +0000 (10:56 -0400)]
LP#1768947 Offline xact presence is cached; show date

Maintain an entry to the object date cache table indicating the time of
the most recent offline transaction entry.  This data is used on the
login page to determine if offline transactions exist, so the staff
logging in can be notified.  We do this in lieu of checking the offline
transaction table, since that table only exists in the offline UI.

As a bonus, since we know the last transaction add time, display this
information in the login page offline xact alert panel.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1768947 Offline DB runs in shared web worker
Bill Erickson [Fri, 8 Jun 2018 17:08:18 +0000 (13:08 -0400)]
LP#1768947 Offline DB runs in shared web worker

Move the lovefield database access logic into a shared web worker
script.  This ensures the only one connection (per schema) can exist,
avoiding data integrity problems caused by having multiple tabs writing
to the database at the same time.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894: Stamping upgrade script for workstation settings on server
Kathy Lussier [Fri, 3 Aug 2018 17:29:14 +0000 (13:29 -0400)]
LP#1750894: Stamping upgrade script for workstation settings on server

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Remove errant phantomjs-killing comma
Bill Erickson [Fri, 3 Aug 2018 15:39:15 +0000 (11:39 -0400)]
LP#1750894 Remove errant phantomjs-killing comma

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Additional workstation setting types + repairs
Bill Erickson [Tue, 31 Jul 2018 20:52:18 +0000 (16:52 -0400)]
LP#1750894 Additional workstation setting types + repairs

Added new workstation setting types:

circ.checkout.strict_barcode
cat.holdings_show_empty_org
cat.copy.defaults
cat.printlabels.default_template
cat.printlabels.templates

Bump perm ID in seed data, take 2.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Batch settings lookup handles migration
Bill Erickson [Tue, 31 Jul 2018 20:30:17 +0000 (16:30 -0400)]
LP#1750894 Batch settings lookup handles migration

As with a single getItem() call, the batch version of the call, when
making server requests, will migrate any settings necessary from
localStorage to server settings.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Hatch set local storage item thinko
Bill Erickson [Fri, 27 Jul 2018 21:52:24 +0000 (17:52 -0400)]
LP#1750894 Hatch set local storage item thinko

Ensure hatch.setItem() returns a promise for both server- and browser-
stored values.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Bump perm ID; apply consistently
Bill Erickson [Fri, 27 Jul 2018 21:26:08 +0000 (17:26 -0400)]
LP#1750894 Bump perm ID; apply consistently

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Store grid limits in grid config
Bill Erickson [Mon, 4 Jun 2018 21:14:24 +0000 (17:14 -0400)]
LP#1750894 Store grid limits in grid config

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Server-stored workstaion prefs admin view
Bill Erickson [Mon, 4 Jun 2018 16:10:20 +0000 (12:10 -0400)]
LP#1750894 Server-stored workstaion prefs admin view

Adds a new "Server Workstation Prefs" tab to the stored preferences
workstation admin interface.  From here, users can view which
preferences are stored as server-stored workstation preferences and
delete select values.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Workstation/Cascade setting pgtap tests
Bill Erickson [Wed, 30 May 2018 20:38:56 +0000 (16:38 -0400)]
LP#1750894 Workstation/Cascade setting pgtap tests

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Workstation/Cascade settings Release Notes
Bill Erickson [Tue, 29 May 2018 15:47:16 +0000 (11:47 -0400)]
LP#1750894 Workstation/Cascade settings Release Notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1750894 Workstation & Cascade settings
Bill Erickson [Tue, 13 Mar 2018 18:06:23 +0000 (14:06 -0400)]
LP#1750894 Workstation & Cascade settings

Adds a new config.workstation_setting_type table for managing
workstation-specific settings.

Adds new PG and perl API functionality for determining values for
settings which may be represnted as workstation, user, and/or org unit
settings.

Teaches the AngularJS browser client to load and apply most settings at
the server.  Values for settings stored in localStorage/Hatch are migrated
to server settings at time of next use.

Stock workstation setting types added to accommodate most browser client
settings.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP1739284 Bib summary fetches classification scheme
Bill Erickson [Tue, 19 Jun 2018 15:27:43 +0000 (11:27 -0400)]
LP1739284 Bib summary fetches classification scheme

Always fetch the classification scheme org setting (or access the cached
value) instead of relying on the value getting stored in advance in
egEnv.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoLP#1770973 Webstaff loads locale-specific IDL
Bill Erickson [Fri, 18 May 2018 17:15:57 +0000 (13:15 -0400)]
LP#1770973 Webstaff loads locale-specific IDL

Fetch the locale-specific version of the /IDL2js data so that IDL-based
labels in the UI may be correctly translated.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
6 years agoLP#1766716 Closed dates Perl live test API repair
Bill Erickson [Mon, 30 Jul 2018 14:23:37 +0000 (10:23 -0400)]
LP#1766716 Closed dates Perl live test API repair

Update the org unit close date Perl live test to match API changes for
emergecy org unit close dates handling.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1193446: circ.staff.max_visible_event_age setting
John Yorio [Tue, 22 May 2018 13:05:46 +0000 (09:05 -0400)]
LP#1193446: circ.staff.max_visible_event_age setting

Signed-off-by: John Yorio <jyorio@equinoxinitiative.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1766716 Stamping emergency closing DB upgrade
Bill Erickson [Thu, 26 Jul 2018 18:40:00 +0000 (14:40 -0400)]
LP#1766716 Stamping emergency closing DB upgrade

Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1766716: Adjust date display logic
Mike Rylander [Wed, 11 Jul 2018 20:51:59 +0000 (16:51 -0400)]
LP#1766716: Adjust date display logic

We were using the wrong date formating filter, egDueDate, and additionly the
egOrgDateInContext filter was defaulting to the useless 'shortDate' format in
cases where a format was not passed (such as when $root.egDateAndTimeFormat
can't be found).  Both of these are addressed here.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1766716 Closed dates API emergency filter fix
Bill Erickson [Mon, 9 Jul 2018 15:55:07 +0000 (11:55 -0400)]
LP#1766716 Closed dates API emergency filter fix

Fix closed dates emergency => emergency_closing DB column name thinko.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1766716: (follow-up) expand CSS imports for now
Galen Charlton [Wed, 9 May 2018 16:28:00 +0000 (12:28 -0400)]
LP#1766716: (follow-up) expand CSS imports for now

The patches for bug 1739803 ended up removing the minification
of the CSS and constructing evergreen-staff-client-deps.0.0.1.min.css,
so consequently setting EXPAND_WEB_IMPORTS to 0 currently does not
work as expected. Unless that regression (if it is one) gets
fixed, stick with EXPAND_WEB_IMPORTS = 1 for now.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1766716: Release notes
Mike Rylander [Tue, 24 Apr 2018 20:45:31 +0000 (16:45 -0400)]
LP#1766716: Release notes

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1766716: Emergency Closing handler
Mike Rylander [Tue, 27 Feb 2018 21:49:57 +0000 (16:49 -0500)]
LP#1766716: Emergency Closing handler

New Feature Summary

Staff are provided with interfaces and mechanisms to create library closings
that, in addition to affecting future circulation and booking due dates, and
hold shelf expirations, will automatically move existing circulation and
booking due dates and hold shelf expiration times.  This new functionality is
conceptually described as Emergency Closings and business logic implementing it
as the Emergency Closing Handler. It contains additions and adjustments to the
user interface, business logic, and database layers.  Access to this
functionality is available through the Closed Dates Editor interface in the
staff client which has been ported to AngularJS.

Overview

This development has created new business logic code to inspect, in real time,
existing circulation, booking, and hold records, and modify such date and time
stamps so that the circulation, booking, or hold will end in the same state it
would have if the closing had existed at the time the circulation or booking
occurred, or the hold was placed and captured.  Of specific note, hourly loans
will have their due date adjusted to be the end of the day following the
closing.

When the Emergency Closing is saved, any fines accrued during the closing may
be voided, as settings dictate, with the exception of circulations that have
been marked as LOST or LONG OVERDUE.  That is, even for LOST and LONG OVERDUE
circulations with due dates that fall within the Emergency Closing, no fine
adjustment will be applied.  Emergency Closing processing is permanent, and
cannot be rolled back.

This functionality is explicitly initiated by staff action.  If staff do not
request an Emergency Closing, existing circulations, bookings, and holds will
not be processed and adjusted.  However, if staff request any Closing that
starts nearer in time than the length of the longest circulation duration
configured for use in the Evergreen instance they will be prompted with the
option to create the closing as an Emergency Closing.

Action/Trigger hooks have been created for circulations and bookings that are
adjusted by the Emergency Closing Handler.  These will facilitate the creation
of notifications to patrons that the due date has changed and to alert them to
potential changes in accrued fines.

Booking start dates are explicitly ignored in this implementation.  Because an
Emergency Closing is, by its nature, an unexpected event, it will be up to
staff to address any bookings which intersect with a new Emergency Closings.
Reports can be used to identify booking start dates that overlap with a closing
and that may require staff intervention.

Staff requsting and Emergency Closing must have the new EMERGENCY_CLOSING
permission.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1766716 Supporting functionality added to date/time picker and progress dialog
Mike Rylander [Fri, 16 Mar 2018 13:52:50 +0000 (09:52 -0400)]
LP#1766716 Supporting functionality added to date/time picker and progress dialog

Here the date/time picker is given the ability to dynamically hide the time
picking component when show-time-picker is in effect.  This allows an
interface to use the time picker based on ephemeral state information and to
hide it when not useful.

Additionally, the progress dialog now takes an optional label property that
can be passed to both open() and update(), so that textual information can
be provided along with the numeric and visual progress data.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoForward-port 3.0.10 upgrade script
Dan Wells [Thu, 26 Jul 2018 14:38:02 +0000 (10:38 -0400)]
Forward-port 3.0.10 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoForward-port 3.1.4 upgrade script
Dan Wells [Thu, 26 Jul 2018 14:32:36 +0000 (10:32 -0400)]
Forward-port 3.1.4 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoDocs: completing 3.1.4 release notes
Jane Sandberg [Wed, 25 Jul 2018 19:26:12 +0000 (12:26 -0700)]
Docs: completing 3.1.4 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoDocs: adding to 3.0.10 release notes
Jane Sandberg [Wed, 25 Jul 2018 19:13:32 +0000 (12:13 -0700)]
Docs: adding to 3.0.10 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoDocs: starting 3.1.4 release notes
Jane Sandberg [Wed, 25 Jul 2018 19:12:27 +0000 (12:12 -0700)]
Docs: starting 3.1.4 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoDocs: Adding 3.0.10 release notes
Jane Sandberg [Wed, 25 Jul 2018 19:08:06 +0000 (12:08 -0700)]
Docs: Adding 3.0.10 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoLP#1414197 Serial Item Delete Improvements
Dan Wells [Fri, 6 Jul 2018 15:47:42 +0000 (11:47 -0400)]
LP#1414197 Serial Item Delete Improvements

If a serial item is received, then deleted without any further status,
it can leave the system in an inconsistent state:

1) If from a multi-item unit, the unit contents are not updated.
2) If from a single-item unit, the unit is not deleted.
3) If the last holding of its kind, holdings summaries are not updated.

Since 'resetting' items has all the necessary logic to handle the above
needs, this commit runs each deleted item through the reset code before
doing the actual delete.  This also gives the benefit of keeping the
logic centralized for future fixes/enhancements.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1738249: Fix Circulation Library in Item Status Column Picker
Kathy Lussier [Fri, 6 Jul 2018 13:50:40 +0000 (09:50 -0400)]
LP#1738249: Fix Circulation Library in Item Status Column Picker

When the original branch was merged, the change to fix the display of
the Circulation Library to the copy's circ_lib in Item Status was
lost.  This commit restores it and uses the original patch author's
name on the commit.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1781473 - fix cosmetic issue with circ Id column
Cesar Velez [Thu, 12 Jul 2018 20:28:45 +0000 (16:28 -0400)]
LP#1781473 - fix cosmetic issue with circ Id column

The column for Circ.Id on the Patron Checkout grid was
mislabeled "Bill#"

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1778268: Fix incorrect close tag for label on line 58 of
Adam Bowling [Sat, 23 Jun 2018 05:06:13 +0000 (01:06 -0400)]
LP#1778268: Fix incorrect close tag for label on line 58 of
Open-ILS/src/templates/staff/cat/printlabels/t_view.tt2

Signed-off-by: Adam Bowling <abowling@emeralddata.net>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1777954 Open Electronic Resource Links in New Tab, Part 2
Dan Wells [Fri, 13 Jul 2018 18:04:00 +0000 (14:04 -0400)]
LP#1777954 Open Electronic Resource Links in New Tab, Part 2

For the same reasons given in the previous commit, let's also open
resource links in a new tab/window when clicking from the results
list.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1777954 Open Electronic Resource Links in New Tab
Terran McCanna [Mon, 25 Jun 2018 16:15:21 +0000 (12:15 -0400)]
LP#1777954 Open Electronic Resource Links in New Tab

Open electronic resources links in new browser tab to accommodate
for external non-https links that will not otherwise open from the
web client.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1739286: Revert "lp1739286 default search box in Z39.50"
Chris Sharp [Tue, 24 Jul 2018 17:19:07 +0000 (13:19 -0400)]
LP#1739286: Revert "lp1739286 default search box in Z39.50"

This commit caused unexpected side effects, reported in bug 1782401
( https://bugs.launchpad.net/evergreen/+bug/1782401 ). Reverting before
it ends up in a release.

This reverts commit 6996a3630dea3d6fd967c127417a800aba561603.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP1782631: Stop Styling Grocery Bills as Overdues
Jason Boyer [Thu, 19 Jul 2018 18:29:32 +0000 (14:29 -0400)]
LP1782631: Stop Styling Grocery Bills as Overdues

Only checking for the lack of a value in the
checkin_time field causes grocery bills to still
trigger the bill colorizing feature, but because
they have no stop_fines reason they're colored
the same as an overdue item.

This patch requires the presence of a due_date
field before coloring a bill row.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoLP#1773417: Use CN owning lib when adding copies
Mike Rylander [Fri, 6 Jul 2018 19:33:05 +0000 (15:33 -0400)]
LP#1773417: Use CN owning lib when adding copies

This defaults the owner of new copies added to existing call numbers to the
owning lib of the call number, rather than the workstation library.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoLP#1773417 Revamp item and call number tranfers
Dan Wells [Tue, 12 Jun 2018 18:20:03 +0000 (14:20 -0400)]
LP#1773417 Revamp item and call number tranfers

This commit attempts to achieve the goals of both simplification and
feature completeness/flexibility.  In brief, limit the number of
marking and transfer options, then have the code decide the right
action to take given the circumstances.

There are now just two "marking" actions, one at the record level,
one at the holdings level.  The holdings level mark will automatically
mark the destination as specifically as possible from the selected row,
which means either to the library or call number (vol) level.

We are also now down to two transfer options: transfer the selected
item, or transfer the selected call number.  Either option will use
as much given context as possible, then fill in any blanks with
reasonable defaults and actions.

As part of the change, a number of functions and variables are also
renamed.  This is all done for clarification, and in most cases is
due to the variable or function now being used more generally (i.e.
it is used in both the item and vol context, so it is confusing to
be named 'volume_transfer_target', etc.).

Finally, clear up a fair bit of now redundant and unused code.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1773417 Improve empty volume handling
Dan Wells [Wed, 30 May 2018 16:43:08 +0000 (12:43 -0400)]
LP#1773417 Improve empty volume handling

The crux of this patch is to rethink how we handle the volume-only
editing interface.  Previously, we were attempting to distinguish
between when the volume was the only thing *showing* and when it
was actually the only thing *existing*.

We have now removed that distinction, so the volume-only interface
only cares about the volume regardless of the possible presence of
a copy.  This simplifies the interface logic, and reduces or
eliminates the chance of the hidden copy editor interfering with
the volume adding/editing functions.

Other smaller changes here include:
- Teach the edit function to pick up copy-less "empty" call numbers
- Reduce and clarify the arguments to spawnHoldingsAdd
  We had three arguments, but two were simply inversions of one another
  in every case.  Reduce to two arguments and give them more meaningful
  labels
- Fix typo ("emtpy") preventing proper button disabling for blank call
  numbers
- Move call number emptiness check from updateLabel() function to value
  watch instead.  This ensure that any updates to that value (even those
  not using the update function) will flip the flag appropriately.  This
  fixes a timing bug which prevented call numbers from being saved
  without further edits in some cases.

Ultimately, as J. Boyer suggests, we would be better off not generating
the copy editor at all (rather than just hiding it), but we're a few
steps off from that yet.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1773417 Relabel "Add Volumes" button
Dan Wells [Sat, 26 May 2018 02:20:49 +0000 (22:20 -0400)]
LP#1773417 Relabel "Add Volumes" button

Now that we have an interface for adding empty volumes, we need to be
more explicit that this button is for adding complete copies, not just
volumes.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1715697 Refactor empty volume adding
Dan Wells [Wed, 23 May 2018 18:39:49 +0000 (14:39 -0400)]
LP#1715697 Refactor empty volume adding

The new ability to add empty volumes was causing the existing
ability to add new volume/copy combos to not work as expected.
More specifically, added volume/copy combos would not generate
in the selected org_unit, but always in the ws_ou.

To correct this, this change refactors/reverts significant portions of
920f585052ef809ea6ca1e447d416ada871b467c.  Reasons include:

- Existing code distinguishs 'adds' from 'edits' via two wrappers,
spawnHoldingsAdd and spawnHoldingsEdit.  With this commit, empty volume
adding now extends the 'add' function rather than the 'edit' one, as
this seems more intuitive.

- The previous change had extended both the catalog app and another
similar directive which is only used in a merging context.  Since the
merge context had no ability to add anything, and the new code was not
wired up to the interface, this has simply been removed (for now).

- The volcopy app is set up around the concept of passed in
'prototype' vol/copy objects of varying degrees of completeness.  It
then loops over these to generate the interface.  The previous code
extended this setup with a loop over a potential 'owners' array to
generate empty volumes, but this unrelated loop within a loop seemed
counterintuitive (and was the source of the original bug).  This change
has been removed, and empty volume creation now hews more closely to
the original model.

While this commit appears large, when viewed in the context of the
pre-920f58505 code, it is quite limited in scope.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1737812: Simplify holdings tranfser options
Mike Rylander [Sun, 29 Apr 2018 22:56:38 +0000 (18:56 -0400)]
LP#1737812: Simplify holdings tranfser options

Instead of providing direct actions for transfer of library, or record, or
both, have just one volume transfer option that Does the Right Thing (tm).

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoLP#1715697: Ability to add empty volumes
Mike Rylander [Wed, 25 Apr 2018 16:32:15 +0000 (12:32 -0400)]
LP#1715697: Ability to add empty volumes

Staff can add volumes to any library that is allowed to have holdings.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoLP#1715697 & 1738242 & 1753005: Holdings Filtering Checkboxes
Mike Rylander [Tue, 24 Apr 2018 19:21:37 +0000 (15:21 -0400)]
LP#1715697 & 1738242 & 1753005: Holdings Filtering Checkboxes

When the appropriate checkbox is selected, display subordinate libraries of
the context library that do not have any holdings or empty volumes.

Additionally, the holdings view checkboxes for limiting detail display can
cause console alerts, and should be made visually interdependent.  This commit
addresses both of those issues.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoLP#1710401: Z39.50 should notice overlay target change
Mike Rylander [Thu, 12 Jul 2018 15:03:44 +0000 (11:03 -0400)]
LP#1710401: Z39.50 should notice overlay target change

Currently, we record the overlay target at UI startup and use that going
forward until the interface is reloaded.  This commit inspects the local
storage version of the target for changes and offers the user the chance to
proceed with the new target or cancel the action.  If the target has been
unset, the user is given the option of proceeding with the load-time target.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoFix quote nesting issue in TAP test
Mike Rylander [Fri, 13 Jul 2018 13:56:13 +0000 (09:56 -0400)]
Fix quote nesting issue in TAP test

Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoStamping upgrade script
Mike Rylander [Thu, 12 Jul 2018 13:39:36 +0000 (09:39 -0400)]
Stamping upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP1773452: Repeating copy alerts
Jason Boyer [Thu, 21 Jun 2018 11:17:48 +0000 (07:17 -0400)]
LP1773452: Repeating copy alerts

Without considering the checkin_time on the most
recent circ for an item, checking in a lost, claims
returned, or claims never checked out item would
cause copy alerts on checkin repeatedly until it
was checked out again. Staff may be confused by this
thinking that there is a continuing problem with
the item until the alerts go away.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoStamping upgrade script
Mike Rylander [Thu, 12 Jul 2018 13:24:48 +0000 (09:24 -0400)]
Stamping upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP 1478712: Fix acq.fund_rollover_funds_by_org_tree DB function.
Jason Stephenson [Wed, 6 Jun 2018 18:59:41 +0000 (14:59 -0400)]
LP 1478712: Fix acq.fund_rollover_funds_by_org_tree DB function.

When looking for new funds, we need to also use the org unit from the
old fund because different org units may use the same fund code.  What
happens without this check is the second library to rollover ends up
assigning their rolled over debits to the first library that rolled
over or propagated funds with the same code.

Unfortunately, I do not know of a good way to test this branch with
the concerto data.  I will elaborate how I tested with a copy of our
production data in a test database below.

What I did to test with our production data was first to repair the
debits that had been moved to the wrong library's funds from the
previous year.  I then ran the acq.rollover_funds_by_org_tree function
for two libraries that share acq fund codes.  I verified that the fund
debits for the second library did indeed get assigned to funds with
the same code that were rolled over for the first library.  The debits
ended up on the newly propagated funds of the library that went first.

I reloaded the database, replaced the acq.rollover_funds_by_org_tree
function with the implementation from this branch, and repeated the
above steps.  The second library's debits rolled over to new funds
owned by that library as was expected.

This would be a good candidate for a pgtap test with additional data
added to concerto if anyone is feeling ambitious.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1749795 Close circ on adjustment when rebilled
Dan Wells [Mon, 30 Apr 2018 15:05:11 +0000 (11:05 -0400)]
LP#1749795 Close circ on adjustment when rebilled

When doing a re-bill, we were aborting too early when it rebilled to
exactly zero.  Move the 'zero' check to the top of the loop, and
thereby make sure we check if the xact can be closed if we do any
adjustment, up or down.

To test:
- Run new billing test from previous commit, see it fail
- Apply patch
- Run tests again; all should pass

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1751368 Items-out checkin of deleted copies
Bill Erickson [Tue, 19 Jun 2018 18:23:42 +0000 (14:23 -0400)]
LP#1751368 Items-out checkin of deleted copies

Allow deleted copies to be checked in from the patron items out list.
Checkin is based on copy ID instead of barcode.  Note that both values
are sent to the server, to reduce the number of changes in the UI code,
but the API inspects the ID first.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1669856 and LP#1776557: right clicks on egGrid
a. bellenir [Tue, 19 Jun 2018 22:25:05 +0000 (18:25 -0400)]
LP#1669856 and LP#1776557: right clicks on egGrid

select the row if right-clicking on a row that is not selected.
use the defult browser context-menu when right-clicking on links in eg grids.

Signed-off-by: a. bellenir <ab@grpl.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1730003 Courier code doesn't display in transit slip receipt preview
Garry Collum [Fri, 25 May 2018 20:31:21 +0000 (16:31 -0400)]
LP#1730003 Courier code doesn't display in transit slip receipt preview

Adds seed data for the transit and hold-transit slip preview in the print template editor.

To test add {{dest_courier_code}} as a variable in either the transit slip or hold transit slip template.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1736269: Mark Missing Pieces is non-functional
Mike Rylander [Fri, 1 Jun 2018 17:50:21 +0000 (13:50 -0400)]
LP#1736269: Mark Missing Pieces is non-functional

In the work to separate the item service into a reusable component, a
reference to $scope was left hanging around.  This causes the service to die
before it can complete its work.  The code using $scope does seem to be
necessary, so we'll have the function accept an outer_scope parameter and
adjust the call sites.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1745462: avoid trying to validate empty fields
Galen Charlton [Thu, 25 Jan 2018 19:57:40 +0000 (14:57 -0500)]
LP#1745462: avoid trying to validate empty fields

This patch is the belt to the previous patch's suspenders and ensures
that the web staff client does not attempt to authority-validate headings
fields in the MARC editor if they're empty (i.e., no subfield values).

To test
-------
[1] In the web staff client, create a new bib. Ensure that at least one of the
    authority-controlled fields has no subfield values.
[2] Hit the Validate button.
[3] Note that the field(s) with empty headings show the tick
    mark indicating that they've been "validated".
[4] Apply the patch and repeat steps 1 and 2. This time, empty headings
    field should not be checked.
[5] Verify that validating headings that are not empty does continue
    to work.

Patch inspired by Mike Rylander.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1745462: guard against scanning entire authority table
Galen Charlton [Thu, 25 Jan 2018 19:40:47 +0000 (14:40 -0500)]
LP#1745462: guard against scanning entire authority table

This patch ensures that if, for whatever reason, a MARC editor headings
validation action includes a field whose subfield values are empty, it
ignores any cases where the normalized heading works out to NULL or the
empty string. Otherwise, the database can be asked to fetch the IDs
of most/all records in the database, and open-ils.cstore backend can be
asked to store the entire result set in memory.

To test
-------
[0] Ensure that statement logging is turned on in the PostgreSQL database.
[1] In the web staff client, create a new bib. Ensure that at least one of the
    authority-controlled fields has no subfield values.
[2] Hit the Validate button.
[3] Note that the following query is logged by the database:

SELECT "are".id AS "id" FROM authority.record_entry AS "are"
WHERE "are".control_set = '1'
AND "are".deleted = 'f' AND "are".simple_heading IS NOT NULL;

[4] Apply the patch and repeat steps 1 and 2. This time, note that
    no such query is recorded.
[5] Verify that validating headings that are not empty does continue
    to work.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1537228 Precat subsequent checkin shows route alert
Bill Erickson [Wed, 23 May 2018 15:54:34 +0000 (11:54 -0400)]
LP#1537228 Precat subsequent checkin shows route alert

Display the 'route to cataloging' alert every time a precat copy is
checked in, consistent with the XUL client, instead of displaying
it only with the first checkin.

As with the first checkin, if the alert is configured not to display,
it will not show.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1746566: Enable 500, 1K, and all rows in more patron grids
Galen Charlton [Tue, 27 Mar 2018 18:56:23 +0000 (14:56 -0400)]
LP#1746566: Enable 500, 1K, and all rows in more patron grids

This enables the allowAll option in the Patron Items Checked Out
and Other/Special Circulations grids.

To test
-------
[1] Apply the patch.
[2] Verify that the Patron Items Checked Out, Other/Special Circulations,
    Non-Catalogued Circulations, and Holds grids now include row
    count options 500, 100, and All.
[3] Verify that the Item Status grid now includes the additional
    row count options.
[4] Verify that when choosing the "All" row count that you are prompted
    to confirm loading all of the rows.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1746566: Enable 500, 1K, and ALL-the-Rows in patron grids
Cesar Velez [Wed, 7 Feb 2018 17:05:10 +0000 (12:05 -0500)]
LP#1746566: Enable 500, 1K, and ALL-the-Rows in patron grids

This adds to the Patron (non-catalogued) Items Out, Patron Holds, and
Item Status grids an 'allowAll' grid feature which will enable the 500,
1K, and ALL (really 10K) rows/pagesize. For the ALL option a modal has
been wired to that the action can be confirmed, since it might be a
very slow operation.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1745207: tie together copy_tag() and site() search filters
Galen Charlton [Mon, 22 Jan 2018 23:01:00 +0000 (18:01 -0500)]
LP#1745207: tie together copy_tag() and site() search filters

The copy_tag() filter will now restrict itself to records that
have copies that both have matching copy tags and a circ_lib
within the site() scope.

To test
-------
[1] Define two digital bookplate copy tags at two difference org units, e.g.,
    "BR1 Smith" at BR1 and "BR4 Smith" at "BR4".
[2] Arrange that a record has items in both BR1 and BR4, and assign the "BR4 Smith"
    copy tag to one of the BR4 items.
[3] On a separate record, set up a similar situation, but use BR1 instead.
[4] Enable the digital bookplate search option and do a bookplate search
    for "Smith" with the scope limited to BR1.
[5] Note that both of the records set up in #2 and #3 are included in the results
    set.
[6] Apply the patch and repeat step 5. This time, only the record set up in #3
    should be included.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP1742782 - fix display of cbox label in list of removable fields
Cesar Velez [Thu, 11 Jan 2018 19:12:55 +0000 (14:12 -0500)]
LP1742782 - fix display of cbox label in list of removable fields

The checkbox input element was being displayed in the middle
of the label text.

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1738499: barcode completion for copy buckets
Jeff Davis [Tue, 6 Mar 2018 18:46:49 +0000 (10:46 -0800)]
LP#1738499: barcode completion for copy buckets

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1692116 - Action trigger validator fix for paid Long Overdue items
Michele Morgan [Thu, 14 Sep 2017 15:48:31 +0000 (11:48 -0400)]
LP#1692116 - Action trigger validator fix for paid Long Overdue items

Adds a check for a NULL xact_finish to the CircIsOpen validator. The
result is that overdue notification a/t events for Long Overdue items that
have been paid for, and the transaction closed, will be invalid.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>