]> git.evergreen-ils.org Git - Evergreen.git/log
Evergreen.git
4 years agoForward-port 3.1.16 upgrade script rel_3_1
Dan Wells [Tue, 29 Oct 2019 19:37:17 +0000 (15:37 -0400)]
Forward-port 3.1.16 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoDocs: Add 3.1.16 point release notes
Remington Steed [Fri, 25 Oct 2019 19:28:33 +0000 (15:28 -0400)]
Docs: Add 3.1.16 point release notes

Signed-off-by: Remington Steed <rjs7@calvin.edu>
4 years agoLp 1835620: Require some Storage submodules instead of use them
Jason Stephenson [Sun, 7 Jul 2019 11:18:01 +0000 (07:18 -0400)]
Lp 1835620: Require some Storage submodules instead of use them

Switch from "use" to "require" for submodules in OpenILS::Application
::Storage::CDBI and OpenILS::Application::Storage::Driver::Pg.
Circular dependencies and other issues cause the following errors at
compile time for those modules:

Compilation failed in require at
/usr/local/share/perl/5.28.1/OpenILS/Application/Storage/CDBI.pm line
9.

Compilation failed in require at
/usr/local/share/perl/5.26.1/OpenILS/Application/Storage/Driver/Pg.pm
line 15.

Require loads the submodules at run time and does not attempt to
import any methods.  This is the behavior we want, eliminates the
above errors, and everything still works.

Add comments above the required modules explaining why require is
needed and not use.

Enable and reorder all of the tests in Open-ILS/src/perlmods/t/
09-OpenILS-Application-Storage-Driver.t.  Repairing the above issue
also repairs these tests.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
4 years agoLP1825403: Do not Include Tag Owner in Tag
Jason Boyer [Tue, 22 Oct 2019 13:18:29 +0000 (09:18 -0400)]
LP1825403: Do not Include Tag Owner in Tag

Copy tags were accidentally having their owning
location shortname included in the tag values,
this patch allows the owner to be displayed but
not included in the value used.

Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agoLP#1802952: stamp schema update
Galen Charlton [Mon, 21 Oct 2019 18:08:39 +0000 (14:08 -0400)]
LP#1802952: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1802952 Check bib visibility for located URI auto suggest
Dan Wells [Mon, 12 Nov 2018 16:31:33 +0000 (11:31 -0500)]
LP#1802952 Check bib visibility for located URI auto suggest

Suggestions from records with only located URIs (no copies) do not
appear in the OPAC search suggestions. This appears to be a cousin of
bug #1773479, but in a neighboring function.

In the case of libraries with LURIs, we need to consider bib visibility
separate from copy visibility in order for both to show up.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1749970 Fix paging of pending patrons
Jeff Godin [Tue, 2 Apr 2019 16:49:18 +0000 (12:49 -0400)]
LP#1749970 Fix paging of pending patrons

Fix paging of pending patrons by passing a count and offset to the
backend API call.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1777698 Duplicate barcode alert appearing on new barcodes
Dan Briem [Sun, 11 Aug 2019 01:02:00 +0000 (21:02 -0400)]
LP#1777698 Duplicate barcode alert appearing on new barcodes

When scanning new copy barcodes, ng-change quickly fires multiple times
and sends promises to check for duplicates. If 1234 exists and you scan
12345, if the 1234 promise resolves after 12345, it will indicate it's a
duplicate. This patch keeps a count of the promises sent and only the
latest promise will set the boolean to indicate if it's a duplicate.

Hard to test because the promises usually resolve in order:
1. Add a new holding with the first few characters of an unused barcode
2. Scan the new barcode multiple times until you see the dup error
3. Apply patch and scan the new barcode multiple times (no error)

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agoLP#1841089 Apply button in Patron Bill History screen is in confusing location
Dan Briem [Sat, 24 Aug 2019 18:44:01 +0000 (14:44 -0400)]
LP#1841089 Apply button in Patron Bill History screen is in confusing location

It's possible to miss the apply button for the date range in bill history
because it's located before the datepickers. The interface also allows
invalid date ranges.

