Evergreen.git
4 days agoLP1751800 - fix fields fields reversing rel_3_2
James Fournie [Thu, 2 May 2019 16:53:35 +0000 (09:53 -0700)]
LP1751800 - fix fields fields reversing

The pop() here will remove the last item in the array, only to add it
later with a push() a few lines later.  Instead use a shift() to
preserve the order.

Signed-off-by: James Fournie <james.fournie@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 days agoLP#1785061: move the filter value munging to the template service
Galen Charlton [Wed, 22 May 2019 15:12:37 +0000 (11:12 -0400)]
LP#1785061: move the filter value munging to the template service

This allows the reporter app to stay a bit more focused on
display concerns.

Here's a test plan for the patch series
---------------------------------------
[1] Create a reporter template that has a filter field
    and a filter operator of "In list", "Not in list", "Between",
    or "Not between" and hard-code a value for that filter
    in the template, separating values with a comma.
[2] Try to create a report from that template; note that it
    fails with an error.
[3] Apply the patch and repeat steps 1 and 2. This time, the
    report should succeed.

Note that this fix applies only to hardcoding filter values in the
template; it doesn't change any behavior when attempting to set
a filter value for any of the four operators above at the point of
creating a report.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/web/js/ui/default/staff/reporter/template/app.js

Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 days agoLP#1785061: Split filter value on comma for "in list" and the like
Remington Steed [Thu, 2 May 2019 13:15:30 +0000 (09:15 -0400)]
LP#1785061: Split filter value on comma for "in list" and the like

This commit borrows directly from the XUL reporter code (see
function __default_value_event_handler () in
Open-ILS/web/reports/xul/template-config.js). Basically, when the filter
value is saved, certain cases need special treatment, such as splitting
an "in list" value on commas. This commit includes a helper function
which does the special treatment and saves the filter value. This helper
is called both when the value itself is changed, and when the operator
is changed.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/web/js/ui/default/staff/reporter/template/app.js

Signed-off-by: Dan Wells <dbw2@calvin.edu>
12 days agoLP1735768: adding labels to inputs in the public catalog
Jane Sandberg [Sat, 10 Nov 2018 20:32:04 +0000 (12:32 -0800)]
LP1735768: adding labels to inputs in the public catalog

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
12 days agoLP#1722827: stamp DB update
Galen Charlton [Tue, 6 Aug 2019 00:45:28 +0000 (20:45 -0400)]
LP#1722827: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
12 days agoLP#1722827: trim spaces from 856$9 when parsing locating URIs
Rogan Hamby [Fri, 14 Sep 2018 14:48:02 +0000 (10:48 -0400)]
LP#1722827: trim spaces from 856$9 when parsing locating URIs

This patch ensures that any leading and trailing spaces
and non-breaking-spaces in the 856$9 are ignored when
extracting the org unit shortname. As a consequence,
extraneous leading/trailing whitespace in the $9 will not
prevent the located URI from being displayed in the appropriate
places.

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Meg Stroup <mstroup@statelibrary.sc.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
12 days agoLP#1511765 Fix error when checking in with zero-balance lost OU setting enabled
Michele Morgan [Wed, 23 May 2018 17:54:28 +0000 (13:54 -0400)]
LP#1511765 Fix error when checking in with zero-balance lost OU setting enabled

Fixes an error generated when checking in Lost/Long Overdue/Lost and Paid
items with no associated circ when the org unit setting
circ.checkin.lost_zero_balance.do_not_change is set to TRUE

Items can attain this state from migration, or when the associated circ
has been aged.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 days agoLP1802593: Correct formatting of language code in Angularjs, KPAC
Jane Sandberg [Mon, 29 Jul 2019 18:56:31 +0000 (11:56 -0700)]
LP1802593: Correct formatting of language code in Angularjs, KPAC

EgWeb offers two different formats of the current locale: ctx.locale and
ctx.eg_locale.  This commit configures the lang attribute in AngularJS
staff client, OPAC, and KPAC to use eg_locale, since it has the
appropriate format (e.g. en-US, fr-CA).

Also adds some tests for EgWeb's handling of language codes.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 days agolp1034058 Disable Renewal Due Dates in the Past
Kyle Huckins [Thu, 23 May 2019 20:53:11 +0000 (20:53 +0000)]
lp1034058 Disable Renewal Due Dates in the Past

Apply minimum date and an out of range flag to prevent
selecting or inputting a past date when renewing items from
Circulation->Renew Items or Patron->Items Out->Actions->
Renew With Specific Due Date.

To test
-------
[1] Create a loan.
[2] From the patron's Item Out page, use the Renew With
    Specific Due Date action. Note that the date widget
    will allow you to specify a due date in the past.
[3] From the Circulation -> Renew interface, note that
    the date widget will also let you specify a due
    date in the past.
[4] Apply the patch and repeat steps #2 and #3. This time,
    a due date in the past cannot be entered, both via
    the calendar button and by direct entry in the text
    box.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
13 days agoLP#1787676: sort Z39.50 sources in JS, retaining Local Catalog at top of list
Jeff Davis [Fri, 17 Aug 2018 17:32:31 +0000 (10:32 -0700)]
LP#1787676: sort Z39.50 sources in JS, retaining Local Catalog at top of list

This reverts the original fix for LP#1119370.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
13 days agoLP1742523: Allow two strings in the mark damaged popup to be translated
Jane Sandberg [Sat, 19 May 2018 02:41:12 +0000 (19:41 -0700)]
LP1742523: Allow two strings in the mark damaged popup to be translated

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP1803584: Fix Clear button in template editor
Jason Boyer [Thu, 15 Nov 2018 18:45:44 +0000 (13:45 -0500)]
LP1803584: Fix Clear button in template editor

There are multiple controllers in staff/cat/volcopy/ and
2 of them have a clearWorking() function. The template
editor controller is referencing $scope.MultiMap[] which
will never exist in the template editor, while the actual
item editor controller clearWorking() does not reference
$scope.MultiMap[], meaning that clearing multiple items
at once would not work as expected. This branch clears
up this confusion.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP1800484: Substitute 0 for missing Totals values
Jason Boyer [Mon, 29 Oct 2018 14:53:41 +0000 (10:53 -0400)]
LP1800484: Substitute 0 for missing Totals values

