]> git.evergreen-ils.org Git - working/Evergreen.git/log
working/Evergreen.git
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>
11 years agoInvoice link dialog supports multiple lineitems/POs
Bill Erickson [Mon, 9 Jul 2012 18:45:15 +0000 (14:45 -0400)]
Invoice link dialog supports multiple lineitems/POs

Adds support to the invoice linking dialog for linking sets of lineitems
or POs instead of just one.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAttach multiple lineitems / POs to invoice
Bill Erickson [Mon, 9 Jul 2012 17:34:26 +0000 (13:34 -0400)]
Attach multiple lineitems / POs to invoice

Adds support to the Invoice interface for attaching multiple lineitems
or POs via the existing attach_li and attach_po URL params.  These can
be used by other invoice create/link UIs for batch linking.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoDocumentation: Add line breaks in authorities chapter to fix
Robert Soulliere [Tue, 24 Jul 2012 17:01:48 +0000 (13:01 -0400)]
Documentation: Add line breaks in authorities chapter to fix
asciidoc formatting.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoAcq: PO view interface sometimes fails to load in development enviroments
Lebbeous Fogle-Weekley [Tue, 24 Jul 2012 16:46:08 +0000 (12:46 -0400)]
Acq: PO view interface sometimes fails to load in development enviroments

Should not affect production environments, but requiring
dijit.form.Button quiets an error on my system when I don't have
a openils_dojo.js bundle installed.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoACQ : lineitem recovers focus from various interfaces
Bill Erickson [Fri, 13 Jul 2012 16:07:56 +0000 (12:07 -0400)]
ACQ : lineitem recovers focus from various interfaces

1. When viewing an invoice then clicking on the title link for a lineitem,
the user is taken away to the copy grid within the PO page for the
lineitem.This adds a "Return to Invoice" button in the copy grid which
takes the user back to the invoice, focused on the lineitem in question.

2. Adds a "Return to Search" button for PL/PO pages to return to the
lineitem in question when the PL or PO links are selected for a lineitem
in a set of search results.

3. Adds a "Return to Invoice" button to PO/Picklist pages with lineitem
focus when the page was accessed from the invoice UI.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoACQ : Support lineitem fucus in ACQ unified search
Bill Erickson [Fri, 13 Jul 2012 20:31:41 +0000 (16:31 -0400)]
ACQ : Support lineitem fucus in ACQ unified search

Adds support for a "focus_li" URL parameter to ACQ unified search
results pages.  When present, the page of results containing the
requested lineitem are loaded (instead of the default page 1) and the
lineitem is made visible in the viewable screen using the lineitem table
focusLi mechanism.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoACQ : Support for lineitem focus in invoice UI
Bill Erickson [Thu, 12 Jul 2012 20:23:14 +0000 (16:23 -0400)]
ACQ : Support for lineitem focus in invoice UI

Adds support for a "focus_li" URL parameter.  When set, the UI will
scroll to the lineitem and provide a brief color change on the table row
to help orient.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoACQ : worksheet Return action focuses lineitem
Bill Erickson [Thu, 12 Jul 2012 18:09:32 +0000 (14:09 -0400)]
ACQ : worksheet Return action focuses lineitem

Adds a new Return button to the lineitem worksheet page which returns
the user to the previous interface with the lineitem in question
focused.  Uses a new CGI param "focus_li".

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoACQ : Lineitem recovers focus after actions
Bill Erickson [Thu, 12 Jul 2012 18:01:50 +0000 (14:01 -0400)]
ACQ : Lineitem recovers focus after actions

After useing the Copies, Notes, or title-click actions on a lineitem,
using the "Return" button will now cause the lineitem in question to be
visible on the lineitem list page upon return.  After returning, there
is also a brief border coloration around the lineitem to help the user
re-orient.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoSupport custom URL mangling in openils.CGI JS lib
Bill Erickson [Fri, 13 Jul 2012 15:49:00 +0000 (11:49 -0400)]
Support custom URL mangling in openils.CGI JS lib

