Bill Erickson [Thu, 10 Mar 2016 18:08:00 +0000 (13:08 -0500)]
LP#1554714 Migrate eg-date-input to ui-datepicker-popup
Also add support for uib-timepicker as an option secondary component of
the input.
Refactor existing use of eg-date-input to use <eg-date-input/>-style
declaration to better differentiate between a normal <input> and the
more complete/stylized date input div.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Angular 1.4+ requires that each controller be instantiated via the
module.controller() function. No more global functions. The patron
reg. controller, shared by 2 different modules, was defined as a global
function. Resolve this by hanging it off the core module (when loaded).
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
We had some overlap in numbers at the beginning of test file names.
The OCD in me think this should be straightened out. This branch
renumbers the duplicates starting with 10-.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Ben Shum <ben@evergreener.net>
Mike Rylander [Fri, 25 Mar 2016 17:52:54 +0000 (13:52 -0400)]
LP#1539084: webstaff: sort column picker entries by class path and column labels
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Conflicts:
Open-ILS/web/js/ui/default/staff/services/grid.js
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
- add items to bucket
- request items
- Link as Conjoined to Previously Marked Bib Record
- Delete Copies
- Check In Copies
- Renew Copies
- Show Triggered Events
- Show Item Holds
- Show Record Holds
- Mark Item As Damaged
- Mark Item as Missing
- Add Copies
- Add Volumes and Copies
- Edit Volumes
- Edit Copies
- Edit Volumes and Copies
- Replace Barcodes
- Transfer Items to Previously Marked Library
- Transfer Items to Previously Marked Volume
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Mike Rylander [Wed, 24 Feb 2016 16:02:42 +0000 (11:02 -0500)]
LP#1570091: Show (index / hit count) in the Back To Results button
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Conflicts:
Open-ILS/src/templates/opac/parts/record/navigation.tt2
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Fri, 1 Apr 2016 00:35:00 +0000 (20:35 -0400)]
LP#1564685 Avoid referencing out-of-scope stat cats
Fixes a bug in the patron editor where out-of-scope stat cats would be
incorrectly bundled in the patron save operation, resulting in a
server-side error on save. In short, ignore out-of-scope stat cat
entries for patrons in the editor.
An org setting requiring a value for a field in the patron editor means
the field is required, even if it's not required by default. IOW, fix
the code that was supposed to do that already.
Of note, county and state can now both be marked as required by org
settings in the patron editor.
Bill Erickson [Thu, 24 Mar 2016 02:13:44 +0000 (22:13 -0400)]
LP#1564685 Allow barcode as username despite regex
Allow a patron's barcode to be considered a valid username in the patron
editor even in the presence of an 'opac.username_regex' org setting
value that does not match the barcode.
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>
Galen Charlton [Mon, 21 Mar 2016 19:23:42 +0000 (15:23 -0400)]
LP#1560174: fix MARC import for database upgraded to 2.10.0
This patch applies the correct version of the vandelay.ingest_items()
stored procedure introduced in the patch for bug 1548143.
To test
-------
[1] Upgrade an Evergreen database to 2.10.0 (a fresh database
will not run into the bug).
[2] Try importing a MARC bib record via Vandelay using a profile
that imports items. This should fail.
[3] Apply the schema update in this patch.
[4] Repeat step 2; this time, the import should succeed.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
* Fixes bug that caused password verify calls to fail with an exception
when tested with a barcode.
* Verify API always returns false when tested on deleted users.
To test:
1. In the staff client, navigate to Circulation -> Verify Credentials
2. Confirm username and barcode lookups return success for a non-deleted
user using the correct password.
3. Delete a test user in the database:
UPDATE actor.usr SET deleted = TRUE WHERE id = <id-of-test-user>;
4. Re-do step 2 confirming non-success results are returned.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Avoid transaction collision errors when updating patrons, in cases where
the patron object has to be updated more than once, by refreshing the
last_xact_id value on the in-progress patron object.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1. Adds support for enforcing ui.patron.edit.*.require and
ui.patron.edit.*.regex org unit settings via Angular's ng-pattern and
ng-required attributes.
2. Supports selecting only valid profile groups and home org units.
3. Warns the user when a duplicate barcode or username is encountered.
When any fields in the form are invalid, the save options are disabled.
==
Adds support for enforcing the following permissions:
Mike Rylander [Mon, 7 Dec 2015 16:57:11 +0000 (11:57 -0500)]
LP#963341: Unrelated YAOUS breaks MFHD management
Part of LP bug 963341 is about how the setting opac.fully_compressed_serial_holdings
breaks staff's ability to manage MFHD attached to serials records. This
commit unbreaks that by fetching the relevant MFHD regardless of that setting
but should not otherwise change user-visible behavior.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
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 [Wed, 2 Mar 2016 21:52:13 +0000 (16:52 -0500)]
LP#1275118 Holds history displays canceled holds as active
Prior to this change, when a patron viewed holds history, canceled holds
displayed as active. From the patron point of view, the hold is no
longer active after it has been canceled.
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.
This patch makes open-ils.auth_internal look for
default_timeout values for persistent authentication
in the intended section of opensrf.xml.
To test:
[1] Attempt to log into the public catalog with the "Stay logged in?"
option in effect. The login will either fail or the session
will not persist when navigating within the "My Account"
pages.
[2] Apply the patch and restart services.
[3] Attempt step 1 again; this time, authentication should work
and the session should remain active.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
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>