]> git.evergreen-ils.org Git - Evergreen.git/log
Evergreen.git
3 years agoLP#1847784: (docs) refer to the badge score generator cron job by name rel_3_3
Galen Charlton [Tue, 15 Oct 2019 22:32:19 +0000 (18:32 -0400)]
LP#1847784: (docs) refer to the badge score generator cron job by name

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP#1847784: install badge_score_generator.pl by default
Galen Charlton [Tue, 15 Oct 2019 22:29:40 +0000 (18:29 -0400)]
LP#1847784: install badge_score_generator.pl by default

To test
-------
[1] Perform an Evergreen installation/upgrade.
[2] Verify that badge_score_generator.pl is present
    in /openils/bin (or an alternative installation
    location specified during the ./configure step).

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
3 years agoLP#1775940: Archived Penalties/Messages does not Respect Date Range
Jason Stephenson [Wed, 29 Jan 2020 17:33:30 +0000 (12:33 -0500)]
LP#1775940: Archived Penalties/Messages does not Respect Date Range

This patch implements a.bellenir's suggestion of switching from
setQuery to watchQury in the archiveGrid of the web client circulation
patron app.  It does now appear to respect the date range entered by
the user.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1845241: Use the correct API call to Undelete a bib record
Jane Sandberg [Sun, 8 Mar 2020 14:58:09 +0000 (07:58 -0700)]
LP1845241: Use the correct API call to Undelete a bib record

To test:

1) Open up a delete-ready bibliographic record in the Web client
(no attached holdings, no located URI, no open orders attached, etc.)
2) Delete it.
3) Undelete it.  Note that the "Undelete" button briefly turns into a
"Delete" button before changing back to an "Undelete" button.  Note that
the bib record does not show up in search results within the Web client.
4) Apply this commit.
5) Now try undeleting the record again.  Notice that the "Delete" button
does not revert to an "Undelete" button.  Note also that the record is
once again showing up in search results (although you may have to be a
bit creative using search terms, due to search results caching).

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP1805860: Display long patron names without obscuring input fields
Dan Scott [Tue, 7 Jan 2020 20:05:06 +0000 (15:05 -0500)]
LP1805860: Display long patron names without obscuring input fields

Long patron names can obscure the input fields and menu items on patron
action screens. The only workaround is to reduce the font size using the
browser controls until the input fields and menu items are visible.

While the fixed position saves space at the top of the screen for
typical cases, it can be hard for staff to remember the font-reduction
workaround when they hit a long patron name.

Removing the fixed position CSS also better supports the display of
regular patron names on browsers that are not wide enough to display the
top menu (Search/Circulation/Cataloging/.../Workstation name/Locale) all
on a single line.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1844365: fix initialization of stat cats in patron registration form
Galen Charlton [Mon, 22 Jun 2020 15:40:08 +0000 (11:40 -0400)]
LP#1844365: fix initialization of stat cats in patron registration form

If you edit a patron and it has (or gets added) a stat cat entry,
then from the registration form click on its inline patron search
link, fetch a patron that has no stat cats, then edit it, the
first patron's stat cats can show up in the registration form.
If the second patron does have stat cats, but not values set
for all of them, then the first patron's stat cat entries can
fill in cases where no entry was previously set.

This patch fixes patronRegSvc's initialization when loading
an existing patron record to avoid this.

To test
-------
[1] Edit a patron and ensure that it has at least one
    statistical category set.
[2] From the patron search link in the patron app tab
    bar, NOT the Search | Patron menu item, search for
    and retrieve a patron that has no stat cats assigned.
[3] Edit the patron. Observe that the first patron's
    stat cat entry displays in the second patron's
    registration form.
[4] Apply the patch and repeats steps 1-3. This time,
    the previous patron's stat cats should not infect
    the second patron's registration form.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
3 years agolp1775286 Color Indication of Overdue on Items Out
Kyle Huckins [Thu, 23 May 2019 21:47:02 +0000 (21:47 +0000)]
lp1775286 Color Indication of Overdue on Items Out

- Overdue items are highlighted in red in the Items Out UI.
- Ensure overdue-row and lost-row classes handle visited links

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
3 years agoLP#1840294: use dedicated UI for match set admin, rather than auto-generated admin...
Jeff Davis [Tue, 5 May 2020 17:34:36 +0000 (10:34 -0700)]
LP#1840294: use dedicated UI for match set admin, rather than auto-generated admin pages

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>
3 years agoForward-port 3.3.7 upgrade script
Dan Wells [Thu, 11 Jun 2020 20:53:53 +0000 (16:53 -0400)]
Forward-port 3.3.7 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
3 years agoTranslation updates - po files
Dan Wells [Wed, 10 Jun 2020 18:58:45 +0000 (14:58 -0400)]
Translation updates - po files

Signed-off-by: Dan Wells <dbw2@calvin.edu>
3 years agoTranslation updates - newpot
Dan Wells [Wed, 10 Jun 2020 18:53:02 +0000 (14:53 -0400)]
Translation updates - newpot