Adds a new optoinal parameter to the openils.CGI constructor called
'args', which currently supports 'url' and 'query' fields.  If the URL
is provided, CGI uses the value from args.url instead of location.href
and location.search.  Additionally, if 'query' is provided, it's used
instead of location.search and takes precedence over any query in
args.url;

It's also now possible to set parameter values.  By default, setting a
value overwrites the full array of values from multi-value params.  You
can use the 'push' argument to push the value onto the list instead of
clobbering it.

There are two new methods, queryString() and url().  The first returns
the query string, the second the full URL with uri-escaped query string
included.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoACQ order record fetcher and uploader script
Bill Erickson [Mon, 23 Jul 2012 14:44:41 +0000 (10:44 -0400)]
ACQ order record fetcher and uploader script

Some ACQ vendors support delivering MARC order record files directly
from their order system to an ILS via FTP.  (I've heard this called
"one-click" ordering in the past).  This commit includes a script to
seek out such order record files and pass them on to the Acquisitions
service for PO creation and potential activation.

The script supports a number of options, configured in opensrf.xml,
including which Vandelay (record import) options to use during record
import/merge/overlay.  See opensrf.xml.example for details.

Example:

./acq_order_reader.pl \
    --user admin \
    --password demo123 \
    -poll-interval 3 \
    --debug &

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoSupport Purchase Order name extraction from upload
Bill Erickson [Tue, 17 Jul 2012 15:08:35 +0000 (11:08 -0400)]
Support Purchase Order name extraction from upload

It's now possible to extract a purchase order name from a MARC order
record file received from a vendor.  If the provider has an attribute
definition (Admin -> Server Admin -> Acquisitions -> Providers ->
Attribute Definitions) configured with code "purchase_order" and the
order record contains a PO name at the configured MARC field/subfield,
the PO name will be used for the newly created purchase order.

Example attribute configuration:

code            => purchase_order
xpath           => //*[@tag="980"]/*[@code="p"]
Is Identifier   => false

*note 980p is arbitrary

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoStamping upgrade script for Capture/Fulfill penalty blocks
Mike Rylander [Tue, 24 Jul 2012 15:51:29 +0000 (11:51 -0400)]
Stamping upgrade script for Capture/Fulfill penalty blocks

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoApply HOLD block on new holds, CAPTURE block on existing
Bill Erickson [Tue, 17 Jul 2012 13:19:46 +0000 (09:19 -0400)]
Apply HOLD block on new holds, CAPTURE block on existing

With the addition of the CAPTURE block, the HOLD block should only apply
for newly placed holds in the hold permit test
(action.hold_request_permit_test).

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAvoid CAPTURE-blocked holds in pull list (IDL view)
Bill Erickson [Thu, 21 Jun 2012 18:37:11 +0000 (14:37 -0400)]
Avoid CAPTURE-blocked holds in pull list (IDL view)

Update the new IDL holds pull list view to avoid returning holds for
users that have CAPTURE penalties.

Note that items are blocked from the pull list only if the hold pickup
lib is within the CAPTURE penalty org unit range.  This means that users
could be blocked at one branch, but use a pickup lib at another to avoid
the block.  To prevent this type of abuse, set the org_depth to 0 on any
penalties that apply the CAPTURE block.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agohold CAP/FILL blocks : pair FULFILL with CIRC in stock penalties
Bill Erickson [Thu, 21 Jun 2012 18:26:25 +0000 (14:26 -0400)]
hold CAP/FILL blocks : pair FULFILL with CIRC in stock penalties

FULFILL is really a block on circulation, not holds, so pair the FULFILL
block with CIRC blocks for the stock data.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agohold CAP/FILL blocks : more event test collection repairs
Bill Erickson [Thu, 21 Jun 2012 18:11:47 +0000 (14:11 -0400)]
hold CAP/FILL blocks : more event test collection repairs