This removes the apply button and watches the start and finish dates in the
bill history and payment history controllers. If it's not first init and they
are valid date objects in a valid date range, the grid refreshes with the new
date range query. If start > finish they are set equal to each other to force
a valid range.

To test:

1. Apply patch
2. Bring up a patron with bills and payments (or add bills and payments)
3. Under the Bills tab click History
4. Change the date range and observe that the grid refreshes
5. Try to set the start date past the finish date and vice versa

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1729435: Allow saving Bill Full Details grids
Remington Steed [Mon, 5 Nov 2018 21:11:35 +0000 (16:11 -0500)]
LP#1729435: Allow saving Bill Full Details grids

For a web staff eg-grid to save and retrieve its settings, it needs a unique
persist-key. This commit adds one for the Bills grid and Payments grid on the
patron bills Full Details view (right-click a bill, choose Full Details, then
click the Details tab).

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1609556: only include OPAC-visible copies in SRU/Z39.50 holdings
Jeff Davis [Tue, 2 Oct 2018 21:28:31 +0000 (14:28 -0700)]
LP#1609556: only include OPAC-visible copies in SRU/Z39.50 holdings

To test:

1. Create a bib record.
2. Add an item to the record at BR1. Mark it as not OPAC-visible.
3. Do a CONS-level SRU search for the record, including holdings. The
   record is not included in results because there are no OPAC-visible
   holdings.
4. Add a second item to the same record, this time at BR3. Mark this
   one as OPAC-visible.
5. Repeat the CONS-level SRU search, including holdings. The record
   appears in search results, but holdings information in 852 includes
   *all* copies, including non-OPAC-visible copies.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agolp1813056 Fixes Current Date in Date Returned in Circ History CSV
Garry Collum [Mon, 20 May 2019 16:48:10 +0000 (12:48 -0400)]
lp1813056 Fixes Current Date in Date Returned in Circ History CSV

The date returned column in the csv file created in the opac for the patron's
Check Out History contains the current date instead of the check-in date. This
patch fixes that issue.

To test:
1. Turn on "Keep history of checked out items" in the patron Search and
History Preferences in the opac, or find a patron that already has this
option turned on.
2. Check-in some items that the patron has checked-out.
3. Wait a day, or if it was an existing history list immediately, go to the patron's Items Checked Out in the opac and look at the Date Returned
column in the Check Out History list.
4. Download the CSV file and note that the date is the current date.
5. Apply the patch.
6. Refresh and download the CSV file again and note that the Date Returned
is now the checkin date.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Josh Stompro <stompro@stompro.org>
4 years agoLP#1836963: reduce the cost of utility functions, speeding up search
Mike Rylander [Wed, 17 Jul 2019 21:14:01 +0000 (17:14 -0400)]
LP#1836963: reduce the cost of utility functions, speeding up search

For large org trees, some several seconds are spent testing org visibility.
The immediate cause is that AppUtils::get_org_tree() does not populate the
process-local cache with a memcache-cached org tree. That only happens when
memcache does not have a copy of the org tree. This is obviously a simple
oversight, which is addressed by making sure any memcache return value
is pushed into the the process local cache.

Additionally, the visibility check is making heavy use of lots of
indirection and delegation to utility code, when some slightly smarter code
could avoid many repeated function calls.  We now supply some local
utility code to flesh and unflesh the parent_ou field of objects in the
org tree, allowing us to avoid using find_org() and instead just calling
parent_ou() when walking "up" the tree.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1845050: fix issue where reports interface was partially loaded
Galen Charlton [Tue, 24 Sep 2019 17:48:08 +0000 (13:48 -0400)]
LP#1845050: fix issue where reports interface was partially loaded

This patch adjusts mod_xmlent to not free its XML parser
prematurely in the face of an EOS bucket received while processing
a sub-request.

To test
-------
[1] Test on a platform that has Apache 2.4.25 or later, such as
    Debian Stretch.
[2] Note that when loading the reports interface that the source
    of the frame containing oils_rpt.xhtml is incomplete and that
    actions like creating a template or folder do not work in the
    interface.
