]> git.evergreen-ils.org Git - working/Evergreen.git/log
working/Evergreen.git
11 years agokpac : better wording for the Save It dialog
Bill Erickson [Thu, 21 Jun 2012 13:07:18 +0000 (09:07 -0400)]
kpac : better wording for the Save It dialog

This removes any mention of selecting a location, which is not needed
for saving items to lists.  It also adds some language about saving
items to existing lists.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : typo Successfull => Successful
Bill Erickson [Fri, 15 Jun 2012 16:18:31 +0000 (12:18 -0400)]
kpac : typo Successfull => Successful

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : hrefs for back/top links in category page, avoid dupe cgi param
Bill Erickson [Wed, 6 Jun 2012 18:12:17 +0000 (14:12 -0400)]
kpac : hrefs for back/top links in category page, avoid dupe cgi param

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : hrefs for back/top links in category page
Bill Erickson [Wed, 6 Jun 2012 17:55:21 +0000 (13:55 -0400)]
kpac : hrefs for back/top links in category page

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : honor no-search propagation (nosprop) param on homesearch (alt skin)
Bill Erickson [Wed, 6 Jun 2012 17:28:01 +0000 (13:28 -0400)]
kpac : honor no-search propagation (nosprop) param on homesearch (alt skin)

When performing category-based searches, do not propagate the searches
into the search box on the home page, similar to the results page search
box.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agotpac/kpac : search_filter_group cache repairs
Bill Erickson [Tue, 29 May 2012 16:05:16 +0000 (12:05 -0400)]
tpac/kpac : search_filter_group cache repairs

Repaired bug in search_filter_group which lead to empty results
delivered when data was in the cache.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : hide font-size image/link pending design
Bill Erickson [Tue, 29 May 2012 14:01:25 +0000 (10:01 -0400)]
kpac : hide font-size image/link pending design

Will need to get some input on how this action should behave.  My
personal pref. is to use the browser's page zoom behavior, since it's
the only way to truly resize everything in the page.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : hide font-size image/link pending design
Bill Erickson [Tue, 29 May 2012 13:48:45 +0000 (09:48 -0400)]
kpac : hide font-size image/link pending design

Will need to get some input on how this action should behave.  My
personal pref. is to use the browser's page zoom behavior, since it's
the only way to truly resize everything in the page.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : honor no-search propagation (nosprop) param on homesearch
Bill Erickson [Tue, 29 May 2012 13:43:07 +0000 (09:43 -0400)]
kpac : honor no-search propagation (nosprop) param on homesearch

When performing category-based searches, do not propagate the searches
into the search box on the home page, similar to the results page search
box.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agotpac : sanity check record ID in detail page path
Bill Erickson [Tue, 29 May 2012 13:39:58 +0000 (09:39 -0400)]
tpac : sanity check record ID in detail page path

If the ID is malformed (or nonexistent), return a BAD_REQUEST status and
exit early to avoid any unnecessary DB lookups and error logging.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : added content
Bill Erickson [Fri, 25 May 2012 13:47:02 +0000 (09:47 -0400)]
kpac : added content

Integrate the added content support from tpac and clean up the old added
content stub code.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : show name of logged in user w/ logout link
Bill Erickson [Wed, 23 May 2012 17:35:55 +0000 (13:35 -0400)]
kpac : show name of logged in user w/ logout link

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : make hold-placement terminology more clear
Bill Erickson [Wed, 23 May 2012 17:08:10 +0000 (13:08 -0400)]
kpac : make hold-placement terminology more clear

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : repair logged-in temp list saving
Bill Erickson [Wed, 23 May 2012 17:03:44 +0000 (13:03 -0400)]
kpac : repair logged-in temp list saving

Allow users to save items to temp lists when logged in.  Also make the
language in the drop-down more clear regarding temporary list saving.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : clear more params from breadcrumb links
Bill Erickson [Wed, 23 May 2012 15:51:04 +0000 (11:51 -0400)]
kpac : clear more params from breadcrumb links

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : global filter config option
Bill Erickson [Wed, 23 May 2012 15:44:28 +0000 (11:44 -0400)]
kpac : global filter config option

Allows for configuration of an always-on global search filter.  All
searches, regardless of origin, in the kpac will be appended by this
filter when configured.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : integrate stock search filter group
Bill Erickson [Wed, 23 May 2012 15:21:37 +0000 (11:21 -0400)]
kpac : integrate stock search filter group

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoKPAC : sample search filter group main search selector
Bill Erickson [Wed, 23 May 2012 15:20:00 +0000 (11:20 -0400)]
KPAC : sample search filter group main search selector

