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>
TPAC: avoid problem with HOLD_EXISTS event in hold placement
If you place a hold on something that generates a HOLD_EXISTS event (and
no other events?) you get a 500 error from Apache and an error in the
logs saying "not a hash reference" about $result in the lines I've
changed here.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Sun, 16 Oct 2011 16:45:52 +0000 (12:45 -0400)]
LP875819: Fix SRU and Z39.50 default search index failures
Per http://www.loc.gov/standards/sru/specs/cql.html :
All parts of CQL are case insensitive [...] If any case insensitive
part of CQL is specified with both upper and lower case, it is
for aesthetic purposes only.
So fold the SRU qualifier and relation to lower case. This then
matches the srw.serverchoice entry that we already have in
config.metabib_search_alias so that default searches will successfully
point to the keyword index.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 19 Oct 2011 20:53:44 +0000 (16:53 -0400)]
TPac; Fetch authoritative user object in my-account
Since user data changes in my-account, any time we fetch the fleshed
user object, fetch it within a transaction to avoid retrieval from a
(potentially lagging) DB replica.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Wed, 19 Oct 2011 20:00:58 +0000 (16:00 -0400)]
Fix README issues
Martha Driscoll <driscoll@noblenet.org> noted that the
create_database.sql script wasn't actually targeted by the psql command,
and also that there was an extraneous <code> tag in the OpenSRF start
command.
Bill Erickson [Wed, 19 Oct 2011 17:42:16 +0000 (13:42 -0400)]
CStoreEditor batch_retrieve repairs
1. If the caller provides additional cstore params, like flesh,
flesh_fields, etc. make sure we only use the first component of the
search (the list of identifier values) for the cstore search.
2. Determine the identifier field from the class being retrieved instead
of hard-coding it to be "id"
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
TPac: Put staff saved searches in same div as facets on the results page
Also: make a minor improvement to bookbag sorting clicking heading sort
links a second time reverses order.
And on the record page, make them less ugly. We need to get rid of this
974-px-wide business. It's ridiculous, and it keeps us busy fighting CSS
just to keep a silly grey margin on the right side of the display, and
it keeps us from using all available space. We need to simplify the CSS
greatly, in fact. Let's bite that bullet sooner than later.
TPac: Put staff saved searches in same div as facets on the results page
And on the record page, make them less ugly. We need to get rid of this
974-px-wide business. It's ridiculous, and it keeps us busy fighting CSS
just to keep a silly grey margin on the right side of the display, and
it keeps us from using all available space. We need to simplify the CSS
greatly, in fact. Let's bite that bullet sooner than later.
Bill Erickson [Tue, 18 Oct 2011 16:07:46 +0000 (12:07 -0400)]
Re-fetch hold for cancel notify to correct timestamp
Re-fetch the cancelled hold from the DB before passing it off to
action/trigger for notification processing. Otherwise, A/T attempts to
perform date math on "now" instead of a valid timestamp and subsequently
croaks.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Sun, 16 Oct 2011 22:39:00 +0000 (18:39 -0400)]
Cache open-ils.fielder results by locale
The problem was particularly visible in search facets, but existed
before: the cache key used for fielder results did not take locale into
account, so on a multi-locale system the first locale won and populated
the cache for all other locales.
Use a session locale if provided, otherwise default to the locale set in
opensrf.xml
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Sarah E. Chodrow [Wed, 14 Sep 2011 13:15:14 +0000 (09:15 -0400)]
Initial patch from Sarah Chodrow on LP bug 849447.
Also check for standing penalties and expired cards when checking
if it is ok for the patron to checkout, charge_ok.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
Signed-off-by: Sarah E. Chodrow (sarah.chodrow@bibliotheca-itg.com) Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Dan Scott [Mon, 17 Oct 2011 19:00:33 +0000 (15:00 -0400)]
TPac: Describe bookbags mo' semantically
Rather than "big-strong", use a heading (H2, as the previously used H2
headings got bumped to H1) and wrap the description in a styled DIV
rather than just dumping it after a <br /> and wrapping it in <em>.
TPac: bookbags - stop trying to show everything at once
Go back to displaying one bookbag at a time (not counting the temporary
list, when that is populated)
This hopefully constitutes a usability improvement.
While it doesn't provide paging of bookbags themselves or of the items
therein, it should make that easier to do. Showing all bookbags and all
their items made it nonobvious how paging would even be expected to
behave.
This also provides the same sorting for the items in the temporary list
as in real bookbags.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Mike Rylander [Wed, 21 Sep 2011 20:38:08 +0000 (16:38 -0400)]
New in-db search and browse of authorities with non-filing-indicator support
Upon authority ingest, record simple authority headings for searching,
browsing and sorting. Respect non-filing indicators, if configured
(configuration is the nfi field on authority.control_set_authority_field).
Provide a full suite of search/browse top/center alpha/rank functions
based on authority tag, bib tag or browse axis at the database layer.
Provide functions to find the main-only and full tag list, and ref-variant
versions of the previously defined functions.
Teach OpenILS::WWW::SuperCat (responsible for RESTful feed-generating
interfaces) to use new OpenILS::Application::SuperCat methods that in
turn use the database methods. The change should be transparent to
users of SuperCat web APIs.
Carry indicators over from authority main entries to bibs, when applying
them in the marc editor.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Etheridge [Fri, 14 Oct 2011 16:14:14 +0000 (12:14 -0400)]
LP873614 print_init error printing bill history
xulG.url_prefix needs to be present for anything using util/print.js and the
Mozilla print strategy. Alternately, we could duplicate the logic behind
url_prefix and bundle it into print.js :-/
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 14 Oct 2011 02:10:23 +0000 (22:10 -0400)]
Modernize settings-tester.pl a bit
* Add a section that checks for Evergreen services in opensrf_core.xml
* Ignore the qstore database credentials, as qstore is unused currently
* Split things off into subroutines for easier reading
Dan Scott [Thu, 13 Oct 2011 15:49:45 +0000 (11:49 -0400)]
Fix located URI merging in action.merge_record_assets()
Perhaps due to the unexpected results of the XPath expression, which
returns a count of nodes for subfields, etc, rather than just a count of
the number of 856 datafields, NULL was being concatenated onto a string
- which of course made the string NULL.
Use COALESCE() to prevent the NULLness from spreading and enable
action.merge_record_assets() to do the right thing.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Tue, 27 Sep 2011 14:51:29 +0000 (10:51 -0400)]
Replace self-closing divs with open/close divs
XML != HTML
Traditionally, Vandelay templates were parsed as XML on the server for
DTD replacement. With the advent of locale::maketext for templates,
Vandelay no longer needs to be parsed as XML. However, not parsing as
XML leaves any self-closing divs (<div/>) intact in the final source,
which are treated as opening divs in text/html. This patch replaces
self-closing divs with open/close pairs.
https://bugs.launchpad.net/evergreen/+bug/860676
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
TPac: One prefers to download CSV, not to display it
For the "Download CSV" operation in the TPac "My Lists" interface,
provoke the user's browser to download the file, rather than displaying
the file in a new tab/window.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Wed, 12 Oct 2011 18:54:25 +0000 (14:54 -0400)]
Give OrgTree.js a locale, always
We started generating locale-specific OrgTree.js files many moons ago,
and now no longer provide a "default" locale in the root of the
common/js directory. The result was that the index.xhtml page for the
staff client was throwing an "_l is undefined" exception; largely
meaningless, as it seems that the OrgTree isn't even used on that page,
but noise that doesn't need to be in the JavaScript console.
Here we correct that exception by providing a locale, and hopefully
prevent any further copy/paste mistakes.
Jason Stephenson [Fri, 16 Sep 2011 16:45:11 +0000 (12:45 -0400)]
Add Show In Catalog button to Z39.50 Import.
Changes to z3950.xul:
Add show_in_catalog command.
Add button next to Mark for Overlay button.
Changes to z3950.js:
Enable/disable Show In Catalog button whenever Mark for Overlay
button is enabled/disabled.
Add code for show_in_catalog to open the record detail screen in
a new tab.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Wed, 12 Oct 2011 13:43:40 +0000 (09:43 -0400)]
README: For master, focus on PostgreSQL 9.1
Given that the backports for Debian and Ubuntu already offer PostgreSQL
9.1, and Fedora 16 (out in a few weeks) comes with 9.1, focus on 9.1
where it is available.
Ben Shum [Tue, 11 Oct 2011 22:51:32 +0000 (18:51 -0400)]
Change PostgreSQL 9 source for Ubuntu Lucid users.
Currently, Ubuntu Lucid does not have backport options for PostgreSQL 9.
Instead, most community members who use Lucid have been using
Martin Pitt's PPA as an external repository source. Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Bill Erickson [Tue, 11 Oct 2011 15:33:28 +0000 (11:33 -0400)]
TPac; repairs to advanced search query propagation
In some cases, TPac will duplicate components of an advanced search
query into the advanced search rows. This patch fixes that with
better array handling, particularly with CGI param search components
that do not have corresponding analogs at a given array position (i.e.
starting out with arrays of different sizes)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Wed, 7 Sep 2011 06:41:43 +0000 (02:41 -0400)]
Protect against undefined value as ARRAY reference
We should not assume that the caller is going to supply an array
(empty or not) of addresses or cards in the input values for the
open-ils.actor.patron.update method.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
- avoids some noise when building the Perl modules for
distributions that check for correctness when converting
POD to man pages
- add a an author test, taken straight from the Test::Pod
documentation, for POD correctness
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Mon, 10 Oct 2011 20:46:48 +0000 (16:46 -0400)]
Give CentOS / RHEL a chance at installing PostgreSQL 9.0
Evergreen 2.1 requires PostgreSQL 9.0, and we accordingly updated the
package names back in the summer to point at PostgreSQL 9.0, but nobody
running CentOS / RHEL brought to our attention that the repo target
needed to be updated as well. This, although untested, at least gives
CentOS / RHEL users a fighting chance of installing Evergreen master /
2.1 on their system.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Scott [Mon, 10 Oct 2011 20:15:04 +0000 (16:15 -0400)]
Fix broken Net::Z3950::SimpleServer 1.14 install
Pin the install of Net::Z3950::SimpleServer to the
known-to-work-with yaz 3.0.x version, 1.12. 1.14 introduced dependencies
on yaz 4.1.x that can't be easily worked around.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Scott [Thu, 21 Jul 2011 21:16:32 +0000 (17:16 -0400)]
Correct varname for PostgreSQL RPMs
On Fedora, Red Hat, and CentOS, we were still trying to install
the set of PostgreSQL RPMs for PostgreSQL 8.4 using PGSQL_84_RPMS.
This had been updated to PGSQL_90_RPMS to match the updated
database version - using the right varname resolves the problem
(at least on Fedora).
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Grace period auto extension and backdate awareness
Grace period auto extension:
Default is "grace periods don't auto extend".
OU setting turns on grace period auto extension. By default they only do so
when the grace period ends on a closed date, but there are two modifiers to
change that.
The first modifier causes grace periods to extend for all closed dates that
they intersect. This is "grace periods are only consumed by open days."
The second modifier causes a grace period that ends just before a closed
day, with or without extension having happened, to include the closed day
(and any following it) as well. This is mainly so that a backdate into the
closed period following the grace period will assume the "best case" of the
item having been returned after hours on the last day of the closed date.
Backdate grace period awareness:
By moving grace period calculations into a shared location backdating can
check the grace period, including extensions. If it finds that the backdate
is within the grace period (before or after extension) then instead of
voiding the fines for after the backdate it instead voids all fines for the
circulation. This emulates what would have happened (no fines) if the item
had been checked in at the time the backdate was made to take effect.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Fri, 7 Oct 2011 13:08:38 +0000 (09:08 -0400)]
TPac: Jump-to-details on first result page only
When activated, jump-to-record-details-on-1-hit should only come into
play on the first page of results. In other words, if page 2 of a
search has 1 item, do not jump to the record details page for that item.
Instead, show page 2 of the search results.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Thu, 6 Oct 2011 20:34:40 +0000 (16:34 -0400)]
TPac; start new facet "search" on page 0
When selecting a facet, thereby appending it to the current search,
start the search over at the first page. In other words, don't drop
into page X of a new search, since there may be no page X of the new
search.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Galen Charlton [Thu, 6 Oct 2011 17:55:43 +0000 (13:55 -0400)]
fix authentication failure
Ensure that the auth_limit values are read when open-ils.auth
initializes, not during oilsAuthInit(). This solves a problem
observed on brick-based setups where authentication could
incorrectly fail because the drone that processes
open-ils.auth.authenticate.complete didn't have the the block
count value initialized yet.
Also fixed type nit when compare the fail count to the block
limit.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Thu, 6 Oct 2011 15:42:54 +0000 (11:42 -0400)]
TPac: My List add/remove page anchor fix
Removed /g modifier from URL anchor regex to prevent URLs with multiple
page #-anchors. This change primarily affects IE which includes #-anchors
in the referer header.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Really add *entire* selection list to a purchase order, when desired,
and generally do what a user would expect when, in Acq, the user
executes an operation on "all items".
This addresses LaunchPad bug #810030.
The fundamental issue is that an AcqLiTable, which is used in several
different ways in different interfaces, may be representing items on a
selection list (for example), but it doesn't necessarily know all of the
items that belong to that selection list. It only knows what it has drawn.
This addresses that deficiency by teaching the getSelected() method
some new tricks so that it can consult the server in the various ways
appropriate to getting a list of /all/ the items on a selection list, a
purchase order, a virtual PO, a set of search results, etc.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Wed, 5 Oct 2011 17:12:30 +0000 (13:12 -0400)]
README: Explicitly identify accounts for commands
Add a preamble to the beginning listing all of the accounts referenced
in the instructions (Linux accounts, PostgreSQL accounts, Evergreen
administrator accounts). Also move the Developer Instructions to the
start to follow the natural order of operations.
Bill Erickson [Wed, 5 Oct 2011 19:16:17 +0000 (15:16 -0400)]
Avoid collecting facet data for non-facet fields
If a config.metabib_field (Admin -> Server Admin -> MARC Search/Facet
Fields) starts out as a facet field but is later changed, data for that
facet can still bubble up since it has already been extracted. This
patch prevents facets for config.metabib_field entries whose
facet_field=false from getting collected/cached for search results.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Tue, 4 Oct 2011 19:25:00 +0000 (15:25 -0400)]
TPac: jump to details page on single hit
When enabled, any time an OPAC search yields 1 result, the user will be
redirected to the record detail page for that result. This change adds
2 new org unit settings, one to control the behavior in the staff
client, the other to control the public catalog.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Wed, 5 Oct 2011 03:04:15 +0000 (23:04 -0400)]
i18n: Fix es-ES illegal use of '%' in lang.dtd
The '%' character is used to include previously defined blocks in DTD
files; would be nice if translate-toolkit gave a more obvious error to
alert us to this rather than saying the en-US doesn't validate and
dying.
Dan Scott [Tue, 4 Oct 2011 18:40:44 +0000 (14:40 -0400)]
Slightly updated about.html for rel_2_1
Not sure we want to actually keep listing individuals in this file -
there's a lot more credit to spread around - but at least I can bring it
somewhat up to date with current info.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>