[3] Apply the patch and repeat step 2. This time, oils_rpt.xhtml
    should be fully loaded and the interface fuctional.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
4 years agoLP#1768141: Stamping Upgrade Script Part 2
Jason Boyer [Tue, 1 Oct 2019 20:59:54 +0000 (16:59 -0400)]
LP#1768141: Stamping Upgrade Script Part 2

Missed the new install update previously.

Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
4 years agoLP#1811442 - Assign copy alert permissions.
Chris Sharp [Mon, 20 May 2019 19:44:08 +0000 (15:44 -0400)]
LP#1811442 - Assign copy alert permissions.

VIEW_COPY_ALERTS and ADMIN_COPY_ALERT permissions were added
recently, but not assigned in the default seed data.  This branch
assigns VIEW_COPY_ALERTS to Staff profiles at the Consortium depth
and adds ADMIN_COPY_ALERT to the Cataloging Administrator profile.

Since permissions are set so specifically per-site, this branch does
not contain an upgrade script, but does provide an update to release
notes reminding site admins to manually add them to the appropriate
profiles.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1560805 Webstaff locale picker repair
Bill Erickson [Wed, 23 May 2018 15:13:16 +0000 (11:13 -0400)]
LP#1560805 Webstaff locale picker repair

Make the locale picker less finicky by replacing the search/replace
regex with a simple static URL for applying the locale.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1768141: Stamping Upgrade Script
Jason Boyer [Tue, 1 Oct 2019 19:10:56 +0000 (15:10 -0400)]
LP#1768141: Stamping Upgrade Script

Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
4 years agoLP#1768141: (follow-up) change schema update
Galen Charlton [Fri, 2 Aug 2019 14:41:44 +0000 (10:41 -0400)]
LP#1768141: (follow-up) change schema update

Change the update to an "ALTER FUNCTION ... STABLE" both
to make the purpose of the update more clear and to remove
the need to check the rest of the function definition when
backporting.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
4 years agoLP#1768141 - Mark permission.grp_descendants STABLE.
Chris Sharp [Mon, 20 May 2019 20:14:00 +0000 (16:14 -0400)]
LP#1768141 - Mark permission.grp_descendants STABLE.

Quoting Galen Charlton's comments on the bug report:

The database function permission.grp_descendants should
be marked stable; it qualifies, and doing so should allow
PostgreSQL to improve query plans. One example of a query
that would benefit is searching by patron profile (a la
bug 1497322)

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
4 years agoLP1739607: Add missing columns to patron record
Jane Sandberg [Wed, 21 Aug 2019 17:26:47 +0000 (10:26 -0700)]
LP1739607: Add missing columns to patron record

To test:
1) Open up a patron record with some bills.
2) On the Items Out tab, notice that there is a column named Location
3) On the Bills tab, open up Bill history.
4) In the history transactions grid, note that the column picker is
missing the following columns:
  * Item owning library
  * Checkout/renewal library
  * Due date
  * Fines Stopped Reason
5) In the history payments grid, note that the column picker is missing
the same columns.
6) Apply this commit.
7) Note that the Items Out tab's column is renamed to "Shelving
Location".
8) Notice that both Bill history grids column pickers include the
requested columns.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
4 years agoForward port 3.1.14 to 3.1.15 db upgrade script
Jason Stephenson [Thu, 19 Sep 2019 12:46:12 +0000 (08:46 -0400)]
Forward port 3.1.14 to 3.1.15 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
4 years agoDocs: adding release notes for 3.1.15
Jane Sandberg [Wed, 18 Sep 2019 03:48:13 +0000 (20:48 -0700)]
Docs: adding release notes for 3.1.15

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
(cherry picked from commit c59eee9ae4d465735c5b4eebeae452d49b50b584)

4 years agoLP#1822630: fix sanitizing CGI params on place_hold_result
Jeff Davis [Mon, 10 Jun 2019 16:53:44 +0000 (09:53 -0700)]
LP#1822630: fix sanitizing CGI params on place_hold_result

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Stephenson <jason@sigio.com>
(cherry picked from commit 019118895c94f5cc810b3f1fb95b2634a1c993b6)