If nothing is returned for the Totals on the patron Bills tab,
use a 0 rather than leaving the value missing.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP1838136: .editorconfig matches current practices
Jane Sandberg [Sat, 27 Jul 2019 13:27:50 +0000 (06:27 -0700)]
LP1838136: .editorconfig matches current practices

This commit allows .editorconfig-enabled IDEs to easily adhere to
these best practices:
https://wiki.evergreen-ils.org/doku.php?id=dev:angular_dev_best_practices

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP#1329920: (follow-up) set searchFormat as well
Galen Charlton [Fri, 2 Aug 2019 16:44:16 +0000 (12:44 -0400)]
LP#1329920: (follow-up) set searchFormat as well

AutoFieldWidget's searchFormat (among other things) controls
the formatting of the selected value for a drop-down, so
this patch sets it for funds as well. This patch also tidys
up whitespace.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP#1329920 Add fund year to distribution formula fund dropdown menu
Tiffany Little [Fri, 18 Jan 2019 20:54:27 +0000 (15:54 -0500)]
LP#1329920 Add fund year to distribution formula fund dropdown menu

In distribution formulas, adds the fund year in parentheses to the
funds listed in the Fund drop-down menu.

Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP#1650409: improve authority_control_fields.pl's --all and --days_back processing
Rogan Hamby [Fri, 9 Mar 2018 13:38:06 +0000 (08:38 -0500)]
LP#1650409: improve authority_control_fields.pl's --all and --days_back processing

When --all is used, the list of bibliographic records to process is now
retrieved via a direct database query instead of using open-ils.storage,
avoiding a potential timeout.

The query used to fetch records when --days_back is used now fetches
all records that were edited up to the specified number of days
ago. Prior to this patch, --days_back ended up fetching records
created on the current day and records edited on the --days_back
day, skipping any that were updated in between.

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agodocs: LP1778712 (follow-up) new screenshots to reflect the copy => item name change
Jane Sandberg [Fri, 2 Aug 2019 15:40:40 +0000 (08:40 -0700)]
docs: LP1778712 (follow-up) new screenshots to reflect the copy => item name change

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 weeks agodocs: LP1778712 replace 6 screenshots circ items documentation
Jeanette Lundgren [Wed, 12 Sep 2018 19:23:47 +0000 (15:23 -0400)]
docs: LP1778712 replace 6 screenshots circ items documentation

Signed-off-by: Jeanette Lundgren <jlundgren@cwmars.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 weeks agoLP1813078 Menus are sometimes grayed out based on browser size
Garry Collum [Mon, 20 May 2019 18:41:32 +0000 (14:41 -0400)]
LP1813078 Menus are sometimes grayed out based on browser size

This patch changes a media definition in css from 800px to 768px, the md column
size for bootstrap.css.  Items in the menus font color changed when the browser
was sized between 768px and 800px.

To test.
1. Expand the Circulation menu, and change the browser to a width between
768px and 800px.  Notice that the menu items change to a gray color.
2. Apply the patch, and then change the width of the browser.  Notice that
the menu items do not change color before the menu is collapsed.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 weeks agodocs: adding index terms 'copy tags' and 'copy status'
Andrea Buntz Neiman [Thu, 1 Aug 2019 18:38:39 +0000 (14:38 -0400)]
docs: adding index terms 'copy tags' and 'copy status'

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 weeks agodocs: updating copy tags to item tags
Andrea Buntz Neiman [Wed, 24 Apr 2019 18:00:42 +0000 (14:00 -0400)]
docs: updating copy tags to item tags

Changed all appropriate references from copy to item.  Included references to a
couple updated screenshots.  Changed the name of the file from
copy_tags_cataloging.adoc to item_tags_cataloging.adoc.

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 weeks agoDocs: Adding and updating alt tags, fixing typos
Andrea Buntz Neiman [Wed, 24 Apr 2019 15:03:46 +0000 (11:03 -0400)]
Docs: Adding and updating alt tags, fixing typos

Changes a item -> an item
Also changes image alt tags to reflect the copy -> item language change
Also adds missing alt tags

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 weeks agoDocs: Updating Terminology
Cheyenne Jones [Mon, 5 Nov 2018 20:29:18 +0000 (12:29 -0800)]
Docs: Updating Terminology

This updates outdated terms like copy, volume, and copy location with
the up-to-date item, call number, and shelving location.

Signed-off-by: Cheyenne Jones <44786394+Cheyenne-jones@users.noreply.github.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 weeks agoDocs: LP1826263: Update batch_importing_MARC.adoc
Kristy Bauman [Wed, 24 Apr 2019 20:12:32 +0000 (16:12 -0400)]
Docs: LP1826263: Update batch_importing_MARC.adoc

Signed-off-by: Kristy Bauman <45376827+kraeb@users.noreply.github.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 weeks agoLP#1805895 Bucket grid configuration updates do not save
Dan Briem [Fri, 5 Jul 2019 23:34:13 +0000 (19:34 -0400)]
LP#1805895 Bucket grid configuration updates do not save

Some saved columns stick, but others are ignored. Issue affects eg-grid[s]
that use the auto-fields attr to load all columns on idl-class attr. This
is because saved columns are whitelisted against the initial column config
before the auto fields are loaded.

Patch adds $scope.handleAutoFields() to egCore.hatch.getItem. This happens
after the eg-grid-fields transclude (no collisions) but before the saved
columns are whitelisted. The original call remains to handle cases where
there is no persist-key or saved config.

Test:
1. Go to Circulation->User Buckets
2. Add the Is Deleted column to the grid
3. Save columns and refresh (note Is Deleted is not visible)
4. Apply patch and repeat steps 1-3 (note Is Deleted is now visible)

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
2 weeks agoLP1759864: Mark Item Damaged from Holdings View Fails
a. bellenir [Tue, 12 Mar 2019 15:09:02 +0000 (11:09 -0400)]
LP1759864: Mark Item Damaged from Holdings View Fails