Provide a default search filter group for the kid's opac main search
selector.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTPAC filter group selector supports class / pos
Bill Erickson [Wed, 23 May 2012 15:10:41 +0000 (11:10 -0400)]
TPAC filter group selector supports class / pos

* Sort filter group entry options by position
* Allow caller to pass in a class attribute for the filter group selector

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : config file cleanup; vim modeline
Bill Erickson [Tue, 22 May 2012 14:51:34 +0000 (10:51 -0400)]
kpac : config file cleanup; vim modeline

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : wire up print page link w/ JS
Bill Erickson [Tue, 22 May 2012 13:43:26 +0000 (09:43 -0400)]
kpac : wire up print page link w/ JS

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac: clear some form params from breadcrumb links
Bill Erickson [Tue, 22 May 2012 13:43:07 +0000 (09:43 -0400)]
kpac: clear some form params from breadcrumb links

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : initial added content cleanup
Bill Erickson [Fri, 18 May 2012 12:31:05 +0000 (08:31 -0400)]
kpac : initial added content cleanup

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac; set record detail link in breadcrumbs
Bill Erickson [Thu, 17 May 2012 13:35:16 +0000 (09:35 -0400)]
kpac; set record detail link in breadcrumbs

On the getit page, the record title link in the breadcrumb now returns
to the main record page.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac2 : update print/textsize image links
Bill Erickson [Mon, 23 Apr 2012 20:17:35 +0000 (16:17 -0400)]
kpac2 : update print/textsize image links

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : remove action CGI after getit results
Bill Erickson [Mon, 23 Apr 2012 19:44:02 +0000 (15:44 -0400)]
kpac : remove action CGI after getit results

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : repair hold retrieval code
Bill Erickson [Mon, 23 Apr 2012 19:43:46 +0000 (15:43 -0400)]
kpac : repair hold retrieval code

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac2 : rename some images to avoid collision w/ kpac
Bill Erickson [Tue, 17 Apr 2012 14:40:42 +0000 (10:40 -0400)]
kpac2 : rename some images to avoid collision w/ kpac

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac2 : results page
Bill Erickson [Mon, 16 Apr 2012 21:03:44 +0000 (17:03 -0400)]
kpac2 : results page

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac2 : home search; header; images
Bill Erickson [Mon, 16 Apr 2012 19:52:31 +0000 (15:52 -0400)]
kpac2 : home search; header; images

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac2 : some initial files
Bill Erickson [Mon, 16 Apr 2012 15:54:31 +0000 (11:54 -0400)]
kpac2 : some initial files

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoCreated examples web dir
Bill Erickson [Mon, 16 Apr 2012 15:51:36 +0000 (11:51 -0400)]
Created examples web dir

Created Open-ILS/examples/web for storing example templates and sample
template overrides and their associated resources (js, css, images).

Moved the sample flattener_test.tt2 into the new web/templates dir.

Added a simple README exaplaining the purpose of the directory.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : tech reference
Bill Erickson [Tue, 17 Apr 2012 15:39:21 +0000 (11:39 -0400)]
kpac : tech reference

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : default apache config repair
Bill Erickson [Tue, 17 Apr 2012 15:39:04 +0000 (11:39 -0400)]
kpac : default apache config repair

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoEGWeb trim template paths to unique set
Bill Erickson [Tue, 17 Apr 2012 14:35:43 +0000 (10:35 -0400)]
EGWeb trim template paths to unique set

The list of template paths may have the same path added multiple times,
depending on the Apache configuration.  Trim them down to a unique set
to avoid excess template lookups.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTPAC advanced search org unit selector
Dan Scott [Mon, 30 Jul 2012 13:44:17 +0000 (09:44 -0400)]
TPAC advanced search org unit selector

Make the advanced search org selector a bit more i18n and accessibility
friendly by giving the fields an explicit label. We shouldn't really build
strings out of individual parts like "in" out of context, because the
translators won't know what "in" refers to; and the label elements help
guide screen readers.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
11 years agoAdd the library selector to numeric and expert search pages.
Kathy Lussier [Tue, 24 Jul 2012 03:23:55 +0000 (23:23 -0400)]
Add the library selector to numeric and expert search pages.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agokpac : html escape title/author in record rows
Bill Erickson [Mon, 16 Apr 2012 21:04:10 +0000 (17:04 -0400)]
kpac : html escape title/author in record rows

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : search link cgi improvements
Bill Erickson [Mon, 9 Apr 2012 19:45:49 +0000 (15:45 -0400)]
kpac : search link cgi improvements

