working/Evergreen.git
2 years agoLP#1689656: Adjust to zero on negative balance
Jeff Davis [Tue, 9 May 2017 21:17:29 +0000 (14:17 -0700)]
LP#1689656: Adjust to zero on negative balance

Adjust to zero was not actually adjusting to zero on negative balances
in at least some cases.  This patch corrects that behavior.

Test plan:

[1] Generate multiple overdue billings on an overdue circ.
[2] Apply a payment (cash or forgive) to resolve the overdue billings.
[3] Checkin the item using backdated checkin or amnesty mode, such that
    the overdue billings are automatically voided, resulting in a
    negative balance.
[4] Adjust to zero.  A single new manual adjustment billing is created,
    reinstating one overdue billing, and then the adjust-to-zero process
    exits.  The negative balance has been reduced by the amount of one
    overdue billing, rather than being fully adjusted to zero.
[5] Apply the patch and restart services.
[6] Repeat steps 1-3 with a new circulation.
[7] Adjust to zero.  This time, the balance should be correctly adjusted
    to zero, instead of exiting prematurely with an outstanding
    negative balance.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 years agoLP#1689656 Add test for manual adjustment of negative balance
Dan Wells [Thu, 20 Jul 2017 22:10:15 +0000 (18:10 -0400)]
LP#1689656 Add test for manual adjustment of negative balance

Without the fix in LP#1689656, this test fails.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 years agoLP#1680110 Webstaff circ.staff_client.receipt.* AOUS support
Bill Erickson [Wed, 5 Apr 2017 20:58:53 +0000 (16:58 -0400)]
LP#1680110 Webstaff circ.staff_client.receipt.* AOUS support

Support fetching and adding server-configured strings to print receipts
scope so they can be added to receipts.

Currently supported settings:

circ.staff_client.receipt.alert_text
circ.staff_client.receipt.event_text
circ.staff_client.receipt.footer_text
circ.staff_client.receipt.header_text
circ.staff_client.receipt.notice_text

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Lynn Floyd <lfloyd@andersonlibrary.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1702756: follow-up - tidy some ersatz whitespace
Galen Charlton [Wed, 19 Jul 2017 15:57:31 +0000 (11:57 -0400)]
LP#1702756: follow-up - tidy some ersatz whitespace

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1702756 - WebStaff fix for bug that was introduced by 997e2772
Cesar Velez [Mon, 10 Jul 2017 20:47:26 +0000 (16:47 -0400)]
LP#1702756 - WebStaff fix for bug that was introduced by 997e2772

While addressing LP#1696495 fixed the bug of user settings caching
improperly between patron edits, it caused an issue when the regctl
was loaded for registering a new patron. This corrects that.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1700773: move release notes entry to client section
Galen Charlton [Wed, 19 Jul 2017 15:41:15 +0000 (11:41 -0400)]
LP#1700773: move release notes entry to client section

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP1700773: Add Circ Mod to Staff TPAC
Jason Boyer [Mon, 17 Jul 2017 14:48:02 +0000 (10:48 -0400)]
LP1700773: Add Circ Mod to Staff TPAC

Add the Circ Modifier to the Record Detail page
in the staff opac so users don't have to go back
and forth between Holdings Maintenance as often.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1669907: add comment about underlying cause of the bug
Galen Charlton [Wed, 19 Jul 2017 15:12:29 +0000 (11:12 -0400)]
LP#1669907: add comment about underlying cause of the bug

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1669907: Web Staff Bib record Holds View dups
Cesar Velez [Mon, 26 Jun 2017 16:25:06 +0000 (12:25 -0400)]
LP#1669907: Web Staff Bib record Holds View dups

In the webstaff client, switching from the View Holds tab
to the OPAC View and back would result in the list of hold
requests getting duplicated.

This patch fixes the problem.

Caching of tab data is explicitly not being done ATM,
so this takes care of the issue for now.

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1697066: changing copy location search box from 3 to 4
Rogan Hamby [Fri, 9 Jun 2017 18:44:12 +0000 (14:44 -0400)]
LP#1697066: changing copy location search box from 3 to 4

This patch makes the number of options displayed in the
shelving location selector on the public catalog advanced
search page 4, matching the other selectors.

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1486451: Remove rdetails_status nowrap style
Kathy Lussier [Tue, 11 Jul 2017 17:08:23 +0000 (13:08 -0400)]
LP#1486451: Remove rdetails_status nowrap style

The copy details table was styled to not wrap, which sometimes pushed table
contents off the page, particularly when some of the copies are conjoined
items. This commit removes the style that was preventing wrapping.

Test plan:
Load record 15 in the Concerto dataset. Before the patch is loaded, you'll
see that some of the content in the copy details table is pushed off the
screen and requires horizontal scrolling. Post-patch, all of the copy
details will display on screen without horizontal scrolling. In addition
to the change in the Conjoined Items, you also might see some text wrapping
in the Shelving Location and Status columns.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1691560: start open-ils.qstore service by default
Galen Charlton [Sat, 20 May 2017 13:36:06 +0000 (09:36 -0400)]
LP#1691560: start open-ils.qstore service by default