"Mark Item Damaged" fails on the holdings view and from the patron profile holds tab.

the javascript console indicates a dependency issue:
Error: [$injector:unpr] Unknown provider: egItemProvider <- egItem

egItem is defined in web/js/ui/default/staff/circ/services/item.js

resolved by including the item.js source in the index.tt2 template files for both screens.

Signed-off-by: a. bellenir <abelleni@grpl.org>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 weeks agoLP1775920: Improve consistency in item status menus
Jane Sandberg [Thu, 25 Apr 2019 19:49:19 +0000 (15:49 -0400)]
LP1775920: Improve consistency in item status menus

To test:

1) Go into item status and scan in a few barcodes.
2) Select one of the items from the grid.
3) Click on the Actions menu.  Note the list of actions.
4) Click the Detail View button.
5) Click the Actions menu.  Note that several actions from
step 3 are missing.
6) Apply this commit.
7) Repeat step 5.  Make sure that all the actions are now
available on the Detail View actions menu (although some have
slightly different names, to match the clarifying wording
introduced in lp1717551)
8) Make sure that all the actions work correctly.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP1681930 fm_IDL.xml billing/paid total column type correction.
Geoff Sams [Thu, 7 Mar 2019 02:54:15 +0000 (20:54 -0600)]
LP1681930 fm_IDL.xml billing/paid total column type correction.

Both xact_billing_totals and xact_paid_totals had incorrect unvoided
sum column types of int, this corrects them both to money instead.

Signed-off-by: Geoff Sams <gsams@roanoketexas.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP1834969 Indicate failures in Angular login
Bill Erickson [Wed, 3 Jul 2019 15:05:47 +0000 (11:05 -0400)]
LP1834969 Indicate failures in Angular login

Display a Login Failed message in the Angular staff login form when a
login attempt fails.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP1766982 - CSV downloads contain the string 'null' for null values.
Garry Collum [Fri, 18 May 2018 23:57:42 +0000 (19:57 -0400)]
LP1766982 - CSV downloads contain the string 'null' for null values.

Adds a check for null and undefined in the getItemTextContent function
in grid.js which is called by both the code to download grid data as
CSV and for printing grids.

To test
1. Place holds on a couple of titles, one of which has no author. In the
   test data TCN 226, The Crow, has no author data.
2. Pull up the Holds Pull List.
3. Download Full CSV - to download the CSV file and view it in a
   spreadsheet or text editor looking specifically at the Author column.
4. Print Full Grid - to view the data in a printout, since this function
   also affects printing.
5. Go back to the Holds Pull List and click on one of the barcodes under
   the Current Copy column.
6. Click on the List View.
7. Download Full CSV - open the resulting file to inspect the
   Alert Message data.
8. Apply patch and repeat steps 2-7.

Signed-off-by: gcollum <gcollum@gmail.com>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP#1798187 - Support CRLF and LF format for item status import files
Josh Stompro [Wed, 27 Feb 2019 21:07:43 +0000 (15:07 -0600)]
LP#1798187 - Support CRLF and LF format for item status import files

Testing Plan:

Before patch, try to import a file in CRLF end of line format that includes
leading and trailing spaces, empty lines, lines of just spaces or
barcodes with spaces.  The import will fail to load those items and will
stop processing when it hits certain situations.

After patch, try to import a file in CRLF EOL format that includes barcodes
with trailing spaces, leading spaces, barcodes with spaces, and/or
empty lines.  The import will load all barcodes.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 weeks agoLP1683385 AngJS grid avoid dupe auto-fields
Bill Erickson [Wed, 17 Apr 2019 14:51:45 +0000 (10:51 -0400)]
LP1683385 AngJS grid avoid dupe auto-fields

When generating grid fields from an IDL class in the AngJS grid, avoid
adding any fields that match fields already defined in the markup.

An example of such a grid is the Pending Item Buckets page.

To test
-------
[1] Go to Item Buckets and add an item to the Pending Items page.
[2] Note that in the column picker there are two barcode fields,
    one that hyperlinks the item and one that does not.
[3] Apply the patch and repeat steps 1-2.
[4] This time, there is only one barcode column (the one that
    hyperlinks the results).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP1830424 Implement Angular "retrieve last bib record"
Bill Erickson [Wed, 29 May 2019 18:03:38 +0000 (14:03 -0400)]
LP1830424 Implement Angular "retrieve last bib record"

Repair the Angular navbar menu entry for "Retrieve Last Bib Record" by
replacing the copy/paste'd ng-click handler with an Angular (click)
handler and local implementation.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP#1796903: (follow-up) disabled the calendar button when the text input is disabled
Galen Charlton [Fri, 24 May 2019 18:04:33 +0000 (14:04 -0400)]
LP#1796903: (follow-up) disabled the calendar button when the text input is disabled

Disabling the calendar button when the datepicker is disabled allows
ChromeVox (at least) to skip past a button that cannot be invoked
until (like is possible in the checkout page) the picker is enabled.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agoLP1796903: Make date picker calendar button more accessible
Jane Sandberg [Tue, 9 Oct 2018 14:37:56 +0000 (07:37 -0700)]
LP1796903: Make date picker calendar button more accessible

To test:

1) After applying this commit, navigate to a place in the Web client
that includes a date picker (such as the checkin screen).
2) Hover over the calendar button with your mouse and confirm that a
tooltip appears.
3) Verify that the button element has an aria-label attribute.
4) Verify that the button element has an aria-pressed attribute that
is false when the date picker is closed; true when it is open.
5) Use a screen reader (like NVDA or ChromeVox).  Verify that when you
tab over to the date picker, the user is informed of the aria-label
and aria-pressed values

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 weeks agolp1836229 Disable Edit buttons in Merge Records when Editing
Kyle Huckins [Thu, 11 Jul 2019 16:36:36 +0000 (16:36 +0000)]
lp1836229 Disable Edit buttons in Merge Records when Editing