1. avoid showing the search terms from canned searches in the simple
search box.  Patrons, kids especially, probably don't want to see
potentially complicated canned search queries in the search box when the
whole point is that they are accessible by clicking on images.

2. Avoid propagating the search qtype param to canned searches.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : ensure the single-hit redirect goes to kpac
Bill Erickson [Mon, 9 Apr 2012 19:26:40 +0000 (15:26 -0400)]
kpac : ensure the single-hit redirect goes to kpac

... instead of to the tpac record detail page.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : no results message
Bill Erickson [Mon, 9 Apr 2012 17:59:56 +0000 (13:59 -0400)]
kpac : no results message

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : added content work
Bill Erickson [Fri, 6 Apr 2012 20:32:13 +0000 (16:32 -0400)]
kpac : added content work

1. Consolidated added content apache configs under /eg
2. Added (untested) code to support LibraryThing reviews.
 -- It looks like we'll need to coordinate w/ LT to get it all hooked
 up.  More research pending.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : hold placement; more auth refresh repairs
Bill Erickson [Thu, 5 Apr 2012 21:30:54 +0000 (17:30 -0400)]
kpac : hold placement; more auth refresh repairs

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : wire up home search; auth timeout redirect fixes
Bill Erickson [Thu, 5 Apr 2012 19:31:49 +0000 (15:31 -0400)]
kpac : wire up home search; auth timeout redirect fixes

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : initial login + place hold combined action
Bill Erickson [Thu, 5 Apr 2012 16:35:39 +0000 (12:35 -0400)]
kpac : initial login + place hold combined action

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : initial chilifresh integration
Bill Erickson [Wed, 4 Apr 2012 20:33:33 +0000 (16:33 -0400)]
kpac : initial chilifresh integration

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : getit save to existing list
Bill Erickson [Wed, 4 Apr 2012 19:02:11 +0000 (15:02 -0400)]
kpac : getit save to existing list

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agotpac: minor code formatting
Bill Erickson [Mon, 26 Mar 2012 19:32:08 +0000 (15:32 -0400)]
tpac: minor code formatting

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac: save to anon-list
Bill Erickson [Mon, 26 Mar 2012 18:02:00 +0000 (14:02 -0400)]
kpac: save to anon-list

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : config and template work
Bill Erickson [Fri, 16 Mar 2012 16:00:58 +0000 (12:00 -0400)]
kpac : config and template work

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : i18n, cleanup
Bill Erickson [Tue, 14 Feb 2012 19:47:13 +0000 (14:47 -0500)]
kpac : i18n, cleanup

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : rename files/paths for tpac consistency
Bill Erickson [Tue, 14 Feb 2012 19:34:21 +0000 (14:34 -0500)]
kpac : rename files/paths for tpac consistency

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : holds, misc
Bill Erickson [Mon, 30 Jan 2012 19:46:30 +0000 (14:46 -0500)]
kpac : holds, misc

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : initial holds; misc
Bill Erickson [Mon, 30 Jan 2012 17:32:43 +0000 (12:32 -0500)]
kpac : initial holds; misc

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : copy table; record details
Bill Erickson [Fri, 27 Jan 2012 17:15:05 +0000 (12:15 -0500)]
kpac : copy table; record details

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : record details
Bill Erickson [Thu, 26 Jan 2012 23:05:46 +0000 (18:05 -0500)]
kpac : record details

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : trucking along
Bill Erickson [Thu, 26 Jan 2012 19:38:42 +0000 (14:38 -0500)]
kpac : trucking along

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : basic search box
Bill Erickson [Thu, 26 Jan 2012 19:24:07 +0000 (14:24 -0500)]
kpac : basic search box

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : breadcrumbs, paging, misc
Bill Erickson [Thu, 26 Jan 2012 16:49:55 +0000 (11:49 -0500)]
kpac : breadcrumbs, paging, misc

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agokpac : first steps
Bill Erickson [Mon, 23 Jan 2012 21:49:29 +0000 (16:49 -0500)]
kpac : first steps

initial pile of template integration and apache configuration

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoFix summary display in TPAC; avoid Content Cafe
Dan Scott [Fri, 27 Jul 2012 21:24:07 +0000 (17:24 -0400)]
Fix summary display in TPAC; avoid Content Cafe

