The asset.merge_record_assets function was not checking for deleted call numbers
and merging items onto deleted call numbers that of course causes issues.
Signed-off-by: Steve Callender <stevecallender@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Tue, 26 Feb 2013 19:33:58 +0000 (14:33 -0500)]
Repair clear holds shelf transaction timeout
Initiate our cstore transaction after making the initial, potentially
long-running call to collect the clear-shelf holds to process.
Otherwise, the cstore transaction may time out while waiting on the
holds retrieval to complete.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Fri, 8 Feb 2013 15:15:39 +0000 (10:15 -0500)]
Speed up sorted-related-holds query
In several interfaces, we use a server side method which gathers statistics
about a hold: related holds, it's position in the (approximate) queue, the
estimated wait time, etc. Within this method is a relatively complicated
json_query that returns the list of related, (FIFO-ish) sorted holds -- ones
that could be filled by a copy which could fill the hold in question. This
commit restructures that query so as to make it faster when the list of
related holds is large, by removing duplicate (cartesian product, actually)
hold ids that were being fed into an INNER JOIN clause.
Testing shows a speed increase of 4x for related-hold queue of around 675
holds [~2s -> ~0.5s] on a relatively large Evergreen installation,
appropriately tuned. The speed improvement gets larger with longer queues.
There is no observed decrease in speed for smaller queue sizes.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
In XML-RPC Gateway, substitute __ for - in method names
Dashes have never actually been valid in XML-RPC method names, and some
clients (like newer versions of Perl's RPC::XML) enforce this rule on
their clients. This way we give XML-RPC clients a way they can still reach
our methods.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Scott <dan@coffeecode.net>
Conflicts:
Open-ILS/src/extras/Makefile.install
Serials: change more carp() to croak() to avoid infinite loops
This addresses a problem very similar to that in LP #1075167, where
certain loops never end because problems with the data elicited calls to
carp(), which fills up log, but never gives our loops notice to end.
Visible symptoms include 1) a greate volume of log spew and 2) an
open-ils.serial drone that ties up a CPU.
The fault lies maybe in our loops rather than in the MFHD
package, but this fixes the problem fastest, and should not have
undesirable side-effects.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Ben Shum [Wed, 16 Jan 2013 21:33:22 +0000 (16:33 -0500)]
LP 1092284 - Fix add to my list dropdown with ContentCafe links
As noted in the bug ticket, the dropdown menu for Add to my list disappears
whenever hovering over the Reviews & More link for ContentCafe-enabled TPACs.
Removing position:relative from .results_review seems to keep the two areas
from having any strange interactions.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
EDIReader bugfix - Process misc charges better
MOA+304 seems to be an encoding peculiar to Ingram for processing fees.
Bubble up errors better from invoice processing
Errors were getting logged, but weren't linked on the related
acq.edi_message row in the database like they could have been to make
debugging easier.
This incidentally elevates one possible message from warning level to
error, but even as a warning it was stopping the processing of the
invoice in question there. So there's no meaningful difference.
Try harder to associate incoming EDI messages with exact right account
Sites use many very nearly identical EDI accounts (same host and
credentials) with different values only for the label and the vendcode.
This allows mapping of an order to a profile on the vendor side.
The problem with this is that the edi_fetcher and the processes it
kicks off did not know how to map incoming messages to the right
account based on vendcode. That code simply iterated through
accounts, using host information and login credentials, and grabbing
what it can find, as if
there will be no other Evergreen-side EDI "accounts" with the same
hostname and loging credentials.
This should help with that.
Style and whitespace cleanups in O::A::Acq::EDI.pm
All I could stand before I just couldn't take it anymore.
New PO template created malformed JSON in the INC_COPIES=0 case
And now it no longer should.
Allow order responses and invoices to omit PO repetition in lineitem refs
Usually vendor documents have bits of EDI that look like:
RFF+LI:100/123
where 100 is a PO number and 123 is a lineitem number.
Sometimes, for some documents, B&T at least will omit the '100/' part.
This is fine because we don't really need that number repeated for
every lineitem. We do need this change so that our EDI reader code
can deal with the omission, though.
Be more liberal reading EDIFACT message reference number
Spec, if I read it correctly, says that this is alphanumeric, not just
numeric, and ULS is one vendor I've seen taking advantage of letters
and numbers in that space.
This commit makes the relevant regex in our EDIReader appropriately
more tolerant.
Fixes to new vencode parsing for incoming EDI messages
Prevent problem in preventing EDI re-retrieves
The query we were using before would needlessly transfer large objects,
potentially hitting Jabber message size limits.
We're just testing for the existence of such objects, so we need no
more than a single ID in the result.
Fix EDI invoices for ULS, improve troubleshootability
1) Taxes appear in different, but still valid way in ULS invoices than
in invoices from other vendors observed to date.
2) Invoices from ULS use MOA 203 to indicate unit price instead of the
usual meaning of whole-lineitem price.
3) Now abuse acq.invoice.note to leave better troubleshooting
breadcrumbs.
Invoices from EDI had unsavable invoice_items attached
Deal with this by letting us create fund_debits a little later than in
the previous workflow. We have to, because the EDI-level stuff creating
the invoice doesn't know what fund we want to target for taxes and misc
charges.
The problem we're fixing manifested by showing an alert() dialog about
ACQ_FUND_DEBIT_NOT_FOUND.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Mike Rylander [Thu, 14 Feb 2013 15:51:37 +0000 (10:51 -0500)]
Sort search filter group entries by 'pos'
We use a fleshed cstore call to grab search filter groups and their entries,
but we don't currently sort them by their 'pos' field, which is it's purpose.
cstore will apply order_by expressions to the applicable tables in a fleshed
search/retrieve. This does that.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Mon, 21 Jan 2013 22:02:42 +0000 (17:02 -0500)]
TPAC: Make locale picker match default locale
As noted by Pasi Kallinen, the language picker would not reflect the
chosen locale unless your cookie had been set or there was an explicit
CGI parameter with the locale name.
Accordingly, get the default locale from the context vars and use that
to set the selected value for the language picker in the absence of
anything else, to prevent the picker from possibly confusingly showing
the first language alphabetically rather than the currently displayed
language in the rest of the UI.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Ben Shum <bshum@biblio.org>
LP #1092921: Display of/sorting by CN affixes in Simplified Hold Pull List
In the Simplified Hold Pull List interface, the "Call Number Label" column
displays the call number of the copy targeted by the hold in each row,
and it does so by combining affixes with the actual label field.
Sorting of this column actually uses the call number sortkey generated
in-database for this purpose.
Sometimes this means that sorting order doesn't match what you'd
expect to see with this column. Opinions differ on desired behavior, so
now you can explicity add columns to the table for call number prefix
and suffix, and sort on either of those (potentially in combination with
other columns).
Amended from an earlier version of this commit that still didn't sort
CN prefix and suffix columns quite right.
Mark Cooper [Tue, 16 Oct 2012 18:02:23 +0000 (11:02 -0700)]
LP#1067361: vandelay: batch queue deletion no longer works
Because window.location.reload can trigger before the deletions
have occurred. Simple fix (band aid?) is to make the delete
calls in sync.
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, 29 Jan 2013 05:27:55 +0000 (00:27 -0500)]
LP1054053 - Remove white padding around login inputs
Forget efforts to make the boxes bigger and smoother as it was in the past.
Instead, opting for a cleaner look by removing the extra white background
that was part of the padding surrounding the actual login input area. This
removes the feeling that the box area should have been bigger than it really
is.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Every item in KPAC that doesn't have a jacket cover uses
the cover for "Mirror Mirror". This is inappropriate, so
lets replace it with a small blank image.
Signed-off-by: Michael Peters <mrpeters@library.in.gov> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Etheridge [Thu, 20 Sep 2012 17:10:15 +0000 (13:10 -0400)]
LP1053526 - Don't inadvertently modify the in-memory org tree when printing
To see an example of this causing a problem, load Holdings Maintenance for
an arbitrary bib record with items. Make sure the Hide Empty Libs checkbox
is checked. Hit the Print button at the bottom of the UI (it's okay to then
Cancel the print). Then hit Refresh. It should result in an org.children()
is null error.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Thu, 31 Jan 2013 15:51:40 +0000 (10:51 -0500)]
Copy_offset and copy_limit shouldn't persist in URL
Added copy_offset and copy_limit to stop_parms definition so that they
don't persist in URL when returning to search results or launching
subject/series searches.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Ben Shum <bshum@biblio.org>
Serials: Caption/pattern wizard use enum fields for chronology when no enum
MFHD spec says that when there are no ‡a - ‡f enumeration captions, any
chronology captions should move back from their usual ‡i - ‡m places
back into enumeration space.
The predictions engine we already have deals with this better than with
the wrong patterns we were creating before, e.g.:
853 20 ‡81 ‡i(year) ‡j(month) ‡wm
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Scott [Fri, 17 Aug 2012 20:07:19 +0000 (16:07 -0400)]
Deal with opt-in boundaries defensively
If a site had not set an 'org.patron_opt_default' OU setting, then it
seemed that a DEFAULT value was getting dumped into the "create opt-in"
INSERT statement for the org_unit argument, and that (as there is a
non-NULL constraint on the column and no default value for the column)
resulted in the patron not getting opted in.
One way for sites to deal with this is to set an opt-in boundary at the
consortial level, along the lines of:
INSERT INTO actor.org_unit_setting (org_unit, name, value)
VALUES (1, 'org.patron_opt_default', 2);
Alternatively, in the absense of any such setting, opt-in should
continue to work as it had before the new feature was added; this change
keeps the old behaviour active in that case.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Mon, 5 Nov 2012 14:22:55 +0000 (09:22 -0500)]
LP1051112 - Display lineitem commands menu on empty picklists
Ensure that the lineitem commands drop-down menu appears even when the
picklist is empty. Previously, the commands were not displayed until
the first lineitem was retrieved. For empty picklists, of course, there
will be no first lineitem.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Sat, 26 Jan 2013 02:35:13 +0000 (21:35 -0500)]
Documentation: acquisitions updates
Update Search for Line Items from an Invoice section to reflect minor
changes that came with lp1050008. Also, moved received Items from an
Invoice section to fall within the rest of the Invoices section.
Dan Scott [Tue, 8 Jan 2013 22:02:38 +0000 (17:02 -0500)]
TPAC: Prevent numeric subfields in series display
Series fields can theoretically contain linking subfields ($6, $8) and
other numeric subfields that aren't meant to be displayed. So, do not
display them.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Sun, 2 Dec 2012 05:02:25 +0000 (00:02 -0500)]
TPAC - hide subfield 6 and 8 from record title display
Record display previously showed every subfield associated with tag 245
to display the title in TPAC's record view. Hide subfields 6 and 8
because they only show linkage information that does not contribute to
the actual title content.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Ben Shum [Mon, 3 Dec 2012 15:37:43 +0000 (10:37 -0500)]
Update staff client's about page to include newest core committers
The newest core committers were elected during the Evergreen Hack-A-Way on
October 10, 2012:
Jeff Godin, Traverse Area District Library
Benjamin Shum, Bibliomation, Inc.
Jason Stephenson, Merrimack Valley Library Consortium
Also update language of page to reflect that these contributors are now core
"committers" rather than "developers". And move past core committers into
their own section.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 11 Jan 2013 06:32:13 +0000 (01:32 -0500)]
Protect against overly long savepoint names
Per http://postgresql.org/docs/9.1/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS,
the maximum identifier length works out to being 63 bytes (+1 for the
null terminator), so to avoid potential memory pressure by a 10GB string
somehow being passed in as the savepoint name, malloc no more than 64
bytes and copy no more than 63 bytes from the incoming name to the
escaped name.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
When invoking open-ils.{cstore,pcrud,rstore}.savepoint.*, the
caller supplies a name for the savepoint. However, the savepoint
names could be constructed so that the caller could execute
arbitrary SQL. This patch sanitizes the name so that it contains
only alphanumeric and underscore characters.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Jason Stephenson [Mon, 10 Dec 2012 15:29:21 +0000 (10:29 -0500)]
LP1076062: Hold overrides not working properly.
Edit the verify_copy_for_hold helper function to actually work. There
were cases where it would permit a copy when it shouldn't and also
disallow a copy when it should have allowed it. It now makes better
use of the oargs override argument.
If oargs has an events member, the method now removes the matching from
the list of failure events returned by the permit_copy_hold check. It
was previously bugged, stopping on the first matching event, clearing
the list of failed and events, and returning a value to indicate that
the copy is permitted for the hold, even when it may not be.
If oargs has the "all" member and there are failure events remaining,
the function loops through those events checking if the requestor has
the override permission for the event. If the requestor does have the
override permission, then the event is added to oargs->{events} to be
saved for future checks on future copies. It the requestor does not
have the override permission, then the event is pushed onto a new array
of failed events and also onto oargs->{failed}. The latter is kept
to avoid looking up events repeatedly on future copy checks.
The oargs->{failed} member is added as a shortcut to avoid repeatedly
looking up override permissions when the requestor does not have them.
It is actually checked, when present, before the user permission is
checked with a costly database lookup.
Since verify_copy_for_hold has no other way to determine that an override
was requested, it checks for the events and/or all members of oargs being
set and having a value that would evaluate to true. If oargs is undefined,
a hashref with no members, or lacks a "true" events or all member, then
verify_copy_for_hold functions as though no overrides are requested.
Additionally, all functions that call verify_copy_for_hold, either directly
or indirectly, have had their intro logic modified to only set oargs when
an override is requested and oargs is not already set. We make the assump-
tion that if oargs is set, it contains the events member. (Perhaps that is
a poor assumption, but all of the code so far looks like it will work.)
Fix test_and_create_hold_batch so that it passes the oargs parameter into
open-ils.circ.title_hold.is_possible in the way that check_title_hold (the
implementation function) actually expects it to be passed. This also means
that we need to delete oargs from the params hashref before creating the
hold objects, as that would blow up if it were present.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
When the due date and the backdate date are on opposite sides of a DST
boundary we were getting an hour off on the checkin time (using the
original due date's time).
This commit changes it so that instead we just set the hour and minute
values on the backdate date to the due date's versions, leaving the time
zone alone.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Galen Charlton [Fri, 11 Jan 2013 18:11:48 +0000 (13:11 -0500)]
LP#1098669: improve handling of Content Cafe external content in staff client
This patch introduces a new TPac content variable, ctx.ext_proto, to
specify whether external content should be retrieved via HTTP or HTTPS.
ctx.proto can't be used for that purpose since it's set to 'oils' when
TPac is running inside the staff client.
This fixes a bug where Content Cafe reviews wouldn't display in the staff
client bib record page and where clicking on the reviews link from search
results would open an empty window.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 15 Jan 2013 19:08:03 +0000 (14:08 -0500)]
2.3 Release notes update
Merge the edireader and edi_order_template release notes into the 2.3
release notes files. Added a blurb to the Upgrade Notes regarding the
lack of an automatic EDI template upgrade.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Scott [Tue, 15 Jan 2013 03:39:51 +0000 (22:39 -0500)]
Docs: minor formatting fixes for "borrowing items" chapter
* Images need to have a trailing [] ; ideally this would contain the
alt text for the image, but the [] is needed to make the images
show up at all
* Since we're touching the image:: tags anyway, make the filename
extensions consistently lower case
* Fix a processing error; a bulleted list item wrapped so that > was the
first character on a line, which made Asciidoc angry. Easiest thing to
do to avoid this is just to indent the wrapped lines for each bullet
item, but we'll do the minimal thing and just indent this one line
this time.
* Fix one instance of Word "smart quotes" having replaced ye olde single
quotes.
Bill Erickson [Tue, 11 Sep 2012 16:41:08 +0000 (12:41 -0400)]
EDI order template improvements (no SQL upgrade script!)
Improved template for EDI purchase orders. This theoretically just
works better where the old template worked. Corrections made for
interactions with ULS, Midwest Tape, Baker & Taylor, and Recorded Books
especially. GIR segments in the right place.
And also the template is just more maintainable now.
**THERE IS NO UPGRADE SCRIPT INCLUDED**. Sites using EDI may not
necessarily want to mess with what they already have working.
If you want the changes, and maybe you do, especially if you're doing
enriched ordering and/or ordering from the vendors listed above, you can
extract the template changes easily enough yourself from the
950.data.seed-values.sql file.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Thu, 13 Dec 2012 14:44:55 +0000 (09:44 -0500)]
Handle cancelled (back-order) lineitems in EDI invoice
Receiving an invoice for a cancelled lineitem mean the lineitem is no
longer cancelled. Identify such lineitems and uncancel them along with
the requested number of not-yet-invoiced copies.
This work flow is common for back-order items.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 5 Dec 2012 14:34:00 +0000 (09:34 -0500)]
EDI invoice date; invoice paid quantity/amount
* capture the invoice date in EDIReader
* apply the invoice date to inbound invoices when available instead of
defaulting to 'now'
* apply the quantity/amount billed to the quantity/amount paid to reduce
staff data entry needs
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Mon, 3 Dec 2012 19:51:41 +0000 (14:51 -0500)]
EDI response honor lineitem-level status; debit cleanup
* Honor lineitem-level order status info (FTX+LIN) which indicates, in
some cases, that all ordered copies should be cancelled because the LI
as a whole is cancelled
* Delete fund debits for cancelled lineitem details when appropriate
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Mon, 3 Dec 2012 14:20:29 +0000 (09:20 -0500)]
EDI: protect against invalid order response
Do not attempt to createI EDI messages for order responses which
reference nonexistent purchase orders, since it results in
transaction commit errors on invalid foreign keys, preventing
subsequent EDI files from getting processed. Instead, log it
and skip it.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Fri, 28 Sep 2012 14:34:28 +0000 (10:34 -0400)]
Custom/local EDI reader module for ORDRSP and INVOIC (etc)
Provides a new perl module (OpenILS::Utils::EDIReader) for reading
inbound EDI messages and producing data structures more easily
understood by the ACQ code. Through this, extraction of EDI data is
focused in one module instead of spread through various layers.
EDIReader is a small, purpose built module focusing solely on extracting
the needed EDI data and is not meant to be a general purpose EDI library.
* Updates edi_fetcher and the ORDRSP and INVOIC handling code to use the
new libs.
* Removes Business::EDI Evergreen dependency, since it's no longer used (and
is quite large).
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jason Stephenson [Fri, 11 Jan 2013 13:49:11 +0000 (08:49 -0500)]
Fix a data destruction bug when authorities are updated.
Modify the two-argument form of vandelay.merge_record_xml to return
the target_marc when the add_rule, preserve_rule, replace_rule and
strip_rule are all empty.
This method is used by authority.propagate_changes and would replace
the bibliographic record's marc with the overlay template when the
above would happen. By returning the biblographic record entry's own
marc in that case, we prevent data destruction.
Additionally, protect bib and authority template overlay functions
in the same manner.
Commit includes an upgrade script for this change as well as
for the previous commit's authority.generate_overlay_template fix.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Thu, 10 Jan 2013 21:35:44 +0000 (16:35 -0500)]
Only consider main entry headings for bib overlay
Restrict the authority fields we will pull overlay data from to those
that do not subordinate themselves to other authority fields. That
is, skip see-from/see-also/etc for bib overlay.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
LP #1075167: Serials: Avoid infinite loop in holdings summarization
When receiving items with unworkable combinations of holdings and
patterns, the holdings summarization code can get stuck in an infinite
loop. This solution prevents that, sparing the open-ils.serial
process and server resources, although it doesn't help the user out.
It will take further examination of the problem and reëvalution of how
we deal with problems reported by OpenILS::Utils::MFHD to help the
user avoid or resolve these situations.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Acq: When invoice-building with embedded search, allow control of results list
Previously, a results list could accumulate under inconsistent
conditions. You'd get an accumulating results list if you were pressing
enter after successful searches, but your results lists would clear if
you actually clicked the Search button. Worse, searches yielding empty
result sets would *appear* to clear your result list, but subsequent
sucessful searches would restore what was there before.
This is the "missing commit" that makes the behavior consistent and
togglable.
Galen Charlton [Fri, 4 Jan 2013 19:33:28 +0000 (14:33 -0500)]
fix user session management for MARC Batch Edit
The Javascript in the hardcoded page templates was
not checking the XUL stash for the session key when
run from the staff client; this is now needed as
a result of the XULRunner updates introdued by
commit adee850f.
As a consequence, the list of the user's record buckets
was not retrieved, and attempts to run a batch edit
would spin without updating any records.
Ben Shum [Mon, 24 Dec 2012 01:46:02 +0000 (20:46 -0500)]
LP1092937 - fix title/author in alternate pull list
Clicking on Print Full Pull List (Alternate strategy) no longer showed
the title and author columns for hold pull lists.
It seems that adding quotes around the tag lookups was all that was
required to bring these back for now. Long-term, it still seems better
to continue moving towards fewer pull list interfaces.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Addresses LP bug 1016654 - Despite the hint telling users not to use
hyphens when entering a text notification number, we have patrons who
are entering the hyphens causing the text notification to fail.
Munge "pretty printed" numbers into raw sets of digits in the A/T helper.
This allows aliases to still work for services that support them.
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>
Dan Scott [Tue, 30 Oct 2012 16:08:54 +0000 (12:08 -0400)]
Index corporate authors based on relator codes
The existing stock index for corporate authors only kicks in if the
710 subfield 'e' == 'creator', but relator codes (in subfield '4') are
by many accounts a preferred mode of identifying the relationship of an
added entry. Thus, add '4' == ('aut' or 'cre') to the criteria for
indexing a corporate author.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Thu, 20 Dec 2012 19:32:46 +0000 (14:32 -0500)]
LP 1088561 - part 2, fix all update forms to not show saved passwords
Bug re-opened due to locating a few other locations in my account area
where the password was being saved by browsers like Firefox instead of
requiring users to key in current password to make changes.
This patch covers those two additional cases and changes the quoting
around the first case to be more consistent with the rest of the line.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Simon Mai <hieu.mai@mnsu.edu>
Dan Scott [Sun, 16 Dec 2012 14:09:03 +0000 (09:09 -0500)]
TPAC: Fallback default value for facet.default_display_count
Open-ILS/templates/opac/parts/result/facets.tt2 assigns the value of
facet.default_display_count to DEFAULT_DISPLAY_COUNT and then uses the
latter in a number of comparisons. facet.default_display_count is
expected to be defined in config.tt2; however, on upgrade, sites with
many override templates may not realize that they need to define that
value in config.tt2. If they do not, then the result is a strange facet
display where only the facet category header shows, with no facets, and
Apache error log messages like:
Argument "" isn't numeric in numeric gt (>) at
/openils/var/templates/opac/parts/result/facets.tt2 line 72.
This simple defensive fix assigns a fallback default value if one was
not provided in config.tt2
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Sat, 22 Dec 2012 02:15:49 +0000 (21:15 -0500)]
Facets should not be sticky when users click "Search"
We were using a hidden form variable to track which facets were in use,
at the same time as relying on the GET params to actually display the
facets, and munging the links on the remaining facets to properly
add/subtract facets.
The result of the hidden form variable was that:
1) clicking the Search button would unexpectedly result in the facet
applying to the new search (wat)
2) applying two facets at once and then searching again would result
in the facet vars being treated as a raw array.
Thanks to Dan Pearl for inspiring this patch with his fix for the latter
problem, and Kathy Lussier's recognition of the basic problem.
Bill Erickson [Fri, 14 Sep 2012 19:30:15 +0000 (15:30 -0400)]
Consistent permission filtering in ACQ search results
Add permission checks to search result objects when calling unified
search in 'idlist' mode, consistent with the existing permission checks
for non-id-list mode. Without this, different forms of the call return
different sets of results.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
LP #1092179 FlattenerGrid Filter dialog lead to clobbering grid's base query
You could see this in the Simplified Hold Pull List interface. Using
the filter dialog would refresh the grid and populate it with rows
corresponding to your filters, but it would throw away your setting from
the context org dropdown (labeled "Show the pull list for..." there).
FlattenerGrid had a broken mechanism for trying to nicely mix a user's
input from things like context org dropdowns with whatever they put into
the filter dialog, and now that mechanism has been fixed.
This also means a tiny change to the User Event Log interface to react
to the slight change in FlattenerGrid's API.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Simon Hieu Mai [Wed, 19 Dec 2012 20:33:54 +0000 (14:33 -0600)]
LP#1088561: remove current password (renew password issue with TPAC)
If a user chooses to have their browser remember their password for the
catalog, it can fill in the password to the change password form page
as hidden dots. This behavior was observed specifically with Firefox.
Instead, add autocomplete="off" attribute to the form to force users to
enter existing password to change to a new password as intended.
Signed-off-by: Simon Mai <hieu.mai@mnsu.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Tue, 18 Dec 2012 20:51:12 +0000 (15:51 -0500)]
Make config.update_coded_value_map() consistent
The version of this function in the upgrade file is different than
the one in the 002.schema.config.sql file. This commit fixes the
broken logic in the 002 file and makes it match the logic in the
old upgrade file.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Dan Scott <dscott@laurentian.ca>
James Fournie [Tue, 18 Dec 2012 20:45:51 +0000 (12:45 -0800)]
Check for a selection_depth returned from title_hold.is_possible.
See Launchpad 1064651 for details. This is a quick fix which solves a
fairly serious issue whereby copies outside of a hard boundary could fill
holds when they are placed within the TPAC in the staff client.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Scott [Tue, 18 Dec 2012 13:52:55 +0000 (08:52 -0500)]
Dojo IDL: Set the "Accept-Language" header
The internationalization support for /reports/fm_IDL.xml keys off of the
Accept-Language header - which, if not set to ^[a-z]{2}-[A-Z]{2}$, falls
back to en-US. Setting the header in the dojo.xhrGet() request makes
Apache able to serve up the right flavour of /reports/fm_IDL.xml
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Dan Scott [Tue, 18 Dec 2012 12:39:18 +0000 (07:39 -0500)]
Set locale properly in Apache configuration
A RewriteCond only applies to the next RewriteRule, while our config was
attempting to apply multiple rules for a single condition. Fix that up
by using skip (S) rules to apply blocks of rules for the condition in
question.
Also, use the HTTP:Accept-Language value directly, rather than relying
on a backreference (which did not seem to be working as desired).
These fixes enable screens like the Register Patron interface to present
field labels from the IDL in the correct locale, whereas previously they
would always default to en-US.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Pasi Kallinen [Sun, 2 Dec 2012 20:49:42 +0000 (22:49 +0200)]
LP#1078596: Cannot translate strings handled by fieldmapper
Strings that should be translatable only show up in English,
for example in the Patron Registration screen.
There's a bug in the fieldmapper where it sets a variable to
an empty array, but later in the code only checks whether that
particular variable exists, not if it's an empty array.
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Bill Erickson [Tue, 4 Dec 2012 16:04:08 +0000 (11:04 -0500)]
ACQ: repair lineitem cancel-reason fleshing
When fetching lineitems for display in the general lineitem list page,
if the lineitem is cancelled, be sure we correctly retrieve the
cancel-reason object.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Tue, 6 Nov 2012 21:32:23 +0000 (16:32 -0500)]
Fix foreign character display in receipts
This commit makes two changes to the staff client print code to
help with the proper display of foreign characters:
1) Specify the utf-8 charset in the receipt Data URIs.
2) Properly encode the entire data string using encodeURIComponent
rather than encode(). Failing to do so was causing XULRunner to
be "creative" with the interpretation of the data.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Michael Peters [Thu, 13 Sep 2012 20:28:04 +0000 (16:28 -0400)]
LP#1047475 Set action.hold_request.email_notify to default to false
LP#1047475 points out that email notify prefs are ignored in TPAC.
Even if a patron deselects email notify during hold request time, it
will always be set to true due to the column default.
This change defaults the column in the database to false (like most
other similar columns are) and resolves the bug.
Credit to Steve Callender for the idea.
Signed-off-by: Michael Peters <mrpeters@library.in.gov> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Pearl [Tue, 11 Dec 2012 15:13:41 +0000 (10:13 -0500)]
LP: #1086064 Ignore spaces in opac username/barcode entry field
Too often, patrons copy the spacing on the barcode on their keytag,
or enter a spurious space before entering their name/barcode. This
change will remove spaces in their name/barcode.
(For now, keep the login screen's directions to omit spaces when
entering the username/barcode.)
Signed-off-by: Dan Pearl <dpearl@cwmars.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Tue, 4 Dec 2012 15:08:36 +0000 (10:08 -0500)]
Highlight selected facets over multiple lines
As reported by Dan Pearl in LP# 1086150, selected facets that wrap over
multiple lines only have the first line highlighted. Which is odd, and
easily fixed with a small tweak to the CSS.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>