Further improving the logic which decides which patron permit events are
valid for a given set of circumstances.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agohold CAP/FILL blocks : repair event test in patron permit
Bill Erickson [Thu, 21 Jun 2012 18:00:51 +0000 (14:00 -0400)]
hold CAP/FILL blocks : repair event test in patron permit

Repairs in oversight in the patron permit event testing code that caused
the test to miss events when the checkout was not there to fulfill a
hold.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAvoid CAPTURE-blocked holds in pull list
Bill Erickson [Tue, 10 Apr 2012 20:24:59 +0000 (16:24 -0400)]
Avoid CAPTURE-blocked holds in pull list

Otherwise, staff will be pulling items for holds that cannot be
captured.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAvoid checkin capture for CAPTURE-blocked holds
Mike Rylander [Tue, 10 Apr 2012 14:21:02 +0000 (10:21 -0400)]
Avoid checkin capture for CAPTURE-blocked holds

Teach the nearest_hold sub about CAPTURE-blocking penalties

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agohold CAP/FILL blocks : separate CIRC and FULFILL blocks
Bill Erickson [Tue, 10 Apr 2012 19:42:17 +0000 (15:42 -0400)]
hold CAP/FILL blocks : separate CIRC and FULFILL blocks

This breaks the CIRC standing penalty block out into two separate
blocks.  The existing CIRC block now prevents circulations on checkouts
where the checkout is not fulfilling a hold.  A new FULFILL block type
is added which, when applied to a user, (only) prevents the user from
checking out items that fulfill a hold.

To always prevents checkouts, use both blocks.  Use individual blocks
where one or the other behavior is desired.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoDB seed data for CAPTURE and FULFILL penalty blocks
Bill Erickson [Tue, 10 Apr 2012 19:41:51 +0000 (15:41 -0400)]
DB seed data for CAPTURE and FULFILL penalty blocks

All occurrences of HOLD in the block list for any existing penalties are
updated to HOLD|CAPTURE|FULFILL for backwards compatibility, minus the
handful of STAFF_* penalties whose codes match their respective
block_lists.

To use these new block types, simply update existing penalties as
desired or add new local pentalty types for staff-managed patron
blocking messages.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoACQ "Fund Summary" combined IDL reporter view
Bill Erickson [Mon, 23 Jul 2012 22:51:45 +0000 (18:51 -0400)]
ACQ "Fund Summary" combined IDL reporter view

IDL view which produces summary information for funds for reporting.
The resulting "table" looks like a fund w/ four additional fields:
allocated_total, spent_total, encumbrance_total, and combined_balance.

The view is marked as reporter:core="true" so it will be visible in the
main reporter sources.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoRemove retrieve permissions from org units
Ben Shum [Tue, 24 Jul 2012 14:36:49 +0000 (10:36 -0400)]
Remove retrieve permissions from org units

Noticeably broken for the new simplified pull list when org units were not
visible from the interface to users without the following permissions:

CREATE_ORG_UNIT
UPDATE_ORG_UNIT
DELETE_ORG_UNIT

Since regular staff accounts would never be given any of these permissions
and nothing really secretive is included in org unit lookup, this change
removes those permissionas being required for retrieve.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoFix TPAC recognition of logged-in users via http
Jeff Godin [Tue, 24 Jul 2012 06:23:17 +0000 (02:23 -0400)]
Fix TPAC recognition of logged-in users via http

Fixes bug: LP 957375
tpac: catalog does not immediately recognize "stay logged in" users
https://bugs.launchpad.net/evergreen/+bug/957375

The issue: during the login process, the user is redirected to an
https connection and receives a cookie with the "secure" flag set.

Since this cookie is not sent over normal http connections,
following an external link or manually entering an http catalog url
will result in an unexpected "not logged in" experience.

Selecting the login link or any other action requiring login is
enough to return to the "logged in" experience, without a need to
re-enter credentials. Still, we can do better.