While in misc_util.tt2 we're grabbing args.summary as a single string,
and args.summaries as the list of summaries, this gets complicated
elsewhere in the summaries display chain, where we're checking for the
number of list elements in "summary" (which is now a string), as well as
a confusion of logic where ContentCafe was being displayed whether or
not the environment variable existed.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoTPAC - repair summary statement display
Ben Shum [Fri, 27 Jul 2012 20:06:28 +0000 (16:06 -0400)]
TPAC - repair summary statement display

Change variable from summary to summaries to properly associate values
for the summary statement display in Tpac.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoTwo new list fields. Adds the publication date and format to the My Lists
Kathy Lussier [Thu, 26 Jul 2012 11:09:11 +0000 (07:09 -0400)]
Two new list fields. Adds the publication date and format to the My Lists
display in tpac.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoWindow.open fixes
Thomas Berezansky [Sat, 28 Jul 2012 19:17:40 +0000 (15:17 -0400)]
Window.open fixes

Add a window.open compatible "browser" file for unsecured calls.

Add "chrome" to most window.open calls to bypass the wrapper.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoChange popups to menupopups in marc edit
Thomas Berezansky [Fri, 27 Jul 2012 20:00:27 +0000 (16:00 -0400)]
Change popups to menupopups in marc edit

Because popups are transparent by default.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoFix over-zealous constant change
Thomas Berezansky [Fri, 27 Jul 2012 16:22:00 +0000 (12:22 -0400)]
Fix over-zealous constant change

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAnother missing height for the pattern wizard
Thomas Berezansky [Thu, 26 Jul 2012 20:52:55 +0000 (16:52 -0400)]
Another missing height for the pattern wizard

Missed this one on the previous pass.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoFix pattern wizard
Thomas Berezansky [Thu, 26 Jul 2012 20:18:02 +0000 (16:18 -0400)]
Fix pattern wizard

CSS3 selectors break things. And some height would be nice.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoMore oils:// wrapping
Thomas Berezansky [Thu, 26 Jul 2012 19:52:35 +0000 (15:52 -0400)]
More oils:// wrapping

To avoid breaking some newer interfaces in particular.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoHave oilsBasePath include protocol and domain
Thomas Berezansky [Thu, 26 Jul 2012 14:00:34 +0000 (10:00 -0400)]
Have oilsBasePath include protocol and domain

As seen by the other end, anyway. This fixes some authtoken related issues
when things like ACQ build links that would otherwise default to http.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoSwitch to XUL for printer settings editor
Thomas Berezansky [Thu, 17 May 2012 16:19:48 +0000 (12:19 -0400)]
Switch to XUL for printer settings editor

Because in later versions of XULRunner we apparently can't do bindings
outside of XUL documents, and messagecatalogs are binding-based.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoImprove Firefox/XULRunner Support
Thomas Berezansky [Mon, 27 Feb 2012 14:03:51 +0000 (09:03 -0500)]
Improve Firefox/XULRunner Support

XULRunner/Firefox 4+ change the rules significantly, and to support them
significant changes have to be made in Evergreen.

This commit covers a number of things:

1 - Remote XUL Issues

Later versions of XULRunner disable support for Remote XUL without using a
whitelist entry, and whitelisting may stop working eventually as well. The
solution here is the addition of a new protocol wrapper that allows Remote
XUL to act like Local XUL.

The wrapper is oils:// and acts like HTTPS for the most part. The "host" the
client connects to is always "remote", however, and use of the wrapper has
multiple effects.

The first of these effects is the enabling of Remote XUL content, with as
close to the Local XUL security level as I could manage. This means that
nearly anything Local XUL can do, Remote XUL should be able to do too.

The second of these effects is the disabling of JavaScript-visible cookies.
XUL doesn't have cookies, and as such a side effect of the wrapper allowing
remote content to appear to be local content is the lack of cookies. This
does *not* affect server side visibility of cookies, however, so things like
TPac can still see cookies. This required fixing a lot of places that were
built to read data like authtokens out of cookies.

The third of these effects is the "hiding" of the hostname for anything
going through the wrapper. This prevents oils_persist from saving things
correctly. I thus made oils_persist check for the wrapper and use the data
stash to get the hostname instead. I suspect that we can get rid of the
location.hostname check entirely at this point, but have not done so.

