Improvement for telephony: just-in-time event revalidation
One of the shortcomings with using the Action/Trigger based telephony in
Evergreen until now was that while you might have overdue notices
generated and sent to a system where Asterisk runs for later calling,
but if the notice was generated on a Saturday night, and you have Asterisk
set up not to place any calls again until Monday morning, Asterisk has
no way of revalidating that call at the last minute. That is, the
system could not determine whether the items that were overdue on
Saturday night are still overdue on Monday morning, and whether the call
should still be made.
Now we have a workable solution to that.
The eg-pbx-allocator.pl script, which takes call files for Asterisk from
a "staging" directory and slowly drips them onto Asterisk's spool can
now consult an open-ils.justintime which in turn asks open-ils.trigger
whether given events, enumerated within the call files themselves, are
still valid.
open-ils.trigger is designed to run as a private service, so that's why
we need a public service that doesn't do anything too sensitive.
This open-ils.justintime service can potentially be extended to offer other
just-in-time information to the allocator right before a call goes onto
Asterisk's spool. For example, that might be a good time to check the time
of day and make a late decision on which phone number to use for a given
user (day_phone, evening_phone, other_phone).
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Wells [Thu, 29 Sep 2011 13:23:49 +0000 (09:23 -0400)]
Full Circ Count View Amplifies Legacy Circs
The current extend_reported.full_circ_count sums the legacy circ count
column, but this results in amplifying the count by the number of current
circs in the system. This commit adds the legacy count to the GROUP BY
instead of summing it.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Sun, 16 Oct 2011 19:48:38 +0000 (15:48 -0400)]
Net::Z3950::SimpleServer 1.15 should not require sedding
Checking both versions of the packages listed on ftp.indexdata.dk, the
hardcoded path to yaz-config does not exist in Makefile.PL - thus, we
should be able to drop the "sed" instruction for 1.15.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Sun, 16 Oct 2011 15:40:59 +0000 (11:40 -0400)]
Install yaz-4.2 and Net::Z3950::Simpleserver 1.15
Net::Z3950::Simpleserver 1.14+ requires yaz 4.2.x, as well as currently
suffering from a Makefile.PL problem that involves a hard-coded path to
yaz-config (https://rt.cpan.org/Public/Bug/Display.html?id=70444).
Provide a sed command to resolve the latter problem and upgrade our
"current version of yaz" to yaz 4.2.x.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Tue, 13 Sep 2011 16:22:58 +0000 (12:22 -0400)]
LP#849143 fix some gaps in bib record merging
Tweaks asset.merge_record_assets such that it considers acquisition line items and user requests, serial subscriptions, booking resource types, biblio monograph parts, and biblio peer bib copy maps. I'm not handling vandelay.queued_record.imported_as or any other vandelay tables, but we may wish to do that too. We're also leaving acq.acq_lineitem_history alone.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Liam Whalen [Tue, 1 Nov 2011 19:59:13 +0000 (15:59 -0400)]
Aligned the MARC editor subfields to 'start' fixes long subfield display
When viewing a record in the MARC editor that has extremely long
entries in a subfield, the output would align in the center of the
subfield making the output hard to read. This patch adds an
align: 'start' option to both the subfield, and the subfield code
elements in the marcSubfield function to make the subfields align in a
more readable manner. Signed-off-by: Liam Whalen <lwhalen@evergreen-dev.catalogue.nrcan.gc.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Tue, 13 Sep 2011 12:48:52 +0000 (08:48 -0400)]
LP#848945 - Hide Empty Libs checkbox
The "Show Libraries With Items" button in Holdings Maintenance shows all the
libs with items regardless of the library/depth filters. One problem is that
when the list refreshes (whenever an item/volume is edited, deleted, or added),
staff using this feature have to re-press the button, which can take a while for
some bibs. This branch removes this button and replaces it with a "sticky"
checkbox labelled "Hide Empty Libs".
This allows you to do almost the same thing; you can set the context library to
Consortium and the depth filter to the lowest depth, which would normally show
all libs, but then use the checkbox to prune out the ones that have no children
and no volumes(*). One possible use case that we'd lose is the ability to show a
specific set of libs that don't already have volumes in addition to all the libs
that do.
* - Also, the test for whether to hide an org or not is very simplistic, but
easy to implement. A more aggressive test would hide a library and all its
descendants if none of the descendants have volumes.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 15 Nov 2011 20:04:08 +0000 (15:04 -0500)]
Patch from Jeff Davis (SITKA) fixing cardless patron updates
Quoth the bug report (https://bugs.launchpad.net/evergreen/+bug/851110):
On our Evergreen 2.0.8 system, it sometimes arises that a patron's card gets deleted. If it was the patron's only card, it becomes impossible to add a new card to the account via the staff client.
How to reproduce:
1. Retrieve a patron record for a patron who has no associated card.
2. Click the Edit button.
3. Click Replace Barcode and enter a new barcode.
4. Click Save. This does not work - the process hangs, and if you hit Reload, you will find that your changes were not saved.
I believe this happens because some code in register.js assumes the patron has at least one card. I have a potential fix that this comment box is too small to contain ... uh, that is to say, I will post it momentarily.
Which he did, and I applied.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Thu, 9 Jun 2011 19:21:39 +0000 (15:21 -0400)]
Hold notification creation A/T cleanup module
New CreateHoldNotification Action/Trigger cleanup module that, when
linked to a hold-based event_definition, adds an entry into
action.hold_notification for each hold processed. The main user-facing
change from this will be that the hold notification time / count in the
staff client will now take A/T notices into effect in addition to
manually created hold notifications.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Under "issues held" on the record detail page, holdings summaries for
received issues are nested in an additional layer of array as compared
to MFHD-based holdings, so compensate.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Mon, 24 Oct 2011 20:27:29 +0000 (16:27 -0400)]
Clear shelf canceled holds notification fix
After cancelling a batch of holds via the clear-shelf process, before we
send the holds off to action/trigger for potential notification
generation, re-fetch the holds from the DB to pick up the calculated
cancel_time value (i.e. get a real value for "now"). Otherwise, A/T may
die attempting to create a DateTime object by parsing "now".
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Wed, 2 Nov 2011 15:28:57 +0000 (11:28 -0400)]
TPac; hold success confirmation; redirect repairs
1. After a successful hold placement, provide feedback to the user that
the hold placement succeeded. After placement, the user is taken to a
page (same page for failed holds) where the title(s) are listed along
with the success/failure information for each.
2. In some cases, the user may be redirected to the my account page
instead of the point of origin for holds placement. This occurs
generally when the user is not already logged in and is asked to log in
prior to holds placement.
3. As a side effect, this change replaces one of the ornery
history.go(-1) actions with a true href/URL.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Thu, 3 Nov 2011 14:18:12 +0000 (10:18 -0400)]
TPac; reduce vertical space caused by chilifresh link
CSS loaded from chilifresh forces a fixed height on the
.chili_review class, which causes significant vertical space gobbling in
the results and details pages. Solution is to change the chili_review
container from a <div> to a <span>, where the height has no effect.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Sun, 23 Oct 2011 23:58:53 +0000 (16:58 -0700)]
Make idlval build, rather than be dead code
The tool "idlval" contained in Open-ILS/src/c-apps can be used to check
the correctness of fieldmapper definitions in files like
Open-ILS/examples/fm_IDL.xml - but currently does not have a build
target, nor does it compile cleanly due to the use of unspecified
OpenSRF header files. This commit adds a build target, fixes the compile
problems, and installs the tool in the bin directory.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Tue, 8 Nov 2011 23:42:18 +0000 (18:42 -0500)]
LP887822 mint_condition/Quality not set correctly
during item creation.
Specifically, the Javascript object for a new item (acp) does not explicitly set
the mint_condition field, leaving it null. The item attribute editor treats the
null as false (which it displays as "Mediocre" for that field). The database has
a not null constraint the corresponding column in asset.copy, and defaults to
true. So a new item in the attribute editor will show "Mediocre", but when
actually created, will become "Good".
This branch just sets mint_condition to true when an item is created.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Wed, 9 Nov 2011 15:13:28 +0000 (10:13 -0500)]
Tpac; repair login link after password reset
After a successful password reset, the UI offers a link to "Log In to My
Account". Loging in this way would ultimately redirect the user back to
the password reset form. This patch updates the Log In link to point to
myopac/main, which will direct the user to log in first, instead of
pointing directly to /login, which, lacking any other information,
will return the user to the referer after logging in.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Fri, 11 Nov 2011 18:22:34 +0000 (13:22 -0500)]
TPac; propagate query params to adv search (results link)
Update the "Advanced Search" link that shows on search results pages
(next to "Another Search") to propagate the current query into the
advanced search page, just like the Advanced Search link just above the
search bar.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Fri, 11 Nov 2011 20:25:49 +0000 (15:25 -0500)]
tpac; honor password reset matching email setting
If the "circ.password_reset_request_requires_matching_email" org unit
setting is enable, prompt the user to enter the email address associated
with the account and subsequently pass it on to the password_reset api
call.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Serials: in the holding code mini-wizard, offer a dropdown for seasons
This spares the user from having to remember the MFHD code for the
season, when dealing with periodicals issued by season (21 - 24 for
Spring - Winter, respectively).
This also applies sets the "scrollOnFocus" attribute to false for the
dijits within the mini wizard, as the jumpy behavior you get in
less-than-fullscreen staff client windows is otherwise maddening.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Mon, 14 Nov 2011 21:27:05 +0000 (16:27 -0500)]
tpac; improve ssl and authentication redirection
Create a better separation between pages the require SSL and those
that also require authentication. This change has a number of
beneficial side effects:
1. If a user is already logged in and is somehow redirected to the
non-SSL version of a page requiring SSL (via, for example, some external
link), they are simply taken to the SSL equivlent of the page first. If
they are found to be logged in, we're done. If not, they are directed to
the login page like usual.
2. password_reset page now requires SSL (but not auth, obviously)
3. Removed the unnecessary warning about logging out on a non-SSL
connection. We now redirect the user to the SSL version of logout so,
if they are in fact logged in, they can be successfully logged out.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Serials: allow freer input in holding code mini-wizard
In the Subscription Details interface of the Alternate Serials Control
View, under the Issuance tab, if you create a new issuance you can
now enter things like "01/02" in (say) the month field to denote a combined
January/February issue. All those fields are now free-form, whereas some of
them used to be numeric only.
Also, avoid an occasional issue where an error message about
dijit.form.DateTextBox not being a constructor would appear in the
JavaScript console. The problem was in a race condition among some
co-dependent JavaScript files that were all being loaded at the same
time.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Jason Etheridge [Thu, 10 Nov 2011 17:55:32 +0000 (12:55 -0500)]
LP88653 force SSL for requests from local XUL
Modifies RemoteRequest.js to convert any http:// request URL to https:// if the
requesting location has a chrome:// protocol.
Modifies util/network.js such that any use of util.network.request (as opposed
to util.network.simple_request) will assume "secure" for the resulting request.
Adds an example to the bottom of eg_vhost.conf for forcing SSL for an entire
site (OPAC and everything), courtesy of Dan Wells.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Wed, 9 Nov 2011 20:55:50 +0000 (15:55 -0500)]
TPac; disallow certain actions for captured holds
In the hold edit page, where users can update the pickup library,
suspend holds, etc. disallow actions that don't make sense for holds
that have already been captured. These include suspending the hold and
changing the expire time.
This patch also replaces the confusing "Cancel" button in the hold edit
interface (which does not cancel the hold) with a "Go Back" button which
returns to the holds list.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 9 Nov 2011 20:54:21 +0000 (15:54 -0500)]
TPac; batch hold update detects suspension of captured hold
If the user attempts to suspend a captured hold via batch hold update,
warn that user af the update the some holds may not have been suspended
and why.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Fix a typo that snuck through the cracks in Cronscript.pm.in.
We had Opensrf::AppSession rather than OpenSRF::AppSession, which isn't
caught by the simple use_ok() tests that we largely rely on for our
current Perl test suite. In addition, when we manually tested the change
to Cronscript.pm.in, we didn't do both configure && make to ensure that
the new version of Cronscript.pm reflected the changes. Lots to learn,
luckily the method wasn't being used by anything else in Evergreen yet.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Mike Rylander [Tue, 8 Nov 2011 17:43:44 +0000 (12:43 -0500)]
Protect against slony replication lag, LP#621448
Make open-ils.circ.captured_holds.id_list.* API calls authoritative within
the staff client to avoid replication-lag related stale displays. Inspired
by James Fournie at SITKA.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Mon, 7 Nov 2011 21:44:42 +0000 (16:44 -0500)]
README: Use consistent endings (none!) for titles/subtitles
Most, but not all, of the titles/subtitles had colons appended. This
looks really weird in the Table of Contents, so try to be consistently
unweird and have no appended colons.
Dan Scott [Mon, 7 Nov 2011 21:38:32 +0000 (16:38 -0500)]
Backup the existing opensrf config files before copying
Per a suggestion from Wolf Halton <wolf.halton@gmail.com>, create backup
versions of the opensrf configuration files when we're copying the
Evergreen example versions over, so that we can retrieve the Jabber user
names and passwords and domains from the backups (if necessary).
On the detail page, when the user selects the "Search Results" link to
return the original search results, return to the correct page in the
search. The correct page will be the page where the currently viewed
record sits within the search. Normally, this is the last viewed
results page. However, if the user does some paging within the detail
page, enough to cross a page boundry, "Search Results" will take them to
the new page (i.e. the page w/ the current record).
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 2 Nov 2011 19:45:06 +0000 (15:45 -0400)]
TPac; sort items out list by due date, oldest first
Sort items most in need of return (i.e. oldest due date) to top. This
is done by replacing the call to "open-ils.actor.user.checked_out",
which does a lot more than we need, in a way that does not support
sorting/paging, with a simple json_query.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
James Fournie [Tue, 1 Nov 2011 23:01:57 +0000 (16:01 -0700)]
This prevents the acq unified_search method from returning anything other
than the objects of the expected type.
This is to address LP 884991 in which Acq users get a perm error for each
result of a search that they don't have access to retrieve. They shouldn't
even know about the existence of anything they don't have access to retrieve.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 2 Nov 2011 13:47:04 +0000 (09:47 -0400)]
Tpac; hold error message 18n string extraction repairs
Make it possible for xgettext.pl (using
Locale::Maketext::Extract::Plugin::TT2) to extract hold error
message strings for translation. The plugin is not quite
smart enough to extract wholly dynamic values from the templates, since
it (presumably) only parses the templates and does not execute them.
The solution is to wrap the strings in l() where they are defined.
Add an example for the EVENT_MSG_MAP for the event PATRON_EXCEEDS_FINES.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
James Fournie [Tue, 20 Sep 2011 19:03:03 +0000 (12:03 -0700)]
Previously invisible copies showed as beige in the staff client, they stopped doing this in 2.0
This is because in 2.0 the copy counts logic was moved from open-ils.storage.biblio.record_entry.copy_count.staff
to an in-database function wrapped in open-ils.search.biblio.record.copy_count.staff. Both methods returned various
counts including an 'unshadow' count, however the 'unshadow' in the new database function was not completed and it
has only been returning a simple copy count rather than a count of opac visible copies as it should be to
replicate the old behaviour.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Acq: better error message if trying to create PO without provider or agency
Before now, if you leave either the provider or ordering agency
fields blank in the "Create Purchase Order" dialog, you get a
nonsensical warning about prepayment.
This fixes that.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Liam Whalen [Thu, 3 Nov 2011 20:53:57 +0000 (16:53 -0400)]
Modified authority.indexing_ingest_or_delete to update MARC data
The authority.indexing_ingest_or_delete trigger in the update script
was missing a call to authority.propagate_changes which is responsible
for updating the MARC data of records affected by an auhtority merge.
This patch adds the call to authority.propagate_changes as it appears
in the authority.indexing_ingest_or_delete trigger from the file
999.functions.global.sql.
Signed-off-by: Liam Whalen <lwhalen@nrcan-rncan.gc.ca> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Acq: fix a bug that sometimes prevents the general search page from loading
Within Acquisitions General Search, javascript included from one file
in the <head> relies on the variable "localeStrings" being initialized
by javascript included from a file in <body>. Sometimes the wrong
javascript wins the race, you get an error about localeStrings being
undefined in the Javascript console, and the page stops loading.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 1 Nov 2011 21:02:44 +0000 (17:02 -0400)]
Fine generator; raise multi-session mode recv timeout
When fetching the batch of overdue circ IDs to process for fine
generation, wait a little longer for the data to arrive, since
it is a longer running DB query than most.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Tue, 1 Nov 2011 17:29:25 +0000 (13:29 -0400)]
Force Amazon AC requests to use 10-digit ISBNs
Inspired by a patch submitted by Ian Bays <ian.bays@ptfs-europe.com>
via https://bugs.launchpad.net/evergreen/+bug/870171, this patch takes
the incoming key and, if it is longer than 10 characters (a 10-digit
ISBN or Amazon ID), attempts to normalize it and return a 10-digit ISBN.
We don't normalize all incoming keys because some sites are horribly
abusing the 020 MARC field to include an Amazon ID instead of an ISBN -
but that works in practice and we'd rather not break working
installations if we can avoid it.
Tpac: staff saved searches expand/collapse, use right ou context for setting
1) Display staff saved searches collapsed by default. This makes the facet
display right underneath it more accessible in the case of long search
histories.
2) When checking the org unit setting for the limiting number of
searches to save, use the user's ws_ou as the context, since this is a
staff-client feature.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
For some reason it must have made since in the past to wrap this
interface in both parts/base.tt2 and myopac/parts/base.tt2, but
nowadays that results in having extra headers and footers around
the actual page contents, so the layout looks broken.
This fixes that. No other interfaces were doing this double wrapping.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Tpac: Rename orig_loc to physical_loc, for clarity's sake.
This is an OPAC parameter not so much meant for use by patrons at home,
but for users at machines physically located in libraries. In
conjunction with OpenILS::WWW::Redirector, it helps those machines
"remember" what branch they're in.
Anyway, the name orig_loc doesn't make the parameter's meaning quite as
clear as it could whne you encounter it in code.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Tpac: clear the per-process cache of org-unit settings on each page load
Any time saved is not worth the confusion of changes to org unit settings not
taking effect in the TPAC without an apache restart, or worse, taking
effect for some page loads but not others.
Actually authored by Bill.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Etheridge [Tue, 27 Sep 2011 15:56:51 +0000 (11:56 -0400)]
LP#860685 List Actions and Print List fix
List Actions and Print List broken in Check In interface when not using "Fast
Entry (Asynchronous)", due to the way we're using list.refresh_row. This fixes
the internal list state for tracking retrieved versus un-retrieved list rows.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Wed, 26 Oct 2011 18:56:01 +0000 (14:56 -0400)]
Z39.50 service filter repairs
Do not attempt to filter out Z39.50 services by permission when
retrieveing the services in a non-authenticate manner (i.e. from within
the Z39.50 code). Otherwise, the code will die on $e->requestor->id,
because there is no requestor.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Bill Erickson [Wed, 5 Oct 2011 13:39:47 +0000 (09:39 -0400)]
Z39.50 local catalog fetch-more repairs
Fixes the following problem:
When paging through local catalog results in the Z39.50 interface,
paging off then end of the local results would result in an unknown
server error caused by trying to retrieve an empty list of records.
$list->{count} in this context is the overall hit count, not the counts
in the current page of results. Note also if {count} is zero, the list
of IDs will be undef, so we use both.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
This particularly matters for the "ephemeral," unnamed selection list that
Acquisitions General Search uses to hold bib records represented as
lineitems, as that list is deleted for the next run of that kind of
search.
It's possible to get lineitems onto that list that are in a state
other than "new". Code that deletes this list first deletes the
lineitems that belong to it, but that code formerly assumed that there
are two types of lineitems. "new" ones (that should be deleted) and ones
that belong to purchase orders (that should be deatched). That doesn't
necessarily cover all possible lineitems on the picklist, so deletion
ultimately fails.
This fixes that.
[update: now this bugfix incorporates a bugfix, the need for which was
detected by Ben Shum. See LP #869581]
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>