Signed-off-by: Dan Wells <dbw2@calvin.edu>
3 years agoDocs: Release notes for 3.3.7
Remington Steed [Wed, 10 Jun 2020 16:17:42 +0000 (12:17 -0400)]
Docs: Release notes for 3.3.7

Signed-off-by: Remington Steed <rjs7@calvin.edu>
3 years agoLP1880035: Fix rendering of monograph parts
Jason Boyer [Thu, 21 May 2020 22:19:57 +0000 (18:19 -0400)]
LP1880035: Fix rendering of monograph parts

A BorderContainer is primarily used to allow anchoring views to the top,
bottom, left, or right of the container and usually allows the use of a
splitter to resize child views. Since we don't use any of that and don't
need such a control, it was apparrently just luck that it worked at all.
Using a plain ContentPane instead allows the page to render as expected.

Thanks to Galen Charlton for tracking this down and finding the fix.

Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
3 years agoLP1787636: Sort Libraries without Holdings In Holdings View
Daniel Pearl [Wed, 13 Mar 2019 14:07:17 +0000 (10:07 -0400)]
LP1787636: Sort Libraries without Holdings In Holdings View

Empty libraries in holdings view are listed at the end of the library
list instead of integrated within the list.  This patch sorts them
within the list.

Signed-off-by: Daniel Pearl <dpearl@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1787636: Remove right justification in grid view
Jason Stephenson [Thu, 19 Mar 2020 13:45:18 +0000 (09:45 -0400)]
LP1787636: Remove right justification in grid view

Align all owning libraries to the left as requested in the bug
description and comments.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1813088: Coerce Values to String in egGridValueFilter
Jason Stephenson [Thu, 26 Mar 2020 14:47:46 +0000 (10:47 -0400)]
LP1813088: Coerce Values to String in egGridValueFilter

Coerce values to string in the switch for Boolean columns in the main
egGridValueFilter function.  This came about after an IRC conversation
with Mike Rylander who suggested this as a possible fix.  It should
when field values are strings, integers, or Booleans.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP#1873286 - Add release notes entry
Chris Sharp [Wed, 29 Apr 2020 15:40:08 +0000 (11:40 -0400)]
LP#1873286 - Add release notes entry

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1873286: Fix Bad End Tags
Jason Stephenson [Fri, 24 Apr 2020 18:22:25 +0000 (14:22 -0400)]
LP1873286: Fix Bad End Tags

Fix self-closing tags used in non-void HTML and non-empty XHTML tags.
These tags now cause errors with jQuery version 3.5.0 and were
technically wrong from the start.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
3 years agoLP1781274 Fix floating point issue preventing transactions from closing
Michele Morgan [Fri, 20 Dec 2019 21:00:08 +0000 (16:00 -0500)]
LP1781274 Fix floating point issue preventing transactions from closing

Paying multiple bills with a single payment can lead to some
transactions not closing because of floating point math inaccuracies.
This branch resolves the issue by limiting pending payment amounts to
2 decimal places.

The bug can be reproduced using grocery bills as follows.

Retrieve a patron that owes no money.

Add a billing of $.90
Add a billing of $.10
Select both billings
Enter $1 in payment received and Apply the payment

Click on History in the billings screen. Turn on the Total Billed and
Transaction Finish Time column and note that the $.10 bill has zero
balance owed, but does not have a transaction finish time.

To test:

Use the steps above to reproduce, noting the lack of Transaction
Finish Time.  Apply the patch.

Use the same steps above and note that the post patch payments
resulted in both transactions getting a Transaction Finish Time.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
3 years agoLP#1819540 - Change expire list to match what the hold expire function
Steven Callender [Tue, 19 Mar 2019 16:57:55 +0000 (12:57 -0400)]
LP#1819540 - Change expire list to match what the hold expire function

Updated to use 'today'::timestamptz as suggested by Mike Rylander.

Testing:

1. Update a few holds that show up on the hold shelf so their shelf time
is set to now.

2. Confirm that you see them on the holds shelf.

3. Show clearable holds, holds are on the list.

4. Check in one of the items, and see that it goes back on the hold shelf.

After Fix Applies.

1. Update a few holds that show up on the hold shelf so their shelf time
is set to now.

2. Confirm that you see them on the holds shelf.

3. Show clearable holds, holds are no longer on the list.

Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
4 years agolp1801137 Item Status Precat Information
Kyle Huckins [Wed, 11 Mar 2020 21:07:11 +0000 (21:07 +0000)]
lp1801137 Item Status Precat Information

- Display precat title, author, and isbn in place of
regular title, author, and isbn fields in Item Status
list view when working with precat items.
- Add Dummy Title and Dummy Author fields to Item Status
Detail view when looking at a precat item.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1774268: Tidy up hold notification testing
Jason Boyer [Wed, 1 Apr 2020 12:57:53 +0000 (08:57 -0400)]
LP1774268: Tidy up hold notification testing

Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP#1774268: handle opac.hold_notify empty string in AngJS patron editor
Jeff Davis [Wed, 19 Feb 2020 20:36:30 +0000 (12:36 -0800)]
LP#1774268: handle opac.hold_notify empty string in AngJS patron editor

