Bill Erickson [Mon, 1 Aug 2011 13:00:30 +0000 (09:00 -0400)]
Bypass install_filter mem leak via direct insertion
See https://rt.cpan.org/Ticket/Display.html?id=46691
On the one hand we have a memory leak, on the other we have a bug caused
by the fix to the memory leak. Bypass this altogether and insert the
filter manually into the template environment using Template's FILTER
configuration argument. This has the added bonus of simplifying the
i18n filter code.
Since the filter is manually inserted, it's not necessary (and possibly
counter-productive) to USE the filter directly in the template.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Sort copies on record detail page with copies belonging to "sort org unit" first
"sort org unit" needs to eventually be an abstract concept that could
either refer to "orig_loc" or to "loc" or perhaps be skipped altogether,
depending on some future configuration.
Bill Erickson [Thu, 28 Jul 2011 15:36:23 +0000 (11:36 -0400)]
Redirector support for T-pac
Includes new Apache configuration option:
PerlSetVar OILSRedirectTpac "true"
"Original location" is tracked initially as a URL param (orig_loc), but
is ultimately absorbed into a cookie (eg_orig_loc) since the URL param
would otherwise have to be propagated to every page.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 27 Jul 2011 18:40:46 +0000 (14:40 -0400)]
Metarecord list on results page
Added a new ?metarecord=<mrid> param to opac/results page to list
records associated with a given metarecord ID. This is used as page 2
of the (pending) metarecord search process as well 'show in catalog'
for embedded staff client metarecord holds.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
In the process, had to change the checkbox/cgi param name of the misc
fees to xact_misc and tell the middle layer to lump xact together with
xact_misc. Should test carefully.
Michael Peters [Wed, 20 Jul 2011 15:09:40 +0000 (11:09 -0400)]
LP#647121 Event handling on override abort
Discussed on IRC, phasefx discovered that several events were not being properly
handled when they were empty strings. Tested and working on Evergreen 2.0.4.
Signed-off-by: Michael Peters <mrpeters@library.in.gov> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
This implements the same update as 0582.schema.aging_circ_view.sql,
and exists purely the the sake of avoid a potential upgrade
glitch for somebody who's upgrading from 2.0.8+ that includes
a version of this fix that's not compatible with with 2.1+.
Dan Wells [Tue, 19 Jul 2011 16:02:17 +0000 (12:02 -0400)]
MFHD compressed holding fixes
1. Add new utility method to MFHD.pm:
holdings_by_caption(): return all holdings attached to a
given caption
2. Add 'passthru_open_ended' option to get_decompressed_holdings()
Previously, attempts to decompress an open-ended holding
would error out. Now, in the absence of this option,
open-ended holdings are discarded and you get a warning
(since they cannot logically be decompressed), while if
this option is 'true' they are passed back unaffected
3. compressed_to_last() on an open-ended holding now more
correctly returns 'undef' rather than the unaltered holding
4. get_compressed_holdings() will now honor an open-ended holding
by treating it as "infinite", and thus absorbing any holdings
which would follow
5. Overloaded comparison operator now correctly detects "swap"
cases (where only the second operand is a holding)
6. Overloaded comparison operator now consistently treats
open-ended holdings as "greater-than" a single or closed
holding which has the same starting point
7. Fix 2 thinkos in comparison operator for overlapping
compressed holdings
8. Add new compressed_end() method to Holding.pm which can add
or set a new ending to a holding, making compressed if needed
9. Correctly recognize partially compressed holdings
If a holding is defined as:
863 40 $81.1 $a1 $b2-10
this actually means:
863 40 $81.1 $a1-1 $b2-10
so let's make sure to treat it that way.
9. Expand the MFHD test suite to better cover the improvements
in this commit
There is also the beginnings of a _get_truncated_holdings()
method for handling odd cases where an open-ended holding is
followed by a single/closed holding, but it is currently
commented out, pending further design consideration.
The correct use of these settings are that when /any/ type of hold is
attempted at a given pickup lib, if either of those settings are true in
the context of said pickup lib, and there are copies in an available
status at the pickup lib already, inform the user before placing the
hold. In the alert case, the user can place the hold anyway with
another click. In the block case, there's an end on't. Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Mon, 18 Jul 2011 15:43:13 +0000 (11:43 -0400)]
Remove extraneous COMMIT message in 950 seed data
The extra COMMIT message didn't hurt when creating a new schema, but did
result in a warning message that could cause confusion. So, get rid of
it to avoid that.
James Fournie [Mon, 6 Jun 2011 17:00:22 +0000 (10:00 -0700)]
Spine label editor assumes LC as reported in LP #780665.
This patch encapsulates the LC-assuming code in an IF block which
considers the asset.call_number.volume.label_class. If that is equal to
3, it will use the LC formatting.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca> Signed-off-by: Dan Scott <dan@coffeecode.net>
LP795032 Fix cursor rendering and dropdown position in holdings maintenance OU dropdown Signed-off-by: mrpeters-isl <mrpeters@library.in.gov> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Fixes multiple potential issues:
1 - Bad home ou on patron breaks circ rules
Ex. Patron edited while editor would let you pick bad home ou
2 - Item not allowed to circ at patron home ou
Ex. Patron went to where they were allowed to pick it up
3 - Fines change to patron home ou fine rules
Ex. Patron's home ou doesn't charge fines but circ lib does
Ex. Circ lib doesn't charge fines but Patron's home ou does
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Wells [Thu, 7 Jul 2011 21:18:16 +0000 (17:18 -0400)]
Make spell-checking case insensitive
As it stands, if you search for a proper noun using
lower case, but manage to trigger the "did you mean"
functionality, all the words are 'corrected' even if
just the case is wrong. However, we are stripping
out the best correction precisely because it is the
same word, different case. It is a bit confusing to
explain, but here is an example:
daniel potatoe
gets corrected to:
Daniela potato
This happens because the current spell check is case
sensitive, so 'daniel' is spelled wrong, but then we
remove 'Daniel' from the list of corrections
(presumably to avoid possibly suggesting terms which
would yield the same exact result set).
So, we either need to make the spell-check itself case
insensitive, or stop removing the re-cased corrections.
Since the catalog search itself is already
case-insensitive, I think it makes sense that the spell
check should follow suit.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Allow overriding some hold events when permissions apply
Works fine now for HOLD_EXISTS and HOLD_ITEM_CHECKOUT_OUT, at least
But this was also supposed to work with these org settings:
circ.holds.hold_has_copy_at.alert
circ.holds.hold_has_copy_at.block
which are supposed to define behavior when the user wants to place a
(copy- or volume-level only?) hold on an item at a branch that's not his
home_ou but his home_ou has an available copy.
Anyway, the open-ils.circ.title_hold.is_possible method is supposed to
return information about whether local copies are available to support
such a function, but it doesn't seem to do so. I think. Will revisit.
Bill Erickson [Tue, 12 Jul 2011 21:39:37 +0000 (17:39 -0400)]
Vandelay item import copy location inheritance
When importing items that have a copy location configured and no such
location exists at the copy's owning/circ lib, Vandelay will now use
copy locations from ancestor org units as appropriate.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Corrected the logic of format string building for metarecord holds and...
made hold possiblity checking for metarecord holds respect the format
string (so you can't place holds on formats for which there will never
be anything targetable)
Made possible by much concerted effort from Mike Rylander