To test
-------
[1] Apply patch, then restart all services.
[2] Verify that open-ils.qstore is running.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1692106: Z39.50 server includes prefix and suffix in 852
Martha Driscoll [Thu, 25 May 2017 18:39:30 +0000 (14:39 -0400)]
LP#1692106: Z39.50 server includes prefix and suffix in 852

Add the call number prefix and suffix to the 852 $k and $m when copy
information is returned by the Z39.50 server.

Signed-off-by: Martha Driscoll <driscoll@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP1704463: Item Status Fields Correction
Jason Boyer [Fri, 14 Jul 2017 19:01:09 +0000 (15:01 -0400)]
LP1704463: Item Status Fields Correction

The Loan Duration and Fine Level fields were
being incorrectly pulled from unrelated fields
on the most recent circ rather than the item.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoDocs: Search Filter Enhancements
Angela Kilsdonk [Thu, 13 Jul 2017 20:17:39 +0000 (13:17 -0700)]
Docs: Search Filter Enhancements

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
2 years agoDocs: Update to Statistical Popularity Badges
Angela Kilsdonk [Thu, 13 Jul 2017 16:39:56 +0000 (09:39 -0700)]
Docs: Update to Statistical Popularity Badges

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
2 years agoDocs: Statistical Popularity Badges
Angela Kilsdonk [Thu, 13 Jul 2017 15:38:10 +0000 (08:38 -0700)]
Docs: Statistical Popularity Badges

Documentation for new statistical popularity badge feature in the web client.

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
2 years agoDocs: Email Checkout Receipts (web client)
Angela Kilsdonk [Wed, 12 Jul 2017 21:43:06 +0000 (14:43 -0700)]
Docs: Email Checkout Receipts (web client)

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
2 years agoDocs: Add doc for Cash Reports feature
Jane Sandberg [Fri, 7 Jul 2017 12:39:14 +0000 (08:39 -0400)]
Docs: Add doc for Cash Reports feature

Add basic documentation for the previously undocumented Cash Reports
feature.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
2 years agolp1702568 Copy Location fix for Hold Detail View
Jason Etheridge [Wed, 5 Jul 2017 21:02:43 +0000 (17:02 -0400)]
lp1702568 Copy Location fix for Hold Detail View

hold.current_copy.location is better fleshed than copy.location in this case

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
2 years agolp1661685 fix circ lib in patron holds list
Jason Etheridge [Mon, 3 Jul 2017 17:47:25 +0000 (13:47 -0400)]
lp1661685 fix circ lib in patron holds list

and make it and the circ modifier column hidden by default

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
2 years agolp1661685 webstaff: Circ Lib column for Items Out
Jason Etheridge [Fri, 30 Jun 2017 20:45:30 +0000 (16:45 -0400)]
lp1661685 webstaff: Circ Lib column for Items Out

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
2 years agolp1661685 webstaff: Fix Owning Lib in Item Status
Jason Etheridge [Wed, 28 Jun 2017 18:58:37 +0000 (14:58 -0400)]
lp1661685 webstaff: Fix Owning Lib in Item Status

Detail View

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
2 years agolp1661685 fieldmapper label change for circ
Jason Etheridge [Wed, 28 Jun 2017 18:41:53 +0000 (14:41 -0400)]
lp1661685 fieldmapper label change for circ

Change "Circulation Library" to "Checkout / Renewal Library"

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
2 years agolp1661685 webstaff: add money.grocery to pcrud
Jason Etheridge [Wed, 28 Jun 2017 18:40:02 +0000 (14:40 -0400)]
lp1661685 webstaff: add money.grocery to pcrud

and add a single column called Location to the Bills interface which shows
either the circ.circ_lib or the grocery.billing_location for a given xact

and the specific columns for both xact types

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
2 years agoLP#1685933 - Add Owning Library column to grids in ItemsOut and checkout views
Cesar Velez [Thu, 15 Jun 2017 15:30:48 +0000 (11:30 -0400)]
LP#1685933 - Add Owning Library column to grids in ItemsOut and checkout views

Added necessary fleshing in egCirc service and items out to get acn.owning_lib.shortname

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

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
2 years agoLP#1661685 - Adds circ library column to staff webclient grids
Cesar Velez [Wed, 14 Jun 2017 21:14:14 +0000 (17:14 -0400)]
LP#1661685 - Adds circ library column to staff webclient grids

Circulation Library was missing as an option from several grids
Added also function to flesh out circ_lib.shortname to display name.

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

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
2 years agoLP#1661685 - Adds missing Circulation Modifier column to several grids
Cesar Velez [Fri, 9 Jun 2017 21:36:16 +0000 (17:36 -0400)]
LP#1661685 - Adds missing Circulation Modifier column to several grids