If a patron does not want either phone or email hold notifications,
their opac.hold_notify user setting will be an empty string.  Let's
ensure that the hold notify checkboxes remain unchecked in the patron
editor when that is the case.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP 1774268
Suzanne Paterno [Tue, 6 Aug 2019 15:29:57 +0000 (11:29 -0400)]
LP 1774268
On patron edit screen set the email and phone notification to true when patron doesn't have any prefernces. This mimics the behavior in the xul client.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP#850160 - Event Def Environment Fleshing Might Have Issue
Josh Stompro [Tue, 25 Feb 2020 19:53:08 +0000 (13:53 -0600)]
LP#850160 - Event Def Environment Fleshing Might Have Issue

When the action trigger environment gets fleshed out, there is a bug
with how might_have relations are fleshed ever other time they are
evaluated.

The first time they are correctly evaluated, but then the next time the
same path gets evaluated, the object gets reset to the first value in
the object.

See https://bugs.launchpad.net/evergreen/+bug/850160 for testing notes.

The fix is to add an extra check to only grab the first element if the object is
an array.  If it isn't an array it means it has already been fleshed.

Testing notes:

One way to test this bug is by looking at the self check
receipt, hours of operations bug.
https://bugs.launchpad.net/evergreen/+bug/793627

By default, the self check receipt will fail for even numbers of items checked
out because the hours of operation doesn't get fleshed correctly.

With this change, the receipt should print for even and odd numbers of items.

Another test is to add user.money_summary to a lost/bill action trigger
event notification.  Before the fix, if you have an even number of items billec, the
user.money_summary gets set to the first object in that table, and for odd
numbers of items, user.money_summary.balanced_owed gets set correctly.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agolp1668352 Add barcode to patron neg balance grid
Mike Risher [Thu, 13 Feb 2020 21:02:09 +0000 (21:02 +0000)]
lp1668352 Add barcode to patron neg balance grid

Add a barcode column to the existing Patron Negative Balance Grid.
It should be hyperlinked and link to the relevant patron.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1839684: avoid repeating qtype prefix in query
Jeff Davis [Mon, 9 Sep 2019 23:11:44 +0000 (16:11 -0700)]
LP#1839684: avoid repeating qtype prefix in query

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Gina Monti <gmonti@biblio.org>
4 years agoLP1854197 Add Vols and Copies honors owning lib
Bill Erickson [Mon, 2 Dec 2019 22:44:14 +0000 (17:44 -0500)]
LP1854197 Add Vols and Copies honors owning lib

Fixes a bug in the Add Volumes and Copies action where there vol/copy
editor was unable to extract the owning library of the selected volumes,
thus leading to no differentation between owning libraries in the editor
and having all of the new volumes/copies linked (by default) to the
first owning library in the list.

To test:

1. Navigate to Item Status UI
2. Scan multiple (say, 3) barcodes, each with a different owning lib.
3. Select all 3 items and chose "Add Callnumbers and Items"
4. The holdings edit page that results should show one volume and copy
   row per owning library instead of all rows linked to the first owning
   library in the set.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jessica Woolford <jwoolford@biblio.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP1841823 Marc flat editor repair slashes (AngJS)
Bill Erickson [Mon, 16 Sep 2019 15:26:23 +0000 (11:26 -0400)]
LP1841823 Marc flat editor repair slashes (AngJS)

Replace all control field spaces with backslashes in MARC Flat text
editor (AngJS edition).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
4 years agoLP1787415: Item Status checkout date and checkout workstation for renewed items
Michele Morgan [Thu, 8 Aug 2019 18:01:00 +0000 (14:01 -0400)]
LP1787415: Item Status checkout date and checkout workstation for renewed items

Fixes Item Status Quick Summary and Recent Circ History to show the original
checkout date and original checkout workstation for renewed items, instead of
values from the most recent circ row.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP1849370 Mark items as damaged - changing fee usability issues
Dan Briem [Fri, 24 Jan 2020 23:03:07 +0000 (18:03 -0500)]
LP1849370 Mark items as damaged - changing fee usability issues

The prop that conditionally renders the fee interface is bound to the fee input
so it removes itself from the DOM when cleared. The patch uses a separate prop.

The fee input's by the edge so you may mistakenly close the modal if you try to
click & drag to highlight the fee. The patch sets the prop backdrop to static.

A $0 item price will cause the modal to keep reloading on submit. If you set a
$0 fee manually without clicking No Charge it charges the full item price. The
patch sets the apply_fines param for the Perl API dynamically on submission.

To test:
1. Make sure the OU setting "Charge item price when marked damaged" is true
2. Check out an item with a price to a user
3. Mark it damaged (from Item Status or Checkin screen)
4. Note if you clear the fee input it removes itself, if you drag the mouse off
the modal & release it closes, & if you charge $0 without using "No Charge" it
charges the user the full item price
5. Apply patch and repeat steps 1-3
6. Note the input stays when cleared, the modal doesn't close if you release
the mouse on the backdrop, & charging $0 doesn't charge the user

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agolp1792995 wrong row details shown on billing grid
Mike Risher [Tue, 4 Feb 2020 22:42:08 +0000 (22:42 +0000)]
lp1792995 wrong row details shown on billing grid

