working/Evergreen.git
7 years agoMove towards build-time configuration of variables
Dan Scott [Thu, 22 Mar 2012 15:09:44 +0000 (11:09 -0400)]
Move towards build-time configuration of variables

We moved a lot of variable configuration into AC_CONFIG_FILES in
autoconf for the sake of convenience, but that turned out to be
problematic, as James Fournie noted in LP 960552, as the warning in
http://www.gnu.org/software/automake/manual/html_node/Scripts.html
notes: "building scripts this way has one drawback: directory variables
such as $(datadir) are not fully expanded and may refer to other
directory variables".

This was particularly a problem for variables such as @sysconfdir@ in
code that doesn't understand shell syntax - such as Cronscript.pm.

This commit moves towards build-time configuration of those variables.
We still use *.in files, but mark the built versions as dependencies in
build recipes such that we can build and test within the source
directory without having to install the files. We also gain the
advantage of teaching "make clean" to clean up the built versions of the
files.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoStamping No plperl Upgrade Script
Thomas Berezansky [Thu, 29 Mar 2012 14:15:30 +0000 (10:15 -0400)]
Stamping No plperl Upgrade Script

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agoWe use plperlu, not plperl. So don't load both!
Thomas Berezansky [Tue, 27 Mar 2012 16:48:31 +0000 (12:48 -0400)]
We use plperlu, not plperl. So don't load both!

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoACQ fund admin UI improvements
Bill Erickson [Thu, 22 Mar 2012 15:56:00 +0000 (11:56 -0400)]
ACQ fund admin UI improvements

* Fund retrieval directly via AutoGrid/pcrud, now that pcrud supports fleshing.
* Sort funds I can edit to the front of the list
* Enable the new improved grid filter dialog
* Leverage onItemReceived for caching funds for balanceInfo getter
* Add some height to the grid to allow more rows to be visible in the page (without scrolling)

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoACQ Fund retrieval API permission improvements
Bill Erickson [Thu, 22 Mar 2012 20:07:34 +0000 (16:07 -0400)]
ACQ Fund retrieval API permission improvements

Allow users with ADMIN_ACQ_FUND (in addition to the deprecated
ADMIN_FUND) permission to retrieve fund year information via
open-ils.acq.fund.org[.years].retrieve

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoACQ fund summary object fleshing in IDL
Bill Erickson [Thu, 22 Mar 2012 15:53:40 +0000 (11:53 -0400)]
ACQ fund summary object fleshing in IDL

Add links for fund summary classes in the IDL to allow for direct
fleshing of summary objects via pcrud.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoAutoGrid onItemReceived support
Bill Erickson [Fri, 23 Mar 2012 16:04:02 +0000 (12:04 -0400)]
AutoGrid onItemReceived support

Adds support for a new call-back, called when a grid row item is
received (via pcrud onresponse).  If defined, The call-back is passed
the received item before the it's added to the data store.  This allows
users to get a direct handle on received objects.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoremove XXXX script
Jason Etheridge [Wed, 28 Mar 2012 20:43:15 +0000 (16:43 -0400)]
remove XXXX script

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
7 years agoStamping upgrade script for custom toolbars
Thomas Berezansky [Wed, 28 Mar 2012 19:52:21 +0000 (15:52 -0400)]
Stamping upgrade script for custom toolbars

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agofix a Down action bug in Configure Toolbars
Jason Etheridge [Wed, 28 Mar 2012 19:19:42 +0000 (15:19 -0400)]
fix a Down action bug in Configure Toolbars

where the list selection index could be set to an invalid value, which could
cause errors for actions acting upon that index

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agofix editing of multiple toolbarseparators
Jason Etheridge [Wed, 28 Mar 2012 15:37:12 +0000 (11:37 -0400)]
fix editing of multiple toolbarseparators

and toolbarspacers.  Also beef up the hardcoded toolbar to match the stock circ
toolbar.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agoreworked toolbars for dynamism
Jason Etheridge [Tue, 20 Mar 2012 20:52:13 +0000 (16:52 -0400)]
reworked toolbars for dynamism

uses the data from action.toolbar

also a Toolbar Configuration UI

also added more toolbar buttons, though they need icons

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agofix constraint syntax
Jason Etheridge [Tue, 20 Mar 2012 17:03:21 +0000 (13:03 -0400)]
fix constraint syntax

and add in toolbar related permissions, plus a missing and unrelated perm: IMPORT_AUTHORITY_MARC

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agoBeginning an unwrapped upgrade script
Mike Rylander [Tue, 20 Mar 2012 16:28:58 +0000 (12:28 -0400)]
Beginning an unwrapped upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agoDB layout for recording custom toolbars
Mike Rylander [Mon, 19 Mar 2012 19:58:51 +0000 (15:58 -0400)]
DB layout for recording custom toolbars

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agoutility functions for Javascript Shell
Jason Etheridge [Thu, 22 Mar 2012 04:12:34 +0000 (00:12 -0400)]
utility functions for Javascript Shell

win_list() returns an array of "eg_main" chrome windows

get_tab() takes two forms:

    get_tab(chrome_window,tab_index)
    get_tab(tab_index)

The latter invocation assumes the first chrome window returned by win_list().

get_tab returns an object with the keys 'name' and 'content', pointing to the
tab label and the tab panel -> iframe -> contentWindow, respectively.

So let's say you had a patron account open in tab 1, and the Javascript Shell
open in tab 2.  In the shell, you could do:

    var o = get_tab(1);