Some views like the Checkout,CheckIn, Holds, And Bills
 did not display the copy's circ_modifier field.
 Also added egCirc.flesh_copy_circ_modifier()

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

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
2 years agoLP#1697754 - WebStaff make receipt on payment sticky
Cesar Velez [Fri, 23 Jun 2017 16:45:15 +0000 (17:45 +0100)]
LP#1697754 - WebStaff make receipt on payment sticky

    Add circ.bills.receiptonpay local storage setting.

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

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
2 years agoLP#1677000 - webstaff Adds a 'has-notes visual indicator' for patrons with notes.
Cesar Velez [Thu, 8 Jun 2017 15:33:31 +0000 (11:33 -0400)]
LP#1677000 - webstaff Adds a 'has-notes visual indicator' for patrons with notes.

Made the indicator be clickable and route to Other->Notes.
Other ways to address this not mentioned in LP would be
using a glyphicon instead, or moving the Notes submenu item out of Others tab.
Or even making the entire tab/menu be resposive, and collapsing into an Others submenu
only when needed.

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

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
2 years agoLP#1672421-Fix for Catalog record Holds view grid not refreshing
Cesar Velez [Wed, 21 Jun 2017 21:02:24 +0000 (17:02 -0400)]
LP#1672421-Fix for Catalog record Holds view grid not refreshing

Holds view grid was not refreshing upon paging using next/prev
Added call to egHolds service to fix that.

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

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
2 years agoLP#1653998 Remove undefined $routeProvider reference
Bill Erickson [Fri, 30 Jun 2017 15:24:12 +0000 (11:24 -0400)]
LP#1653998 Remove undefined $routeProvider reference

Avoid 'grunt test' failure "Unknown provider: $routeProvider" resulting
from $routeProvider references in startup.js (egCoreMod) without first
loading the ngRoute module.

$routeProvider is not needed by the original patch.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agolp1517595 webstaff: purge patron account action
Jason Etheridge [Thu, 15 Jun 2017 16:58:19 +0000 (12:58 -0400)]
lp1517595 webstaff: purge patron account action

TODO: disable the menu entry based on permissions

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agowebstaff: CSS for disabled anchor <a> elements
Jason Etheridge [Thu, 15 Jun 2017 15:29:59 +0000 (11:29 -0400)]
webstaff: CSS for disabled anchor <a> elements

Don't let bootstrap override the grey color (for example, when using dropdown-menu)

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoFix Can't locate object method "workstation" error
Jason Etheridge [Tue, 17 Jan 2017 21:39:58 +0000 (16:39 -0500)]
Fix Can't locate object method "workstation" error

When trying to utilize the Recall functionality, Evergreen would fail to update
targeted circulations (truncate the due date, etc.)  In the logs, we would have
an error like this:

[] open-ils.storage [ERR ::action.pm:1597:] Processing of hold failed:
Can't locate object method "workstation" via package "action::circulation" at
/usr/local/share/perl/5.14.2/OpenILS/Application/Storage/CDBI.pm line 181.

We first tried adding the workstation column to Storage/CDBI/action.pm, but a
similar message would then appear instead: Can't locate object method
"checkin_workstation"

This sidesteps the problem entirely.

Thanks to Mike for the solution!

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1205190: more CSS tweaks
Galen Charlton [Mon, 15 May 2017 18:01:52 +0000 (14:01 -0400)]
LP#1205190: more CSS tweaks

* replace a few more "background" with "background-color"

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1205190: TPAC: Improve style.css to reduce warnings
Dan Scott [Fri, 26 Jul 2013 04:05:49 +0000 (00:05 -0400)]
LP#1205190: TPAC: Improve style.css to reduce warnings

* Improve specificity: use background-image (for gradients) or
  background-color (for color) instead of just background, because we
  are only specifying the image or color, and not the rest of the
  background properties.
* Declare the background-color first, followed by the background-images;
  these will only override if recognized by the browser.
* Declare the standard (unprefixed) CSS linear-gradient last to prevent
  prefixed browser quirk versions from overriding the standardized form.
* Remove the -moz- prefix from -moz-border-radius as that has not been
  supported by Gecko since Firefox 13.0; just plain border-radius now.
* Fix bad selector ##rdetail_extras_expand (only one #, please).

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2

Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1205190: quiet some CSS Mozilla extensions warnings.
Pasi Kallinen [Thu, 1 Aug 2013 08:21:17 +0000 (11:21 +0300)]
LP#1205190: quiet some CSS Mozilla extensions warnings.

* -moz-dialog-text is actually -moz-dialogtext
* -moz-outline is deprecated, use outline
* -moz-border-radius has been removed, use border-radius
* -moz-border-radius-topleft (etc) are now border-top-left-radius
* Fix some other CSS errors.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2
Open-ILS/web/css/skin/default/register.css
Open-ILS/web/opac/skin/default/xml/home/homesearch.xml
Open-ILS/web/reports/oils_rpt.css
Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml
Open-ILS/xul/staff_client/server/serial/notes.xul
Open-ILS/xul/staff_client/server/skin/circ.css

Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1697954 Items out fetch grids only when needed
Bill Erickson [Thu, 29 Jun 2017 18:51:40 +0000 (14:51 -0400)]
LP#1697954 Items out fetch grids only when needed