- Apply disabled attribute to Edit buttons rather than just the class,
preventing users from clicking buttons that appear disabled in the Merge UI.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 weeks agoLP#1777207: teach egGrid how to prepend rows more efficiently
Galen Charlton [Wed, 3 Jul 2019 21:53:01 +0000 (17:53 -0400)]
LP#1777207: teach egGrid how to prepend rows more efficiently

The checkin and checkout grids in the AngularJS client have
been doing full grid refreshes when adding a checkin or
checkout to their respective grids. While this does not
result in re-fetching data for the loans that were already
processed, as more entries get added to the grid the time
it takes to do a full digest of the grid contents during a
egGrid.collect() (which empties the list of displayed rows,
then refills it), gets progressively longer. Grids that have
only ~40 entries have been observed to take several seconds
purely on the AngularJS rendering phase.

This patch teaches egGrid a new prepend() method that
takes the first element from the underlying data source and
unshifts it onto the list of displayed grid rows, saving much
rendering time. The prepend() method will also force the
grid offset back to 0 if it isn't already. Note that if
an item that would be added via prepend() might duplicate an
existing row entry, prepend() will do a full collect() instead.

If the data source has sort options set, the prepend() will
remove them. For arrayNotifier-based data sources, as are used
in the checkin and checkout grids, this means that if the user
sorts the contents of the grid, then does a circ transaction,
the new transaction will still appear at the top of the list.
Due to the way arrayNotifier currently works, the remaining
entries will retain their previous ordering.

As an implementation note, prepend() is likely going to work
/only/ for arrayNotifier grid data sources.

To test
-------
[1] In the checkin grid, check in a large number of items.
    Note that the time it takes to each each item gets
    progressively longer.
[2] Apply the patch and repeat step 1. This time, the time
    for each checkin should not significantly vary.
[3] Verify that column sorting works as expected.
[4] Upon sorting the grid, do more checkins and note that
    the new transactions show up at the top.
[5] Verify that the checkout grid continues to behave as expected.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 weeks agoLP#1777207: have eg-grid generate DOM nodes only for visible columns
Galen Charlton [Tue, 9 Jul 2019 18:43:18 +0000 (14:43 -0400)]
LP#1777207: have eg-grid generate DOM nodes only for visible columns

This patch changes an ng-show to an ng-if to generate DOM nodes
for grid cells only for visible columns. Prior to this patch, all
grid cells were generated, but the ones that corresponded to hidden
columns would simply be set as hidden.

By not generating the cells unless they're meant to be visible, grid
refreshes for wide grids (like the checkin table) render much more
quickly for a couple reasons:

- simply that there are fewer DOM nodes to process
- probably more importantly, fewer AngularJS watches get
  created

To test
-------
[1] In the checkin grid, check in a large number of items, then
    observe/profile timing as you change the number of visible rows.
[2] Apply the patch and repeat step 1. This time, the grid
    refreshe should be measurably (and visibly) faster.
[3] Test other AngularJS grids and verify that grid display and
    grid actions are normal.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 weeks agoForward-port 3.2.7 upgrade script
Dan Wells [Wed, 3 Jul 2019 15:47:51 +0000 (11:47 -0400)]
Forward-port 3.2.7 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 weeks agoLP#1830394: remove console noise from the holdings editor
Galen Charlton [Fri, 24 May 2019 15:06:04 +0000 (11:06 -0400)]
LP#1830394: remove console noise from the holdings editor

This patch removes browser console noise that occurs (among other
places) when moving a working item to the completed list in
the holdings editor

TypeError: "$scope.working.MultiMap[keys[i]] is undefined"
    hasMulti https://evergreen.example.org/js/ui/default/staff/cat/volcopy/app.js:1203
    ...

To test
-------
[1] Open the holdings editor to add or edit an item, then open the
    browser debug console.
[2] Make a change and move the item from working to complete. Note
    that the error message above shows up repeated in the
    console log.
[3] Apply the patch and repeat steps 1 and 2. This time, the errors
    should not appear.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 weeks agolp1735835 Transfer Bucket Contents to Pending
Kyle Huckins [Mon, 20 May 2019 17:54:00 +0000 (17:54 +0000)]
lp1735835 Transfer Bucket Contents to Pending

- Add new option in Copy/Record buckets to transfer select
items to Pending Copy/Records.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
modified:   Open-ILS/src/templates/staff/cat/bucket/copy/t_view.tt2
modified:   Open-ILS/src/templates/staff/cat/bucket/record/t_view.tt2
modified:   Open-ILS/web/js/ui/default/staff/cat/bucket/copy/app.js
modified:   Open-ILS/web/js/ui/default/staff/cat/bucket/record/app.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
8 weeks agoLP#1759343 Clean up data seed values
Dan Wells [Fri, 21 Jun 2019 15:36:44 +0000 (11:36 -0400)]
LP#1759343 Clean up data seed values

1) Add missing translation wrapper for new annotatepayment setting.

2) While we are at it, try to stem the proliferation of workstation
setting INSERT chunks.  (More could be done here...)

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
8 weeks agoLP#1759343 Fix annotate payment setting name
Dan Wells [Fri, 21 Jun 2019 15:16:59 +0000 (11:16 -0400)]
LP#1759343 Fix annotate payment setting name

This setting was added to the database with the 'eg.' prefix, but in
the code it was not used.  The end effect was that the setting likely
worked, but was not saved in the way expected.

This makes the setting name in the code match the DB.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
8 weeks agoDocs: Release notes for 3.2.7
Jane Sandberg [Wed, 19 Jun 2019 13:44:58 +0000 (06:44 -0700)]
Docs: Release notes for 3.2.7

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
8 weeks agoDocs: 3.1.13 release notes
Jane Sandberg [Wed, 19 Jun 2019 13:31:26 +0000 (06:31 -0700)]
Docs: 3.1.13 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
8 weeks agoDocs: Fix list formatting in 3.1 release notes
Remington Steed [Thu, 23 May 2019 17:44:22 +0000 (13:44 -0400)]
Docs: Fix list formatting in 3.1 release notes

