Mark Cooper [Tue, 23 Oct 2012 05:01:22 +0000 (22:01 -0700)]
LP#
1066629: Acq: Receiving an item should not change the status to "In Process" in many cases
As suggested, when received, restrict copy status update for lineitem copies to only those that were on-order. Otherwise copies may have the status set to 'In Process' inappropriately.
Signed-off-by: Mark Cooper <markchristophercooper@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Tue, 23 Oct 2012 17:42:04 +0000 (01:42 +0800)]
TPAC: indent Content descriptions to line up with Record details
In the interest of trying to keep things a little more presentable, indent
the new content notes so that they line up with the record details bulleted
list items.
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Tue, 23 Oct 2012 15:57:46 +0000 (11:57 -0400)]
TPAC: Use a single table for all content notes
Rather than having one table per kind of content note, keep them all in
a single table. Thanks to Ben Shum for the prod.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Tue, 23 Oct 2012 15:47:48 +0000 (11:47 -0400)]
TPAC: Show contents notes directly in record summary
By popular demand in IRC, move the contents notes directly into the body
of the record summary rather than hiding the content under a twisty.
This improves external indexing of the page and makes the contents notes
more immediately evident to users.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Mon, 22 Oct 2012 19:46:20 +0000 (15:46 -0400)]
Add detailed contents content to TPAC record summary
Drawing from the LoC MARC definitions for the 500 field, display'em if you
got'em. Given that many keyword searches are likely to draw upon this content,
we should display the matches in the record summary.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Thomas Berezansky [Tue, 23 Oct 2012 20:27:00 +0000 (16:27 -0400)]
Add missing ? to url_prefix regex check
Fixes Barcode Completion and who knows what else.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Mark Cooper [Wed, 10 Oct 2012 04:04:32 +0000 (21:04 -0700)]
LP#826917: Marc editor, CTRL+F6, F7, F8 no longer working on 2.0+
Updated marcedit.js to recognize F6/7/8 according to codes at:
http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes.
Did not modify behavior (so input focus is not adjusted post record load).
Signed-off-by: Mark Cooper <markchristophercooper@gmail.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Thomas Berezansky [Wed, 3 Oct 2012 19:25:38 +0000 (15:25 -0400)]
Sort Templates/Reports/Output
By name for Templates/Reports, by Run Time for Output.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Etheridge [Tue, 24 Apr 2012 20:54:20 +0000 (16:54 -0400)]
Admin -> Local Admin -> Item Attribute Editor
Main purpose is to allow you to spawn the Item Attribute Editor for the purpose
of configuring templates and using the Hide Fields feature without actually
finding an item to work and putting it at risk of accidental modification.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Thu, 18 Oct 2012 18:54:08 +0000 (14:54 -0400)]
Rollback cstore transaction before bbag record load
To avoid timeouts, which results in transaction rollbacks, preemptively
roll back the bookbag fetching cstore transaction before we retrieve
what could be a very large list of bookbag records data.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Scott [Tue, 9 Oct 2012 20:49:09 +0000 (16:49 -0400)]
Authority popups are empty: fix dojo.query() usage
When you right-click on a controllable field to display the contents of
the matching authority records, the contents of the matching authority
records simply appear as empty grey boxes.
This is another case of needing to iterate over multiple values
separately rather than using one convenient CSS selector.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Tue, 9 Oct 2012 02:30:32 +0000 (22:30 -0400)]
Enable maintain_control_number() to handle new OCLCnums
In July 2013, per LP#
1049171, OCLC will begin generating control
numbers beginning with the "on" prefix.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Mon, 1 Oct 2012 17:53:27 +0000 (13:53 -0400)]
Acq: When creating invoices, let the user know if they're repeating an ID
Invoices have a field for Vendor Invoice ID, which is required to be
unique for invoices associated with a given provider (vendor). In
practice users may mistakenly try to create an invoice more than once, so
this gives them an indication that a given Vnedor Invoice ID has already
been used before they fill out the whole invoice.
Users do have to have the fields labeled "Vendor Invoice ID",
"Provider", and "Receiver" filled out before validation can occur (the
last field is needed because of how permissions are checked when
searching for invoices).
It is still possible to see a database error at save time if another
invoice is created between the time you started yours and the time
somebody else saved theirs.
Also, while we're at it, this commit gets rid of acq/invoice/common.js
and moves its last function into acq/invoice/view.js, since both are
actually used only by the one interface.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Fri, 28 Sep 2012 17:58:07 +0000 (13:58 -0400)]
ACQ invoice tabs scroll improvements
Avoid nested scrollbars on tabbed ACQ invoice UI. This is done by
removing a ContentPane layer and setting doLayout='false' on the
TabContainer, which allows the individual tabs to control their own
height dynamically, which means no more hard-set 600px height on the
tabs.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Mon, 17 Sep 2012 18:50:36 +0000 (14:50 -0400)]
ACQ scroll back to top of lineitem info page
When displaying the lineitem "info" page (li attributes, marc record),
be sure to scroll to the top of the page instead of relying on the
previous scroll location. In particular, if you last viewed a LI
toward the bottom of the page, returned (causes scroll down), then go
back into the info page, the page will be scrolled to the bottom.
The solution is a little funkier than I'd hoped. The scroll-to point
has to be a node that is a) within the scrolling dojo div and b). non-
visible when scrollIntoView is called. Since the top-level
page div may be different, depending on who is loading li_table, we rely
on the caller to place an id=oils-scroll-to-top div in the page for
general top-scrolling. (Note, also, window.scrollTo does not work when
it's the div and not the full page that needs scrolling).
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Etheridge [Wed, 13 Jun 2012 06:30:36 +0000 (02:30 -0400)]
expose hard-coded toolbar layout option
If the open-ils.menu.toolbar preference or ui.general.button_bar org unit
setting references a non-existent toolbar, then a hard-coded stock toolbar
will render. However, the menu entry 'None' will be selected under the
Admin -> Workstation Administration -> Toolbars -> Current menu, which is
confusing.
With this change, a Default menu entry will be selected whenever the hard-
coded layout has cause to render, and you can also explicitly select that
menu entry to use the default and save it as your workstation default.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Lebbeous Fogle-Weekley [Thu, 11 Oct 2012 20:00:36 +0000 (16:00 -0400)]
TPAC: Make facet display work as in JSPAC
Namely, this means:
- You see five facets per category by default, not ten.
- You can click a link to see all the facets in a category
(before this it was impossible to display more than ten).
- When viewing all the facets in a category, you can click a link
to reduce the list back to five.
- This number five I'm talking about is configurable in config.tt2.
- Alphabetical sorting of facets grouped by the same numbers of
results is restored.
This addresses LP #
1065109.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Thomas Berezansky [Mon, 1 Oct 2012 19:18:19 +0000 (15:18 -0400)]
Allow choice of default search pane
Some workflows prefer numeric or expert search, so accomodate them.
Also, add a "Clear All" button to clear the search prefs.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Thomas Berezansky [Thu, 20 Sep 2012 18:49:01 +0000 (14:49 -0400)]
Add tab name for search preferences
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Thomas Berezansky [Thu, 20 Sep 2012 18:33:41 +0000 (14:33 -0400)]
Allow staff to pick search/pref libraries
This adds a workstation-level set of settings for search and preferred
libraries. These override the default search library and the preferred
library individually, allowing staff to default searching at one OU but
still get copy information for a different one.
Original use case is "search everywhere, but show my local copies".
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Lebbeous Fogle-Weekley [Wed, 17 Oct 2012 00:55:38 +0000 (20:55 -0400)]
Upgrade script numbering for new toolbar perms
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Kathy Lussier [Thu, 11 Oct 2012 02:18:59 +0000 (22:18 -0400)]
Brief entry for release notes on more granular permissions for custom toolbars
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jason Etheridge [Thu, 20 Sep 2012 15:27:43 +0000 (11:27 -0400)]
lp1053026, more granular toolbar editing perms
client-side checking only to keep the honest folk out
Adds ADMIN_TOOLBAR_FOR_ORG, ADMIN_TOOLBAR_FOR_USER, and
ADMIN_TOOLBAR_FOR_WORKSTATION to the permission list
Staff needs at least one of these to create a toolbar, and they still need the
original ADMIN_TOOLBAR permission which is used on the server side of things.
For editing an existing toolbar, staff needs the perm corresponding to the
toolbar's ownership type (for example, if the toolbar is associated with a
user, then ADMIN_TOOLBAR_FOR_USER is needed).
For changing the ownership type of a toolbar one is allowed to edit, you
need the corresponding perm for the desired ownership type.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Thu, 23 Aug 2012 21:29:42 +0000 (17:29 -0400)]
Improvements to custom org tree UI
This replaced the PermaCrud.js create() calls with inline transaction
begin, creates, and commit. We do this to solve a number of problems:
* Create all new nodes within the same transaction so that a failure
gracefully rolls back.
* PermaCrud.js does not currently disconnect opensrf client sessions
(though it has a disconnect() method). We can manage that locally.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Steven Callender [Mon, 15 Oct 2012 14:48:28 +0000 (10:48 -0400)]
Added a check for the money.collections_tracker table when using the open-ils.collections.users_of_interest.warning_penalty.retrieve API call.
Users that are already entered into the money.collections_tracker table should not be recalled from the open-ils.collections.users_of_interest.warning_penalty.retrieve API. This change will check for the existance of the user in the money.colletions_tracker table.
Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Galen Charlton [Fri, 12 Oct 2012 19:38:59 +0000 (15:38 -0400)]
trivial whitespace cleanup
Locally consistent, globally all over the map in this file.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Chris Sharp [Thu, 11 Oct 2012 23:33:16 +0000 (19:33 -0400)]
Adding a WHERE clause to prevent timeout of juv-to-adult function
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Scott [Thu, 11 Oct 2012 05:43:01 +0000 (01:43 -0400)]
TPAC: Respect location visibility for result copies
Robert Soulliere noted in LP#
1062502 that copies in a location marked
"opac_visible = FALSE" were erroneously being displayed in search
results. This would occur if at least one copy on a record was in a
visible location, but other copies were in an invisible location.
This commit prevents copies in hidden locations from being displayed,
and also adds guards for the visibility of the copy status and the
circulation library.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Lebbeous Fogle-Weekley [Thu, 27 Sep 2012 18:51:44 +0000 (14:51 -0400)]
Serials: Don't force a Receive Unit Template in Alt Serials Control
Mary Llewellyn reported that she used to be able to use serials and
perform copy-less receiving without any value in this field.
The requirement that a value be set in the Receive Unit Template field
of serial distributions was added (by me) in 2.1 to the alternate serials
control interface, but is not enforced at lower levels.
I now believe that requiring a value here must have been a ham-handed
way to avoid a difficult-to-troubleshoot issue in copy-FUL receiving,
but copy-LESS serials receiving workflows indeed don't need this, so
this commit removes the requirement.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Wed, 5 Sep 2012 18:39:36 +0000 (14:39 -0400)]
Use current fiscal year for PO creation (API)
When creating a PO, if no fiscal_year is specified by the caller, use
the current fiscal year of the ordering agency. This change primarily
affects the Open-ILS/src/support-scripts/acq_order_reader.pl script (and
any other direct API callers) which does not offer the user a chance to
set the fiscal year manually.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Thu, 11 Oct 2012 16:35:58 +0000 (12:35 -0400)]
sort hostnames listed in login window
for those of us with a lot of hosts to deal with :)
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Thu, 20 Sep 2012 19:17:36 +0000 (15:17 -0400)]
Fix autosuggest when in no-vis-check mode
When autosuggest is configured to avoid visiblity checking, it sends a
special org unit id of -1 to the database as a signal. However, the stored
procedure is expecting a NULL instead. This allows either by transforming
-1 to NULL within the stored procedure.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mark Cooper [Tue, 9 Oct 2012 19:41:44 +0000 (12:41 -0700)]
LP#
1007020: Using checkout, last activity shows as unset
Added usr_activity to $fields for flesh_user function.
Signed-off-by: Mark Cooper <markchristophercooper@gmail.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Wed, 12 Sep 2012 18:09:04 +0000 (14:09 -0400)]
TPAC: Show ISSN in search results, if available
Just as we show the ISBN in search results, the ISSN is an important
identifier to display if we have one (and we often will if we don't have
an ISBN).
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Thu, 30 Aug 2012 04:21:01 +0000 (00:21 -0400)]
Remove C compiler warning for writeAuditInfo
The C compiler was throwing the following warning:
oils_sql.c: In function 'writeAuditInfo':
oils_sql.c:7244:1: warning: control reaches end of non-void function
[-Wreturn-type]
By shifting the "return 0" to the end of the function, outside of the if
statements, we can ensure that we always return an int value.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Michael Peters [Fri, 21 Sep 2012 15:47:41 +0000 (11:47 -0400)]
TPAC: Add a progress spinner after pressing search on Advanced Search
Advanced Search had no indication of progress once you've submitted
a search. We should add a "progressbar_green.gif" like the basic search
has, so the user knows their search is in progress, and (hopefully)
avoids them from hammering submit to get a result.
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 3 Oct 2012 19:00:26 +0000 (15:00 -0400)]
ACQ invoice receive UI handles async LI retrieval
openils.acq.Linetitem.fetchAndRender() now fetches lineitems
asynchronously. This commit causes the invoice receive UI to calculate
the copies to be received after all lineitems have been (async) fetched.
Without this, it always appears as though there are no copies to receive
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Thu, 11 Oct 2012 02:06:32 +0000 (22:06 -0400)]
TPAC: Avoid 500 errs on record page due to ipv6 ignorance
Net::HTTP does not handle ipv6 addresses properly, and is subject to
failing to return a request object if handed one (some systems seem to
prefer ipv6). This commit checks the value of the request object before
invoking any methods on it, and also short-circuits the AC lookup loop
if the host could not be resolved to avoid flooding the logs with
multiple "Unable to connect..." warnings.
If Net::HTTP grows ipv6 support, this commit can still stay in place and
the lookups will just start magically working.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Etheridge [Thu, 20 Sep 2012 20:02:16 +0000 (16:02 -0400)]
better refresh of patron summary interface
after certain actions in Items Out and Bills, like Add Billing
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Scott [Mon, 10 Sep 2012 13:32:17 +0000 (09:32 -0400)]
TPAC: Remove noise, misleading text from myopac/holds/circs/circ_history
There are many "class='hide_me'" elements that will never be displayed
and which are currently just extra bits to ship over the wire. Same for
the inline comments.
Also move most of the inline styles out to the stylesheet.
Also remove the explicit widths on the table cells; if the font size
changes or the translated text is wider than the table cells, then the
display will become comical.
Also remove explicit <br> tags from localized strings; given the
likelihood that font sizes and column widths will change, <br> tags
inside localized strings make very little sense.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jason Etheridge [Wed, 14 Mar 2012 20:19:31 +0000 (16:19 -0400)]
make the org full name available
in the patron messages interface for each penalty/message
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Daniel Rizea [Thu, 12 Apr 2012 19:10:53 +0000 (15:10 -0400)]
Remove unused bypass hold library setting
Added sql upgrade script that removes bypass hold.. library setting
[This lacks Daniel's signoff, but I've tested this and it works, so I'll
let it pass this time just for the sake of getting one more bug closed.]
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mike Rylander [Mon, 8 Oct 2012 18:12:49 +0000 (14:12 -0400)]
Be more strict about dates we generate
ISO-8601 dates must have a 4-character year component, however strftime does
not left-pad years to 4 characters when the century is one character long even
though the man page for strftime(3) suggests otherwise:
%F Equivalent to %Y-%m-%d (the ISO 8601 date format). (C99)
This makes stricter ISO-8601 parsers, such as Perl's DateTime module, unhappy.
So, we'll do it ourselves using the glibc extensions available to strftime for
specifying a padding character and desired length.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Mon, 8 Oct 2012 19:08:47 +0000 (15:08 -0400)]
Checkout: further validation of due date override
The check_past() function failed if given a date that was not strictly
in YYYY-mm-dd format; interestingly, a common transposition typo such
as "0212-10-20" results in "212-10-20" getting passed to check_past(),
and therefore generating an invalid date. Throw an exception in
check_past() rather than returning true, because we are not in fact
stating that the due date is in the past - and catch the exception and
flag the due date override box accordingly in the checkout screen.
We could bubble the exception up to the user, but hopefully highlighting
the checkout box as being in an invalid state will catch the attention
of the users.
[LFW: Slightly amended a comment in OpenILS/WWW/EGCatLoader/Util.pm]
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Mon, 8 Oct 2012 15:25:41 +0000 (11:25 -0400)]
TPAC: Invalid due dates cause 500 server error
CStore appears to return dates with leading 0s (such as '0212-10-08
23:59:59-05:17:32') with the leading 0s stripped off, resulting in
cases with 1-digit or 3-digit years for which DateTime::Format::ISO8601
returns an error.
We can protect against this problem by adding some defensive code to the
TPAC utility method to add the 0s back to the start of the year. We can
also log the problem when it occurs so that administrators can fix the
problem dates in the database.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jason Stephenson [Wed, 3 Oct 2012 16:42:01 +0000 (12:42 -0400)]
LP1052941: Internal Server Error when adding to My List in staff client.
Don't redirect in EGCatLoader/Account.pm when in staff client context and
we're adding to a My List/Bookbag.
Add a wrapper macro to bookbag_actions.tt2 to wrap the add to book bag URLs
with some javascript that opens a new tab in the staff client. This is to
prevent the staff person from losing their search results as they would if
the new URL were opened in their current tab.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Fri, 28 Sep 2012 20:53:05 +0000 (16:53 -0400)]
"Select All" option in invoice search results
Adds a new Select All checkbox along the top of the invoice search
results page.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Thu, 30 Aug 2012 15:55:10 +0000 (11:55 -0400)]
Slightly saner login form markup
Try to provide accessibility via label attributes and move from a
table-within-a-table layout to a single table for the form.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Steven Chan [Wed, 25 Jul 2012 20:45:40 +0000 (13:45 -0700)]
Fix LP1029095, Acq: Receive Items on an Invoice does not work with Line Item Alerts
1. Item reception was encountering a Javascript exception in the
check_lineitem_alerts() helper function, because there was a mismatch
between the input parameter name and the variable name actually used.
2. Also, took the opportunity to improve the performance of the for loop
to scan through alerts.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Tue, 28 Aug 2012 21:03:28 +0000 (17:03 -0400)]
Use CSS selectors that new XUL can live with
Just another case of current XUL not liking Dojo 1.3's "dojo.query('foo
bar')" and converting it to "dojo.query('foo').query('bar')" instead.
This problem manifested as bizarrely large fixed field grids and an
absence of working authority context menus.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Lebbeous Fogle-Weekley [Fri, 28 Sep 2012 19:26:06 +0000 (15:26 -0400)]
Make scrollOnFocus default to false for dojo-based/conify interfaces
This change is intended to prevent a phenomenon in certain user
interfaces wherein clicking on a button or other widget can cause a
user's screen to suddenly jump and the user to need to click the widget
a second time before the desired function actually happens.
Dijits that have the scrollOnFocus property are the ones that tend to
exhibit this issue, especially, but not always, within the staff client
when the user's xulrunner window is not maximized.
There may be cases of interfaces actually relying on scrollOnFocus to do
something, but I think those cases should be so rare that this is still
worth doing, and exceptions can be applied there as needed.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Thomas Berezansky [Tue, 19 Jun 2012 16:23:09 +0000 (12:23 -0400)]
Can't use README for version, so use configure.ac
Because one good "this works for now" being broken can be replaced with
another one easily.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Thomas Berezansky [Thu, 17 May 2012 14:29:58 +0000 (10:29 -0400)]
TPac: Holds Paging
Add Paging for current holds with page numbers
Update Paging for hold history to include page numbers
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Michael Peters [Mon, 1 Oct 2012 18:51:31 +0000 (14:51 -0400)]
LP#
1020261 Better label for "Host" field in acq.edi_account
The host field of acq.edi_account is really meant to contain more than just a hostname.
It needs a scheme part, so that the whole contents of the field should be URI-ish, like
ftp://ftp1.somevendor.com
Otherwise Evergreen's EDI mechanism can guess wrongly that we want to use
SSH instead of FTP to connect.
This also adds a description for the field, in the footer, along with the other
"helpers".
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Wed, 27 Jun 2012 22:38:19 +0000 (18:38 -0400)]
Add two fields to the new FlattenerGrid-based hold pull list
Namely (current) copy status and (number of) potential copies.
I believe this implementation has a negligible impact on the efficiency
of the hold pull list query overall.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Scott [Thu, 27 Sep 2012 03:13:41 +0000 (23:13 -0400)]
Teach make_release to set the eg_version var
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Galen Charlton [Thu, 27 Sep 2012 02:54:06 +0000 (22:54 -0400)]
After upgrade, list records with missing or incorrect 901$c
This is a common cause of pain for upgrades. Let's try to identify the
problem early (even if it takes forever on a site with 3 million bibs)
and offer advice on correcting the problem if it is flagged.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Thu, 27 Sep 2012 02:11:45 +0000 (22:11 -0400)]
Apply the 0715 update during the 2.3.0 upgrade
Per LP#
1057183, the 0715 update should have been applied during the
2.1-2.2 upgrade, but appears not to have been - and that ends up
causing problems during the 2.2-2.3 upgrade. Thus we prophylactically
attempt to apply it again.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Thu, 27 Sep 2012 02:02:17 +0000 (22:02 -0400)]
Add an explicit "set eg_version" at start of upgrade script
Thanks to Robert Soulliere for raising this issue in LP#
1057113!
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Thu, 27 Sep 2012 02:00:03 +0000 (22:00 -0400)]
Add the 2.2-2.3.0 upgrade script
Cloned from
b9a480e7f640e7.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Mon, 24 Sep 2012 21:12:11 +0000 (17:12 -0400)]
TPAC added content lookup uses local server address
Use the current Apache server's IP address instead of apache->hostname
to determine where to route TPAC added content lookups. This allows the
server to handle the added content lookup locally instead of having to
route out and back into the cluster.
Continue using apache->hostname as the Host header to ensure the proper
virtualhost is used once the request is received.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Bill Erickson [Mon, 24 Sep 2012 16:50:47 +0000 (12:50 -0400)]
Added content connect timeout
Make tpac server-side added content lookups exit after a brief timeout
when the apache module is unable to open a connection to its own
top-level hostname (the virtualhost, apache->hostname).
As noted in the code comments, even though we are using Net::Server::NB
(non-blocking), it's only non-blocking in the sense of content
retrieval, not in how it calls connect() under the covers.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Lebbeous Fogle-Weekley [Mon, 14 May 2012 18:50:43 +0000 (14:50 -0400)]
Copy Location Order Editor: avoid interface failure with blank area
Symptom is "ll is undefined" at line 65 of previous version of this
file.
Reported by George Duimovich and John Jones.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Thomas Berezansky [Thu, 20 Sep 2012 19:45:05 +0000 (15:45 -0400)]
TPac: Disable "Enter places hold" for staff
This should prevent barcode scanners from auto-submitting on scan.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Jeff Godin [Wed, 25 Apr 2012 06:59:01 +0000 (02:59 -0400)]
Syndetic AC: Add more review sources with comments
* Add more Syndetic review sources (commented out)
Add additional Syndetic review sources, commented out
for performance reasons -- each source represents a distinct
request from the server to the AC provider, and we currently
lack a means of configuring which are on/off, short of
commenting / uncommenting.
* Add comments for Syndetics review sources
* Fix file name for School Library Journal reviews, add New
York Times reviews.
Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Yamil Suarez [Tue, 2 Oct 2012 04:47:29 +0000 (00:47 -0400)]
Documentation: Update authority control set documentation for authority field set up
Updated the "authority fields" section with information on the valid "non-filing indicator" values.
Signed-off-by: Yamil Suarez <ysuarez@berklee.edu>
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Bill Erickson [Fri, 21 Sep 2012 21:10:58 +0000 (17:10 -0400)]
Copy location group searching repairs
In the get_library BLOCK, upgrade any use of 'loc' to 'locg' instead of
trying to determine which to use in which situation. Before this change,
'loc' was being used as the loc_name for the main org unit selector,
which should always use 'locg'. For any other cases (related to search
params), it's always safe to use 'locg' over 'loc'.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 28 Sep 2012 05:00:54 +0000 (01:00 -0400)]
Docs want a space after the main header
Formatting gets messed up if we don't have the expected blank line after
the main header. Okay.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Ben Shum [Wed, 5 Sep 2012 21:02:43 +0000 (17:02 -0400)]
Make relator_map script executable
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Wed, 5 Sep 2012 04:27:03 +0000 (00:27 -0400)]
TPAC: Fine-grained credits in record details
For 7xx fields with $4 subfields containing relator codes, generate a
relator code map from http://www.loc.gov/marc/relators/relacode.html
that we can use in the record details to provide specific credits,
rather than the generic (and often inappropriate) "Added author" label.
For example:
700 1. ‡aMaley, Desmond, ‡d1954- ‡4prf.
This now generates "Maley, Desmond, 1954- (Performer)" in the record
details credit section.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Fri, 28 Sep 2012 03:52:14 +0000 (23:52 -0400)]
Docs: Minimum list of TPAC templates to customize
In an effort to help new sites adopt the TPAC and avoid leaving
embarrassing placeholders around, I present... the minimum list!
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Thomas Berezansky [Wed, 19 Sep 2012 14:19:48 +0000 (10:19 -0400)]
Default notify by text receipt replaces to blank
So that when the option is disabled we don't leave behind things like
%notify_by_text% and %notify_by_text_msg%.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Dan Scott [Wed, 12 Sep 2012 16:59:53 +0000 (12:59 -0400)]
TPAC: Results - don't show the pubdate if we're showing full pubinfo
In the "show few details" mode, we show just the pubdate; in the "show
full details" mode, we're showing the full pubinfo and therefore do not
need to show the stubby pubdate.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Wed, 12 Sep 2012 15:50:03 +0000 (11:50 -0400)]
TPAC: Display full publication info
In both the results table and record summary, we were failing to display
the place of publication - which is critical information for people
trying to track down the right edition or constructing a bibliography.
Grab the place of publication, and then reconstruct 260abc (avoiding
another XPath iteration and giving ourselves the ability to enhance the
schema.org microdata at the same time).
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Thomas Berezansky [Mon, 20 Aug 2012 16:22:44 +0000 (12:22 -0400)]
Enable 1-hit redirect for item barcode searches
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Mon, 17 Sep 2012 12:48:26 +0000 (08:48 -0400)]
Protect against fleshed circ_lib in legacy check_age_protect
Retrieving org settings with an org unit object as the context org unit
results in errors and dying.
This affects legacy scripts only.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
edoceo [Thu, 2 Aug 2012 02:37:37 +0000 (19:37 -0700)]
Sort of in line with 949322 but not absolutely necessary
This just supresses the message about what text was copied to the clipboard - globally!
Signed-off-by: edoceo <code@edoceo.com>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
edoceo [Thu, 2 Aug 2012 02:33:20 +0000 (19:33 -0700)]
lp949322 Copy Patron barcode to clipboard when clicking their name
CTRL+Click will open the patron record in a new tab
Signed-off-by: edoceo <code@edoceo.com>
This affects the patron label in Item Status -> Alt View -> Holds/Transits. Looks good to me.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Kathy Lussier [Sun, 16 Sep 2012 04:56:55 +0000 (00:56 -0400)]
Various additions to the 2.3 release notes.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Ben Shum [Mon, 10 Sep 2012 19:03:59 +0000 (15:03 -0400)]
Hide Print Page button on Simplified Pull List
On the Simplified Pull List interface, there is a button for "Print Page"
that shows up in the upper right corner. The suggestion is to hide that
button to avoid library staff printing just what's visible instead of using
the proper "Print Pull List" button that's actually on the page.
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Thu, 6 Sep 2012 16:25:01 +0000 (12:25 -0400)]
TPAC: Escape single quotes in MFHD record location
If an MFHD record contains an 852 field with a subfield containing a
single quote, the unescaped single quote is introduced directly into the
value of the JavaScript hash that uses single quotes as delimiters -
thereby generating a JS exception and preventing the staff client from
properly populating the MFHD Editor menu.
This commit escapes incoming single quotes from the MFHD location field
to prevent that from happening. The other fields in the JS hash are
numeric and therefore should not need escaping.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Fri, 7 Sep 2012 13:50:11 +0000 (09:50 -0400)]
Remove defunct variable from 'jtitle' code
With the second part of the 'jtitle' code moved elsewhere,
we no longer need this extra '$q' variable. No big deal, but
best to sweep up while we're in here.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Lebbeous Fogle-Weekley [Fri, 7 Sep 2012 15:42:12 +0000 (11:42 -0400)]
Revert "Bug #
1044721: QP handles explicit group+joiner badly"
This reverts commit
b77bb9943009b81042b4ef1a6ac33ec9e3e96dd7.
Unfortunately this had side effects that escaped our manual testing
processes. Especially with facets as reported by Ben Shum.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 7 Sep 2012 03:37:32 +0000 (23:37 -0400)]
Journal title hackery - move to a more robust location
The fix for bug #
1044721 broke the journal title hack, which probably
should have lived where this commit moves it - if, in the age of filter
groups, we decide whether it's worthwhile to keep it alive at all.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Tue, 4 Sep 2012 21:09:44 +0000 (17:09 -0400)]
Upgrade bits for Vandelay Overlay Changes
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Thu, 30 Aug 2012 19:26:15 +0000 (15:26 -0400)]
Increase Overlay Speed for Standard Identifiers
Due to an inefficient query order and a confused query planner,
some overlay matching can end up going abysmally slow. See LP
bug #
1024095 for elaboration on the issue.
This commit reorders the joins as originally suggested by Lebbeous,
then adds a specific index to coax the query planner into making the
best choices. The example index here only targets the 02x identifier
fields, so other tag/subfield/substring(value) indexes will likely
be necessary for maximum benefit when matching on other fields
(e.g. 010).
These changes combined with the previous commit which replaces 'LIKE
ANY' with 'LIKE (... OR ...)' has shown great promise in testing.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 26 Jun 2012 00:00:33 +0000 (20:00 -0400)]
Vandelay: Fix index-miss with MARC Imports using Match Sets
In some Postgres installations, an expression such as:
(value LIKE '
13423488%' OR value LIKE '245425%') will use a btree index,
but
value LIKE ANY('{
13423488%,245425%}'::TEXT[])
will not.
Missing such an index can make matching incoming bibs based on a field
that's present in most of your existing records terrifically slow.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Jared Camins-Esakov [Sat, 1 Sep 2012 14:21:51 +0000 (10:21 -0400)]
Bug #
1044721: QP handles explicit group+joiner badly
Although the following four queries should be equivalent:
george || fred
(george) || fred
george || (fred)
(george) || (fred)
The Pg QueryParser driver generates SQL queries that return different
numbers of results for each of those queries, with all desired results
appearing only with the first query. This seems to be because of the way
filters are added in the interface.
This patch adjusts the Search code in TPAC to add an explicit group
around the user-entered query, which enables the Pg QueryParser driver
to handle all four of the above queries properly.
This patch should also resolve the problems encountered with the patch
for bug #
1040740, "Implicit ANDs should have higher precedence than
explicit ORs"
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Tue, 4 Sep 2012 18:43:27 +0000 (14:43 -0400)]
Gracefully handle reporter class with no labels
LP
1045964 -- unable to clone report template
The template interface was failing while rendering the reporter sources
drop-down when a reporter source (IDL class) had no label. This adds a
sanity check around that.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Thomas Berezansky [Tue, 4 Sep 2012 17:23:37 +0000 (13:23 -0400)]
Fix Merge All Records in Bucket action
A xul file was not being prefixed with oils://remote
Note: This is a quick fix. Ideally we move the url to constants.js.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Tue, 4 Sep 2012 17:46:41 +0000 (13:46 -0400)]
Define a few strings missing from cat.properties
By the power of build/i18n/test/check_properties.py ...
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Fri, 31 Aug 2012 22:46:27 +0000 (18:46 -0400)]
Importing translations for 2.3.rc1
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Sun, 2 Sep 2012 02:59:21 +0000 (22:59 -0400)]
Do the SQL upgrade dance for list pubdate in CSV
With a slight tweak to base the upgrade off of the event definition name
instead of the ID; possibly more resilient.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Jason Stephenson [Fri, 27 Jul 2012 13:25:05 +0000 (09:25 -0400)]
Add pub date to CSV output.
Change the template for the ContainerCSV reactor to add the publication
date (MARC 260$c) in the csv output in the same position that the previous
commit adds it to the html output.
Add an upgrade script to update the existing template for the ContainerCSV
reactor in action_trigger.event_definition.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Sat, 4 Aug 2012 14:10:48 +0000 (10:10 -0400)]
TPAC: Add the ability to set a different default locale
Installations with multiple sites might desire different default locales
for their skins. This adds the Apache config directive
"OILSWebDefaultLocale", which enables you to set the default locale on a
global and a per-skin basis.
Note that this prevents the browser Accept-language header from having
any effect; sadly that header is not often used in real life.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Art Rhyno <art632000@yahoo.ca>
Conflicts:
Open-ILS/examples/apache/eg_vhost.conf
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Mon, 13 Aug 2012 20:50:33 +0000 (16:50 -0400)]
TPAC: Make call number browse record links retain search lib
In addition to maintaining scope for the call number browse search
results, we also need to maintain the scope for the links for the call
number records in the results themselves (for example, the "retrieve
this record" link, or the "search for this author" link).
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Robert Soulliere [Thu, 30 Aug 2012 18:52:08 +0000 (14:52 -0400)]
Documentation: removie file reference to line items since section was moved to another file.
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Robert Soulliere [Thu, 30 Aug 2012 18:40:00 +0000 (14:40 -0400)]
Documentation: Add sections for new features in Acquisitions
From: http://www.esilibrary.com/esi/availableDocs.php
RS added some index terms to start beefing up our index for the docs.
Steven Callender [Tue, 10 Jul 2012 19:43:59 +0000 (15:43 -0400)]
Changed the thawing of a hold to first update the hold record and then re-target.
When thawing a hold, originaly we were first re-targeting before actually saving the hold record. On items with large quantities, sometimes the hold would timeout on targetig before getting a chance to actually save. This patch moves things around to first save the hold record before attempting to retarget.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Lebbeous Fogle-Weekley [Thu, 30 Aug 2012 16:42:01 +0000 (12:42 -0400)]
Acq: In general search, make value widgets for OU-linked fields right again
They always used to be OU selector dropdowns until a thinko in
55a82b5.
This restores them.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>