Avoid forcing a refresh of Items Out grids in cases where the grids will
automatically refresh as a new grid is instantiated.  This prevents the
code from calling redundant data collection APIs, resulting in local
cache's with duplicate data sets.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1697954 Items out pre-fetch renders selected range
Bill Erickson [Thu, 29 Jun 2017 15:55:26 +0000 (11:55 -0400)]
LP#1697954 Items out pre-fetch renders selected range

Items out and noncat items out grids now only render the selected range
of transactions, instead of the full set collected for client-side grid
sorting.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1697954 Notify correct page of patron holds
Mike Rylander [Thu, 22 Jun 2017 16:09:26 +0000 (12:09 -0400)]
LP#1697954 Notify correct page of patron holds

Instead of notifying the grid on all holds, just notify when we're inside
the current page of results.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954 Hold details API additional fleshing
Bill Erickson [Wed, 21 Jun 2017 16:09:37 +0000 (12:09 -0400)]
LP#1697954 Hold details API additional fleshing

* Support new flesh options in hold details retrieval API:

include_current_copy
include_usr
include_cancel_cause
include_requestor

* Teach browser client code to use the new flesh options.  This reduces
  the number of API calls significantly for rendering holds grids.

* Add debug logging to existing local-flesh calls to indicate when/if
  additional API fleshing may be needed.

* Remove TODO comment about batching holds to avoid cstore exhaustion,
  which was fixed with LP#1653001.  However, leave the batching in place
  since it noticeably improves UI responsiveness, at the cost of a few
  extra API calls.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1697954 TODO comments for client sort all-fetching
Bill Erickson [Wed, 21 Jun 2017 15:35:15 +0000 (11:35 -0400)]
LP#1697954 TODO comments for client sort all-fetching

Add additional code comments further clarifying why some grids pre-fetch
all rows (for client-side sorting) instead of fetching in pages.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1697954: Enable clientsort for user items out lists
Mike Rylander [Wed, 14 Jun 2017 15:53:11 +0000 (11:53 -0400)]
LP#1697954: Enable clientsort for user items out lists

These will generally be small, so we'll fetch all the data to support client-
side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954: Enable clientsort for user holds lists
Mike Rylander [Wed, 14 Jun 2017 15:51:53 +0000 (11:51 -0400)]
LP#1697954: Enable clientsort for user holds lists

These will generally be small, so we'll fetch all the data to support client-
side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954: Enable clientsort for checkout
Mike Rylander [Wed, 14 Jun 2017 15:51:24 +0000 (11:51 -0400)]
LP#1697954: Enable clientsort for checkout

This list is filled by the user, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954: Provide custom comparator for sorting money on renew
Mike Rylander [Wed, 14 Jun 2017 16:07:52 +0000 (12:07 -0400)]
LP#1697954: Provide custom comparator for sorting money on renew

mbts.balance_owed often arrives as a string, so we provide here a custom
comparator function that runs the values through parseFloat() before comparing
them.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954: Enable clientsort for renew
Mike Rylander [Wed, 14 Jun 2017 15:50:52 +0000 (11:50 -0400)]
LP#1697954: Enable clientsort for renew

This list is filled by the user, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954: Enable clientsort for pending patrons
Mike Rylander [Wed, 14 Jun 2017 15:50:08 +0000 (11:50 -0400)]
LP#1697954: Enable clientsort for pending patrons

This list always retreives all data, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954: Provide custom comparator for sorting money on checkin
Mike Rylander [Wed, 14 Jun 2017 16:11:27 +0000 (12:11 -0400)]
LP#1697954: Provide custom comparator for sorting money on checkin

mbts.balance_owed often arrives as a string, so we provide here a custom
comparator function that runs the values through parseFloat() before comparing
them.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954: Enable clientsort for checkin
Mike Rylander [Wed, 14 Jun 2017 15:49:12 +0000 (11:49 -0400)]
LP#1697954: Enable clientsort for checkin

This list is filled by the user, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954: Enable clientsort for item status list
Mike Rylander [Wed, 14 Jun 2017 15:47:48 +0000 (11:47 -0400)]
LP#1697954: Enable clientsort for item status list

This list is filled by the user, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1697954: Provide client-side sorting for grids that can use it
Mike Rylander [Wed, 14 Jun 2017 15:32:36 +0000 (11:32 -0400)]
LP#1697954: Provide client-side sorting for grids that can use it

There are several grids (items out, checkin, checkout, item status, etc) that
could benefit from the ability to sort their items, but either the data
provider uses a complex data structure or an API call that doesn't offer
sorting, or the item list is populated by user input rather than a call to the
server.  In those cases, sorting is not available.  However, if we know that
all the data in the grid is in client memory, it would be reasonable to offer
a client-side sort option.

This commit does that by teaching the grid to accept a "clientsort" feature
and teaching arrayNotifier how to sort the items currently stored.  The sort
works over any mix of IDL objects, hashes, and flattened fields, supports
multisort, and pushes "nulls" to the end of the list.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agolp1678152 webstaff fix Add Copies & Volumes
Jason Etheridge [Mon, 26 Jun 2017 12:11:28 +0000 (08:11 -0400)]
lp1678152 webstaff fix Add Copies & Volumes