When using the bill grid, if one right clicks on a row and views full
details one is taken to the first selected row.  Make the UI show
full details for the row being right clicked on.  If no row is
clicked on show first selected item's details.

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

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1778521: Reset field transform after adding fields
Mike Rylander [Wed, 19 Feb 2020 15:36:56 +0000 (10:36 -0500)]
LP#1778521: Reset field transform after adding fields

Prior to this commit, the field transform was carried from field to
field as each was added to a report.  This commit resets the selected
transform to the default "Raw data" after adding a field.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
4 years agolp1654529 Callnumber Sorting by Sortkey in Transit & Copy Buckets
Kyle Huckins [Tue, 21 Jan 2020 22:38:13 +0000 (22:38 +0000)]
lp1654529 Callnumber Sorting by Sortkey in Transit & Copy Buckets

- Add column for label_sortkey, displaying the data for a
Callnumber's Label.

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

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1859191 - Use correct API method for updating existing MARC records.
Chris Sharp [Fri, 10 Jan 2020 16:54:08 +0000 (11:54 -0500)]
LP#1859191 - Use correct API method for updating existing MARC records.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1839372 Splash page needs headers
Terran McCanna [Tue, 22 Oct 2019 18:34:48 +0000 (14:34 -0400)]
LP#1839372 Splash page needs headers

This resolves accessibility problems by changing the section
divs on the splash page of the staff client to h1s. It does
not change anything visually.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP#1839359 Select element on login not accessible
Terran McCanna [Tue, 22 Oct 2019 13:37:59 +0000 (09:37 -0400)]
LP#1839359 Select element on login not accessible

This adds id and name to the select element on the staff
client login page to make it accessible.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1775276: Check In - "Route To" Field Sometimes Incorrect
Dan Briem [Fri, 29 Nov 2019 19:51:06 +0000 (14:51 -0500)]
LP#1775276: Check In - "Route To" Field Sometimes Incorrect

When open-ils.circ.checkin closes a transit and creates a new one, the
payload only returns the closed transit. The route dialogs perform a
pcrud search to get the most recent transit, but the grid's Route To
field still depends on the transit returned by the API, so received
transits display the old destination in the Route To field instead of
the shelving location or new destination.

This branch returns the most recent route info collected by the route
dialog and, if the most recent transit destination doesn't match the
old one, the new one is assigned to the route_to prop on the
final_resp. It also checks that the transit is open before displaying
the destination in the Route To field so the shelving location
displays if the most recent transit is closed.

To test:
1. Sign in as Library A and check in an item owned by Library B
2. Place a copy hold on the item with a pickup location of Library C
3. Sign in as Library B and check in the item - note the dialog is
   correct but the grid's Route To field displays Library B instead of
   Library C
4. Apply patch
5. Repeat steps 1-3, note the Route To field displays Library C

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
4 years agoForward port 3.3.5 to 3.3.6 db upgrade script
Jason Stephenson [Mon, 27 Jan 2020 20:08:06 +0000 (15:08 -0500)]
Forward port 3.3.5 to 3.3.6 db upgrade script

Signed-off-by: Jason Stephenson <jason@sigio.com>
4 years agoDocs: release notes for 3.3.6
Jane Sandberg [Thu, 23 Jan 2020 15:12:42 +0000 (07:12 -0800)]
Docs: release notes for 3.3.6

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1801163: (follow-up) deal with header fields that contain Unicode strings
Galen Charlton [Fri, 3 Jan 2020 22:55:10 +0000 (17:55 -0500)]
LP#1801163: (follow-up) deal with header fields that contain Unicode strings

Since Email::MIME->header_str_set() expects Unicode strings, not octets,
use decode_utf8() on the header values to

To test
-------
[1] Update the biblio.format.record_entry.print A/T event definition
    to include non-ASCII characters in the subject and from headers.
[2] Upon applying the patch series, verifying that the strings provided
    in step 1 are not mangled when the email is sent.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP#1801163: update Fedora installation deps
Galen Charlton [Fri, 3 Jan 2020 22:19:56 +0000 (17:19 -0500)]
LP#1801163: update Fedora installation deps

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLp 1801163: Switch to Email::MIME in SendEmail A/T Reactor
Jason Stephenson [Fri, 8 Feb 2019 20:47:41 +0000 (15:47 -0500)]
Lp 1801163: Switch to Email::MIME in SendEmail A/T Reactor

Switch from Email::Simple to Email::MIME Perl module in the SendEmail
Action/Trigger Reactor.  Email::MIME properly encodes unescaped header
fields when added to the message with the header_str_set method.

We allow only 1 of each address field to be created while doing the
encoding, so that messages conform to RFC 2822.

This commit adds a new prerequisite as mentioned in the release notes,
so be sure to install the prerequisites for your Linux distribution
before installing.

You can test this with concerto data from a fresh installation by:

1. Configuring your test system to send email.

2. Updating all actor.usr entries to have your email address.

3. Updating the New User Created Welcome Notice event definiton to
   active = true.

4. Run the action_trigger_runner with --process-hooks --run-pending.