4 years agoLP#1822630: further sanitizing of CGI params when embedded in HTML
Jeff Davis [Mon, 1 Apr 2019 22:13:09 +0000 (15:13 -0700)]
LP#1822630: further sanitizing of CGI params when embedded in HTML

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
(cherry picked from commit e2d401a9da3c70c1e56e518f40d0de928919990f)

4 years agoLP#1822630: sanitize user input before display on browse results
Jeff Davis [Mon, 1 Apr 2019 17:00:59 +0000 (10:00 -0700)]
LP#1822630: sanitize user input before display on browse results

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
(cherry picked from commit 4402695e80dbcee5187a35de46e5e314bab1231a)

4 years agoLP#1559239: use rel="noopener" when opening external URLs in a new tab
Jeff Davis [Thu, 13 Sep 2018 18:58:48 +0000 (11:58 -0700)]
LP#1559239: use rel="noopener" when opening external URLs in a new tab

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Stephenson <jason@sigio.com>
(cherry picked from commit 1eccaeec88a99e9792b388e95732faa7576e7164)

4 years agoLP1735847: Remove patron info from default Hold Transit Slip
blake [Fri, 1 Dec 2017 22:32:22 +0000 (16:32 -0600)]
LP1735847: Remove patron info from default Hold Transit Slip

Removes most patron information from the Hold Transit Slip
in both the web and XUL client default definitions.

Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
4 years agoEnsure "Reshelved" copies are still reshelving
Thomas Berezansky [Wed, 15 Oct 2014 15:32:58 +0000 (11:32 -0400)]
Ensure "Reshelved" copies are still reshelving

Rather than "were reshelving when the query started"

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
4 years agoForward-port 3.1.14 upgrade script
Dan Wells [Thu, 22 Aug 2019 21:25:12 +0000 (17:25 -0400)]
Forward-port 3.1.14 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoDocs: add checkin trigger holds and cancel transit
dluchenbill [Wed, 24 Apr 2019 18:41:11 +0000 (13:41 -0500)]
Docs: add checkin trigger holds and cancel transit

Signed-off-by: dluchenbill <debbie@mobiusconsortium.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agodocs: error correction to 3.1.14 release notes
Andrea Buntz Neiman [Thu, 22 Aug 2019 19:09:31 +0000 (15:09 -0400)]
docs: error correction to 3.1.14 release notes

corrected link for "Fixes display issue with menus at certain screen resolutions" - the link & bug number were incorrect.

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1796945 Match new path_label/alias standard
Dan Wells [Thu, 15 Aug 2019 14:20:17 +0000 (10:20 -0400)]
LP#1796945 Match new path_label/alias standard

The old reporter used '::' as a path separator in some labels, while the
new version uses '->' in its place.  This would normally be just a
curiosity, except that the hashes used as join aliases are generated
from these path labels.  The end result is that while a report can be
cloned, if you add a field anywhere other than the top level, it
references a join alias which does not exist, and the report breaks.

Now, the method by which report templates are upgraded from v4 to v5
does not happen all in one pass, but rather a first pass is made
populate the interface, then the rest is done when the user saves the
clone.  Because of this, it actually seems adequate to only fix the
label, then allow the other steps to fill in the other bits upon saving
of the report.

Thank you to J. Boyer for helping track down the culprit.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
4 years agoLP#1796945 Reporter cloning and creation fixes
Dan Wells [Fri, 3 May 2019 17:17:50 +0000 (13:17 -0400)]
LP#1796945 Reporter cloning and creation fixes

This commit addresses a variety of issues with the webstaff reporter
interface, particularly cases of cloning reports created in the XUL
client.

1. The conversion process did not account for manually selected JOIN
operations (aka nullability).  These JOINs are now honored by the
conversion code.

2. The conversion process did not account for aggregate filters.  These
filters are now converted where present.