Changes open-ils.cat.asset.volume.fleshed.batch.update,
AssetCommon::create_volume, and Cat::Merge::merge_volumes
to handle auto-volume merges during volume creation.

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1687125: add release notes
Galen Charlton [Thu, 29 Jun 2017 16:03:53 +0000 (12:03 -0400)]
LP#1687125: add release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1687125: adjust relationship between acqpro and acqpron
Galen Charlton [Thu, 29 Jun 2017 14:14:17 +0000 (10:14 -0400)]
LP#1687125: adjust relationship between acqpro and acqpron

A provider can have many notes, and "provider_notes" is effectively
virtual.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1687125: adding provider note to provider note in fm_IDL
Rogan Hamby [Fri, 28 Apr 2017 23:08:50 +0000 (19:08 -0400)]
LP#1687125: adding provider note to provider note in fm_IDL

This patch makes provider notes available to the reporter.

To test
-------
[1] Add a note to a provider record (note that at present,
    this can only be done directly in the database).
[2] In the report editor, verify that the reporting
    source for providers now includes a link to notes.
[3] Create and run a report that includes the provider
    note.

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1208875: Add Release Note
Jason Stephenson [Tue, 27 Jun 2017 14:20:22 +0000 (10:20 -0400)]
LP#1208875: Add Release Note

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLP#1208875: follow-up to standardize extract fields
Galen Charlton [Fri, 2 Jun 2017 17:13:50 +0000 (13:13 -0400)]
LP#1208875: follow-up to standardize extract fields

This patch removes the proposed custom methods for extracting
title, author, and record format in favor of tweaking
->fetch_user_circ_history to invoke unapi.bre and adjusting
the template to use get_marc_attrs. Also, nowadays
->fetch_user_circ_history can flesh what we need it to without
having to rely on the existance of an action.circulation row,
which won't be present if the circ was aged but was otherwise
retained in the user circ history.

The result is slower than the previous approach, but still
retains the core idea of getting A/T out of the equation, and remains
much faster than the A/T approach.

Dropping use of unapi.bre would speed things up a bit more, as it
was added only to match the addition of the record format column
in the CSV output. Drop the column, and we no longer need to worry
about MVFs.

There would also be opportunities to improve caching further.  Bib
display fields, when it comes, will likely help even more, as it
would mean being able to drop a lot of the XML parsing currently used.

This patch also adjusts misc_util.tt2 so that including it doesn't
result in an unwanted blank line.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agolp1208875 make _get_circ_history_csv work with fetch_user_circ_history
Jason Etheridge [Fri, 2 Jun 2017 06:08:26 +0000 (02:08 -0400)]
lp1208875 make _get_circ_history_csv work with fetch_user_circ_history

braindead adaptation.. _get_circ_history_csv predates fetch_usre_circ_history

I haven't scrutinized what the two circ_history subs actually do, but I bet
there's room for improvement here.

However, as it is now we do get a significant speed boost.  Thanks Dyrcona!

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLP#1208875: Use text/csv MIME for circ history CSV.
Jason Stephenson [Mon, 9 Jun 2014 18:48:16 +0000 (14:48 -0400)]
LP#1208875: Use text/csv MIME for circ history CSV.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLP 1208875: Fix circ history CSV download for many circulations.
Jason Stephenson [Fri, 6 Jun 2014 20:07:11 +0000 (16:07 -0400)]
LP 1208875: Fix circ history CSV download for many circulations.

We no longer retrieve a user's circ history for download via
action/trigger and instead build the CSV data right in the TPAC.
The reason for this change is that action/trigger imposes just
too much of a delay between initiating the retrieval and getting
the data, particulary for patrons who have a large number of
circulation history entries, for certain values of large.

The new code uses the CStoreEditor to make JSON queries to retrieve
only the information needed for CSV.  Testing revealed that using
the existing fetch_user_circs method in EGCatLoader/Account.pm was
still too slow for the more extreme patrons.  The new code also
caches most of the retrieved bibliographic data.  Testing revealed
that most patrons get multiple checkouts of the same things, or
multiple parts of a multiple part television series.  Caching the
bib data for these records has shaved several seconds off retrieval
time in testing.

This branch makes use of a new, MVF, view when retrieving format
information.  It is thus unsuitable as-is for backport before
2.6.

Along the way, we have accreted a generically reusable CSV filter
for Template Toolkit.  That could be useful not only in other
parts of Evergreen, but in other projects.

Finally, this commit leaves the old action/trigger code in the
database.  Right now, it makes a good reference if anyone wants
to study what has been changed.  It can be removed later, if so
desired.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agolp1653998 webstaff redirect to login page
Jason Etheridge [Thu, 15 Jun 2017 21:18:16 +0000 (17:18 -0400)]
lp1653998 webstaff redirect to login page

