working/Evergreen.git
7 years agoLP#1775466 Admin grid persist key options
Bill Erickson [Mon, 6 Aug 2018 14:33:40 +0000 (10:33 -0400)]
LP#1775466 Admin grid persist key options

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Local tweaks
Bill Erickson [Mon, 6 Aug 2018 14:04:19 +0000 (10:04 -0400)]
LP#1775466 Local tweaks

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Server settings continued, needs a bit more testing
Bill Erickson [Fri, 3 Aug 2018 22:41:16 +0000 (18:41 -0400)]
LP#1775466 Server settings continued, needs a bit more testing

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoMerge branch 'master' of git.evergreen-ils.org:Evergreen into collab/berick/lp1775466...
Bill Erickson [Fri, 3 Aug 2018 17:38:51 +0000 (13:38 -0400)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen into collab/berick/lp1775466-ang6-base-app

7 years agoLP#1775466 Support server-stored settings
Bill Erickson [Fri, 3 Aug 2018 17:38:46 +0000 (13:38 -0400)]
LP#1775466 Support server-stored settings

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 years agoLP#1775466 grid local/client sort support
Bill Erickson [Thu, 2 Aug 2018 22:13:53 +0000 (18:13 -0400)]
LP#1775466 grid local/client sort support

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoMerge branch 'master' of git.evergreen-ils.org:Evergreen into collab/berick/lp1775466...
Bill Erickson [Thu, 2 Aug 2018 20:29:55 +0000 (16:29 -0400)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen into collab/berick/lp1775466-ang6-base-app

7 years agoLP#1775466 Copy ang6 apache configs to 2.2 sample file
Bill Erickson [Thu, 2 Aug 2018 18:45:39 +0000 (14:45 -0400)]
LP#1775466 Copy ang6 apache configs to 2.2 sample file

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 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>
7 years agoLP#1775466 fm-editor and admin page org perm limits
Bill Erickson [Wed, 1 Aug 2018 22:17:46 +0000 (18:17 -0400)]
LP#1775466 fm-editor and admin page org perm limits

Apply view org perm limits in the admin page org selector.

Apply view/update/create org perm limits to org-selector's inside of
fm-editor panes.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Add limit perm option to org select
Bill Erickson [Wed, 1 Aug 2018 21:50:08 +0000 (17:50 -0400)]
LP#1775466 Add limit perm option to org select

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1770973 More local docs
Bill Erickson [Wed, 1 Aug 2018 20:51:48 +0000 (16:51 -0400)]
LP#1770973 More local docs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1770973 AngJS-compatible locale selector
Bill Erickson [Wed, 1 Aug 2018 20:31:06 +0000 (16:31 -0400)]
LP#1770973 AngJS-compatible locale selector

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Ang6 locale switching
Bill Erickson [Tue, 31 Jul 2018 19:30:41 +0000 (15:30 -0400)]
LP#1775466 Ang6 locale switching

* Add the locale to the URL path
* Support switching locales via the eg_locale cookie value
* Add docs on building a (for example) fr-CA locale bundle
* Add apache config examples to support locales.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoMerge branch 'master' of git.evergreen-ils.org:Evergreen into collab/berick/lp1775466...
Bill Erickson [Tue, 31 Jul 2018 15:24:12 +0000 (11:24 -0400)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen into collab/berick/lp1775466-ang6-base-app

7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 years agoLP#1775466 WS removal loop bug repair
Bill Erickson [Wed, 25 Jul 2018 20:22:09 +0000 (16:22 -0400)]
LP#1775466 WS removal loop bug repair

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoMerge branch 'master' of git.evergreen-ils.org:Evergreen into collab/berick/lp1775466...
Bill Erickson [Wed, 25 Jul 2018 19:44:21 +0000 (15:44 -0400)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen into collab/berick/lp1775466-ang6-base-app

7 years agoLP#1775466 Catalog paging and format repairs
Bill Erickson [Wed, 25 Jul 2018 19:33:09 +0000 (15:33 -0400)]
LP#1775466 Catalog paging and format repairs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 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>
7 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>
7 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>
7 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>
7 years agoLP#1775466 Tree widget expand by default
Bill Erickson [Tue, 24 Jul 2018 19:51:06 +0000 (15:51 -0400)]
LP#1775466 Tree widget expand by default

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Tree widget minor tweaks
Bill Erickson [Mon, 23 Jul 2018 21:43:09 +0000 (17:43 -0400)]
LP#1775466 Tree widget minor tweaks

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 String service queue pending
Bill Erickson [Mon, 23 Jul 2018 21:42:33 +0000 (17:42 -0400)]
LP#1775466 String service queue pending

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Tree widget
Bill Erickson [Wed, 18 Jul 2018 21:42:39 +0000 (17:42 -0400)]
LP#1775466 Tree widget

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Improve handling org_unit / boolean types
Bill Erickson [Tue, 17 Jul 2018 17:05:44 +0000 (13:05 -0400)]
LP#1775466 Improve handling org_unit / boolean types

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Grid column position improvements
Bill Erickson [Tue, 17 Jul 2018 17:05:12 +0000 (13:05 -0400)]
LP#1775466 Grid column position improvements

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Grid showFields option
Bill Erickson [Mon, 16 Jul 2018 20:26:30 +0000 (16:26 -0400)]
LP#1775466 Grid showFields option

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 years agoLP#1775466 Common form CSS
Bill Erickson [Thu, 12 Jul 2018 21:31:04 +0000 (17:31 -0400)]
LP#1775466 Common form CSS

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 StoreService marks all cookies secure
Bill Erickson [Thu, 12 Jul 2018 21:30:35 +0000 (17:30 -0400)]
LP#1775466 StoreService marks all cookies secure

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Grid pageOffset option continued
Bill Erickson [Thu, 12 Jul 2018 16:35:12 +0000 (12:35 -0400)]
LP#1775466 Grid pageOffset option continued

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Import grid/basic admin in staff common mod
Bill Erickson [Thu, 12 Jul 2018 16:10:05 +0000 (12:10 -0400)]
LP#1775466 Import grid/basic admin in staff common mod

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Grid pageOffset option continued
Bill Erickson [Thu, 12 Jul 2018 15:27:17 +0000 (11:27 -0400)]
LP#1775466 Grid pageOffset option continued

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Grid pageOffset option
Bill Erickson [Thu, 12 Jul 2018 15:04:40 +0000 (11:04 -0400)]
LP#1775466 Grid pageOffset option

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Dialog robustification
Bill Erickson [Wed, 11 Jul 2018 18:55:55 +0000 (14:55 -0400)]
LP#1775466 Dialog robustification

In certain circumstances, the close() operation can be called after the
dismiss() operation (blur action maybe?) which tries to invoke a method
on a now-null reference.  Avoid said invocation.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 years agolp1739286 default search box in Z39.50
Jason Etheridge [Tue, 10 Jul 2018 23:46:04 +0000 (19:46 -0400)]
lp1739286 default search box in Z39.50

This change tweaks the layout of search fields in the web client Z39.50
interface and adds radio buttons for the default search field to auto-focus.
The behavior is "sticky" without the need for an explicit Save action.  If the
current default field is not present due to a given combination of selected
services, then no field will be focused by default.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
7 years agoLP#1775466 Grid vert expand fixes; lint updates
Bill Erickson [Wed, 11 Jul 2018 14:35:05 +0000 (10:35 -0400)]
LP#1775466 Grid vert expand fixes; lint updates

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Grid vert expand top-level option
Bill Erickson [Tue, 10 Jul 2018 21:59:30 +0000 (17:59 -0400)]
LP#1775466 Grid vert expand top-level option

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Common catalog mod; marchtml repairs
Bill Erickson [Tue, 10 Jul 2018 21:24:21 +0000 (17:24 -0400)]
LP#1775466 Common catalog mod; marchtml repairs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1775466 Marc html view genericized
Bill Erickson [Tue, 10 Jul 2018 16:46:28 +0000 (12:46 -0400)]
LP#1775466 Marc html view genericized

Signed-off-by: Bill Erickson <berickxx@gmail.com>