o.name might contain something like

    1 Patron: Circulator, Ima

and you could do this to refresh that interface:

    o.content.g.patron.refresh_all()

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agoFix ordinal column with multiple lists
Jason Etheridge [Thu, 22 Mar 2012 05:54:20 +0000 (01:54 -0400)]
Fix ordinal column with multiple lists

Before this fix, if more than one util.list powered list existed within a given
document/window, they would each intefere with the other's ordinal column.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agomore workstation related options for ses()
Jason Etheridge [Thu, 22 Mar 2012 03:05:52 +0000 (23:05 -0400)]
more workstation related options for ses()

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agoTPAC: Suppress copy counts for libraries that own zero copies collab/dyrcona/tpac-suppress-preferred-library-count-with-0
Dan Scott [Wed, 28 Mar 2012 02:33:31 +0000 (22:33 -0400)]
TPAC: Suppress copy counts for libraries that own zero copies

Rather than slavishly showing the copy counts for libraries even when
the library has no copies to show, avoid wasting the precious display
space and suppress the output.

This was a problem for both search scope libraries and preferred library
in the search results, and for just preferred library in record details.
This commit makes the behaviour consistent, in favour of suppressing the
display of copy counts when there's nothing to display.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoFix NULL interval for action_trigger.event_definition.delay
Dan Scott [Tue, 27 Mar 2012 19:07:14 +0000 (15:07 -0400)]
Fix NULL interval for action_trigger.event_definition.delay

The delay column in action_trigger.event_definition is defined as NOT
NULL, therefore we should not try to push a NULL into it as that makes
PostgreSQL unhappy.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agoFix seed data script syntax errors
Dan Scott [Tue, 27 Mar 2012 18:40:49 +0000 (14:40 -0400)]
Fix seed data script syntax errors

Commas were missing at the end of some lines. Fix that so that the
database can be created relatively cleanly again.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
7 years agoTemplate processor always falls back to en_us
Bill Erickson [Tue, 27 Mar 2012 14:25:36 +0000 (10:25 -0400)]
Template processor always falls back to en_us

When no locales are registered and/or when a given locale is missing
a translation, fall back to en_us as the default locale.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
7 years agolp965651: add missing commas
Galen Charlton [Mon, 26 Mar 2012 20:11:34 +0000 (16:11 -0400)]
lp965651: add missing commas

Patch by Jason Stephenson, Comma Hunter

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agolp965637: add missing comma to fix syntax error
Galen Charlton [Mon, 26 Mar 2012 20:07:09 +0000 (16:07 -0400)]
lp965637: add missing comma to fix syntax error

Patch from Jason Stephenson

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoAdd patron prefix upgrade to the version upgrade script
Mike Rylander [Mon, 26 Mar 2012 17:53:19 +0000 (13:53 -0400)]
Add patron prefix upgrade to the version upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoStamping patron prefix upgrade script
Mike Rylander [Mon, 26 Mar 2012 17:52:25 +0000 (13:52 -0400)]
Stamping patron prefix upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAdd a prefix field to patron registration interface
Michael Peters [Mon, 30 Jan 2012 16:55:23 +0000 (11:55 -0500)]
Add a prefix field to patron registration interface

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoversion fix for 0692/0693
Jason Etheridge [Mon, 26 Mar 2012 16:27:38 +0000 (12:27 -0400)]
version fix for 0692/0693

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
7 years agoAdd ISSN fix to the version upgrade script
Mike Rylander [Mon, 26 Mar 2012 15:11:18 +0000 (11:11 -0400)]
Add ISSN fix to the version upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoStamping upgrade script for ISSN normalization fix
Mike Rylander [Mon, 26 Mar 2012 14:57:52 +0000 (10:57 -0400)]
Stamping upgrade script for ISSN normalization fix

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP932540: Fix ISSN indexing
Dan Scott [Thu, 22 Mar 2012 02:39:40 +0000 (22:39 -0400)]
LP932540: Fix ISSN indexing

The default config.metabib_field_index_norm_map contains a 'replace'
entry for the ISSN identifier field that replaces spaces with "". That
was meant to handle ISSNs that incorrectly contain a space instead of a
hyphen; it normalizes them from: "1234 1234" to "12341234".

However, that breaks indexing ISSNs if there are multiple ISSNs in the
record, or even if there is an extra character in the same subfield as
the primary ISSN, as all spaces are removed.

This commit removes the 'replace' entry for the ISSN identifier field
and reindexes potentially damaged ISSN index entries.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoStamped upgrade for 'allow fines during closings'
Bill Erickson [Fri, 23 Mar 2012 21:03:47 +0000 (17:03 -0400)]
Stamped upgrade for 'allow fines during closings'

Signed-off-by: Bill Erickson <berick@esilibrary.com>
7 years agoAllow fines to accrue during closings
Mike Rylander [Fri, 23 Mar 2012 16:23:59 +0000 (12:23 -0400)]
Allow fines to accrue during closings

Evergreen skips fines during scheduled closings.  With this commit, a new
Org Unit Setting labeled 'Charge fines on overdue circulations when closed'
is available to force fines to accrue during closures.  Logic repiars and
out-of-scope (strict) variable repairs from Bill Erickson.

This work is sponsored by the NC Cardinal consortium in North Carolina.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
7 years agoAlt serials opac reloading cleanup
Lebbeous Fogle-Weekley [Mon, 19 Mar 2012 18:39:09 +0000 (14:39 -0400)]
Alt serials opac reloading cleanup