on invalid/non-existent authtoken in all or most interfaces (hopefully)

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoForward-port 2.12.3 upgrade script
Dan Wells [Wed, 21 Jun 2017 21:54:16 +0000 (17:54 -0400)]
Forward-port 2.12.3 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 years agoForward-port 2.11.6 upgrade script
Dan Wells [Wed, 21 Jun 2017 21:52:36 +0000 (17:52 -0400)]
Forward-port 2.11.6 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 years agoi18n: fix syntax for Spanish lang.dtd
Ben Shum [Wed, 21 Jun 2017 19:14:55 +0000 (15:14 -0400)]
i18n: fix syntax for Spanish lang.dtd

As noted by FreddyEnrique in IRC, there was a syntax problem for the Spanish
file lang.dtd that caused an error when trying to open the Closed Date Editor.

Signed-off-by: Ben Shum <ben@evergreener.net>
2 years agoDocs: 2.12.3 Release Notes
Kathy Lussier [Wed, 21 Jun 2017 18:08:29 +0000 (14:08 -0400)]
Docs: 2.12.3 Release Notes

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoDocs: 2.11.6 Release Notes
Kathy Lussier [Wed, 21 Jun 2017 17:13:46 +0000 (13:13 -0400)]
Docs: 2.11.6 Release Notes

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1665465 - Fix Print receipt on payment cbox not bound to model
Cesar Velez [Mon, 5 Jun 2017 21:50:18 +0000 (17:50 -0400)]
LP#1665465 - Fix Print receipt on payment cbox not bound to model

Seems that Angular for some reason has issues binding to literals...
According to the interwebs it's likely due to scope nesting via ng-include

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

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1665115-WebStaff add longoverdue items count to Items Out
Cesar Velez [Thu, 15 Jun 2017 19:56:48 +0000 (15:56 -0400)]
LP#1665115-WebStaff add longoverdue items count to Items Out

Longover due items should always, be reflected in total tally count
Which is what displays in the ItemsOut tab and Patron summary area.

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

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1642035-Small DRY refactor to regctl.js compress_hold_notify()
Cesar Velez [Fri, 2 Jun 2017 19:20:14 +0000 (15:20 -0400)]
LP#1642035-Small DRY refactor to regctl.js compress_hold_notify()

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

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agolp1642035: Replace SMS Carrier Dropdown
Jason Boyer [Thu, 1 Jun 2017 12:28:45 +0000 (08:28 -0400)]
lp1642035: Replace SMS Carrier Dropdown

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agolp1642035: Editing User Hold Preferences
Jason Boyer [Wed, 31 May 2017 19:29:46 +0000 (15:29 -0400)]
lp1642035: Editing User Hold Preferences

The JS for hold notification values was replacing rather
than concatenating so only the furthest-right true value
would be saved. And because an ng-if directive creates
a child scope[1], the hold_notify_sms primitive could
never be true. Changed hold_notify_* to an object to
avoid this.

An ng-model directive was added to enable
opac.default_sms_notify but opac.default_sms_carrier
will still require some work to enable / replace.

[1]:https://github.com/angular/angular.js/wiki/Understanding-Scopes

Testing:

pre-patch:
Try to do anything with default sms number, fail.
Try to set more than one of phone + email notification, fail.
Try to set sms notification to anything, fail.

post-patch:
Default sms notify value is populated and can be changed.
All 8 possible combinations of hold notify options can be set.

Still can't set opac.default_sms_carrier value, needs additional work.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1696495-WebStaff fix user_settings data caching between patron views
Cesar Velez [Mon, 19 Jun 2017 21:40:38 +0000 (17:40 -0400)]
LP#1696495-WebStaff fix user_settings data caching between patron views

Appends a few promises to make sure that the user_settings are refreshed
each time a user is loaded from within patron app.
Note that testing this requires that LP1642035's fix be in place...
Otherwise you can't properly add user_settings inputs in Webstaff.

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

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1679309: Don't persist advanced search format filters in searchbar
Jeff Davis [Mon, 3 Apr 2017 21:21:33 +0000 (14:21 -0700)]
LP#1679309: Don't persist advanced search format filters in searchbar

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1693560: Remove permission check for retrieve tag table function
Kathy Lussier [Tue, 20 Jun 2017 20:31:43 +0000 (16:31 -0400)]
LP#1693560: Remove permission check for retrieve tag table function

The permission check for the retrieve tag table function was preventing
users who don't have the UPDATE_MARC permssion from performing searches
in the staff catalog. Since there's nothing confidential in the table,
this commit removes that permission check. Thanks to Jason Boyer for
finding the source of the problem.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1691473 Internal Apache HTTP port configuration
Bill Erickson [Wed, 24 May 2017 20:00:09 +0000 (16:00 -0400)]
LP#1691473 Internal Apache HTTP port configuration

Adds an optional new Apache/mod_perl configuration variable for defining
the port Apache listens on for HTTP traffic.  This resolves an issue
where added content lookups attempting HTTP requests on the local Apache
instance on port 80 failed because Apache was using non-standard ports.

To test:

[1] Set a value for OILSWebInternalHTTPPort that's not "80".
[2] Restart/reload Apache
[3] Load a record detail in the catalog
[4] Confirm opensrf logs show:

"tpac: added content connecting to <ip-address>:<new-port> / <hostname>