This affects users who have checked the persistent login checkbox
and those who have left it unchecked. Users selecting the persistent
login option are more likely to encounter the issue, especially if
the link they typically follow/enter is to a non-https catalog url.

The solution:

Add a new cookie (constant COOKIE_LOGGEDIN)
 - contains a "hint" that the user may be logged in already
 - set/cleared at login/logout time
 - contains no sensitive auth/session data
 - "secure" flag not set (sent for both http and https requests)

When a user's browser presents the COOKIE_LOGGEDIN cookie in a
request for a non-https URL, the user is automatically redirected to
the https version of that url.

At that time, if the user has a valid COOKIE_SES cookie set, they
will be recognized as a logged in user. If their COOKIE_SES value is
no longer valid, a logout is performed, clearing both cookies.

If for some reason the COOKIE_SES cookie is not present but the
COOKIE_LOGGEDIN is present, there is a harmless redirection to https
and the user is not logged in, but can log in via the usual means.

To test, after applying:
- log in to the TPAC
- navigate to http://example/eg/opac/home
- You should be redirected to https://example/eg/opac/home and you
  should see your name, count of checked out / on hold / etc items

Prior to this, the above steps would result in you remaining on the
http URL and seeing only a "Your Account Log In" button.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoShow zero-copy lineitem's in zero-copy activation warning
Bill Erickson [Tue, 10 Jul 2012 20:29:39 +0000 (16:29 -0400)]
Show zero-copy lineitem's in zero-copy activation warning

When PO activation fails as a result of zero-copy lineitems, show the
IDs of the zero-copy lineitems along with the failure message.

This adds a new API call

open-ils.acq.purchase_order.no_copy_lineitems.id_list(auth, po_id)

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoControl PO activation for zero-copy lineitems
Bill Erickson [Tue, 10 Jul 2012 15:56:05 +0000 (11:56 -0400)]
Control PO activation for zero-copy lineitems

By default, prevent activation of POs when any lineitems are present
that have no copies attached.  This adds a new option in the PO UI
called "Allow activation with zero-copy lineitems", which will allow the
activation to continue even when zero-copy lineitems exist.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTPAC - repair editions statement display
Ben Shum [Mon, 23 Jul 2012 20:59:33 +0000 (16:59 -0400)]
TPAC - repair editions statement display

Change && back to || and repair editions display in TPAC.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoACQ repair reverse exchange rate in fund transfer
Bill Erickson [Mon, 23 Jul 2012 22:01:50 +0000 (18:01 -0400)]
ACQ repair reverse exchange rate in fund transfer

Updated fund transfer code to use the DB exchange rate stored procedure.
In addition to code consolidation, this allows the fund trasnfer
operation to work if an exchange rate for the two currencies involved is
only defined in one direction.  The existing code required that the rate
be defined in both directions in the database or it would produce an
error in the logs and no visible error in the interface.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agowording improvement for 2.2 release notes
Galen Charlton [Tue, 24 Jul 2012 13:53:01 +0000 (09:53 -0400)]
wording improvement for 2.2 release notes

Patch by Sally Fortin <sfortin@esilibrary.com> to fix
typo noticed by James Keenan.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoAlways display the hold type indicator
Mike Rylander [Tue, 22 May 2012 12:00:12 +0000 (08:00 -0400)]
Always display the hold type indicator

We should be showing the type of hold on any pull-list or hold detail
interface we build.  The primary use case is to alert staff when an
alternate identical copy of the same title will (very likely) be usable
by a hold, and (as in the case of C-like holds) it will not.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoStamping upgrade for Copy Location Circ Limits
Mike Rylander [Tue, 24 Jul 2012 12:11:23 +0000 (08:11 -0400)]
Stamping upgrade for Copy Location Circ Limits

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAdd Copy Location to circ matrix matchpoint
Bill Erickson [Fri, 22 Jun 2012 16:04:41 +0000 (12:04 -0400)]
Add Copy Location to circ matrix matchpoint