Single list items that wrap across multiple lines accidentally start
each line with a bullet. This commit removes the extra bullets.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
8 weeks agoDocs: Add bugfix release notes for 3.1.12
Remington Steed [Fri, 17 May 2019 19:38:44 +0000 (15:38 -0400)]
Docs: Add bugfix release notes for 3.1.12

Signed-off-by: Remington Steed <rjs7@calvin.edu>
2 months agolp1770217 Items Out count shouldn't increment on renew
Mike Risher [Mon, 10 Jun 2019 18:11:38 +0000 (11:11 -0700)]
lp1770217 Items Out count shouldn't increment on renew

Determine if this item is currently out to the patron and is being
checked out again.  If so, be sure not to increment "Items Out" count.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified:   web/js/ui/default/staff/circ/patron/checkout.js
modified:   web/js/ui/default/staff/circ/services/circ.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP1759343: Stamping upgrade: annotate payment setting
Jane Sandberg [Thu, 13 Jun 2019 20:57:14 +0000 (13:57 -0700)]
LP1759343: Stamping upgrade: annotate payment setting

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1759343 (follow-up): Add bill annotation setting to seed data
Jane Sandberg [Thu, 13 Jun 2019 18:33:20 +0000 (11:33 -0700)]
LP1759343 (follow-up): Add bill annotation setting to seed data

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1759343: Bills Annotation Persistance
Jason Boyer [Fri, 18 Jan 2019 17:38:22 +0000 (12:38 -0500)]
LP1759343: Bills Annotation Persistance

Make the Annotate option on the patron Bills page
persistant and a workstation setting.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP#1812900: fix retention of saved defaults in holdings editor
Galen Charlton [Fri, 19 Apr 2019 20:29:21 +0000 (16:29 -0400)]
LP#1812900: fix retention of saved defaults in holdings editor

Because the $watch on the statistical category default OU filter
in the holdings editor can fire before the form is fully initialized,
saved defaults (i.e., the cat.copy.defaults workstation setting)
could get overwritten with the hard-coded default value for that, er,
set of defaults.

This patch ensures that that $watch saves the defaults only when the
value of the default stat cat OU filter has changed.

To test
-------
[1] Use the holdings editor on an item. Change to the defaults
    tab and check or uncheck checkboxes such as "Use checkdigit"
    and "Print Item Labels on Save and Exit"
[2] Refresh the page or open the holdings editor on a different item.
    Note that the settings from step #1 are not retained.
[3] Apply the patch.
[4] Repeat steps #1 and #2. This time, the settings should be retained.
[5] Set the Default Filter Library in the same tab and refresh. Verify
    that the OU you chose is retained.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: John Amundson <jsamundson@cwmars.org>
Signed-off-by: Janet Schrader <jschrader@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 months agoLP#1796914: Right Navbar Menu Title
Sam Link [Thu, 13 Dec 2018 20:27:58 +0000 (15:27 -0500)]
LP#1796914: Right Navbar Menu Title

Add a title attribute to the top-right menu in the AngularJS form of the
navbar.

Signed-off-by: Sam Link <slink@LIBPC002>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP 115706: Avoid Internal Server Errors with Hold Count Retrieval
Jason Stephenson [Tue, 7 Aug 2018 14:02:10 +0000 (10:02 -0400)]
LP 115706: Avoid Internal Server Errors with Hold Count Retrieval

It can happen that the query to get a record's hold count can run too
long and timeout or fail for some other reason.  When this happens,
the user sees an Internal Server Error.  The underlying cause is the
following Perl error:

Can't use an undefined value as an ARRAY reference at
/usr/local/share/perl/5.22.1/OpenILS/Application/Circ/Holds.pm line
4264.

This commit rearranges the code around that line to avoid this
particular undefined value reference error.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP#1789256 Monograph Part Column in Check Out
Kyle Huckins [Fri, 24 May 2019 19:55:44 +0000 (19:55 +0000)]
LP#1789256 Monograph Part Column in Check Out

Retrieve and display the label of all monograph parts for
copy listed in the Check Out table

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agolp1789257 Items Out Monograph Part Column
Kyle Huckins [Fri, 24 May 2019 17:16:00 +0000 (17:16 +0000)]
lp1789257 Items Out Monograph Part Column

Retrieve and display the label of all monograph parts for
copy listed in the Items Out table

To test
-------
[1] Apply the patch.
[2] Check out an item that has one or more monograph parts
    linked to it.
[3] Verify that the Monograph Part column is available in the
    Items Out grid and displays the part label(s). An example
    of an item in the Concerto set that has a part is
    CONC70001420.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP#1816180 Pending Patron - No Address Type
McCanna [Fri, 15 Feb 2019 19:55:59 +0000 (14:55 -0500)]
LP#1816180 Pending Patron - No Address Type

When registering a patron from Pending Patrons, inserts
default address type to match behavior of registering a
new patron from scratch.

Signed-off-by: McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP#1830972: update pin and add comments about keeping things in sync
Galen Charlton [Wed, 29 May 2019 21:39:19 +0000 (17:39 -0400)]
LP#1830972: update pin and add comments about keeping things in sync

This patch updates the angular/cli version to ^7.0.7 to match package.json
and adds comments about keeping the pin in sync between package.json
and Makefile.common.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoDocs: LP1776913: Fixes references to Circulation Limit Sets in docs.
Geoff Sams [Mon, 4 Mar 2019 16:52:56 +0000 (10:52 -0600)]
Docs: LP1776913: Fixes references to Circulation Limit Sets in docs.

Signed-off-by: Geoff Sams <gsams@roanoketexas.com>
Signed-off-by: Lynn Floyd <lfloyd@andersonlibrary.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1776913: Corrects Local Administration menu to use correct form Circulation Limit...
Geoff Sams [Mon, 4 Mar 2019 16:41:13 +0000 (10:41 -0600)]
LP1776913: Corrects Local Administration menu to use correct form Circulation Limit Sets and Age Overdue Circulations to Lost.