<new-port> should be the value configured for OILSWebInternalHTTPPort.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1694696 - Check for blank SMS Carriers in A/T reactor
Chris Sharp [Wed, 31 May 2017 12:22:58 +0000 (08:22 -0400)]
LP#1694696 - Check for blank SMS Carriers in A/T reactor

Currently, the get_sms_gateway_email subroutine does not check
for the truthiness of sms_carrier, which can result in catastrophic
failure for a running server.  This adds that check.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1694696: add some unit tests for A/T helpers
Galen Charlton [Tue, 20 Jun 2017 18:56:43 +0000 (14:56 -0400)]
LP#1694696: add some unit tests for A/T helpers

In particular, start with get_sms_gateway_email().

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1244547: add release notes
Galen Charlton [Tue, 20 Jun 2017 16:34:06 +0000 (12:34 -0400)]
LP#1244547: add release notes

Since this feature is tiny, I'm starting a miscellaneous
section for any other further tiny enhancements in the
'Administration' section.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1244547 Fix reference to new isFiltered variable
Remington Steed [Wed, 14 Jun 2017 16:43:39 +0000 (12:43 -0400)]
LP#1244547 Fix reference to new isFiltered variable

This commit completes the intention of the previous commit, which
accidentally checked the isFiltered object instead of its value.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1244547 Maintain Filter Settings on Library Settings Editor
Adam Bowling [Thu, 22 Jan 2015 16:20:28 +0000 (11:20 -0500)]
LP#1244547 Maintain Filter Settings on Library Settings Editor

After applying a filter to the rows on the Library Settings
Editor, and then selecting a different OU, the filter settings
are not considered unless the user clicks the "Filter" button
once again.

This patch maintains the filter settings on the edior until
the user clicks the "Clear Filter" button.

Signed-off-by: Adam Bowling <abowling@emeralddata.net>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1642042 Webstaff noncat real-time display
Bill Erickson [Fri, 19 May 2017 16:05:47 +0000 (12:05 -0400)]
LP#1642042 Webstaff noncat real-time display

Update non-cat counts in the patron summary side bar and show the full
set of non-cat circs in the Non-Cataloged Circulations tab as non-cat
circs occur in the patron checkout interface.

Consistent with the XUL client, avoid updating tab-level 'items out'
counts with non-cat circs.

Adds a new work log action for 'noncat_checkout' so the correct data can
be extracted.  As with the XUL client, this appears in the work log as a
'checkout' with no copy.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1686194 Account for adjustments when generating fines
Dan Wells [Mon, 24 Apr 2017 18:29:04 +0000 (14:29 -0400)]
LP#1686194 Account for adjustments when generating fines

Fine generation stops at a predetermined 'max fines' amount, but this
does not account for possible adjustments which lower the effective
fine amount.  This situation is common in cases where lost items are
returned, and the library wants to generate additional overdues upon
that event.

With this commit, fine generation will pull in any adjustments applied
to overdue fines, and use those to offset the current total fine when
checking for max fines.

Also includes test for this condition.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoRemove testrunner-breaking trailing JS comma
Bill Erickson [Mon, 19 Jun 2017 21:11:40 +0000 (17:11 -0400)]
Remove testrunner-breaking trailing JS comma

Remove unnecessary comma that causes JS tests to fail, while allowing
the code to run fine in the browser.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1691237: stamp schema update
Galen Charlton [Mon, 19 Jun 2017 16:18:19 +0000 (12:18 -0400)]
LP#1691237: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agolp1691237 release notes for new date fmt settings
Jason Etheridge [Mon, 12 Jun 2017 19:05:56 +0000 (15:05 -0400)]
lp1691237 release notes for new date fmt settings

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1691237 Date settings retrieval via egEnv
Bill Erickson [Fri, 9 Jun 2017 20:01:14 +0000 (16:01 -0400)]
LP#1691237 Date settings retrieval via egEnv

Avoid multiple .resolve() calls on the main egStartup promise by asking
egEnv to fetch the new date/time org unit settings.  Related, make the
pathway for adding new universally-loaded data functions more obvious
and consistent in egStartup by putting them right up at the top.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agolp1691237 webstaff: fix Format Dates and Format Times
Jason Etheridge [Mon, 5 Jun 2017 21:32:55 +0000 (17:32 -0400)]
lp1691237 webstaff: fix Format Dates and Format Times

This change deprecates the existing Format Dates and Format Times settings
and adds two settings for use with the webstaff client:

    Format Dates with this pattern
    Format Date+Time with this pattern

These settings use format strings as documented here:

https://docs.angularjs.org/api/ng/filter/date

There is overlap with how the Dojo formats worked, but also some differences.

The original Format Dates and Format Times settings worked together, but the
new settings work independently.  Certain field elements will use one, and
certain field elements will use the other.  These distinctions are hard-coded
in the various UI templates, with the idea being that timestamp fields in
which the date component alone is sufficient information (for example, DOB)
will use the Format Dates setting.  Fields where the time component is
important (for example, Checkout Time) will use the Format Date+Time setting.