The wrapper also sets a request header of OILS-Wrapper, value of 'true'.
That allows the server to know that the request came through the wrapper. I
used that ability to have TPac go into "Staff" mode when the wrapper is in
use. This will enhance extension use, where the same authtoken will be seen
by both the staff client and Firefox browsing.

I willi also  note that I rigged the wrapper to be easily adjusted for a
second, hard-coded host for selfcheck use, using oils://selfcheck instead of
oils://remote, that could be very easily turned into a minimal Firefox
extension. That would enable the selfcheck code to have permission to work
with printers and such without enablePrivilege (see next section).

2 - enablePrivilege Deprecation

The enablePrivilege security model has been removed and no longer functions,
and the staff client depended heavily upon it.

The Remote XUL fix provided us with a way to fix the enablePrivilege issues,
however. Because the Remote XUL has the Local XUL security context it
doesn't need enablePrivilege anymore. However, because enablePrivilege no
longer functions for those things *not* loaded through the wrapper some
things had to be changed.

For one, because if you are loaded through the wrapper you can't see
cookies, and if you can see cookies you can't do "XUL" things, the "XUL"
cookie has been removed. However, the wrapper can be detected by the
protocol you are using, so I added protocol checking to the isXUL checks I
know of. I am unsure about what, if anything, to do about the IAMXUL flag
that is set by the browser code, though.

For two, the JavaScript OPAC needs to be passed through the wrapper for some
staff functions to work currently. This has the additional side effect of
effectively forcing SSL mode for JSPac regardless of other settings.

For three, I went ahead and removed all enablePrivilege calls I could find
outside of the selfcheck code. As they no longer work they were just extra
cruft.

3 - Component changes

Component loading has changed significantly, and the easiest way to
accommodate the changes was to re-write our components. The command line
handler and force external components (the latter from another branch of
mine) were simple enough, especially as they aren't interacted with by other
code in the system (and as I wrote them I understood them anyway). While I
was at it I made the force external component more extension-friendly.

The data stash, however, was using a hack to accomplish what a singleton
component could do more easily. That and I couldn't get it to function as
it was. My solution was to re-write it as a singleton, removing the
interface definition that was not needed. As I changed how it functioned so
significantly I had to update all calls to it.

In addition, I hid a window loading routine in the data stash component for
easier loading of a *single* main Evergreen window from the Firefox
overlays.

4 - Extension changes

First off, Venkman, the DOM Inspector, and Chrome List are not guaranteed
compatible with XULRunner anymore. As such, I have removed the out of date
versions. Instead, I have added routines for loading Venkman and the DOM
Inspector as Extensions. This keeps them easy to update to later versions,
and makes us play much nicer when we are an extension. Also, now the
buttons/menu items for loading these interfaces disable themselves if the
extensions don't appear to be loaded.

A side effect of that was that Windows installers compressed with zlib were
unhappy. I switched to solid lzma, which in theory will get us smaller file
sizes too.

Secondly, Extensions have changed significantly in Firefox 4+, and Evergreen
had to be adjusted to deal with some of the changes. I adjusted the overlay
to take into account the new application menu, and I re-wrote the hotkey set
loading routines to deal with the fact that extensions don't get extracted
by default.

5 - Staff Client Build Process

XULRunner has some changes that needed accounting for, such as a root level
chrome.manifest being needed. Extension mode, as mentioned above, needed
tweaks as well, and other issues were run into along the way. Both XULRunner
and Firefox version support has been extended to 14.* and the base XULRunner
download has been bumped to 14.0.1.

In addition to the changes needed to support later XULRunner versions, I
also included alternate application name support and support for OS-specific
branding folders. Mainly because I ended up using all of them in testing,
and decided to leave them in afterwards.

6 - Miscellaneous fixes

MARC View was building a data URL and dumping it into an attribute without
escaping it. Apparently this made XULRunner unhappy, so I added in escaping.

7 - Miscellaneous tweaks

In addition to everything else, while I was running through my various tests
I changed a few other things.

I enabled the navigation buttons on the OPAC interface embedded in the
patron overview for hold placement. With Remote XUL having the same security
context as Local XUL they now work.

I removed all non-SSL authtoken cookie assignments I could find, and flagged
all the SSL ones I could find as being "secure" cookies. On the subject of
cookies, I also told the logoff code to not erase every cookie, as those
running in extension mode might dislike all cookies going away. I know that
during my testing I disliked it, anyway.