Signed-off-by: Geoff Sams <gsams@roanoketexas.com>
Signed-off-by: Lynn Floyd <lfloyd@andersonlibrary.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1748265 Hold fetch API sms_carrier option
Bill Erickson [Fri, 8 Mar 2019 15:38:43 +0000 (10:38 -0500)]
LP1748265 Hold fetch API sms_carrier option

Support a new "include_sms_carrier" option to the holds retrieve API so
the data may be fetched along with the hold instead after the fact in
the patron holds list, etc.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP#1748265 SMS Carrier not an option in the patron's list of holds.
Garry Collum [Sun, 3 Jun 2018 19:54:25 +0000 (15:54 -0400)]
LP#1748265 SMS Carrier not an option in the patron's list of holds.

Adds SMS Carrier name as an option in the patron's list of holds.

To test:
1. Set 'Enable features that send SMS text messages' in the Library Settings to true.
2. Place a few holds for a patron, selecting text message notification.
3. Go to the patron's record and view their holds.
4. Display the 'Notifications SMS Carrier' column to view the carrier name.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP1772206 Tooltips missing from Patron Summary
Garry Collum [Sat, 19 May 2018 21:00:40 +0000 (17:00 -0400)]
LP1772206 Tooltips missing from Patron Summary

Adds tooltips for home branch and Last Activity to emulate the XUL
 client.  The home branch tool tip displays the long OU name.  The
last activity tooltip displays the last type of activity.

To test:

Home branch
1. Perform a patron search.
2. Click on one of the patrons in the results.
3. Hover over the home branch location in the patron summary.

Last Activity
4. Log into the opac with a patron account to some patron activity.
5. Bring up the patron in the staff client.
6. Hover over the last activity date.

7. Apply the patch and repeat 1-3 and 5-6.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP1760893 Add Holdings Part dropdown should list items in order
Dan Pearl [Tue, 10 Apr 2018 18:45:47 +0000 (14:45 -0400)]
LP1760893 Add Holdings Part dropdown should list items in order

Without a defined sort, the Part dropdown when editing a holding simply
displays in database order.  Let's be more deterministic about it.

In this case, while slightly surprising, consensus opinion was that
reverse order on label_sortkey provides the best overall usability.
This is obviously true on records with many parts, but can help in all
cases.

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 months agoLP#1772028 Add some FK violation functions just in case they are missing
Bill Ott [Fri, 18 May 2018 13:52:46 +0000 (09:52 -0400)]
LP#1772028 Add some FK violation functions just in case they are missing

Depending on your data, upgrade 1063 may not have created the functions
being re-applied in this upgrade script.  Let's make sure they are
there.

Signed-off-by: Bill Ott <bott@grpl.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 months agoLP1817332 Stamping ugprade: timezone examples
Bill Erickson [Fri, 24 May 2019 19:06:24 +0000 (15:06 -0400)]
LP1817332 Stamping ugprade: timezone examples

Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP#1817332: (follow-up) tweak description
Galen Charlton [Thu, 23 May 2019 15:17:44 +0000 (11:17 -0400)]
LP#1817332: (follow-up) tweak description

Per a suggestion from Jane Sandberg, the description now includes
an example of a time zone name with an underscore. Also, the database
update will no longer overwrite any custom description that the
Evergreen admin may have put in.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP#1817332 Add example to lib.timezone setting description
Remington Steed [Thu, 21 Feb 2019 19:54:19 +0000 (14:54 -0500)]
LP#1817332 Add example to lib.timezone setting description

This commit adds a few examples of acceptable lib.timezone values to the
setting description, with the goal of using examples of existing
Evergreen installations. It also includes a clickable link to the
extensive list on Wikipedia. Since the settings editor is displayed
within an iframe, the link needs a "target" to successfully trigger.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP1819181 Stamping upgrade: DoB example setting
Bill Erickson [Fri, 24 May 2019 18:52:58 +0000 (14:52 -0400)]
LP1819181 Stamping upgrade: DoB example setting

Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP1819181: Example DOB for Patron Reg/Edit
Jason Boyer [Fri, 8 Mar 2019 16:03:38 +0000 (11:03 -0500)]
LP1819181: Example DOB for Patron Reg/Edit

Add the necessary coust entry for a patron dob example
and teach the registration controller to use it.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP#1642337: more tweaks to the patch series
Galen Charlton [Thu, 23 May 2019 14:32:44 +0000 (10:32 -0400)]
LP#1642337: more tweaks to the patch series

This patch makes the following changes:

- ensures that the Boolean values get saved as 't' or 'f', as
  the reporter builder doesn't recognize JSON true or false in
  this context.
- pretty-prints the current filter value in the dialog
- removes a logging line

To test
-------
[1] Apply the patch.
[2] Create or clone one or more report templates and add Boolean
    column filters. Change the filter value and verify that
    it displays the current value and lets you change it.
[3] Run reports from the template(s) created in step 2 and
    verify that the reports produce the expected results.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP1642337: Reporter Boolean Filters
Jason Boyer [Tue, 29 Jan 2019 17:15:25 +0000 (12:15 -0500)]
LP1642337: Reporter Boolean Filters

The dialog controller doesn't appreciate getting
a bare boolean as a message, so if the current item
is a boolean call toString() on it before calling
the egConfirmDialog.

An <Unset> string is also added to the reporter
strings for further use, but if there are no
strong feelings re: using it, it can be dumped and
a '' used in its place.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agolp1642337 Boolean Filters in Reporter
Kyle Huckins [Thu, 16 Nov 2017 20:56:51 +0000 (20:56 +0000)]
lp1642337 Boolean Filters in Reporter