5. You should get 237 new user welcome emails.  The exact number is
   subject to change.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1832735 - Allow copy alerts to be applied to multiple copies
Josh Stompro [Fri, 8 Nov 2019 04:00:21 +0000 (22:00 -0600)]
LP1832735 - Allow copy alerts to be applied to multiple copies

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1851434 - Allow COPY_NOT_AVAILABLE.override during renewal
Josh Stompro [Tue, 5 Nov 2019 21:31:21 +0000 (15:31 -0600)]
LP#1851434 - Allow COPY_NOT_AVAILABLE.override during renewal

Also addresses LP#1827901 - Allow PATRON_EXCEEDS_LONGOVERDUE_COUNT
override during checkout and renew.

Test Plan:
1. Check out an item to a patron.
2. Mark item lost by patron to change status to lost.
3. In web client, log in as user with COPY_NOT_AVAILABLE.override
4. Try to renew item for patron, see that it isn't allowed.

After fix:
1. Try to renew item for patron, see that the override is now allowed.

Also try checkouts and renews for patrons that have the PATRON_EXCEEDS_LONGOVERDUE_COUNT block.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1840982 Replace troublesome catalog icons
Bill Erickson [Wed, 21 Aug 2019 21:18:09 +0000 (17:18 -0400)]
LP1840982 Replace troublesome catalog icons

Replace 'arrow_right' icon with 'keyboard_arrow_right' (ditto left) in
the Angular catalog holdings maintenance grid.  This resolves an issue
where the 'arrow_right' icon presents with excess padding, causing the
barcode / call number values to appear to be empty in the
'Location/Barcode' column of the holdings grid.

See also LP1830912 for icon padding issues.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP1735566: Ask before deleting items in non-ideal statuses in AngularJS
Jane Sandberg [Thu, 17 Oct 2019 18:11:34 +0000 (11:11 -0700)]
LP1735566: Ask before deleting items in non-ideal statuses in AngularJS

To test:

1) Apply this commit.
2) Log in as a user with COPY_DELETE_WARNING.override permission.
3) Go to item status and scan an item in a non-ideal status (like #1:
checked out)
4) Delete the item.  Note that you are alerted of the item's non-ideal
status, and you can confirm that you actually want to delete it.
5) Repeat steps 3-4 with an item in an ideal status (like #0:
Available). Note that no such alert appears.
6) Open the holdings view and repeat steps 4-5.
7) Log in as a user without the COPY_DELETE_WARNING.override
permission. Note that you are still informed about the non-ideal status,
but you aren't able to continue with the deletion without an admin
using their credentials.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#1860351: fix hasWorkPermHere() in Angular client
Galen Charlton [Sun, 19 Jan 2020 19:47:40 +0000 (14:47 -0500)]
LP#1860351: fix hasWorkPermHere() in Angular client

Fixes a bug where the Angular client's hasWorkPermHere() check
could return incorrect results and thus incorrectly report
whether or not the staff user currently has particularl permissions
at their current workstation.

To test
-------
[1] Arrange for a workstation whose internal ID is larger than
    any of the org unit IDs.
[2] Log in to that workstation with a user who has permission
    to update monograph parts.
[4] In the experimental Angular staff catalog, go to a record
    (e.g., /eg2/en-US/staff/catalog/record/21/monoparts) and note
    that the New Monograph Part button is disabled.
[5] Apply the patch and repeat step 4. This time, the button
    should be active.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1739609 - Add Monographic Part to check in grid.
Josh Stompro [Thu, 21 Nov 2019 20:01:36 +0000 (14:01 -0600)]
LP1739609 - Add Monographic Part to check in grid.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1843599: AngularJS MARC editor once again sets bib source
Galen Charlton [Fri, 20 Dec 2019 17:40:34 +0000 (12:40 -0500)]
LP#1843599: AngularJS MARC editor once again sets bib source

This patch fixes a regression introduced by the patch for bug 1693580
that prevent changes to the bib source from being made via the AngularJS
MARC editor.

To test
-------
[1] Apply the patch.
[2] Create a new bib record and save it with a non-empty source. Verify
    that the record sets the source as expected.
[3] Edit a bib record and change the source. Verify that the new source
    is retained when the record is saved.
[4] Edit an authority record and save it. Verify that it can be updated
    without error. (Note that authority records do not have sources in
    the same way that bib records do.)

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Rogan Hamby <rhamby@esilibrary.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
4 years agoLP#1855329: Hold shelf query speed problem
Mike Rylander [Thu, 5 Dec 2019 20:12:57 +0000 (15:12 -0500)]
LP#1855329: Hold shelf query speed problem

In bug 1827250 I suggested Jason Stephenson look at an alternate SQL
formulation to solve the original problem. He did, and deemed it faster,
so went with that. Unfortunately, on PG 9.6, we're seeing some data sets
that decide on a /very/ poor plan for the wide-hold query with the
solution as implemented, but the original suggestion from Jason works
fine.

In the face of evidence controverting my thought that giving PG more
options for planning is better in this case, this commit moves to his
original query change.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1857156: handle HHH:MM:SS durations in loans
Galen Charlton [Fri, 20 Dec 2019 17:55:16 +0000 (12:55 -0500)]
LP#1857156: handle HHH:MM:SS durations in loans

