ACQ lineitem summary moved to real DB view

This is allows us to create new IDL views based on the lineitem summary.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
EditPane.js API repairs

By default, don't throw an exception from EditPane.getFieldValue when a
field is required and the value is null.  Otherwise, external code is
unable to use this method for inspecting the pane.  Make checkRequired
an additional method flag.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
EditPane setFieldValue method

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
ACQ invoice inline lineitem search and add

The Invoice UI is how composed of two tabs, the main invoice tab and a new
Search tab.  The search tab consists of a subset of the Acquisitions unified
search interface.  The goal is to allow users to search for lineitems to
invoice.  Search results may be added directly to the growing invoice.  A
number of small usability features are included.

Features
~~~~~~~~

    * Option (default) to limit searches to invoiceable items.
        ** These are lineitems that are not cancelled, have at least one
           invoiceable copy, linked to a PO whose provider matches that of the
           current invoice, and are not already linked to the current invoice.

    * Search defaults to last-run search (on workstation).
    * New Lineitem Detail filter options
    * Sort searches by lineitem number (default) and title.
    * There is a new Expected Cost field which includes both the total invoiced
      cost plus the anticipated cost of lineitems as they are added.
    * New Price per Copy field
    * Lineitem count field
    * Show / Hide Invoice details button.  Details are displayed by default, but
      hidden when the user enters the search tab.  From there it remains hidden
      until manually shown (or a new invoice is opened).
    * A new "Save & Clear" button which saves the current invoice then clears
      the invoice display to create a new invoice.
    * Provider, shipper, and receiver fields are auto-populated from the
      first-added invoice data (when not already set).
    * Totals are now read-only, since they are derived from existing data (and
      are informational only).

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
ACQ invoice formatting improvements

Prevent # invoiced and # paid inputs from wrapping.  Also, make the text
boxes a little smaller to reduce horizontal space requirements.  It's
still possible to enter any value, but only the 4 least significant
digits are visible.  Since it's not common to invoice 10k+ copies of the
same item, this seems like a fair trade off.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
ACQ unified search submit on enter (for real)

This replaces the old-style submit on enter handler which was based
attaching key handlers to the dijit domNode, which does not work for
filtering selects (i.e. more complicated dijits) w/ the dijit-sanctioned
dojo.connect(..., 'onkeyup', ...), which works regardless.  This also
covers more form input elements which were overlooked with the original
submit-on-enter code.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>