Removed a call to xulG.reload_opac() that was no longer wanted

More debuggable.  I think it might still be possbile to get to alt
serial control interfaces in contexts where they don't have
xulG.reload_opac(), but I can't think of any way to do it just now.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAlt serials reload opac after changes
Bill Erickson [Mon, 19 Mar 2012 15:12:06 +0000 (11:12 -0400)]
Alt serials reload opac after changes

Using the new onPostSubmit handler for AutoGrid.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAutoGrid generic onPostSubmit handler
Bill Erickson [Mon, 19 Mar 2012 15:10:55 +0000 (11:10 -0400)]
AutoGrid generic onPostSubmit handler

Called w/ no arguments after any CRUD actions occur.  This includes
EditPane / EditDialog actions as well as deleteSelected.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoFollowup fix to teaching AutoGrid to reload_opac()
Lebbeous Fogle-Weekley [Fri, 9 Mar 2012 17:54:37 +0000 (12:54 -0500)]
Followup fix to teaching AutoGrid to reload_opac()

For deleting a list of selected items, only reload_opac() once at the
end, not once for each item deleted.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAlt Serial Control interfaces and Batch Receive reload OPAC when possible
Lebbeous Fogle-Weekley [Fri, 9 Mar 2012 17:10:20 +0000 (12:10 -0500)]
Alt Serial Control interfaces and Batch Receive reload OPAC when possible

Really, since the Alt Serial Control interfaces are built on AutoGrid,
all we have to do there is teach AutoGrid (and its constituent EditPane)
to try for reload_opac on write operations.

This may cause more reloads of the OPAC than are truly necessary, but
mainly in cases when nobody's looking because the OPAC is hidden away
in another tab.  That's preferable to the alternative of littering the
codebase with dozens of instances of
    try { xulG.reload_opac(); } catch (E) { }
which would just be ugly, bad and unmaintainable.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoupdating item out count in patron display
Jason Etheridge [Fri, 9 Mar 2012 09:45:14 +0000 (04:45 -0500)]
updating item out count in patron display

For checkouts (and checkouts converted into renewals), this updates the item out
count in the patron summary sidebar, and under the Items Out navigation button.

It also updates the Items Out sub-interface if that interface has been opened.

However, we are adding an extra network call to update the summary sidebar.  We
may want to have the checkout method return that data (the checkout count
summary) instead.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoReload the OPAC via Holdings Maintenance
Jason Etheridge [Thu, 8 Mar 2012 19:51:32 +0000 (14:51 -0500)]
Reload the OPAC via Holdings Maintenance

Makes reloading a page wrapped in util.browser more accessible to foreign
window contexts.  Gives all the interfaces hanging off the chrome OPAC wrapper
the ability to reload the OPAC frame via xulG.reload_opac().  Have Holdings
Maintenance do this whenever its list is refreshed.  And "Add Volumes", whether
invoked from Actions for this Record, or from the click link in the record
summary pane.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoStamping upgrade script for ACQ search improvements
Mike Rylander [Fri, 23 Mar 2012 20:23:32 +0000 (16:23 -0400)]
Stamping upgrade script for ACQ search improvements

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoPO Invoice link search by PO instead of Lineitem
Bill Erickson [Thu, 16 Feb 2012 17:50:47 +0000 (12:50 -0500)]
PO Invoice link search by PO instead of Lineitem

The button which allows the user to jump from the PO to linked invoices
now retrieves invoices directly based on the PO ID and instead of
jumping though the lineitem, which only works for POs that have
lineitems (invoiced).

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAcq: improve General Search's ability to find invoices
Lebbeous Fogle-Weekley [Tue, 14 Feb 2012 22:49:54 +0000 (17:49 -0500)]
Acq: improve General Search's ability to find invoices

Invoices in Evergreen have complex relationships with other items.  They
can be related to lineitems (and ultimately POs and selection lists) by
invoice *entries*, or to PO items (and ultimately etc etc) by invoice
*items*, or directly to purchase orders by either of the above mentioned
acq.invoice_{entry,item} objects.

This should make general search more able to find invoices related to
other objects whose fields you might search against in Acquistions
General search.

Here's a diagram that I created to help me think about how to write
these joins:

https://docs.google.com/drawings/d/15ExkiYvq0skfobbocvPWxwdZkb7aykEZpLGfbP9PL04/edit

At Bill Erickson's suggestion, I wound up putting the joins into an IDL view
("acqus") rather than trying to express them in JSON query, which was turning
into a real time sink.

To prevent this change from making Acq General Search slower than it
was, I've also added indices on all the foreign keys used in the IDL
view, so that the joins should be as fast as possible.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAutoFieldWidget single-object cache repairs
Bill Erickson [Thu, 22 Mar 2012 17:41:29 +0000 (13:41 -0400)]
AutoFieldWidget single-object cache repairs

Caching single objects linked off the context object was failing in most
cases as it was caching under the display name instead of the true value
(pkey) for the linked object.  This fixes that by always caching the
linked object by its true value, so that future cache lookups will be
looking in the right place.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoPermaCrud.js flesh support
Bill Erickson [Thu, 22 Mar 2012 15:53:55 +0000 (11:53 -0400)]
PermaCrud.js flesh support