- Add condition check to see if filter is boolean, and if so,
substitute a confirm dialog for the default prompt, repalcing
the text input with buttons for True/False values.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoForward-port 3.2.6 upgrade script
Dan Wells [Fri, 24 May 2019 18:27:23 +0000 (14:27 -0400)]
Forward-port 3.2.6 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 months agoLP1816480 follow-up: add dependency missing from 3.2 branch
Jane Sandberg [Fri, 24 May 2019 17:10:07 +0000 (10:10 -0700)]
LP1816480 follow-up: add dependency missing from 3.2 branch

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP1816480 Angular grid ARIA improvements
Bill Erickson [Tue, 5 Mar 2019 22:07:21 +0000 (17:07 -0500)]
LP1816480 Angular grid ARIA improvements

Various navigation and "role" improvements to the Angular grid:

* Apply "grid", "row", "columnheader", and "gridcell" role attributes.
* Page-Down goes to next page
* Page-Up goes to previous page
* Shift-UpArrow extends selection one row up (spanning pages).
* Shift-DownArrow extends selection one row down (spanning pages).
* Shift-Arrow controls support reverse navigation for back-tracking to
  de-select certain rows.
** E.g. shift-up 3 rows then shift-down 1 will leave 2 rows selected.
* Control-A now selects all rows in the page.
** For consistency with the select-all checkbox, only rows in the
   current page are selected.
** Note we could add an option to extend the selection to all rows,
   but it would require pre-fetching all of the data, simimar to
   how grid printing pre-fetches.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 months agoLP1775639: Refresh required to see Patron Credit
a. bellenir [Mon, 11 Mar 2019 17:39:00 +0000 (13:39 -0400)]
LP1775639: Refresh required to see Patron Credit

reload patron data when applying a payment
if the payment will change the patron's credit forward balance.

To test
-------
[1] Bill a patron, then make sure that the "Convert Change to Patron
    Credit" checkbox is checked. Pay bill with more than the total
    balance. Note that the Credit Available amount in the billing
    summary does not change. Refresh the page.
[2] Bill a patron, then use the patron credit added in step 1 to
    pay off the bill. Note that again, the Credit Available amount
    does not change.
[3] Apply the patch and repeats steps 1 and 2. This time, the Credit
    Available field should get updated.

Signed-off-by: a. bellenir <abelleni@grpl.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP 1744386 & LP 1777184 - stat cats & stat cat entries not alphabetical
Suzanne Paterno [Tue, 9 Apr 2019 14:42:15 +0000 (10:42 -0400)]
LP 1744386 & LP 1777184 - stat cats & stat cat entries not alphabetical

Statistical categories will be alphabetized first by library and then by category.

The entires within each category will also be alphabetized.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Cesar Velez <cesar.velez@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP1744386: Alphabetize stat cats in volcopy attr editor
Jane Sandberg [Wed, 17 Apr 2019 20:46:46 +0000 (16:46 -0400)]
LP1744386: Alphabetize stat cats in volcopy attr editor

To test:
1. Go to the volume copy editor.  Confirm that the stat
cats do not display in order of owning library or stat cat
name.
2. Apply this commit.
3. Go to the volume copy editor.  Confirm that the stat
cats now display in alphabetical order by owning library,
then stat cat name.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP#1440890: add vandelay_queue to the types of containers retrieved by batch edit
Rogan Hamby [Fri, 19 Apr 2019 15:25:19 +0000 (11:25 -0400)]
LP#1440890: add vandelay_queue to the types of containers retrieved by batch edit

To test
-------
[1] Perform a batch bibliographic record import, then add the import
    queue to a new bucket.
[2] In the web staff client, go to Cataloging | Batch Edit.
[3] Note that the bucket created in step 1 does _not_ appear in the
    bucket selector on the batch edit page.
[4] In the web staff client, go to the record bucket and hit the
    Batch edit button.
[5] Note that the bucket created in step 1 does _not_ appear in the
    bucket selector on the batch edit page.
[6] Apply the patch and repeat steps 2-3. This time, the bucket
    should appear in the selector.
[7] Repeat steps 4-5. This time, the bucket should appear in the selector
    (and be the active choice).

Signed-off-by: Rogan Hamby <rhamby@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP1760599: Only show merge records action when multiple bucket records selected
Jane Sandberg [Thu, 6 Dec 2018 23:49:40 +0000 (15:49 -0800)]
LP1760599: Only show merge records action when multiple bucket records selected

To test:
1) Create a bucket.
2) Select one record from your bucket. Right-click on your record or click on the Actions drop-down.
3) Note that "Merge Selected Records" is clickable.
4) Apply this commit.
5) Repeat steps 2-3.  Note that "Merge Selected Records" is no longer
clickable, unless you select two or more records.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP1790896: Receipt Errors with invalid emails
Jason Boyer [Thu, 7 Feb 2019 18:48:13 +0000 (13:48 -0500)]
LP1790896: Receipt Errors with invalid emails

The attempt at belt-and-suspenders checking for a valid
email for use in the has_email template field sadly
causes the JS to trip over said suspenders if there is
a value in the field but it doesn't contain a '@'.

The raw return from "".match() (either an array or null)
is enough to do the right thing when converted into a
Boolean and doesn't cause the same problems.

To test
-------
[1] Set up a patron record with an invalid email address,
    e.g., one that lacks the '@' character.
[2] Check out an item the patron, then from the Items Out
    tab, print an item receipt.
[3] Note that nothing happens and an error is logged in the
    browser console.
[4] Apply the patch and repeat step 2. This time, a receipt
    should be generated.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLp 1768987: Use FindBin in 24-sql-gettext-unique.t.
Jason Stephenson [Thu, 3 May 2018 21:31:07 +0000 (17:31 -0400)]
Lp 1768987: Use FindBin in 24-sql-gettext-unique.t.

Use FindBin in the 24-sql-gettext-unique.t test file so that it can be
run from directories other than Open-ILS/src/perlmods.

To test
-------
[1] Apply the patch.
[2] From the root of the Evergreen checkout, run
    prove Open-ILS/src/perlmods/t/24-sql-gettext-unique.t
[3] Verify that the tests pass.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoDocs: Fix list formatting in 3.2 release notes
Remington Steed [Thu, 23 May 2019 17:42:27 +0000 (13:42 -0400)]
Docs: Fix list formatting in 3.2 release notes