I removed the code that messes with the user agent. Extensions are basically
not allowed to do that, and I don't think we need, or should rely on, a
modified user agent elsewhere, so adding a check specifically for when we
are not an extension didn't make a lot of sense to me.

I also made it so that the automatic login command line options will work
after a logoff (but they won't trigger a logoff) during a testing run where
I was logging off, clearing cache, and logging in again repeatedly.

To deal with CSS changes I changed most (but not all) popup elements to
menupop elements. Popups in later XULRunners are transparent by default.

Also for CSS changes, a menubar CSS entry in global.css was causing issues
with menu visibility on Linux. Things look fine without it, so I went ahead
and removed it outright.

In the reporter I found that "class" was being used as a variable name, but
that is a reserved keyword. I changed it to aClass.

To make things easier for url_prefix use I made it so that the urls hash is
checked by the url_prefix function. It looks for names up to the first of
several characters: /, ?, |. If urls contains that name it is replaced into
place. For | the | itself is removed in this process.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoWrap upgrade script for "pretty-print XML" function
Dan Scott [Mon, 30 Jul 2012 14:25:31 +0000 (10:25 -0400)]
Wrap upgrade script for "pretty-print XML" function

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd an XML pretty printer database function
Dan Scott [Sat, 17 Mar 2012 01:49:45 +0000 (21:49 -0400)]
Add an XML pretty printer database function

Andrew Dunstan was kind enough to share an XML pretty printer function
for PostgreSQL, and it sure is handy when you're debugging things like
in-database unapi and MARCXML.

Note that it expects honest-to-goodness XML data type input, so for
biblio.record_entry.marc columns you'll need to cast it from TEXT.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
11 years agoTPAC: Fix org_unit location detection for login
Dan Wells [Tue, 24 Jul 2012 16:39:49 +0000 (12:39 -0400)]
TPAC: Fix org_unit location detection for login

The TPAC login function currently looks for a 'loc' param to pass
to the login service.  This isn't right because:

A. 'loc' is a search-related param, and shouldn't affect logins
B. The login form doesn't actually pass through the 'loc' param
C. The 'loc' param has been more or less replaced by 'locg'

No, this isn't multiple choice, it's all of the above.  Our best
option at this point is to use the 'physical_loc' value instead.
This matches what was done in JSPAC (though it was called 'ol' for
"original location" back then).

Finally, this commit is 95% the work of Dan Scott, including the
additions of logging info and a few whitespace fixes.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Dan Scott <dan@coffeecode.net>
11 years agoExtend AuthProxy.pm Support to TPAC
Dan Wells [Fri, 15 Jun 2012 20:11:57 +0000 (16:11 -0400)]
Extend AuthProxy.pm Support to TPAC

AuthProxy-enabled logins (e.g. LDAP) were not yet wired into TPAC.
This adds TPAC support equivalent to that in JSPAC.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Dan Scott <dan@coffeecode.net>
11 years agoUse MARC::Field objects to append new fields
Dan Scott [Fri, 27 Jul 2012 20:27:29 +0000 (16:27 -0400)]
Use MARC::Field objects to append new fields

While the deprecated MARC::Record::add_fields() method allows you to add
a list of fields using a list object, append_fields() requires
MARC::Field objects.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
11 years agoRepair PCrudFilterPane localeStrings namespace pollution
Bill Erickson [Fri, 27 Jul 2012 17:51:05 +0000 (13:51 -0400)]
Repair PCrudFilterPane localeStrings namespace pollution

Avoid using the global 'localeStrings' variable in PCrudFilterPane
because it clobbers the variable for UIs that use the same variable
name.

Originally repaired in working =>
collab/berick/acq-fund-rollover-repairs, but the change was lost with
competing feature development.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoFix some failings of the Triggered Event Viewer
Lebbeous Fogle-Weekley [Fri, 22 Jun 2012 21:42:57 +0000 (17:42 -0400)]
Fix some failings of the Triggered Event Viewer

1) give choices in a dropdown for the Reactor field

2) like searching automatically wraps search terms in % except when at
least one % is already present.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTriggered Event Log: Add title and author columns for hold-related events
Lebbeous Fogle-Weekley [Fri, 27 Jul 2012 14:57:52 +0000 (10:57 -0400)]
Triggered Event Log: Add title and author columns for hold-related events

Correcting an omission spotted by Sally Fortin.