3. The previous reporter interface attempted to intelligently apply LEFT
and INNER JOINs by default.  The new interface applied INNER joins
exclusively by default, leading in many cases to different results.
This commit reinstates the previous logic.  One side effect of this
change is that the IDL tree itself is no longer opinionated about JOIN
type, and the default JOIN is undefined.

4. The nullability selector has been expanded to allow for manual
selection of INNER joins, as they will longer be the default in some
cases.

5. Cloned-converted reports did not retain column order.  The order is
now preserved.

6. Some templates created in the older interface could, in some cases,
have aggregate values set as the string "undefined" rather than
actually being undefined.  This led to converted templates failing with
"column [xxx] must appear in the GROUP BY clause...", as they were
incorrectly converted as aggregates.  The conversion code now accounts
for this latent bug.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
4 years agoDocs: Adding 3.1.14 release notes
Andrea Buntz Neiman [Wed, 21 Aug 2019 20:25:49 +0000 (13:25 -0700)]
Docs: Adding 3.1.14 release notes

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1751800 - fix fields fields reversing
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 years 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 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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 years 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>
4 years agoForward-port 3.1.13 upgrade script
Dan Wells [Wed, 3 Jul 2019 15:33:10 +0000 (11:33 -0400)]
Forward-port 3.1.13 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years 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>
4 years agoLp 1759343: Remove database upgrade script from 3.1 backport
Jason Stephenson [Thu, 20 Jun 2019 15:37:02 +0000 (11:37 -0400)]
Lp 1759343: Remove database upgrade script from 3.1 backport

Evergreen 3.1 cannot store workstation settings in the database, so
the database updates needed for Evergreen 3.2 and beyond are not
needed in 3.1 and cause errors when building or upgrading the
database.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoRevert "LP1759343 (follow-up): Add bill annotation setting to seed data"
Jason Stephenson [Thu, 20 Jun 2019 15:35:59 +0000 (11:35 -0400)]
Revert "LP1759343 (follow-up): Add bill annotation setting to seed data"

This reverts commit 7f7c1291edb75c8e596eacf1c35eb5c46c684f21.

This commit was backported to rel_3_1 where it does not work.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoRevert "LP1759343: Stamping upgrade: annotate payment setting"
Jason Stephenson [Thu, 20 Jun 2019 15:35:04 +0000 (11:35 -0400)]
Revert "LP1759343: Stamping upgrade: annotate payment setting"

This reverts commit d36620734f4f1ab10b70f48d4beef34fad18d36b.

This commit was backported to rel_3_1 where it does not work.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years agoForward-port 3.1.12 upgrade script
Dan Wells [Fri, 24 May 2019 18:26:44 +0000 (14:26 -0400)]
Forward-port 3.1.12 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years agoTranslation updates - po files
Dan Wells [Mon, 20 May 2019 18:57:32 +0000 (14:57 -0400)]
Translation updates - po files

Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years 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>
4 years agoLP#1788680 prevent copy template apply failure on null stat cats
Jeff Davis [Fri, 8 Jun 2018 19:09:54 +0000 (12:09 -0700)]
LP#1788680 prevent copy template apply failure on null stat cats

Under some circumstances, the current code can result in a JS failure:

Cannot read property 'filter' of undefined

When this happens, the copy template may apply partially or not at all.
This change simply makes sure cp.stat_cat_entries() exists before
attempting to filter it.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP1806394: Placing Holds in Item Buckets
Jason Boyer [Mon, 3 Dec 2018 13:11:29 +0000 (08:11 -0500)]
LP1806394: Placing Holds in Item Buckets

A missing return prevents a list of item ids from
being built so no holds can be placed from item
buckets. This branch returns the return to its
proper place.

To test
-------
[1] Add some items to an item bucket, ensuring that they are
    all holdable.
[2] From the item bucket interface, select the items and choose
    the Request Selected Items action.
[3] Confirm placing the requests.
[4] Note that the requests are not actually created.
[5] Apply the patch and repeat steps #1-#4. This time, the requests
    should be placed.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Millissa Macomber <millissam@burlingtonwa.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>