Dan Scott [Wed, 17 Aug 2011 17:01:08 +0000 (13:01 -0400)]
Assume username, not barcode, in TPAC login
In the absence of a barcode regex OU setting (opac.barcode_regex), the
TPAC was assuming that the entered value was a barcode. However, the
default JSPAC assumption was that the entered value was a username. This
commit makes the TPAC continue to function with the same assumptions as
the default JSPAC in the absence of a barcode regex OU setting.
Dan Scott [Wed, 17 Aug 2011 21:18:54 +0000 (17:18 -0400)]
TPAC: Strip the "page" GET param from author searches
mkurl() generates a URL that, by default, retains all of the parameters
that the currnt query string includes - useful for retaining library
search scope, etc. However, searches for authors that are launched by
clicking on the author's name in the search results page / record
details were failing in many cases because the "page" parameter came
along with it - and if there weren't five pages of results for page=5,
for example, then no hits would be shown.
This commit removes the page param from the URL. In other places, all of
the params are stripped (see cnbrowse) but as I assume we want to retain
search scope and potentially other parameters, we'll start with the
smallest possible change.
Dan Scott [Wed, 17 Aug 2011 17:01:08 +0000 (13:01 -0400)]
Assume username, not barcode, in TPAC login
In the absence of a barcode regex OU setting (opac.barcode_regex), the
TPAC was assuming that the entered value was a barcode. However, the
default JSPAC assumption was that the entered value was a username. This
commit makes the TPAC continue to function with the same assumptions as
the default JSPAC in the absence of a barcode regex OU setting.
Bill Erickson [Wed, 17 Aug 2011 13:17:17 +0000 (09:17 -0400)]
Vandelay: don't clear item import profile when creating new queue
This avoids the problem of: enter import-profile in the UI => enter name for
new queue => profile is cleared. Import profile is still cleared/set when
an existing queue is selected, since existing queues already have an
item import profile set.
Dan Scott [Tue, 16 Aug 2011 20:44:16 +0000 (16:44 -0400)]
Address ISBN issues in T-PAC
A few problems fixed here:
* Refer to args.isbns (plural) consistently; at times we were referring
to args.isbn which did not exist
* Grab the textContent of the SFX ISBN node rather than the raw
XML::LibXML Element
* Use an assignment operation when regex'ing the SFX ISBN, as the
in-place was interpreted as a "print me" stmt and displaying the raw
SFX ISBN.
Dan Scott [Tue, 16 Aug 2011 19:09:58 +0000 (15:09 -0400)]
Delete templates_kcls from core
The KCLS templates, while a useful demonstration of how to skin the
T-PAC, should be maintained outside of the core repository as they
contain branding elements, etc, that are specific to KCLS.
Bill Erickson [Tue, 16 Aug 2011 15:34:11 +0000 (11:34 -0400)]
Merged esi/template-toolkit-opac and repaired some merge conflicts
Note to self: the simple/detail view options on the results page will
need some tweaking, particularly since many/most will want to see the
detail view by default.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Tue, 16 Aug 2011 15:50:45 +0000 (11:50 -0400)]
LP 799719: Pass the DESTDIR variable to python installer
Based on Ben Webb's patch, but using the same triple-slash to avoid any
possibility of confusion about the installation location (see also the
same adjustment made to OpenSRF).
Dan Scott [Thu, 28 Jul 2011 18:29:48 +0000 (14:29 -0400)]
LP#790329 org_lasso search is broken
Fix the JavaScript error when we attempt to create a feed for the
shortname of the org_unit_lasso (lassos have no shortname) - which lets
the request hit the backend Perl module, which in turn chokes on a test
for OU that only allows two conditions: either all digits is treated as
a numeric ID for an org unit, or it is a shortname. Of course, lassos
are negative integers, so we have to modify the test slightly to make it
happier.
There was no depth for org lasso copy counts, and this was handled
correctly in the main case by the asset.opac_lasso_record_copy_count()
function and its staff variant, but when a copy was not found at a given
org_unit in the lasso a request was made for the non-existent depth and
the function would error out.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Tue, 16 Aug 2011 14:55:39 +0000 (10:55 -0400)]
Vandelay: don't clear match-set when creating new queue
This avoids the problem of: enter match set in the UI => enter name for
new queue => match set is cleared. Match set is still cleared/set when
an existing queue is selected, since existing queues already have a
match set.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Keep the logging output of the EDI translator by default
There is valuable troubleshooting information there that is otherwise hard to
find. This particularly matters when the output of an EDI
Action/Trigger template (JEDI) doesn't successfully get translated to
EDIFACT for nonobvious reasons.
In production environments, you might instead pipe to logger so that you can
collect output with syslog, rather than in a flat file. As long as
output goes *somewhere.*
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
This line var modified_ou = new aou().fromStoreItem( current_ou ); was
producing a fieldmapper object where certain fields were being set to
contain the string "undefined" rather than a null.
The update method would take isdeleted == "undefined" as True.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Fri, 12 Aug 2011 20:09:11 +0000 (16:09 -0400)]
return only the one applicable OU setting value
Correct actor.org_unit_ancestor_setting so that it returns
at most one setting value, rather than the entire set
of values defined for the OU and its ancestors.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Tue, 9 Aug 2011 19:30:56 +0000 (15:30 -0400)]
lp 823496: don't fail to index personal names that have relators
The default definition for the author|other index inadvertantly
excluded names from 600, 700, 720, and 800 fields that have
relator values ($e) or codes ($4).
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Fri, 12 Aug 2011 21:03:11 +0000 (17:03 -0400)]
Vandelay: capture one match per catalog record
When searching for matches to existing catalog records
(biblio.record_entry's), Vandelay can in some cases result in multiple
like matches for the same record (with the same match score). This
trims it down to 1 match per record.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jason Etheridge [Thu, 11 Aug 2011 18:16:24 +0000 (14:16 -0400)]
in lieu of Ready Item Editor
We're trying to prevent folks from using the item attribute editor in the
unified interface when the volume pane is still updating its information
(i.e. building the copies to feed to the attribute editor), so that a
given editing widget isn't ripped out from under staff while its being
used. This change removes the heavy-handed Ready Item Editor button and
instead tries to more gracefully manage the editor state based on change
and keypress events. Also change the color scheme for a disabled editor
from red to light pink.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Thu, 11 Aug 2011 20:25:50 +0000 (16:25 -0400)]
Force-encode CGI param values to prevent decode errors
CGI.pm decode()'s parameter values, so if it encounters a value that
is already decoded, it will croak and kill the page. Proactively encode
paramter values so decode() won't fail.
The better solution may be to determine how we get such data, but
until then, let's allow the t-pac to work on funky data.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 10 Aug 2011 21:07:36 +0000 (17:07 -0400)]
TTpac: option to view larger sets of copies on record page
On record details page, added a "Show More Copies" option to show more
(50) copies per page of copies than the default (10). Also added a
"Show Fewer Copies" option to return to the default copy page size.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Specifically for patron-derived overrides:
PATRON_EXCEEDS_OVERDUE_COUNT
PATRON_BARRED
PATRON_EXCEEDS_CHECKOUT_COUNT
PATRON_EXCEEDS_FINES
This is done by:
Adding support for a list of "reported" overrides to util/network.js
Using that in Checkout to build an auto-override list for the current patron
Passing that list in at Checkout
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Bill Erickson [Mon, 8 Aug 2011 19:05:47 +0000 (15:05 -0400)]
Granular invalid data detection for Vandelay item import
When an import item contains any data for a field, the code now verifies
the data is valid for the selected field. When the data is not valid,
we capture information on which field is invalid and what data was used
for the field (import_error, error_detail) so it can be reported in the
interface.
Jason Etheridge [Mon, 8 Aug 2011 18:06:57 +0000 (14:06 -0400)]
Fix stop sign page race condition with checkout
This would happen most often when retrieving multiple patrons at the same time
from patron search--the stop sign page would show but then get trampled by the
checkout interface, which normally loads first.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Jason Etheridge [Mon, 8 Aug 2011 19:22:34 +0000 (15:22 -0400)]
username login for web selfcheck
Changes the behavior for the patron-login component (after staff login) to match
the OPAC. By default, it assumes you are logging in with a usrname, but if the
org unit setting 'opac.barcode_regex' is enabled and the incoming value matches,
then it gets treated as a library card barcode instead. If usrname is used, then
the card referenced by actor.usr.card is checked in lieu of a specified barcode.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Tue, 2 Aug 2011 03:07:24 +0000 (23:07 -0400)]
action for marking items claimed never checked out
Menu action in Patron Items Out for marking items as Claimed Never Checked Out.
Note that this action behaves differently than Claimed Returned, in that the
item is actually checked in and the transaction closed, and will not continue
to show up in Items Out for the patron.
If decide later to provide an option for making the two actions consistent,
there is code in the original working branch, collab/phasefx/claimed_never_cko,
which modifies the patron display and the .checked_out methods to look for
open CLAIMSNEVERCHECKEDOUT transactions. Some cleanup would be needed to avoid
merge conflicts.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Thu, 4 Aug 2011 16:11:49 +0000 (12:11 -0400)]
Robustify SKIP_ASSET_CHANGE functionality
by skipping status_changed_time test if a barcode has been encountered in prior
offline transaction within a given session. Also return the SKIP_ASSET_CHANGE
event for a given barcode if a prior test resulted in SKIP_ASSET_CHANGE
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Thu, 4 Aug 2011 02:32:51 +0000 (22:32 -0400)]
Offline checkin & renewal checks, & ou settings
Augmented edoceo's patch for checking an offline checkout against an item's
Status Changed Time and throwing a SKIP_ASSET_CHANGED event if warranted as
follows:
1) include checkin and renewal transactions
2) add org unit settings for each, and a corresponding upgrade script
3) removed the description from the payload and created a dedicated ils_event
However, there are two issues affecting this functionality, even before my
meddling:
1) the Reshelving -> Available rollover updates an item's Status Changed Time,
and can thus trigger this event
2) if an item is manipulated more than once in an offline session, then its
Status Changed Time can be updated as the transactions are being processed,
causing related transactions after the initial transaction to fail
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
In a middle-layer method for returning holdable formats on a metarecord,
Do a better test of copy holdability than we were doing previously.
We can't do a perfect test: we don't really know what patron we're doing
this for, and even if we did, from here it's nontrivial to figure out
whether we're doing indb holds or script-based, much less run the tests.
Still, we can test whether a copy's in a holdable status, a holdable
location, and is itself not explicitly marked unholdable.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>