Similar to circulation modifiers, circ policies can now be based on copy
location.

This also adds copy location to the circ matrix weights.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoCopy Location Circ Limit Sets Admin UI
Bill Erickson [Fri, 13 Apr 2012 20:19:03 +0000 (16:19 -0400)]
Copy Location Circ Limit Sets Admin UI

Changes are applied to the existing Admin -> Local Administration ->
Circ Limit Sets interface to support copy location limit groups.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Copy Location Circ Limit Sets : UI 2

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoCopy Location Circ Limit Sets : DB and IDL
Bill Erickson [Fri, 13 Apr 2012 19:39:18 +0000 (15:39 -0400)]
Copy Location Circ Limit Sets : DB and IDL

Support for copy location-based circulation limit sets.  Similar to circ
mod limit sets, this allows staff to configure a maximum number of items
allowed checked out based on copy location(s) and link that rule to
circulation policies to control who the rule affects.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoJSPAC: Point to TPAC from <noscript> section
Dan Scott [Mon, 23 Jul 2012 16:09:03 +0000 (12:09 -0400)]
JSPAC: Point to TPAC from <noscript> section

TPAC was built for browsers with no JavaScript. Ironically, we're still
pointing to the SlimPAC from the <noscript> section of the JSPAC... fix
that.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoStamping upgrade script for Trigger Event Log
Mike Rylander [Mon, 23 Jul 2012 20:13:36 +0000 (16:13 -0400)]
Stamping upgrade script for Trigger Event Log

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTrigger Event Log
Lebbeous Fogle-Weekley [Fri, 18 May 2012 16:12:55 +0000 (12:12 -0400)]
Trigger Event Log

A better, more browsy/filtery way to browse Action Trigger Events
related to holds and circs, which staff users sometimes want to filter
by patron barcode.

This is accessed from various menus around the staff client, notably the
patron interface and the item status interface.

This has better printing capabilities than previous versions of this
interface, too.

There's also a new org unit setting to go with this,
"circ.staff.max_visible_event_age", which if set, should hide any events
older than the configured age.

One new permission: VIEW_TRIGGER_EVENT.  This does what it sounds like
it does.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Conflicts (resolved):
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/web/js/dojo/openils/widget/PCrudFilterDialog.js

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTPAC: Set autofocus appropriately for different contexts
Dan Scott [Thu, 12 Jul 2012 23:12:06 +0000 (19:12 -0400)]
TPAC: Set autofocus appropriately for different contexts

At login, the basic search bar was fighting (and winning) for the
default focus rather than the username field. Additionally, in the
advanced search pages, no field was getting focus. Therefore, check to
see if we expect to be in a context where it makes sense to set the
default focus to the basic search input field; otherwise, set the focus
to the login username field or the appropriate advanced search field.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoDocumentation: Fix typo in upgrade instructions. Bug #1027752 reported by Jeff...
Robert Soulliere [Mon, 23 Jul 2012 12:12:15 +0000 (08:12 -0400)]
Documentation:  Fix typo in upgrade instructions. Bug #1027752 reported  by Jeff Green.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoFix / improve bookbag list paging user/bshum/lp1003409_paging_fixes
Dan Scott [Sun, 22 Jul 2012 22:58:11 +0000 (18:58 -0400)]
Fix / improve bookbag list paging

The prior code used CSS to hide elements, which is a bit weird given
that we can simply avoid creating the element in the first place and
keep the DOM a lot simpler.

Also, the previous code was subject to some bugs if it wasn't given
an explicit offset GET param or paging at the end of a list
(particularly given that the LIMIT parameter ensured that the number of
bookbags returned would always be equal to or less than the LIMIT
parameter).