NOTE:  This adds pcrud as a controller to ahr.  Only the retrieve
operation is allowed at this time, and only with a VIEW_HOLD permission
at the pickup lib (same setup as ahopl, the class powering the new pull
list).

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agolp1028514: fix syntax-o in PL/PERLU version of maintain_901()
Galen Charlton [Fri, 27 Jul 2012 15:23:46 +0000 (11:23 -0400)]
lp1028514: fix syntax-o in PL/PERLU version of maintain_901()

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agostamp upgrade script for lp1028514
Galen Charlton [Fri, 27 Jul 2012 13:29:35 +0000 (09:29 -0400)]
stamp upgrade script for lp1028514

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoSwitch to a PLPERLU maintain_901() trigger function
Dan Scott [Tue, 24 Jul 2012 18:14:01 +0000 (14:14 -0400)]
Switch to a PLPERLU maintain_901() trigger function

We've been burned by regexes that fail to grok XML properly numerous
times now. Standardizing on something that actually understands MARC
seems like a good idea.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agolp1028514: fix regex replace in maintain_901()
Galen Charlton [Tue, 24 Jul 2012 15:51:52 +0000 (11:51 -0400)]
lp1028514: fix regex replace in maintain_901()

The regex used to insert the 901 field can put the new
field in the wrong location if the MARCXML record being
modified uses namespace prefixes.  This patch tightens
the regexp to avoid this problem.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoGet the TPAC basic link inline for <noscript>
Dan Scott [Thu, 26 Jul 2012 14:45:25 +0000 (10:45 -0400)]
Get the TPAC basic link inline for <noscript>

The TPAC basic link appeared outside the <p> tag inside the <noscript>
section of the JSPAC, meaning that it would display on the far left
border of the screen rather than right after the colon. Fix that by
getting it inline.

Also apply a style to the link so it appears as some kind of a link.
What kind of madman overrode the basic <a> element style to make it
appear as plain text by default in the first place? :P

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agopatron name border color for Notes
Jason Etheridge [Mon, 18 Jun 2012 18:09:51 +0000 (14:09 -0400)]
patron name border color for Notes

not Notes specifically, but this catches any non-alert non-blocking penalties
and prevents a colorless border from happening

Colors chosen from mrpeters' patch at
https://bugs.launchpad.net/evergreen/+bug/921817

Thanks!

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoDocumentation: Fix typo in upgrade instructions reported in launchpad bug #1028978.
Robert Soulliere [Wed, 25 Jul 2012 19:37:46 +0000 (15:37 -0400)]
Documentation: Fix typo in upgrade instructions reported in launchpad bug #1028978.

https://bugs.launchpad.net/evergreen/+bug/1028978

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoACQ Provider holding subfield field name options
Bill Erickson [Thu, 21 Jun 2012 20:19:10 +0000 (16:19 -0400)]
ACQ Provider holding subfield field name options

Provide a list of valid holding subfield types for the provider holding
subfield grid in the provider admin UI.

The current list includes:

quantity
estimated_price
owning_lib
call_number
fund_code
circ_modifier
note
copy_location
barcode
collection_code

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoFire onEditPane handler for edit dialogs spawned from AutoGrid
Bill Erickson [Thu, 21 Jun 2012 20:18:40 +0000 (16:18 -0400)]
Fire onEditPane handler for edit dialogs spawned from AutoGrid

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoAdd evergreen.get_locale_name() function to base schema
Dan Scott [Wed, 25 Jul 2012 16:45:27 +0000 (12:45 -0400)]
Add evergreen.get_locale_name() function to base schema

I added the evergreen.get_locale_name() function to the database schema
upgrades in 0723 but failed to add it to the base schema, resulting in
errors like: 'egweb: template error: undef error - Can't call method
"maketext"'. Get rid of that problem!

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
11 years agolp1028906 : Vandelay inspect queue page load repair
Bill Erickson [Wed, 25 Jul 2012 13:14:06 +0000 (09:14 -0400)]
lp1028906 : Vandelay inspect queue page load repair

This is the result of a bug in the code that went unnoticed until
c108746532548fd8d3fadd15736375a57208d485 (CGI.js additions).  This patch
repairs how Vandelay checks the CGI param to determine if it should
load the 'inspectq' page on load.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years ago2.2 upgrade missing vandelay.authority_match.quality column
Bill Erickson [Tue, 19 Jun 2012 12:45:59 +0000 (08:45 -0400)]
2.2 upgrade missing vandelay.authority_match.quality column

This column slipped through the cracks of the 2.1 to 2.2 upgrade.

