Mike Rylander [Wed, 25 Jan 2017 17:33:24 +0000 (12:33 -0500)]
LP#1657885: Inform Vandelay of new chunking/bundling logic, part deux
Here we conditionally use the old "max_chunk_count" method provided by OpenSRF
when Evergreen is running atop a version that doesn't know about the bundling
rename.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Wed, 25 Jan 2017 15:56:23 +0000 (10:56 -0500)]
LP#1657885: Inform Vandelay of new chunking/bundling logic
There is a naive attempt to force immediate streaming of results in Vandelay
for certain processes, but it both only helps a little, and breaks under the
new OpenSRF bundling/chunking logic. So, we'll drop it where it's not
directly configurable, and test for the appropriate features where we can.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Thu, 19 Jan 2017 20:54:53 +0000 (15:54 -0500)]
LP#1657885: Account for new bundling/chunking logic in OpenSRF 2.5+
When chunking was renamed bundling and actually chunking added in OpenSRF 2.5,
the few places in Evergreen that tried to make use of the old mechanism
directly now break. The most obvious breakage is in the alternate printable
hold pull list, which we fix here. Evidence of other broken code should
be fixed as needed, though spots to look our for are z39.50 results and
Vandelay processing.
To test:
1) In Evergreen 2.11 running on top of OpenSRF 2.5+, attempt to use the
alt pull list printing interface at a location with many holds on their
pull list. The progress bar will spin forever.
2) After applying this patch, do the same. The interface should work
quickly.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
We fixed the trigger that caused the problem in bug 167237, but now we need
to rewrite reporter.hold_request_record because T-holds are probably all
wrong. No data was lost, we're just addressing the contents of a materialized
view.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Galen Charlton [Tue, 17 Jan 2017 21:58:39 +0000 (16:58 -0500)]
LP#1657282: fix redirect of one-hit metarecord searches
This patches fixes a bug where, when performing a metarecord
("Group Formats and Editions") search, one-hit result sets
get redirected to a "/eg/opac/record/0.0..." page, which
results in a "Bad Request" error being shown to the user.
To test:
[1] Perform a metarecord search that would result in exactly
one metarecord search. Observe that the browser displays
a "Bad Request" error page.
[2] Apply the patch and perform step 1 again. This time, the
search should succeed. Note that if the metarecord contains
more than one component, a results page with one grouped
hit is displayed; if the metarecord has exactly one component,
that bib's record page is displayed.
Mike Rylander [Tue, 17 Jan 2017 19:46:36 +0000 (14:46 -0500)]
LP#1657237: Properly constrain matview trigger function
The function maintaining the reporter.hold_request_record table
was performing an unconstrained update when a hold was moved. This
fixes that.
To test:
[1] Apply the patch, the perform an asset merge that would
change the target of a hold request. Verify that
reporter.hold_request_record is properly update.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Mike Rylander [Wed, 28 Dec 2016 19:43:34 +0000 (14:43 -0500)]
LP#1655149: Badges need CDBI support for location groups
The badge code needs to inspect copy location groups, and tries to do so using
Class::DBI classes. But we haven't told CDBI about aclg and friends. Here we
tell Class::DBI about asset.copy_location_group so that storage can retrieve
directly.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Display the patron alerts pane only once per patron instance per
browser tab. This is done by setting a new session storage value which
tracks the last alerted patron. This value is replaced each time a new
patron is loaded into the main patron app (e.g. double-clicking the
patron row in patron search) and is maintained separately per browser
tab.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Etheridge [Tue, 3 Jan 2017 11:58:25 +0000 (06:58 -0500)]
webstaff: booking options from Patron interface
Includes some workarounds for xulG errors, and lets the booking interfaces
receive the patron barcode via a query param instead of xulG. The XUL client
spawns a new tab for these interfaces, but we stick with web norms and load in
the current tab (control+click will open a new tab). This does, however, blow
away the patron interface; it doesn't embed like most of the options from the
Other menu. One other change: we don't have support for nested drop-down menus
in the web client, so I've flattened the entries like so:
* Booking: Create or Cancel Reservations
* Booking: Pick Up Reservations
* Booking: Return Reservations
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Wed, 30 Nov 2016 10:25:52 +0000 (05:25 -0500)]
webstaff: throw a kitchen sink at double-scrollbar issues
This patch ameliorates, but does not eliminate, a bunch
of cases where double-scrollbars could appear.
[1] Adds iframe-resizer (https://github.com/davidjbradshaw/iframe-resizer, MIT license)
as an option for automatically adjusting the height of an iframe
to fit the contents. This can be enabled by ensuring that
the page to be embedded brings in
and adding an 'autoresize' attribute to the egEmbedFrame directive.
This is now used by the legacy reports page.
[2] Gives a 'min-height' attribute to egEmbedFrame and sets a
value for Dojo grid interfaces embedded by local and server admistration.
[3] Adds a 'allow-escape' attribute to egEmbedFrame; when set to
true, adds buttons to allow the user to open the embedded page
in a new tab.
[4] Removes some extraneous <div>s that were interferring with resizing
for some grids.
Galen Charlton [Tue, 29 Nov 2016 21:34:14 +0000 (16:34 -0500)]
webstaff: add printing to transit list page
Adds a 'Print Transits' button and a transit_list print template. Using
the button prints _all_ transits that match the filter criteria, not just
the ones that happen to be displayed on the table.
Galen Charlton [Wed, 16 Nov 2016 05:34:06 +0000 (00:34 -0500)]
webstaff: fix support of the disabled automatic print attempt type list
This patch ensures that the disabled automatic print attempt type list
setting is now honored. In addition, if bill payment receipts are
disabled via the setting, the "Receipt on Pay" and "# Copies" widgets
are not displayed on the bill payment page.
Galen Charlton [Mon, 28 Nov 2016 16:55:24 +0000 (11:55 -0500)]
webstaff: fix misalignment of ‡ in MARC editor
This patch sets the font used to display the "‡" character in the
MARC editor to the same font used for input fields, fixing a
vertical misalginment that displayed in Chrome and Firefox
on some platforms.
Kathy Lussier [Thu, 5 Jan 2017 18:55:49 +0000 (13:55 -0500)]
Docs: 2.11 Release Note corrections and clarifications.
Fixes several typos in the 2.11 Release Notes and in the template for release
notes acknowledgements. Also resets the acknowledgements as TODOs for the
next release. Added clarification to the email checkout receipts to let users
know that email receipts are not available in the XUL client, but only in the
web client.
Remington Steed [Thu, 5 Jan 2017 15:03:48 +0000 (10:03 -0500)]
Docs: Add "export non-imported records"
This commit briefly describes the queue actions, summary and filter
sections of the Inspect Queue page in Vandelay, as well as explaining
the new "Export Non-Imported Records" action. This commit includes
updated screenshots.
Galen Charlton [Wed, 21 Dec 2016 21:32:26 +0000 (16:32 -0500)]
LP#1651808: avoid a class of intermittent search failures
This patch fixes a bug where catalog searches can sometimes fail
with a PostgreSQL error that looks like this:
ERROR: type of parameter 56 (double precision) does not match that when preparing the plan (numeric)
CONTEXT: PL/pgSQL function search.query_parser_fts(integer,integer,text,integer[],integer[],integer,integer,integer,boolean,boolean,boolean,integer) line 319 at assignment
In particular, it ensures that the relevance values are coerced
to the Pg NUMERIC data type regardless of how the core query is
constructed; otherwise, it can sometimes end up as a double
precision value. Because of how Pg backends cache query plans,
that change of type can result in the error above.
To test
-------
[1] (Optional) Configure the max_children values for open-ils.storage
to permit only one drone, which in turn forces all catalog
search requests to go through a single Pg backend.
[2] Set the default_preferred_language_weight opensrf.xml setting
to 0.
[3] Perform a catalog search that has just a filter, e.g.,
item_lang(eng).
[4] Perform a catalog search that includes search term, e.g.,
cats
[5] The second search should fail.
[6] Apply the patch and try steps 3 and 4 again; this time, both
searches should work.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Pearl [Thu, 2 Jun 2016 19:17:44 +0000 (15:17 -0400)]
LP#1586509 Bug fix to LP#1352542 caused extraneous blank line to appear in
spine label. This affected LC call numbers that had only one cutter number
plus additional text following.
Signed-off-by: Dan Pearl <dpearl@cwmars.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
The switch to toISOString() to format dates introduced an off-by-one error in
the closed dates display, showing one extra day of closure due to the timezone
being ignored in toISOString().
toLocaleDateString() is the future of locale-sensitive date formats. In XUL,
because it is an old version of Firefox, it lacks locale sensitivity, but for
the purposes of the web staff client it's a good base to build on as even
Internet Explorer supports the locale and options arguments as of IE 11.
And for the immediate purposes of showing the right dates in the closed dates
editor, it works.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Scott [Mon, 12 Dec 2016 20:39:08 +0000 (15:39 -0500)]
LP#1432753 Restore "All day" verbiage to Closed Dates editor
Commit ede7e78925 replaced the JSAN calls to util.date.formatted_date() with
inline date/time handling, in the process returning times with granularity to
the minute instead of to the second. This resulted in the test for "all day"
closings always failing.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Galen Charlton [Wed, 16 Nov 2016 02:36:15 +0000 (21:36 -0500)]
webstaff: add import and export of print templates
The workstation print template page now has Import
and Export buttons to import or export any customized
templates from/to JSON files. Toasts are emitted
on import success or failure and export failure (if
there are no customized templates to export).
Galen Charlton [Wed, 16 Nov 2016 02:20:24 +0000 (21:20 -0500)]
webstaff: teach egJsonExporter about generators
This patch adds an attribute called 'generator' to the eg-json-exporter
directive as an alternative to using 'container' to pass a JavaScript
object. 'generator' should be a function that returns a promise with
the data to be exported.
Jason Etheridge [Thu, 17 Nov 2016 20:38:17 +0000 (15:38 -0500)]
add Print Bills to Bill History
FIXME: duplicated a code chunk, should probably refactor into a shared printBills
FIXME: disable actions or make otherwise obvious that they only work on selected rows
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 15 Nov 2016 20:40:39 +0000 (15:40 -0500)]
webstaff: tweaks to egPrint
This patch attempts to unbreak receipt and CSV printing
by fetching and injecting the print CSS into a style element,
as a link element in the print div doesn't seem to get
processed. It also automatically clears the content
of the print div so that after you print a receipt, the
browser print command will print the page, not the receipt.
Add a specialization of the volume/copy editor that is restricted
just to managing volume/copy templates; this can be accessed
at the path /eg/staff/cat/volcopy/edit_templates. A link is added
to the local administration splash page with the label "Volume/Copy
Template Editor"
In attempt to improve terminology, on the local administration page,
the previous "Copy Template Editor" is now called "Serial Copy Template
Editor".
Jason Etheridge [Fri, 4 Nov 2016 14:18:25 +0000 (10:18 -0400)]
webstaff: CSS tweak for chrome/webkit
Specifically, in the Copy Location Group interface, make sure the disabled org
selector in the New location group dialog is visible within Chrome.
This also happened with Custom Org Unit Trees, and if we run across it again,
I'll put more effort into injecting this more globally for the embedded Dojo
interfaces.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 25 Oct 2016 21:23:13 +0000 (17:23 -0400)]
webstaff: implement patron merge interface
This patch adds a 'Merge Patrons' button to the patron
search grid. If the user selects two patron records, the
button can be clicked to present a dialog that allows
the user to pick a lead record and confirm a merge of the
patrons.
This patch also adds an egPatronSummary directive that
uses the existing patron summary template with a couple
modifications.
Galen Charlton [Thu, 20 Oct 2016 17:08:58 +0000 (13:08 -0400)]
changes to transit list interface
* convert barcode column to hyperlink to item status
page (and remove the 'Item Status' action; note that
default double-click action remains going to the
item status page)
* convert title column to hyperlink to record details page
* add 'Add Items to Bucket' button
* add 'Edit Item Attributes' button
Jason Etheridge [Tue, 18 Oct 2016 17:48:50 +0000 (13:48 -0400)]
webstaff: Acquisitions Administration
FIXME:
* Acq Admin -> Distribution Formulas -> Formula Detail Page : render problem, no uncaught exceptions
* Acq Admin -> Funds : TypeError: openils.XUL.localStorage is not a function
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>