Finally, the changes related the permanent bookbags didn't pass through
one of the context parameters we needed (bookbag_count) to enable
paging.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoWrap upgrade script for permanent bookbag lists
Dan Scott [Sun, 22 Jul 2012 20:01:38 +0000 (16:01 -0400)]
Wrap upgrade script for permanent bookbag lists

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoTPAC: Refactor bookbag list actions into a common template
Dan Scott [Wed, 18 Jul 2012 16:27:08 +0000 (12:27 -0400)]
TPAC: Refactor bookbag list actions into a common template

The "add to bookbag" actions in both the search results and record
details pages contained a large amount of duplicated code; consolidate
those into a single template that can be included into each page.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAbility to add records to permanent bookbags in TPAC.
Jason Stephenson [Wed, 11 Jul 2012 12:59:48 +0000 (08:59 -0400)]
Ability to add records to permanent bookbags in TPAC.

Add an actor usr setting for holding the name of a default book
list: opac.default_list.

Add a button on the my list interface to choose a list should as
the default list for adding titles.  There is presently no way to
unset a default menu, though the default can be changed to any
other menu at any time by clicking that list's button.

Modify opac/record and opac/results so that if a patron is logged
in their my lists will populate a menu.  This menu will include
options to add to a temporary list, the default list (if any), up
to 10 of the user's other lists, to add to a newly created list,
or to see all of their lists and add to one that does not appear
on the menu.

Adding to a temporary list will function the same as adding to a
list does prior to this enhancement.

Adding to a list chosen from the menu will add the record to that
list, and return the user to the search results or record page
that they were looking at.

Choosing to add to a new list will take the user to their "my
lists" page where they can create a new list.  After the list is
created, the record they wanted to add will be added to the new
list and they will be returned to the search results or record
that they were looking at.

Choosing the "see all" menu option will also take the user to
their "my lists" page.  However, all of their bookbags will be
visible and not just the normal limit of 10.  Their will be a
button next to each list's name with the text "Add to this list."
When the user clicks one of those buttons, the record will be
added to that list and the user's session redirected back to
their search or result page.

The user will have the option to create a new list when viewing
all of their lists.

The user will also be able to use the "Add to this list" feature
when they have chosen the "Add to new list" menu option.  This is
done from simplicity in the design, but also allows the user to
change their mind at the last second.

If a patron is not logged in, the add to my list will appear the
same as it does prior to this development.  It will continue to
function as it does prior to this development.

Add coust for opac.patron_temporary_list_warn to let an ou enable
warning users when adding records to a temporary book bag.

Add cust opac.temporary_list_no_warn to let patrons disable
the warning for themselves.

Add the opac.default_list usr_setting_type. This will be used to track a
user's default bookbag.

Add the upgrade script to create new coust and custs.

Insert coust (opac.patron.temporary_list_warn) and cust
(opac.temporary_list_no_warn, opac.default_list) into the respective
tables.

Add release notes for add to permanent bookbag feature.

Add a warning when the user adds a record to a temporary list.

TPAC has been modified so that a user will see a warning before adding
a record to a temporary bookbag.  This message serves to inform the
user that they are adding to a temporary list that will disappear when
their session ends.

A new org. unit setting has been added,
opac.patron.temporary_list_warn, that will enable this warning when
set.  Sites may choose not to display this warning.

The user may also set a preference in their search preferences to
disable this warning.  The setting only works when a user is logged
in, of course.

Add release notes for the temporary list warning feature.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoDocumentation: remove those darn Windows carriage returns.
Robert Soulliere [Thu, 19 Jul 2012 17:35:49 +0000 (13:35 -0400)]
Documentation: remove those darn Windows carriage returns.

I am using linux based system for editing so I am not sure where they are coming from.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoDocumentation: Migrate reports documentation from 2.1
Robert Soulliere [Thu, 19 Jul 2012 17:23:18 +0000 (13:23 -0400)]
Documentation: Migrate reports documentation from 2.1