Now that open-ils.pcrud supports fleshing, allow flesh params to pass
through PermaCrud.js

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoStamping upgrade script for in-db unAPI + TPAC cleanup from Dan Scott
Mike Rylander [Fri, 23 Mar 2012 16:45:38 +0000 (12:45 -0400)]
Stamping upgrade script for in-db unAPI + TPAC cleanup from Dan Scott

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTPAC: Show preferred library copies only in consortial scope
Dan Scott [Thu, 22 Mar 2012 00:00:01 +0000 (20:00 -0400)]
TPAC: Show preferred library copies only in consortial scope

A refinement of the preferred library display: only when the user is at
the consortial scope should the preferred library copies float to the
top. At all other scopes, the preferred library copies will appear in
their proper place in the org unit hierarchy (or not at all if outside
of the chosen scope).

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTPAC: Sort copies from preferred library first
Dan Scott [Wed, 21 Mar 2012 04:14:56 +0000 (00:14 -0400)]
TPAC: Sort copies from preferred library first

This commit makes copies from the preferred library (if any) sort first
in the displayed copy list in search results and record details, even
if the search scope would otherwise not include the preferred library's
copies at all.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTPAC: Fix filtering of org units in record details
Dan Scott [Wed, 21 Mar 2012 04:40:42 +0000 (00:40 -0400)]
TPAC: Fix filtering of org units in record details

The syntax for the filtering clause isn't quite right for the
non-opac-visible org units; remove the braces and win.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTPAC / unapi: Overhaul copy and located URI display
Dan Scott [Wed, 21 Mar 2012 02:00:11 +0000 (22:00 -0400)]
TPAC / unapi: Overhaul copy and located URI display

In unauthenticated mode, sort returned copies in the following order:

1. Search library proximity
2. Search library name
3. (Search results only) Call number, by most available copy status
4. Call number label
5. Copy status availability

Also return & display the copy counts ("x of y copies are available")
for the search library and each of its parents.

We can also determine "preferred library" as follows, taking the first
match:

1. A new GET param, "plib", specifying the number of the OU
2. If authenticated, the user's "search library" preference setting;
3. If authenticated, the user's home library;
4. Physical location in which the search is being issued (if any)

Given a preferred library:

1. Promote the copies (if any) for the preferred library to the top of
   the copy display list.
2. Include the copy count for the preferred library if it is outside of
   the scope of the search library;
3. In record details, give users the ability to jump to their preferred
   library scope via "Show preferred library" beside the preferred
   library copy count, if applicable. If your search library is located
   beneath your pref library in the org hierarchy, then you'll get just
   the "copy depth" link instead.

Also, untangle the located URIs from physical call numbers in
in-database unapi.

We had been facing the limitation of URIs being limited by the maximum
number of call numbers, with the result that URIs may or may not have
been displayed. Now, we take the bold tack of returning all URIs that
are in scope for both the search library and the preferred library. No
limiting is currently possible, but in the realistic worst case scenario
of both search lib and pref lib being set to an OU at depth 4, we'll get
a maximum of 8 different URIs back to display. (More realistically, it's
unlikely that a different URI will be set for each level of the
hierarchy.)

Some of the more granular code changes are as follows:

* Add attributes to in-db unapi acp, sunit, holdings_xml

This gives us more flexibility in displaying due dates within search
results or other contexts in which holdings are displayed. The
age_protect, copy_id, and vol_id attributes are required by the record
summary display.

* Enable TPAC to display records via HSTORE-based unapi

Now that unapi requires HSTORE-based LIMIT and OFFSET arguments, take
the simplest possible approach to get get_records_and_facets() working
again.

In search results, we want to limit both the number of copies we get
back (defaulting to a maximum of 5 copies per call number) and the
number of call numbers we get back (defaulting to a maximum of 5 call
numbers), so that we don't get 50 call numbers each with 5 copies back
and wind up grinding Evergreen's performance down to a halt.

Rough thought is that the caller can filter through the (maximum) 25
hits that are returned to present their preferred results. For example,
a site could opt to show 5 different call numbers with just one copy per
call number, or 5 different copies for a single call number, or all 25.

* Avoid deleted call numbers, copies, and sunits

The rewrite of unapi removed the filters for deleted call numbers that
were added to master in LP# 893315 / commit hash 47a16f516d. Fix this
to prevent returning pages of results that would show nothing in the
TPAC because all of the call numbers were deleted.

* Display multiple URIs correctly

We weren't clearing the hash each time that we added it to the list of
URIs, and that ended up duplicating the URI rather than adding distinct
URIs.

* Take copy availability into account for copy order

This is most important in the LIMITed list of copies returned to the
TPAC search results page, but also useful on the record details page.

This commit adds "copy status ranking" into the result ordering, such
that more available copies will be returned first in the list (and thus,
in the case of search results where call numbers and copies are
typically limited (currently to 5 of 5), ensuring that the most
available copies are likely to be seen by users).

The "availability" ranking for a copy is defined by a new function,
evergreen.rank_cp_status(), that takes criteria from the
config.copy_status table and ranks it in three tiers, as follows:

1. Most available =  opac_visible and copy_active are both TRUE
2. Almost available = holdable and opac_visible are TRUE, but
   copy_active is FALSE, or status ID = 1 ("Checked out")
3. Unavailable = anything else.