This patch fixes a problem where loan durations of the form
HHH:MM:SS, where the hours component is longer than 2 digits, could
cause checkouts to fail. This sort of duration has been observed
in cases where a library wanted a long-term reserves loan that
doesn't have the due time bumped up to midnight.

To test
-------
[1] Set up a circulation policy that has a loan duration of 167:59:59.
[2] Attempt a checkout that uses that policy. Note that the checkout
    will fail.
[3] Apply the patch and repeat step 2. This time, the checkout should
    succeed.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
4 years agoLP1857350 Org selector sorts by display value
Bill Erickson [Thu, 26 Dec 2019 18:18:26 +0000 (13:18 -0500)]
LP1857350 Org selector sorts by display value

When displaying the org unit selector, sort each set of children by the
display label (defaults to shortname).

Fixes issues with the org server sortTree function and adds a unit test
to test the repaired sort function.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1848778 Use consistent MARC breaker delimiter
Bill Erickson [Fri, 18 Oct 2019 17:47:17 +0000 (13:47 -0400)]
LP1848778 Use consistent MARC breaker delimiter

Use the '$' delimiter in the read-only MARC breaker view for
consistency with the flat text MARC editor to easy copy/paste from one
to the other.

To test
-------
[1] Apply the patch.
[2] Set up two records in a record bucket and initiate a merge. Note
    that when you select a lead record and choose to edit it in
    flat text mode, you can copy and paste fields from the subordinate
    record display without having to change the subfield delimiter
    character.
[3] Mark a record for overlay, perform a Z39.50 search, then select
    a hit and choose the overlay action. Note that you can copy and
    paste fields from the record to overlay when editing the incoming
    record using the flat text editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1780283 Checking One Bill Checks Them All
Dan Briem [Fri, 9 Aug 2019 03:45:40 +0000 (23:45 -0400)]
LP#1780283 Checking One Bill Checks Them All

Under Patron->Bills->History if Bill # isn't visible for the Transactions
grid or Payment ID isn't visible for Payments grid, rows can't be selected
individually. This adds the required attribute to those field directives.

1. Under a patron account with multiple bills, go to Bills->History
2. Remove Bill # from the Transactions grid
3. Try to select an individual row (note all rows are selected)
4. Apply patch and repeat steps 1-3 (note rows are selected individually)

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agolp1712644 Prevent check out due date in past
Katlyn Beck [Mon, 26 Nov 2018 21:23:48 +0000 (21:23 +0000)]
lp1712644 Prevent check out due date in past

- Prevents selecting past due date when checking out an item
- Prevents saving a due date with hatch when input date is invalid

Signed-off-by: Katlyn Beck <kbeck@catalyte.io>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1827942: follow-up to fix a couple issues
Galen Charlton [Fri, 27 Dec 2019 16:04:32 +0000 (11:04 -0500)]
LP#1827942: follow-up to fix a couple issues

[1] Sets a default value for the modal options for dialogs such
    as ProgressDialog that do not supply any value for the
    options parameter; otherwise, progress dialogs would not
    appear at all.
[2] Fix lint warnings.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agolp1827942: prevent clicking outside an Angular modal from closing it
Zavier Banks [Tue, 17 Sep 2019 20:59:15 +0000 (20:59 +0000)]
lp1827942: prevent clicking outside an Angular modal from closing it

I added a new property to the "options" object inside the "open"
function, which resides in the dialog.component.ts. The static string
inside the backdrop property makes the form stay, even if the backdrop
is clicked.

Signed-off-by: Zavier Banks <zbanks@catalyte.io>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1803406 Due date box in check out has display issues at wider resolutions
Dan Briem [Wed, 7 Aug 2019 23:13:21 +0000 (19:13 -0400)]
LP#1803406 Due date box in check out has display issues at wider resolutions

Adjusted bootstrap .col classes so the specific due date input displays the
full date and prevents the barcode input group from collapsing at < 1179px.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1830923: do not show Enhanced MARC editor tab when editing in-place
Galen Charlton [Wed, 4 Dec 2019 22:41:38 +0000 (17:41 -0500)]
LP#1830923: do not show Enhanced MARC editor tab when editing in-place

As the the AngularJS side does not currently offer a path
for directly editing a queued record, the enhancd editor tab
serves no purpose in this context.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1830923: add support for editing queued authority records
Galen Charlton [Wed, 4 Dec 2019 22:34:45 +0000 (17:34 -0500)]
LP#1830923: add support for editing queued authority records

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830923 Vandelay queued record MARC edit
Bill Erickson [Thu, 17 Oct 2019 21:59:08 +0000 (17:59 -0400)]
LP1830923 Vandelay queued record MARC edit

Allow editing of Vandelay queued bib records (from the queue
interface) via the Angular MARC editor.

Note only the flat text editor is currently supportd in the
Angular MARC editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830923 Marc edit in-place additions
Bill Erickson [Thu, 17 Oct 2019 21:57:10 +0000 (17:57 -0400)]
LP1830923 Marc edit in-place additions