When the settings Format Dates and Format Date+Time are unset, we will default
to "shortDate" (M/d/yy) and "short" (M/d/yy h:mm a), respectively.

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agolp1686459 webstaff: item editor form validation
Jason Etheridge [Thu, 8 Jun 2017 05:02:17 +0000 (01:02 -0400)]
lp1686459 webstaff: item editor form validation

Specifically for stat cats, we mark the select statements as required if the
corresponding stat cat is required, but we can also start using HTML5 validation
tests elsewhere in the form now as well.

I also fixed the <NONE> entries so that they display instead of blank entries,
and forced the Price, Cost, and Deposit Amount fields to be of input type number,
though you could still enter invalid numbers here from the database's POV, so
better validation tests are still needed there.

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agolp1671603 webstaff: add confirm step for voiding billings
Jason Etheridge [Mon, 12 Jun 2017 15:07:59 +0000 (11:07 -0400)]
lp1671603 webstaff: add confirm step for voiding billings

This patch adds a confirmation step for  both Void All Bills
in the main billing UI, and Void Billings in the Full Details UI

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1671596 webstaff: add Adjust to Zero option to Bill UI
Jason Etheridge [Tue, 6 Jun 2017 20:59:02 +0000 (16:59 -0400)]
LP#1671596 webstaff: add Adjust to Zero option to Bill UI

To test
-------
1. Apply patch.
2. Go to a patron record that has one or more active billings.
3. Note that in the billing grid, there is now an "Adjust to Zero"
   action.
4. Select one or more billings and apply the action.
5. Verify that the billings are adjusted to zero and that
   the adjustments show up as "payments".

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1616980 webstaff: protect "magic statuses" when editing copies
Jason Etheridge [Fri, 2 Jun 2017 16:59:24 +0000 (12:59 -0400)]
LP#1616980 webstaff: protect "magic statuses" when editing copies

This patch fixes a bug where the web staff volume/copy editor
could be used to put items in or out of the following status:

1 - Checked out
3 - Lost
6 - In transit
8 - On holds shelf
16 - Long Overdue
18 - Canceled Transit

To test
-------
1. Choose to "Edit Items" on an Available copy.
2. Status field is fully editable. Click to open the dropdown
3. Click "Checked out"
4. Click "Save & Exit"
5. Result is that the item status changes to 'checked out',
   which should not happen.
6. Choose to "Edit Items" on an Checked out copy.
7. Status field is fully editable. Click to open the dropdown
8. Click "Available"
9. Click "Save & Exit"
10. Result is that the item status changes to 'available'.
11. Apply the patch and repeat steps 1-10. This time, the magic
    status are marked as disabled in the copy status selector.
    If the item is already in one of the magic statuses, if the
    user attempts to change the status, the interface will appear
    to allow it, but the change will be silently ignored.

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1533326: follow-up to remove extra logging statement
Galen Charlton [Fri, 9 Jun 2017 19:29:34 +0000 (15:29 -0400)]
LP#1533326: follow-up to remove extra logging statement

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1533326 Item status actions menu styling
Bill Erickson [Fri, 9 Jun 2017 18:30:50 +0000 (14:30 -0400)]
LP#1533326 Item status actions menu styling

Webstaff Item Status Details => Actions menu is now scrollabled for
consistency with the matching Actions menu in the List grid.  Menu is
also classed with "dropdown-menu-right" so menu entries pull left,
avoiding scroll / overflow funkiness when the menu expands.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agowebstaff: Item Status bugs with Transfer Items...
Jason Etheridge [Fri, 9 Jun 2017 14:11:21 +0000 (10:11 -0400)]
webstaff: Item Status bugs with Transfer Items...

...to Previously Marked Volume

Now it throws up the override dialog only if an ils event is returned,
and it doesn't prematurely refresh the screen or re-scan a barcode
while the dialog is open.

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agolp1533326 webstaff: Actions for Item Status Detail View
Jason Etheridge [Fri, 9 Jun 2017 13:38:02 +0000 (09:38 -0400)]
lp1533326 webstaff: Actions for Item Status Detail View

This patch makes the actions available to the item status
grid view also available in the detail view.  It also adds an
indicator to the Detail View for when an item is deleted.

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1681943: show all list fields in mobile view
Galen Charlton [Thu, 25 May 2017 01:22:11 +0000 (21:22 -0400)]
LP#1681943: show all list fields in mobile view

In mobile view, "rotate" the temporary and permanent list
tables 90 degrees and put the column headings on the left/right
side.  data-label attributes are used to stash copies of the
column labels; the end result is similar to how the current
circulations table is displayed on narrow screens.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
2 years agoLP#1681943: Tweak for RTL handling for responsive my lists
Ben Shum [Tue, 2 May 2017 02:42:11 +0000 (22:42 -0400)]
LP#1681943: Tweak for RTL handling for responsive my lists

Needs some additional changes to support RTL for responsive my lists.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
2 years agoLP#1681943: Use variables for CSS colors
Ben Shum [Tue, 2 May 2017 02:27:10 +0000 (22:27 -0400)]
LP#1681943: Use variables for CSS colors

There were some hardcoded references to #ccc in the stylesheet, and
those should be variables like [% css_colors.accent_light %] instead.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>