Thus, changing copy availability ranking (such as demoting "On holds
shelf" from the "most available" status to "almost available"), is
simply a matter of tweaking the evergreen.rank_cp_status() function.

* unapi database functions: mark STABLE

Thomas Berezansky suggested marking one of the new database functions in
the in-database unapi suite as STABLE to help the optimizer, which lead
to us realizing that everything can be marked as stable. This should
enable the planner to generate better plans than if left to the default
pessimistic level of VOLATILE.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAdd per-class limit support to the tag URI parser; correct location/org thinko
Mike Rylander [Wed, 3 Aug 2011 18:23:11 +0000 (14:23 -0400)]
Add per-class limit support to the tag URI parser; correct location/org thinko

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoSupport per-class sub-object limit/offset
Mike Rylander [Tue, 2 Aug 2011 18:44:53 +0000 (14:44 -0400)]
Support per-class sub-object limit/offset

Change the signature for in-db unapi functions so that the limit /
offset arguments become HSTORE values, rather than plain INTEGER values.
This gives you the ability to specify limits and offsets at both the
volume and copy level, via the likes of 'acp=>5, acn=>10' to
specify 5 copies and 10 volumes.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoWrap upgrade script for bib record email / print actions
Dan Scott [Thu, 22 Mar 2012 21:07:10 +0000 (17:07 -0400)]
Wrap upgrade script for bib record email / print actions

Thanks again to Bill Erickson for another nice piece o' functionality.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
7 years agoTpac: record detail print and email
Bill Erickson [Wed, 29 Feb 2012 15:49:18 +0000 (10:49 -0500)]
Tpac: record detail print and email

Implements Print and Email actions (as links below add-to-list) in the
tpac record detail page.

The existing bib record print/email A/T seed templates were also updated
like so:

* Instead of using the reporter tables, bib data is fetched and
extracted via unapi, which allows access to SVF data (etc) and is more
consistent with the tpac.

* A number of unused A/T evnironment entries for the seed templates were
removed.

* The delay for the email template was explicitly set to 00:00:00
instead of the default 5 minutes to get the emails out quicker.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
7 years agoWrap upgrade script for CSV circ history export
Dan Scott [Thu, 22 Mar 2012 16:53:13 +0000 (12:53 -0400)]
Wrap upgrade script for CSV circ history export

Thanks, Bill!

Signed-off-by: Dan Scott <dscott@laurentian.ca>
7 years agoTPac: Circulation history CSV export
Bill Erickson [Wed, 22 Feb 2012 18:14:13 +0000 (13:14 -0500)]
TPac: Circulation history CSV export

This adds a new "Download CSV" button to the TPac circulation history
interface.  The CSV is generated from a new Action/Trigger event
definition.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Conflicts:

Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
Open-ILS/src/sql/Pg/950.data.seed-values.sql

Signed-off-by: Dan Scott <dan@coffeecode.net>
7 years ago.gitignore update - ignore more built files
Dan Scott [Thu, 22 Mar 2012 04:15:28 +0000 (00:15 -0400)]
.gitignore update - ignore more built files

Signed-off-by: Dan Scott <dan@coffeecode.net>
7 years agoTPAC: Tiny fix for + instead of _ string cat operator
Dan Scott [Thu, 22 Mar 2012 04:08:45 +0000 (00:08 -0400)]
TPAC: Tiny fix for + instead of _ string cat operator

Quiet down, Apache logs.

Signed-off-by: Dan Scott <dan@coffeecode.net>
7 years agoTPAC: suppress warning about splice() when the array in question is too short
Lebbeous Fogle-Weekley [Wed, 21 Mar 2012 14:03:18 +0000 (10:03 -0400)]
TPAC: suppress warning about splice() when the array in question is too short

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
7 years agoShooting 2 obvious thinkos d-e-d dead. Pardon the rogueness.
Mike Rylander [Wed, 21 Mar 2012 16:14:44 +0000 (12:14 -0400)]
Shooting 2 obvious thinkos d-e-d dead. Pardon the rogueness.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoFix Auditor Boost upgrade script
Thomas Berezansky [Wed, 21 Mar 2012 13:55:31 +0000 (09:55 -0400)]
Fix Auditor Boost upgrade script

CREATE FUNCTION needs an OR REPLACE included.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
7 years agoTPac; credit card assumes all xacts if none selected
Bill Erickson [Fri, 3 Feb 2012 21:32:03 +0000 (16:32 -0500)]
TPac; credit card assumes all xacts if none selected

For consistency with the initial payment form and to preserve backwards
compatibility, if no transactions are selected, assume the user wants to
pay for all transactions.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTPac; credit card payment "Processing..." page
Bill Erickson [Mon, 21 Nov 2011 20:47:37 +0000 (15:47 -0500)]
TPac; credit card payment "Processing..." page

To prevent impatient patrons from re-submitting credit card payment
request forms, insert a Processing... page between the initial form
submission and the actual payment processing.

Steps 3-5 are new or modified.

1. User selects transactions to pay
2. User fills in payment form and Submits
3. Payment form data is cached in memcache with a temporary token
4. Processing page is displayed with message about how processing the
   payment can take time, do not refresh, etc.
5. Page is refreshed via http meta refresh to submit the form using
   the temp token.  The page is not visibly changed, though, since it
   takes time for the form submission to begin returning data.
6. User is directed to the payment results page.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTPac; support context-genereted refresh content
Bill Erickson [Mon, 21 Nov 2011 20:44:40 +0000 (15:44 -0500)]
TPac; support context-genereted refresh content

If the tpac context object contains a "refresh" attribute, it will be
used as the content attribute in a <meta http-equiv="refresh" ...>
element in the page head.  If present, it will override the default
refresh content for the authentication timeout.

While we're in there, let's use the more correct form of the content
attribute:  content="x; url=foo"

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAdd the session to Circ set_audit_info calls
Thomas Berezansky [Tue, 20 Mar 2012 22:42:28 +0000 (18:42 -0400)]
Add the session to Circ set_audit_info calls

Because I apparently wasn't thinking about how I wrote the apputils piece
when I added them.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
7 years agoLP914821 template selection should be sticky
Jason Etheridge [Wed, 11 Jan 2012 18:57:43 +0000 (13:57 -0500)]
LP914821 template selection should be sticky

in Unified Volume/Copy Editor.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAutoSuggest: Have the server cache for us if we're not using cookies
Mike Rylander [Tue, 20 Mar 2012 20:16:44 +0000 (16:16 -0400)]
AutoSuggest: Have the server cache for us if we're not using cookies

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
7 years agoAutoSuggest: Don't try to store cmc and cmf caches in a cookie. Too big.
Lebbeous Fogle-Weekley [Mon, 19 Mar 2012 15:08:08 +0000 (11:08 -0400)]
AutoSuggest: Don't try to store cmc and cmf caches in a cookie. Too big.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoFix a couple of templates with multiple class attributes in tags.
Jason Stephenson [Tue, 20 Mar 2012 17:47:00 +0000 (13:47 -0400)]
Fix a couple of templates with multiple class attributes in tags.

There should only be one class attribute on a HTML tag. However,
multiple classes can be combined in a single attribute argument.

See: http://www.w3schools.com/tags/att_standard_class.asp

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoBackdate into grace period - include last second
Thomas Berezansky [Thu, 15 Mar 2012 21:04:51 +0000 (17:04 -0400)]
Backdate into grace period - include last second

The last second of the grace period is ignored on backdated checkins, but
should still count as "in" the grace period.

This fixes that.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAutoSuggest: don't force-scroll browser; that's irritating
Lebbeous Fogle-Weekley [Tue, 13 Mar 2012 15:21:59 +0000 (11:21 -0400)]
AutoSuggest: don't force-scroll browser; that's irritating

By default, Dijits and things that inherit from Dijits (at least in
Dojo 1.3.3 that we're still using), have a true value for an attribute
called scrollOnFocus.  This makes your browser jump to ensure that the
widget that just received focus is in view.

You don't always want this though.  Try expanding the extras on the
record detail page of the TPAC without this commit, but with AutoSuggest
enabled, for example.

This commit sets the scrollOnFocus attribute to false for the
AutoSuggest widget.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoPropagate search location on "Another Search" link
Dan Scott [Sat, 10 Mar 2012 16:27:08 +0000 (11:27 -0500)]
Propagate search location on "Another Search" link

In commit 27b2037d72b I had intentionally prevented "Another Search" on
the results page from propagating the current search location, in the
belief that sites would want to use that as a way of starting a brand
new search session; after all, both the "Advanced search" and "Search
toolbar" offer propagation of the current parameters.

However, a number of people including Kathy Lussier and Ben Shum
indicated that they expected "Another Search" to maintain scope as well,
so we will propagate state here.

Sites may want to customize this link or the top-left logo link if they
want to provide a "Start a new search session" option.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoPrevent AutoGrid death using a certain helper with null OU fields
Lebbeous Fogle-Weekley [Fri, 3 Feb 2012 19:45:28 +0000 (14:45 -0500)]
Prevent AutoGrid death using a certain helper with null OU fields

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoStamping upgrade script for reingest betterment
Mike Rylander [Tue, 20 Mar 2012 19:56:12 +0000 (15:56 -0400)]
Stamping upgrade script for reingest betterment

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoNew metabib.reingest_metabib_field_entries func
Thomas Berezansky [Tue, 21 Feb 2012 22:05:31 +0000 (17:05 -0500)]
New metabib.reingest_metabib_field_entries func

In addition to acting like the old one by default, support new params:

skip_browse - Skip autosuggest (re)population
skip_facet - Skip facet (re)population
skip_search - Skip search (re)population

Can be specified by name with PostgreSQL named param features:

metabib.reingest_metabib_field_entries(bib_id, skip_search := true);

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoStamping upgrade script (and updating 2.1-2.2 version upgrade script)
Mike Rylander [Tue, 20 Mar 2012 17:50:31 +0000 (13:50 -0400)]
Stamping upgrade script (and updating 2.1-2.2 version upgrade script)

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoCall set_audit_info and clear_audit_info DB funcs
Thomas Berezansky [Mon, 21 Nov 2011 21:51:50 +0000 (16:51 -0500)]
Call set_audit_info and clear_audit_info DB funcs

Set whenever we can (including automatically via pcrud)
Clear whenever we disconnect (hopefully) from a location we set from.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAuditor Function Overhaul
Thomas Berezansky [Mon, 21 Nov 2011 16:18:49 +0000 (11:18 -0500)]
Auditor Function Overhaul

Alter create_auditor_history to include two new columns:
    audit_user - To refer to the user who made this change
    audit_ws - To refer to the workstation they were logged into

Alter create_auditor_func to include the new columns, as well as make it
stop assuming that the auditor table and the table it is based on use the
same column ordering. In additon, make it use OR REPLACE so it can be run
again later.

Alter create_auditor_lifecycle similarly to create_auditor_func, sans the
OR REPLACE functionality.

Add five new functions:

set_audit_info - To set the user and workstation IDs
get_audit_info - Used by the auditor functions to retrieve said IDs
clear_audit_info - To remove the stored IDs for whatever reason
fix_columns - To add/remove/update columns that have changed since any
    auditors were initially created
update_auditors - To run a full pass of dropping all lifecycle views,
    update for all column changes, re-create the auditor functions, and
    re-create the auditor lifecycle views.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoUnwrapped auditor upgrade script
Thomas Berezansky [Mon, 21 Nov 2011 16:18:58 +0000 (11:18 -0500)]
Unwrapped auditor upgrade script

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTTPAC material type icon compression
Michael Peters [Thu, 15 Mar 2012 14:04:05 +0000 (10:04 -0400)]
TTPAC material type icon compression

When cleaning up the images directory for TTPAC, I discovered
that the mattype icons had been saved with a poor compression
scheme and where taking up nearly 3MB, which was just too
high for a small set of icons.

I ran them through Photoshop CS5 and saved us a whopping 2.85MB
of disk space used by the images.  The entire lot decreased from
3MB to just 152KB.  Average icon size is now just about 1KB.

This should speed up load times when these images are displayed.

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoPassword Reset Submit buttons should look like other OPAC buttons
Michael Peters [Fri, 9 Mar 2012 19:31:17 +0000 (14:31 -0500)]
Password Reset Submit buttons should look like other OPAC buttons

This branch stylizes the submit buttons on the Password Reset form
in TTPAC so they match the other types of OPAC buttons throughout
the catalog.

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#707167 Make open-ils.actor.usrname.exists not ignore deleted users
Michael Peters [Fri, 16 Mar 2012 17:56:57 +0000 (13:56 -0400)]
LP#707167 Make open-ils.actor.usrname.exists not ignore deleted users

Currently, open-ils.actor.usrname.exists filters out deleted users.  This
results in a user recieving indication as to why a user update
failed, when the reason is the username they're attempting to use
is in use, but is "deleted" in the database.

This branch makes open-ils.actor.usrname.exists look at deleted users
since they still prevent re-use of the delted user's username.

More information is in the original bug, https://bugs.launchpad.net/evergreen/+bug/707167.

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoNew features for telephony currently in use at KCLS
Lebbeous Fogle-Weekley [Fri, 17 Feb 2012 17:37:15 +0000 (12:37 -0500)]
New features for telephony currently in use at KCLS

I must ask the community's forgiveness for sitting on this for so long.
This code was developed in fits over time, and it had to be disentangled
from some site-specific configuration and workarounds before it could
be usefully published.

Enhancements over what's already committed to master include:

- a feature that allows an Evergreen system to query the PBX (where
  PBX here refers to an Asterisk system plus the eg-pbx-* scripts from
  Evergreen - particularly eg-pbx-mediator.pl) for the A/T event IDs
  associated with failed notifcations, so that those A/T events can be
  "rolled over" into new ones with a different event definition, and
  thus a different notification method

- holiday awareness in eg-pbx-allocator (the piece run by cron whose
  main responsibility is dripping files from a staging directory into
  Asterisk's real spool for call files).  There's a script (set_pbx_holidays)
  that can be run by cron on an Evergreen system to periodically update the
  PBX's table of holidays based on a given org unit's closed_date ranges.

- smart retry.  In certain situations, if you put too many callfiles
  into Asterisk's spool at once, Asterisk will try to make too many
  calls at once, and all such calls just fail.  That's what the
  allocator is meant to prevent.  Smart retry is about moving calls that
  have been tried once, and will be retried again later due to resulting
  in a busy signal or other problem, out of the spool to make room for
  other calls that could be made in the mean time.

- miscellaneous helper scripts and tricks for spreading more
  reportable/greppable information among A/T output and cleaning up
  callfiles that result in no-op's for Asterisk. Lock file checking for
  the allocator. Etc.

I also have tried to throw in some useful documentation.  I admit things
look a bit jumbled, but I'll be as available as I can make myself to help
anyone who steps up to clarify documentation or improve code in order to
make general adoption of these features a little easier.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoUse getItemType() instead of getForm() in searchBarInit().
Jason Stephenson [Thu, 2 Feb 2012 14:19:11 +0000 (09:19 -0500)]
Use getItemType() instead of getForm() in searchBarInit().

This seems to actually fix the problem with the item type limiter
being lost when going from advanced search to the results page.

Looks like the wrong method was being used to set the form_selector
value in search_bar.js. It was being set to the web form itself and
not to the value of the it (item type) parameter.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoWhen sorting a search results set the isFilterSort variable is passed
Liam Whalen [Tue, 1 Nov 2011 18:18:32 +0000 (14:18 -0400)]
When sorting a search results set the isFilterSort variable is passed
to searchBarSubmit.  In side searchBarSumbit there is a call to the
opac_utils.js function clearSearchParams function.  This removes all
search paramaters when sorting a result set, which is not the desired
effect.  I have wraped clearSearchParams in a check to make sure
isFilterSort is not set before calling the clearSearchParams function,
and this check ensures that the current search's paramaters are passed
to sort operations.

Signed-off-by: Liam Whalen <lwhalen@evergreen-dev.catalogue.nrcan.gc.ca>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP918020: Fix regression in biblio.extract_located_uris
Dan Scott [Wed, 18 Jan 2012 05:27:05 +0000 (00:27 -0500)]
LP918020: Fix regression in biblio.extract_located_uris

The 2.0-2.1 upgrade script contained an old version of
biblio.extract_located_uris that functioned poorly. Fix the 2.0-2.1
upgrade script and ensure that sites upgrading to 2.1.2 get the fix as
well.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agolp928937, null date sorting
Jason Etheridge [Fri, 24 Feb 2012 19:36:16 +0000 (14:36 -0500)]
lp928937, null date sorting

Changes util.date.db_date2Date so that nulls are not converted into the epoch.
This fixes date sorting in XUL-based lists in the staff client such that unset
dates are listed before actual dates.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoAvoid JSPAC hold placement interface problems when no holdable copies
Lebbeous Fogle-Weekley [Fri, 24 Feb 2012 19:56:18 +0000 (14:56 -0500)]
Avoid JSPAC hold placement interface problems when no holdable copies

This addresses a bug brought to my attention by John Jones.

When you're trying to place certain holds (at least title level holds) on
records for which there are no holdable formats (no descriptors as returned by
open-ils.search.metabib.record_to_descriptors), then
holdArgs.recordDescriptors in holds.js can be an empty array.  There is
a line of code that assumes this will never happen.

The end user-visible result of the javascript failing here is an alert()
dialog about phone number format, but this is a red herring.  That only
happens because the problem code is in one big function that has too
many responsibilites.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTPac: avoid showing replaced addresses
Bill Erickson [Tue, 21 Feb 2012 16:47:34 +0000 (11:47 -0500)]
TPac: avoid showing replaced addresses

Replaced (negative-id) addresses should never be visible to the patron.
Remove them from the collected list of addrs.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTpac (etc): improve payment history sorting/paging
Bill Erickson [Tue, 7 Feb 2012 19:40:19 +0000 (14:40 -0500)]
Tpac (etc): improve payment history sorting/paging

Payments within a transaction will have the same timestamp.  With a
large enough set of such payments, sorting by timestamp alone when
retrieving payments is not enough to guarantee unique pages of payments.
This adds a secondary sort on payment ID as a tie-breaker.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoFix AccessControl plugin extraction
Thomas Berezansky [Mon, 30 Jan 2012 18:11:19 +0000 (13:11 -0500)]
Fix AccessControl plugin extraction

Apparently they ditched a containing folder in the zip...lets autodetect
that from now on.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agopatron search result order sorting
Jason Etheridge [Mon, 23 Jan 2012 15:05:19 +0000 (10:05 -0500)]
patron search result order sorting

The default patron search "order by" on the server side is last name, first
name, and actor.usr.id.

The staff client intended to request last name, first name, middle name, and
date of birth (when actor.usr.id to be tacked on in the middle layer), but a bug
prevented this.

This fixes that.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoPaging repairs for Event definition admin UI
Bill Erickson [Wed, 1 Feb 2012 18:53:55 +0000 (13:53 -0500)]
Paging repairs for Event definition admin UI

If there are multiple event definitions with the same name that lie along
the page boundaries, it's possible to page through event definitions
seeing some def's multiple times and others never.  This is a result of
sorting solely on event def. name when fetching event def's for display.
This patch adds secondary (and tertiary, and quaternary, and quinary)
sort columns as tie breakers to guarantee a unique set of defs across
pages.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoDo not exclude "identifier" facets by default
Bill Erickson [Thu, 5 Jan 2012 18:18:29 +0000 (13:18 -0500)]
Do not exclude "identifier" facets by default

No longer ignore "identifier" fields when collecting and caching
facet data.  This change causes all config.metabib_field's that are
marked as facet_fields to be taken into consideration.

Apart from marking a field as facet_field=false, it's also possible to
control which fields are visible within the jspac and tpac (pending LP
911908)

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoFix some small errors in Apache log for staff client splash page
Warren A. Layton [Mon, 19 Mar 2012 16:47:50 +0000 (12:47 -0400)]
Fix some small errors in Apache log for staff client splash page

Fixes the path to the background image in the splash page's search
box.

Also removes references to javascript files that don't seem to be
present.

Signed-off-by: Warren A. Layton <warren.layton@gmail.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
7 years agoTPAC: Prevent OU-invisible copies from being displayed to public user/dyrcona/lp959577
Dan Scott [Mon, 19 Mar 2012 20:04:49 +0000 (16:04 -0400)]
TPAC: Prevent OU-invisible copies from being displayed to public

Per LP# 959577, "We've found that copies from OU's with OPAC visible set
to false are displaying on the record details page of tpac."

This fixes that by including the pertinent clause in mk_copy_query()'s
version of what in-db unapi does. Some day we will unite under the same
logic and be stronger!

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
7 years agoDisable mod_deflate on XMLENT filtered files
Thomas Berezansky [Thu, 12 Jan 2012 20:37:48 +0000 (15:37 -0500)]
Disable mod_deflate on XMLENT filtered files

Default configs for Ubuntu, at least, enable mod_deflate too broadly, and
XMLENT filtering needs to happen before mod_deflate kicks in.

Because we can't change the filter order, instead disable mod_deflate for
those files we have enabled XMLENT filtering, by use of the no-gzip ENV.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoStamping BluRay videorecording format upgrade
Mike Rylander [Mon, 19 Mar 2012 15:57:19 +0000 (11:57 -0400)]
Stamping BluRay videorecording format upgrade

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoTeach Evergreen about Blu-Ray VR Format
Thomas Berezansky [Sun, 11 Mar 2012 22:00:03 +0000 (18:00 -0400)]
Teach Evergreen about Blu-Ray VR Format

Also, reingest blu-ray records in an update script to populate it.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLayout tweak to return-to-search-results staff button
Bill Erickson [Fri, 16 Mar 2012 21:01:11 +0000 (17:01 -0400)]
Layout tweak to return-to-search-results staff button

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>