Single list items that wrap across multiple lines accidentally start
each line with a bullet. This commit removes the extra bullets.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
2 months agoLP#1796942 Treat VISA SIP payments as credit card
Jeff Godin [Tue, 2 Oct 2018 12:32:54 +0000 (08:32 -0400)]
LP#1796942 Treat VISA SIP payments as credit card

Treat sip_payment_type 01 (VISA) as a credit_card_payment.

Previously, we only handled payment type 02 (credit card) and 01
fell through to be treated as a cash_payment.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP#1704819 Fine generator avoids int() rounding
Bill Erickson [Thu, 3 Aug 2017 19:01:34 +0000 (15:01 -0400)]
LP#1704819 Fine generator avoids int() rounding

Avoid using the Perl int() function for rounding in the fine generator,
since it can have unexpected outcomes.

For example:

$ perl -e 'print "230 = " . int(100 * 2.30) . "\n"'
230 = 229

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 months agoLP1693580 Authority create/update API repairs
Bill Erickson [Fri, 15 Mar 2019 15:29:07 +0000 (11:29 -0400)]
LP1693580 Authority create/update API repairs

Fixes issues with the authority record create and update open-ils.cat
API calls, where internal function calls were not passed the correct
values.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
2 months agoLP1693580 Marc editor notify and API changes
Bill Erickson [Fri, 15 Mar 2019 15:29:59 +0000 (11:29 -0400)]
LP1693580 Marc editor notify and API changes

1. Indicate in the interface when a bib/auth MARC record edit failed or
succeeded.

2. Handle permission failures on MARC edit by displaying the permission
override dialog.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
2 months agoLP#1029601: Prevent duplicate holds from double clicks
Daniel Pearl [Wed, 12 Dec 2018 17:51:07 +0000 (12:51 -0500)]
LP#1029601: Prevent duplicate holds from double clicks

Double clicking on hold submit buttons causes multiple holds to be
generated.  This commits adds code to disable the Submit button(s)
after the first click, so subsequent clicks don't "work" in unintended
ways.

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 months agoLP#1774707 Quick fix-up: add missing comma
Dan Wells [Mon, 20 May 2019 21:15:09 +0000 (17:15 -0400)]
LP#1774707 Quick fix-up: add missing comma

We probably should move this on up with the others, but as a quick
fix...

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 months agolp1538678 MARC edit warning prompt translateable strings
Kyle Huckins [Mon, 20 May 2019 18:07:07 +0000 (18:07 +0000)]
lp1538678 MARC edit warning prompt translateable strings

- Define "There is unsaved data in this record." as a translateable string.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/cat/share/marcedit_strings.tt2
modified:   Open-ILS/web/js/ui/default/staff/cat/services/marcedit.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agolp1538678 Apply Warning Prompt when leaving dirty MARC editor
Kyle Huckins [Wed, 17 Apr 2019 22:55:49 +0000 (22:55 +0000)]
lp1538678 Apply Warning Prompt when leaving dirty MARC editor

- Check for unsaved user input when leaving the Create New
MARC Record UI, and warn if it exists.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   services/marcedit.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP1817601 MARC Flat Text Editor Monospace Font
Bill Erickson [Thu, 14 Mar 2019 21:02:31 +0000 (17:02 -0400)]
LP1817601 MARC Flat Text Editor Monospace Font

Use a fixed width font in the MARC flat text editor, consistent with the
fonts used for the non-flat-text editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
2 months agoLP1774707 Stamping DB update: group members grid
Bill Erickson [Mon, 20 May 2019 18:53:07 +0000 (14:53 -0400)]
LP1774707 Stamping DB update: group members grid

Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP#1774707: Add Seed Data for worstation setting for group member details
Michele Morgan [Fri, 12 Apr 2019 20:10:00 +0000 (16:10 -0400)]
LP#1774707: Add Seed Data for worstation setting for group member details

Adds the config.workstation_setting_type for patron group member details
to seed data and includes an upgrade script.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoLP#1774707: Allow saving Group Member Details grid settings
Remington Steed [Mon, 5 Nov 2018 18:55:25 +0000 (13:55 -0500)]
LP#1774707: Allow saving Group Member Details grid settings

For a web staff eg-grid to save and retrieve its settings, it needs a unique
persist-key. This commit adds one for the Group Member Details grid (which is
within the patron record view).

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoRecent newpot rethink and redo
Dan Wells [Mon, 20 May 2019 16:34:17 +0000 (12:34 -0400)]
Recent newpot rethink and redo

The newpot build command has a tendancy to cause more harm than good in
certain cases.  Basically, if run with a translation-toolkit of 2.0+
after originally using 1.x, you end up with different POT formatting
which in turn breaks existing translations for those strings.

I talked this over with Ben Shum, and he advised we simply stop doing
POT updates in point releases for now.  I agree, and this reversal is
my attempt to stop the bleeding.  It tries to remove any unneeded POT
changes from recent history, while also keeping completely new strings
that have already snuck in.

This reverts commit a37154508d8fc078b5d9bae5ada105a534c13ecd.
This re-does commit 4e0b9d31cdbda3c356b22778b361ae4e60375255.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 months agoLP#1669120: Make scrollable dropdown height match column picker
Remington Steed [Fri, 12 Apr 2019 13:18:35 +0000 (09:18 -0400)]
LP#1669120: Make scrollable dropdown height match column picker

To make scrollable dropdowns more usable, let's make them the same
height as the grid column picker dropdown. This is a quick, simple
improvement, and it follows precident with a frequently used feature
(column picker, which has no known complaints).

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 months agoDocs: Fix list formatting in 3.2 release notes
Remington Steed [Mon, 20 May 2019 13:27:58 +0000 (09:27 -0400)]
Docs: Fix list formatting in 3.2 release notes

An AsciiDoc list needs a blank line before it. Otherwise, it is just
part of the paragraph.

Signed-off-by: Remington Steed <rjs7@calvin.edu>