Improve Angular MARC editor for in-place editing.

* Make inPlaceMode a proper @Input.
* Allow the caller to pass in the bib source
* The recordSaved event now reports both the MARC XML and the currently
  selected bib source.
* Option to hide the link to the AngJS Rich Editor

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1607922: Receiving items on page 2 of search results
Jane Sandberg [Tue, 30 Jul 2019 20:54:10 +0000 (13:54 -0700)]
LP1607922: Receiving items on page 2 of search results

Previously, if a user selected a bunch of line items on two consecutive
pages of acq search results, and tried to receive items from the second
page, the operation would fail.

This issue was caused by Evergreen caching IDs of selected line items
from page 1, but not caching the data that went along with them.

To test:

1) Go to Acquisitions > General Search
2) In the Select Search Field dropdown, choose LI - State.
3) Set the state to on-order.
4) Click Search.
5) Click the check mark to select all results on the first page.
6) Click the Next button.
7) Click the check mark to select all results on the second page.
8) On the top --Actions-- menu, select Mark Selected Line Items as
Received.
9) Note that the interface does nothing, and that there is a TypeError
error message in the browser console.
10) Apply this commit.
11) Refresh your page completely and repeat steps 1-8.
12) Note that the items on the second page are received.  Since they no
longer meet the search criteria, Evergreen gives you the next page of
results.

For further testing, see similar test steps by John Yorio at
https://bugs.launchpad.net/evergreen/+bug/1607922.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agolp1437103 Allow Receipts to Print when Suppressing Popups
Kyle Huckins [Fri, 5 Jul 2019 14:36:05 +0000 (14:36 +0000)]
lp1437103 Allow Receipts to Print when Suppressing Popups

- Move suppress_popup check further along and allow transit receipts
to properly print when popups suppressed.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/services/circ.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agolp1437103 Suppress Popups on Patron Items Out Checkin
Kyle Huckins [Wed, 26 Jun 2019 15:36:09 +0000 (15:36 +0000)]
lp1437103 Suppress Popups on Patron Items Out Checkin

- Make Patron Items Out UI respect Suppress Popups setting.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agolp1437103 - Suppress Popups based on OU Setting
Kyle Huckins [Tue, 25 Jun 2019 16:47:04 +0000 (16:47 +0000)]
lp1437103 - Suppress Popups based on OU Setting

- Allow OU setting to suppress checkin popups to properly take effect.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/services/circ.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoForward-port 3.3.5 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:39:46 +0000 (15:39 -0400)]
Forward-port 3.3.5 upgrade script

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

Signed-off-by: Remington Steed <rjs7@calvin.edu>
4 years agoDocs: adding release notes for 3.2.9
Jane Sandberg [Wed, 18 Sep 2019 03:55:19 +0000 (20:55 -0700)]
Docs: adding release notes for 3.2.9

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
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 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>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoDocs: Add 3.3.5 point release notes
Remington Steed [Fri, 25 Oct 2019 19:49:00 +0000 (15:49 -0400)]
Docs: Add 3.3.5 point release notes

Signed-off-by: Remington Steed <rjs7@calvin.edu>
4 years agoLP#1846038 Remove extra grid refresh from configuration load
Dan Wells [Tue, 22 Oct 2019 14:55:41 +0000 (10:55 -0400)]
LP#1846038 Remove extra grid refresh from configuration load

Bug LP#1790169 added the ability to save sorting configuration, but it
also added an additional grid refresh to the configuration load.  This
breaks grid loading.

The expected flow is for is to first load any existing configuration,
then do the first collect() for the grid.  This refresh() call adds
potentially a second collect() which may run earlier than it should,
and overall does not seem necessary.

To test:

(Make sure you are testing on current master or rel_3_3/3_4, or you
will (like me) hit related bugs which have been fixed.  Also, some
grids (especially circ) do not honor sort for other reasons, so avoid
those for now.)

1) Find a grid which has a typical get() process.  Suggestion would be
a basic auto grid, such as full bill details,
https://localhost/eg/staff/circ/patron/11/bill/43/details .
2) Set a sort value you can see, then *save* the configuration.
3) Before the patch, billing details grid doesn't load.  After patch,
grid loads and still honors the defined sort.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
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 agoLP#1806783 Offline: Non-cataloged item receipt printing
Terran McCanna [Thu, 7 Mar 2019 17:55:46 +0000 (12:55 -0500)]
LP#1806783 Offline: Non-cataloged item receipt printing

When checkout out non-cataloged items in the offline interface,
the receipt will now print 'Non-cataloged item' and the number
of items rather than printing nothing.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
4 years agoLP1849372 Close all open dialogs on Angular route change
Bill Erickson [Tue, 22 Oct 2019 19:54:13 +0000 (15:54 -0400)]
LP1849372 Close all open dialogs on Angular route change

On all angular route changes, force close any open dialogs, since it
makes little sense for them to persist across interfaces.

To test:

[1] Navigate to Server Administration
[2] Navigate to Age Hold Protection Rule Configuration
[3] Double-click a grid row to open an edit dialog
[4] Click browser back button to return to the Server Admin page
[5] Confirm edit dialog closes once the navigation is complete.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agoLP#1844720: avoid hard-coded paths in Apache config
Jeff Davis [Thu, 19 Sep 2019 19:51:28 +0000 (12:51 -0700)]
LP#1844720: avoid hard-coded paths in Apache config

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP #1765434 Browser refresh closes purchase order
Tiffany Little [Mon, 18 Mar 2019 17:51:03 +0000 (13:51 -0400)]
LP #1765434 Browser refresh closes purchase order

Adds a Refresh button to refresh the iframe in place.

Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.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 agoDocs: Fix image syntax in Authority Browse infrastructure docs
Remington Steed [Mon, 21 Oct 2019 20:56:31 +0000 (16:56 -0400)]
Docs: Fix image syntax in Authority Browse infrastructure docs

There are two image references in the docs section "Infrastructure
Changes to Authority Browse" that use incorrect AsciiDoc syntax, and
therefore the images don't display in the docs. This commit fixes them
(changing "images::" to "image::", removing the "s").

Signed-off-by: Remington Steed <rjs7@calvin.edu>
4 years agoLP1821969 Additional fix to second_given_name
Michele Morgan [Mon, 16 Sep 2019 18:50:16 +0000 (14:50 -0400)]
LP1821969 Additional fix to second_given_name

Adds primary second_given_name to the preferred name if there is no
preferred second_given_name. This matches the behavior of the other name
fields.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1821969 Patron Prefix and Suffix Display in Summary
Garry Collum [Wed, 8 May 2019 00:57:50 +0000 (20:57 -0400)]
LP1821969 Patron Prefix and Suffix Display in Summary

Adds support for displaying the patron prefix, suffix, preferred prefix, and preferred suffix in the patron summary sidebar.

To test:
  1. Add a combination of prefixes, suffixes, preferred prefixes, and preferred suffixes to several patrons.
  2. Also add some other preferred information to some of these patrons.
  3. In the sidebar notice the lack of prefix information in both the patron's main heading and in the preferred name information.
  4. Apply the patch.
  5. In the sidebar the prefixes and suffixes are now displayed.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
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#1842763: Vandelay: disable grid row select on queued record matches
Jeff Davis [Thu, 10 Oct 2019 18:04:48 +0000 (11:04 -0700)]
LP#1842763: Vandelay: disable grid row select on queued record matches

Users are on this screen to select a merge target, which they do by
selecting a cell in the Merge Target column.  The grid selector
checkboxes are confusing and useless (they don't support the purpose of
this screen and there are no supported actions for selected rows).

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Bill Erickson <berickxx@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: stamp DB update
Galen Charlton [Fri, 4 Oct 2019 14:33:45 +0000 (10:33 -0400)]
LP#1729435: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1729435: Add Seed Data for WS type for Bill Full Details grids
Michele Morgan [Fri, 5 Apr 2019 20:55:19 +0000 (16:55 -0400)]
LP#1729435: Add Seed Data for WS type for Bill Full Details grids

Adds the config.workstation_setting_type values to the seed data and
an upgrade script to allow storing in the database.

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#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#1803790 Re-alphabetize Local & Server Administration Links
Terran McCanna [Wed, 6 Mar 2019 21:40:53 +0000 (16:40 -0500)]
LP#1803790 Re-alphabetize Local & Server Administration Links

Small fix that re-orders the links that were out of order due
to link name changes.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
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 agoLP 1827250: Fix Last Captured Hold Check for Holds Shelf
Jason Stephenson [Thu, 2 May 2019 12:36:15 +0000 (08:36 -0400)]
LP 1827250: Fix Last Captured Hold Check for Holds Shelf

When the current copy on an on shelf hold is the same as that on some
uncaptured holds, the hold fails to appear on the hold shelf when it
should.  This comes down to some SQL in the storage function to
retrieve wide holds: open-ils.storage.action.live_holds.wide_hash.

The intent of the new code is to check that the current hold matches
the most recently captured hold for the copy.  However, the order by
in the query fails to take into account holds with a NULL capture time
on the same copy will sort before the captured holds.  This patch
rectifies this situation by adding "NULLS LAST" to the order by.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
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 agoLP1842940: stamping and slight tweak to upgrade script
Jane Sandberg [Tue, 1 Oct 2019 21:47:07 +0000 (14:47 -0700)]
LP1842940: stamping and slight tweak to upgrade script

Mike Rylander suggested the INSERT ... SELECT ... WHERE NOT
EXISTS approach, since this fix is being backported to older
releases, and we don't want to cause duplicate entries or
upgrade failures if the perm already exists

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1842940: Improve Alert
Mike Rylander [Tue, 17 Sep 2019 15:07:04 +0000 (11:07 -0400)]
LP#1842940: Improve Alert

Attempt to float the alerts below the sticky bar and above the main
content of the user editor.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1842940: Alert when editing is disallowed
Mike Rylander [Wed, 11 Sep 2019 18:46:44 +0000 (14:46 -0400)]
LP#1842940: Alert when editing is disallowed

Provide functions that checks the permissions required to edit ones
own account, or accounts in groups based on group application
permissions, and alert the user if and why they can't edit an account.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>