ALTER TABLE vandelay.authority_match ADD COLUMN quality INTEGER NOT NULL DEFAULT 0;

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoTPAC: Decode translated strings into UTF8
Dan Scott [Fri, 20 Jul 2012 17:41:50 +0000 (13:41 -0400)]
TPAC: Decode translated strings into UTF8

Without the _decode pragma, Locale::Maketext::Lexixcon did not
understand that it was being handed Unicode and generated some funky
output in the TPAC templates.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoTPAC: Implement a locale picker
Dan Scott [Tue, 17 Jul 2012 21:37:54 +0000 (17:37 -0400)]
TPAC: Implement a locale picker

In situations in which more than a single locale is configured, display
a locale picker in the TPAC header based on the registered locales. We
set the eg_locale cookie if passed a set_eg_locale GET param. Default
the selection to the currently selected locale (if any) and resubmit the
current page request.

Grabs the localized locale names, if available, from the database;
otherwise falls back to the en-US version of the locale names.

The locale picker form resubmits the current page with any variables
that were present in the current page request, so that switching locales
should still maintain state.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAdd constraint to ACQ PO state value
Bill Erickson [Wed, 23 Nov 2011 15:54:51 +0000 (10:54 -0500)]
Add constraint to ACQ PO state value

Limit 'state' values to

'new','pending','on-order','received','cancelled'

https://bugs.launchpad.net/evergreen/+bug/893193

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAdd component to *force* external browser use
Thomas Berezansky [Wed, 25 Jan 2012 17:47:40 +0000 (12:47 -0500)]
Add component to *force* external browser use

For http/https urls that don't go to the host we are logged into.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAllow opening of links in default browser
Thomas Berezansky [Wed, 25 Jan 2012 16:18:39 +0000 (11:18 -0500)]
Allow opening of links in default browser

And do so for the "Get Help With Evergreen" portal link.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoSigned-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Tue, 10 Jul 2012 02:46:05 +0000 (22:46 -0400)]
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
LP: Allow user to change activation options for suspended holds.

Activation options were hidden from users when holds were in a suspended
state.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoFix LP800480, ACQ - Vendor Invoice Won't Save
Steven Chan [Wed, 18 Jul 2012 18:22:14 +0000 (11:22 -0700)]
Fix LP800480, ACQ - Vendor Invoice Won't Save

1. Upon submitting the form, the client prepares two auxiliary data
objects containing service charges and line items. The two objects are
normally 'fleshed', ie, contain references to other data objects, but in
the versions sent to the server, they must be 'unfleshed', ie, the
referent objects are converted back to ID values. If the user resubmits
the form, the client should not unflesh again. However, the software for
preparing line items contain lines of code that unfleshes without
checking if the objects are already unflesh. When unfleshing a second
time, we get an uncaught reference error. Ironically, the software also
contains lines of code to do it correctly, so the errant lines of code
are also duplicates.

To fix problem 1, we remove the duplicate errant lines of code. We
define a helper unflesh() method and use it to replace the current lines
of code to unflesh.

2. When the user submits the form without filling in required data
fields in the invoice, including Vendor Invoice ID, the client does not
validate before making a service request. The server tries to complete
the database transaction, but gets an error.  When the response comes
back, the client shows the same form so that the user can retry.
However, the message alert to the user is not informative; it indicates
an error at the database level, but does not indicate the probable
reason.

To fix problem 2, We move the lines of code preparing the invoice object
earlier in the sequence.  We define a helper method mapValues() to
prepare the invoice object from the values in the UI widget object.
mapValues() will return an error object if it detects that required
values are null. We check for the error object, and will show an alert
message to the user and abort the submit operation early, allowing the
user to retry.

3. When an invoice with line items is saved, the invoice is re-rendered
with new buttons to allow receiving. It also contains a new button to
enable the user to view the line items in list format. However, it does
not work in a non-Firefox browser, because a debug statement using the
'dump()' function is left uncommented. (Inspection of all other
appearances of dump() show they are all commented out.) There is an
uncaught reference because dump() is not found.

Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoBatch lineitem create / link-to invoice action
Bill Erickson [Mon, 9 Jul 2012 18:46:41 +0000 (14:46 -0400)]
Batch lineitem create / link-to invoice action

In the PO lineitem list page and lineitem search restuls page,  there
are two new actions in the top-level actions selector: "Create Invoice
from Selected Lineitems" and "Link To Invoice for Selected Lineitems".
Both behave the same as create/link invoice for single lineitems, but
now it's possible to select multiple lineitems for invoicing.

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