Content reviewed by Jenny Turner. I converted to asciidoc and tested
processing. I also added index terms.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoDocumentation: Format text to limit line length to 80 characters.
Robert Soulliere [Thu, 19 Jul 2012 01:49:02 +0000 (21:49 -0400)]
Documentation: Format text to limit line length to 80 characters.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoAdd Journal Title search to stock TPAC filters
Dan Scott [Thu, 12 Jul 2012 03:37:11 +0000 (23:37 -0400)]
Add Journal Title search to stock TPAC filters

Academics need access to a quick and easy Journal Title search, this
gives it to them. Due to the requirement to combine search index + bib
level, we define a special search index that can then be acted upon
accordingly.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoDocumentation: Fix various issues causing errors during processing.
Robert Soulliere [Wed, 18 Jul 2012 14:16:09 +0000 (10:16 -0400)]
Documentation: Fix various issues causing errors during processing.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoTPAC: Use % font size + bold to highlight login failure
Dan Scott [Tue, 17 Jul 2012 16:55:39 +0000 (12:55 -0400)]
TPAC: Use % font size + bold to highlight login failure

Loved the idea to call more attention to login failures, but wanted to
try to stick to % for font sizes where possible. Testing suggested that
font-weight:bold and a little padding on top would help the display as
well.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
11 years agoTpac CSS: Login failure message
Melissa Lefebvre [Fri, 11 May 2012 15:07:50 +0000 (11:07 -0400)]
Tpac CSS: Login failure message

To draw attention to failed logins, the font size was increased
to 16px and the font color changed from black to red.

Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoTPAC: Slightly more accessible user-visible account notes display
Dan Scott [Tue, 17 Jul 2012 16:39:37 +0000 (12:39 -0400)]
TPAC: Slightly more accessible user-visible account notes display

Rather than a table layout that resembles an unordered list, use a real
table with table header so that screen readers will know what to
associate each column with.

Also, move the table display into its own class so that we don't pick up
the uppercase transform, and move it out of the div box so that we can
use whatever screen real estate is given to us, rather than forcing
notes into the hard-coded 662px box.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoTPAC: show patron-visible notes in my-account
Bill Erickson [Tue, 19 Jun 2012 18:24:33 +0000 (14:24 -0400)]
TPAC: show patron-visible notes in my-account

Notes display in the 'Account Summary' box on the first page of
my-account.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoTPAC: Physical description, now with spaces
Dan Scott [Sat, 16 Jun 2012 02:59:23 +0000 (22:59 -0400)]
TPAC: Physical description, now with spaces

Record details will regularly include physical descriptions like
"Physical Description: 1 sound disc :33 1/3 rpm, mono." where the colon
is jammed up against the content from the following subfield. Easily
fixed by using a space as the joiner for the subfields.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
11 years agoMove Prefix field ahead of Names in patron editor
Ben Shum [Wed, 27 Jun 2012 18:01:24 +0000 (14:01 -0400)]
Move Prefix field ahead of Names in patron editor

In earlier versions of Evergreen (1.6 and earlier), the Prefix field
was used to enter title information, such as Mr., Mrs., etc. When the
field was eventually added to the newer patron registration screens
(2.0+), it was added before the patron's last name field. Ideally,
the prefix should be listed prior to the patron's first name instead.

In addition, address label issues by changing "Suffix/Title" back to
only "Suffix" and making "Prefix" into "Prefix/Title".

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoSquelch uninitialized var warning from hold_copy_targeter
Bill Erickson [Mon, 16 Jul 2012 20:56:10 +0000 (16:56 -0400)]
Squelch uninitialized var warning from hold_copy_targeter

open-ils.storage_stderr.log was getting filled with entries like:

"Use of uninitialized value in concatenation (.) or string at
/usr/local/share/perl/5.10.1/OpenILS/Application/Storage/Publisher/action.pm"

... consuming disk space endlessly. Stop that!

