Galen Charlton [Wed, 16 Dec 2015 16:03:42 +0000 (11:03 -0500)]
LP#1526858: speed up queries for shelf-expired holds during checkin
This patch adds indexes on action.hold_request and tweaks
the definition of the alhr IDL view to more efficiently
identify holds that can be canceled if the "Clear Holds Shelf"
checkin modifier is in use. This can prevent a problem
where such checkins can time out in very large databases.
The tweaks were created by Jason Etheridge and have been in
production at a large consortium for some time.
To test
-------
[1] With a suitably large database, set up an item that
is on the holds shelf but has passed its shelf-expiration
time, then check it in using the "Clear Holds Shelf" modifier.
[2] The checkin may fail with a "network failure" message due
the query on the alhr timing out.
[3] Apply the patch and repeat step 1. This time, the checkin
should succeed.
Codey Kolasinski [Mon, 16 May 2016 13:28:09 +0000 (09:28 -0400)]
Adds two missing link fields (patron profile and patron home library) to
the fm_idl.xml for the Combined Active and Aged Circulations (combcirc)
reporter source. The fix was originally posted in a comment to the
Launchpad bug by Codey Kolasinski.
This patch removes the SSN (Social Security Number) as a stock
patron identification type, as it is no longer recommended
practice for libraries to store SSNs.
To test:
[1] Verify that in a fresh installation of Evergreen that
has this patch in place, that SSN is no longer listed
as a patron identification type.
Jason Stephenson [Thu, 26 May 2016 19:23:03 +0000 (15:23 -0400)]
LP 1548993: Remember the Show More/Fewer Details button selection.
The state of the Show More/Fewer Details button selection was
previously not remembered across searches or across changes to
advanced search. This commit attempts to remedy that.
Jason Stephenson [Thu, 19 May 2016 19:53:48 +0000 (15:53 -0400)]
LP 1548993: Restore Show More/Show Fewer Details button functionality.
When using a show_more_details.default setting of true in config.tt2,
the Show More/Show Fewer Details button functionality is broken. The
detail record view is always shown, regardless of the button's state.
This patch attempts to repair the behavior so that the user can toggle
the detail record view even though the default is set to true.
Galen Charlton [Mon, 23 May 2016 16:29:04 +0000 (12:29 -0400)]
LP#1373578: fix translatability of hold placement errors
This patch fixes a circumstance where ->maketext() could be
passed an empty string, causing it to emit the PO file header text
rather than a desired string.
To test
-------
[1] Configure Evergreen to use a TPAC localization (e.g.,
the Czech translation).
[2] Enable the "Has Local Copy Alert" library setting.
[3] In the OPAC, change locale and attempt to place a
hold that would trigger the alert saying that there's
already a local copy available.
[4] Note that the alert reads as "Project-Id-Version: evergreen Report-Msgid-Bugs-To: ..."
[5] Apply the patch.
[6] Try step 3; this time the alert will be translated correctly,
e.g., "Ve vaší domovské knihovně je již dostupný exemplář."
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <ben@evergreener.net>
Galen Charlton [Mon, 23 May 2016 14:29:09 +0000 (10:29 -0400)]
LP#1584801: fix tagging of previous circs in metarecord search results
This patch fixes a bug where previously-checked-out items were not
indicated as such in search results when doing a metarecord search.
To test:
[1] Ensure that the opac.search.tag_circulated_items library setting
is enabled and that you are testing with a user that has opted-in
to retaining circ history.
[2] Make a couple loans to that user.
[3] Log into the public catalog using that user.
[4] Perform a catalog search, choosing search terms such that
the previously-loaned items appear in results.
[5] Verify that "I have checked this item out before" is displayed
on the relevant hits.
[6] Click the "Group Formats and Editions" checkbox; note that
after the page refreshes, previously-borrowed hits are /not/
tagged.
[7] Apply the patch and restart the open-ils.search service.
[8] Repeat step 6; verify that this time previously-borrowed hits
are tagged.
Josh Stompro [Wed, 30 Mar 2016 13:47:57 +0000 (08:47 -0500)]
LP#1517556 - Exclude inactive event defs from find_event_def_by_hook.
Currently when find_event_def_by_hook is called to find an appropriate
event_def based on the hook, it doesn't exclude inactive event defs. So
strange behavior can happen if inactive event defs are present.
I ran into this issue when I was trying out different versions of the self
check receipt event def. I had one ative and one inactive while I was
troubleshooting, and when the system would grab the inactive event def by
chance, the self check UI would freeze. I think it is a resonable expectation
that an event def marked inactive doesn't get used by the system.
To test this out, clone one of the self check event defs, such as
"Self-Checkout Items Out Receipt" and mark the copy as inactive. Now
go and trigger this event in the self check interface by attempting to
print from the Items Out screen. It should now fail 50% of the time, since
both the active and inactive defs are returned.
After the fix the inactive event def will always be excluded, so the action
should no longer fail.
As suggested by Mike Rylander, keep the escape_email_header helper
around to avoid breaking templates that already adopted it, but make it
a no-op as the SendEmail reactor now encodes the email headers of
interest by default.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Galen Charlton [Fri, 25 Mar 2016 20:46:24 +0000 (16:46 -0400)]
LP#1562153: fix case where changing sort order to relevance can fail
This patch fixes a cause where sending a 'sort' CGI parameter
with the empty string as value (which specifies relevance sorting)
fails to override a previously-set sort order.
To test:
[1] Do a public catalog search starting from the advanced search form,
e.g., keyword = "cats"
[2] Change the sort order to (say) Title A-Z from the results page.
[3] Note that the query string changes to "sort(titlesort) cats" and
that the results are re-sorted
[4] Attempt to change the sort order to relevance.
[5] This time, the sort order does not change ... and it should have.
[6] Apply the patch and repeat steps 1-5. This time, the sort order
should be successfully changed.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Steven Callender [Wed, 13 Apr 2016 15:15:27 +0000 (11:15 -0400)]
LP#1569884 Allow deleted monograph parts to be recreated.
Changed the constraint on the biblio.monograph_part table to allow for a
monograph part to be created if a duplicate deleted version is found.
To test:
[1] Add a monograph part to a bib.
[2] Delete that monograph part.
[3] Attempt to add a monograph part to the same bib using
the same part label. Without the patches installed, this
will fail; upon applying the database update, this operation
should succeed.
Signed-off-by: Steven Callender <stevecallender@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This pgTAP test verifies that if you logically delete a monograph part,
you can subsequently add a new one with the same label as that of the
deleted one.
Now that Debian Squeeze's LTS (long-term support) period
has ended, Evergreen no longer offers community support
for that distribution. This patch removes references
to Squeeze from the installation scripts and documentation.
To test:
[1] Verify that Debian Squeeze is no longer referenced in
the installation documentation.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <ben@evergreener.net>
Conflicts:
docs/installation/server_upgrade.txt
Jason Boyer [Thu, 31 Mar 2016 12:08:03 +0000 (08:08 -0400)]
LP1564378: Silence Hash Init Warning
A trivial change to silence a lot of noise (if your libraries
use extending grace periods.)
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 22 Mar 2016 15:50:58 +0000 (11:50 -0400)]
LP#1373601: Consider relevant characters before using word-boundary checks
To perform unanchored phrase limits, we make sure that the phrase supplied
by the user does not end in the middle of a word by bounding the condition
with word-boundary bracket expresssions. However, if the phrase starts
or ends with a non-word character (that is, something other than numbers,
letters, or the underscore) then the word-boundary expression won't match.
The effect of this is to cause phrase searches starting or ending in
punctuation to fail when the user would not expect them to.
To address this, we now test the phrase for word-iness at the front and
back before applying word-boundary bracket expressions.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Wells [Thu, 7 Jan 2016 16:47:43 +0000 (11:47 -0500)]
LP#1208613: Reset lineitem cache when resetting table
Stale cache entries in this table were causing the "expand all"
functionality to break. This might be a nuclear option, but as far as
I could see, this "cache" gets repopulated on every pagination anyway,
so I don't think we're losing anything.
To test:
[1] Select a large list from the Acquisitions --> My Selection List
screen.
[2] Click on the Expand All button and the items on the page expand
with more information.
[3] Click on the Next link to bring up page 2 of the list.
[4] Click on the Expand All button and verify that additional
information is displayed.
Terran McCanna [Tue, 1 Mar 2016 21:47:20 +0000 (16:47 -0500)]
LP#1370694 Selfcheck: "Print List" for Holds view does not work
Prior to this change, the holds data was not getting passed to the
print function. Now, it is being captured and passed to the print
function. Because of some sorting discrepancies between the order of
the information being passed from here to the action trigger and the
order that the information is presented when pulled directly out of the
database by the action trigger (which led to data mismatches between the
title/author and the hold status/pickup locations for each printed item),
I modified this script to pass all of the hold information together in the
desired order to the action trigger rather than relying on the template
to match the data coming from the script with the data from the database.
This change requires the action trigger printing template to be updated in
order to work. I've included an upgrade script as well as an update to the
seed data script.
Terran McCanna [Tue, 1 Mar 2016 22:35:28 +0000 (17:35 -0500)]
LP#1551447 Selfcheck: Printing Fines Prints All Open Transactions
This corrects the behavior of the selfcheck fines receipt print template.
Prior to this, it printed all open billable transactions (eg, every item
that the patron had checked out) regardless of whether or not it had bills
associated with it. This adds a small bit of logic to the template to
check for a balance due. It also updates the javascript to check for a
balance on the account before launching the print function to prevent the
system from taking unnecessary action.
This includes a SQL upgrade script to update the Self-Checked Fines
Receipt template for systems that are already in production, as well as
including an update to the seed data.
Terran McCanna [Thu, 11 Jun 2015 22:15:13 +0000 (18:15 -0400)]
LP#1454871: Fix KPAC Hold Notification Preferences
Correction to KPAC holds notification default preferences to allow for
SMS text messaging options.
Prior to this correction, KPAC hold notifications would only pick up
hold preferences if set to email and/or phone. This correction allows
it to pick up email and/or phone and/or sms notification preferences.
To test, set hold preferences to different options, place hold via the
KPAC, and then view the hold to see which preferences were recognized.
(May need to show columns for Phone Notify, Text Notify, and Email Notify.)
Terran McCanna [Wed, 24 Feb 2016 22:17:27 +0000 (17:17 -0500)]
LP#1548869 KPAC hold results screen not displaying complete info
The getit_results.tt2 page was not displaying item title after
hold placement or after adding to a list. It was also not pulling
in the item id (which was needed for navigational links back to the
record) and was not pulling in the list name after adding an item
to a named list.
This patch adds some logic to prevent subroutine conflicts, adds
missing parameters to a function call, and corrects a variable name.
To test:
Log in to the KPAC and perform the following actions:
1. Place a successful hold (results screen should show item title
and pickup library, and provide links back to record page).
2. Place an unsuccessful hold (try placing a hold on an item you
already have a hold on - the results screen should show the item
title).
3. Add item to a temporary list (results screen should show item title).
4. Add item to a named list (results screen should show item title and
title of list it was added to).
Josh Stompro [Sat, 27 Feb 2016 14:54:04 +0000 (08:54 -0600)]
LP#1549393 - Remove undef values from isbn and issn arrays.
This prevents empty requests being sent to content providers.
This caused a problem for us because invalid ISBNs were causing
requests to Content Cafe to fail, since Content Cafe returns an
error if there is a blank key sent along with valid ISBNs and UPCs.
Specifically we had problems with DVD records from Baker & Taylor because
B&T creates unoffical ISBNs for the DVDs they sell. Those ISBN's do
not validate when run through B::ISBN.
ISSNs are also cleaned since they are validated and set to undef if
invalid just like ISBNs are.
It shouldn't hurt to not send blank requests to providers in any case.
To test:
1. I know this is a problem with Content Cafe, I don't
know if any other providers are effected. Let me know
if you need Content Cafe credentials to test.
2. Add an invalid ISBN 020a entry to a bib record that has added content. 9786316271976 is an example of a fake ISBN that doesn't
pass B::ISBN validation. Or just make up a fake number.
3. Clear out the memcache entries for that record. In 2.9+ there
is a link to clear the cache in the record detail view under Permalink.
4. Reload the record and the cover art and other added content should
not be displayed. This is because the invalid ISBN gets set to undef
, and the undef gets sent to content cafe as a blank key request.
5. Now apply the fix. Clear the memcache entries for that bib, and now
the cover art should be displayed since the undef entries due to the invalid
ISBN's have been removed.
Josh Stompro [Fri, 4 Mar 2016 19:51:34 +0000 (13:51 -0600)]
LP#1550495 - Add EDI Cancel Code 85 - used by Baker & Taylor
Baker & Taylor send back a quantity code 85 response when they cancel
a line item. This code wasn't included as one of the built in EDI
codes so those line items were not being canceled automatically in
evergreen.
The system looks for the response code + 1200 to find the cancel reason,
so this code is entered as ID 1285 in the acq.cancel_reason table.
I received confirmation from another system that uses B&T as an EDI vendor
that they also receive code 85 responses when something gets canceled.
Terran McCanna [Wed, 2 Mar 2016 17:16:43 +0000 (12:16 -0500)]
LP#1454884 Hold placed on grouped metabib result displays wrong title
Prior to this change, a full/extended title displayed even on metarecord
holds that had different extended titles, which sometimes led to situations
where a video's full title displayed on a book hold, or vice versa. This
change displays the short version of the title on metarecord holds and
the full version on individual record holds.
Chris Sharp [Mon, 8 Feb 2016 18:00:06 +0000 (13:00 -0500)]
LP#1533331 - Fix evergreen.protect_reserved_rows_from_delete() trigger function
The fix for bug 1513554 included creating a general trigger function to prevent
the deletion of reserved table rows with an ID lower than a specified threshold.
Testing for that seemed to pass muster, but using the function in practice revealed
a failure to delete deletable rows either.
This adds an explicit RETURN to the function, which fixes the issue.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Bill Erickson [Mon, 16 Nov 2015 19:48:23 +0000 (14:48 -0500)]
LP#1516757: ensure that SIP2 returns DOB correctly
Parse dates of birth using the local timezone to ensure that the date in
the database will match what is sent to SIP clients. Otherwise, the
date will be parsed as UTC and may result in the DoB value being offset
by one day in the SIP response.
To test
-------
[1] Fire up a SIP client of some sort and retrieve a patron record;
verify that the patron's date of birth is correct, and not
offset by one day.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
LP#1531976: fix bringing up Mesage Center and Triggered Events
This patch fixes a bug in the XUL staff client where
using Other -> Triggered Events from the patron page,
then Other -> Message Center, only brings up the Triggered
Events page in both cases (and vice versa).
This patch works by preventing the deck code from thinking they are
the same page, despite both using the browser wrapper as their base URL.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Jason Boyer [Wed, 2 Sep 2015 20:20:13 +0000 (16:20 -0400)]
LP#1491571: Ignore Case when Checking PW Reset email
Emails are not passwords and are not case sensitive;
while it is a good idea to require patrons to prove
they know the address associated with their account
it is not cool to deny them because they don't know
the capitalization of the value in the database.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Ben Shum <ben@evergreener.net>
Chris Sharp [Mon, 30 Nov 2015 14:48:26 +0000 (09:48 -0500)]
LP#1206936 - Fix wrong billing info in money.transaction_billing_summary
The money.transaction_billing_summary view was showing the wrong
last billing type and last billing note for certain transactions.
This fix, from Dan Scott, in turn from Mike Rylander, recreates
that view so that it depends on the speedier and more accurate
money.materialized_billable_xact_summary view.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Remington Steed [Wed, 16 Dec 2015 20:46:17 +0000 (15:46 -0500)]
LP#1526546 Sort copies by part label in holdings maint.
This commit improves the sorting of copies on the Holdings Maintenance
screen in the XUL-based staff client. The previous code sorted the
copies by their barcodes after retrieval. This commit moves the sorting
logic into the search call and adds logic to first sort by the part
label sort key.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>
blake [Wed, 23 Dec 2015 20:20:40 +0000 (14:20 -0600)]
LP#1466990: Detailed search results shows parts for items that dont have parts
The part_label variable needs to be reset between iterations. The variable was still set
and bled from copy to copy. Testing this will require a search with details turned on.
The search result set needs to include a bib that has copies with parts (with at least
one copy invisible) and another bib that has copies without parts.
Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Ben Shum <ben@evergreener.net>
When a patron has no mailing address linked, attempt to read address
data from the patron's billing address. Similarly, if all address
fields are properly set by the API caller, except the country, and the
patron has no addresses, attempt to determine the country from org unit
settings.
If insufficient address data is provided or divined, return an invalid
params Event (similar to other CC failures).
To test:
[1] Create a patron record that has no mailing address but does
have a billing address. Perform or simulate a credit card
payment; it shoudl fail with an internal error.
[2] Apply the patch and repeat step 1; this time, the payment
attempt should succeed and use the billing address.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Wells [Fri, 14 Dec 2012 18:39:21 +0000 (13:39 -0500)]
LP#1526547 Prevent bogus notes when adjusting lost/lod overdues
If you void/adjust an overdue, but don't supply a reason, the code
automatically adds "VOIDED FOR BACKDATE" to the billing note. This is
obviously wrong for overdues adjusted or voided due to lost (or long
overdue) processing.
This commit simply adds a more appropriate note.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Thu, 3 Dec 2015 21:13:09 +0000 (16:13 -0500)]
LP#1522538: Improper detection of jtitle search type
Before this change, the system would only check the first qtype URL parameter
to see if it needed to apply the journal title "bib_level(s)" filter. Instead
it should check each qtype in turn while it turns an advanced search into a
simple search string. Here the code is moved into place to accomplish that.
To test, load all test datasets into a fresh database. Perform an advanced
search on journal title for "proceedings" (no quotes) using the second search
input row. Before this commit, two records are retrieved. After, only one
is retrieved.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Stephenson [Tue, 24 Nov 2015 18:57:33 +0000 (13:57 -0500)]
LP 1519465: POs with spaces in the name cause EDI problems.
This is a small modification to the regular expression for parsing
the id from the edi line item fields in EDIReader.pm that allows the
ids to parse correctly when the PO name contained a space or spaces
in it. This change was suggesting by Bill Erickson (berick) in
http://irc.evergreen-ils.org/evergreen/2015-11-24#i_216736
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Boyer [Fri, 4 Dec 2015 06:17:21 +0000 (01:17 -0500)]
LP1522686: Force SSL for Web Staff, Add Basic Redirect for Staff URL
1 minor change, 1 less minor change.
First, add a simple redirect for staff that forget to enter the
final '/' at the end of <server>/eg/staff/.
Second, and most importantly, force all connections to the web
staff client to be redirected through an HTTPS connection. By
default the system would accept whichever connection type you
enter by hand, and fewer and fewer people actually enter the
protocol specifier these days.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Wed, 30 Dec 2015 16:00:26 +0000 (11:00 -0500)]
LP#1530158: ensure that Business::OnlinePayment::PayflowPro is installed
Business::OnlinePayment::PayflowPro is a Perl module required if
the user wants to use PayflowPro as a credit card processor; without
it, attempts to make payments in TPAC using that processor will fail
with an internal server error.
This patch ensures that the module will get installed on Debian,
Ubuntu, and Fedora.
Strictly speaking, the Perl module is strictly optional, as
Business::OnlinePayment uses lazy loading for its drivers, but this
patch is making the assumption that its easiest all around if
we just install all dependencies that an Evergreen application
server might need.
To test
-------
[1] Install or upgrade Evergreen, then run settings-tester.pl to
verify that the module is installed.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Thu, 13 Feb 2014 16:56:19 +0000 (11:56 -0500)]
LP#1526543 Truthiness check for reset_password is flawed
We expect boolean options in config.tt2 to be 'true' or 'false',
but the code was simple asking 'IF reset_password', which is true
for either value.
Instead, match on the string (as we do in other places).
To test:
- Load the stock catalog login page
- Notice the "Forgot your password?" link staying no matter which way
'reset_password' is set in config.tt2
- Apply patch, and change 'reset_password' value in config.tt2 to 'false'
- RESULT: Password reset link doesn't show up
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Josh Stompro [Wed, 25 Nov 2015 19:36:08 +0000 (13:36 -0600)]
LP#1519925 - Allow MARC Federated Search to search UPC index of local catalog.
If a organization added UPC search for certain Z39.50 servers then the UPC search box
would display in the MARC Federated Search interface, but the local catalog would
not be searched. This adds the ability to search the local catalog "Evergreen Catalog"
UPC index from that interface.
Confirm the Issue:
1. To trigger the initial problem you need a Z39.50 server setup that includes a UPC
Search. For OCLC the following Z39.50 attributes add UPC searching.
Name:upc, Label:UPC, Code:1007, Format:4, Truncation:0
2. Now the MARC Federated Search should include a UPC search option. Try searching
for a UPC that exists in the local catalog. Nothing should come up.
After patch applied:
1. Now if you search for a UPC in the MARC Federated Search that you know exists,
it will show up.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Kathy Lussier [Wed, 18 Nov 2015 21:24:14 +0000 (16:24 -0500)]
Docs: Missed some acknowledgements in the 2.9.1 point release notes
Missed a few ackwnowledgements in the release notes. Apologies to those who
I missed. Also added bshum since he made a doc change after the release notes
were merged.