(Stealing Lebbeous' footwork and providing a slightly different solution.)

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoSearchbar spacing: move inline CSS into a style
Dan Scott [Mon, 16 Jul 2012 21:22:16 +0000 (17:22 -0400)]
Searchbar spacing: move inline CSS into a style

In keeping with our attempt to control styles via the CSS file rather
than inline overrides, define a class for the searchbar and style that.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
11 years agoTPAC: Search wrapper spacing
Melissa Lefebvre [Tue, 3 Jul 2012 16:53:09 +0000 (12:53 -0400)]
TPAC: Search wrapper spacing

Currently the search box options are "smooshed up" against the
links toolbar.  The following changes address this.

Padding was added to style.css search_box_wrapper in order to
bring the "Search the Catalog" down lower from the link toolbar.

Padding was also added to the searchbar.tt2 in order to bring the
search filter options down lower from the "Search the Catalog"
wording.

Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoincrease the default width for the xul list line number column
Jason Etheridge [Thu, 10 May 2012 18:18:37 +0000 (14:18 -0400)]
increase the default width for the xul list line number column

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoDocumentation: Add Patron Bills section to Patron Management chapter.
Jennifer Turner [Sat, 14 Jul 2012 22:51:25 +0000 (18:51 -0400)]
Documentation: Add Patron Bills section to Patron Management chapter.

Converted to asciidoc by Robert Soulliere

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoWhen a user views holds in their account, clicking "only available"
Kathy Lussier [Fri, 6 Jul 2012 21:01:51 +0000 (17:01 -0400)]
When a user views holds in their account, clicking "only available"
on the holds screen or "Ready for Pickup" in the navbar will add an
"available=1" parameter. However, if the user then attempts to return
to a list of all holds, the "available" parameter is not cleared, and
the user will only see holds available for pickup.

This commit will clear those parameters.

Signed-off-by: Kathy Lussier <kmlussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoDocumentation: Add Circulation, Patron management Chapter
Jennifer Turner [Fri, 13 Jul 2012 18:16:32 +0000 (14:16 -0400)]
Documentation: Add Circulation, Patron management Chapter

Content provided by Jennifer Turner at PALS. Converted to Asciidoc by Robert Soulliere. Robert also added indexing terms. Appendices for documentation cleaned up as well.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoTPAC: Use .staff variant for MARC Expert Search
Dan Scott [Fri, 13 Jul 2012 13:56:54 +0000 (09:56 -0400)]
TPAC: Use .staff variant for MARC Expert Search

Inside the staff client, we want to use the .staff method to retrieve
records that match the MARC Expert Search, so that records with no
attached copies can be found and returned.

Fixes LP # 1024382.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
11 years agoCache propagated funds in fund rollover action
Bill Erickson [Mon, 11 Jun 2012 19:23:17 +0000 (15:23 -0400)]
Cache propagated funds in fund rollover action

Repair display of propagated funds grid which was likely broken with
b9bb6d47.  Propagated funds must be collected and added to the local
cache for grid getter functions to find them.

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

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoRepair PCrudFilter localeStrings variable collisions
Bill Erickson [Mon, 11 Jun 2012 19:19:48 +0000 (15:19 -0400)]
Repair PCrudFilter localeStrings variable collisions

Rename PCrudFilter's localeStrings global variable to avoid name
collisions with UI scripts that define the same variable.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoSet unix file format to remove trailing "\r"s in file.
Robert Soulliere [Thu, 12 Jul 2012 19:46:29 +0000 (15:46 -0400)]
Set unix file format to remove trailing "\r"s in file.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
11 years agoAdd Group Serials Issues Chapter from Sally Fortin at Equinox Software. Source: http...
Sally Fortin [Thu, 12 Jul 2012 19:36:03 +0000 (15:36 -0400)]
Add Group Serials Issues Chapter from Sally Fortin at Equinox Software. Source: http://www.esilibrary.com/esi/availableDocs.php.

Tested in documentation  processing.

Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>