working/Evergreen.git
14 years agoadjust legacy xul column definitions for dates/timestamps to ensure correct sorting collab/phasefx/xul_date_sort_rel_2_0
Jason Etheridge [Wed, 20 Jul 2011 05:29:43 +0000 (01:29 -0400)]
adjust legacy xul column definitions for dates/timestamps to ensure correct  sorting

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoremove circ.util.std_map_row_to_columns; default to the one provided by list.js
Jason Etheridge [Mon, 18 Jul 2011 21:17:30 +0000 (17:17 -0400)]
remove circ.util.std_map_row_to_columns; default to the one provided by list.js

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoBetter sort support for xul lists (see launchpad bug ://bugs.launchpad.net/evergreen...
Jason Etheridge [Mon, 18 Jul 2011 19:27:22 +0000 (15:27 -0400)]
Better sort support for xul lists (see launchpad bug ://bugs.launchpad.net/evergreen/+bug/751745)

Example of supplying a sort_value function for item Create Date, and automatic sort_value for fm_columns-generated timestamp and money column definitions.
Need to provide more such functions, and eventually move everything over to fm_columns

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoNOVELIST/CHILIFRESH include statements missing a hash which was causing (none) errors.
James Fournie [Fri, 10 Jun 2011 18:27:47 +0000 (11:27 -0700)]
NOVELIST/CHILIFRESH include statements missing a hash which was causing (none) errors.

Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
14 years agosort hold Queue Position column correctly in xul lists
Jason Etheridge [Wed, 20 Jul 2011 05:49:07 +0000 (01:49 -0400)]
sort hold Queue Position column correctly in xul lists

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
14 years agoLP#647121 Event handling on override abort
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>
14 years agoMFHD compressed holding fixes
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.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
14 years agoThinko in my backport of 0582 to 2.0, spotted in the wild by Lee Dickens
Mike Rylander [Tue, 19 Jul 2011 18:30:44 +0000 (14:30 -0400)]
Thinko in my backport of 0582 to 2.0, spotted in the wild by Lee Dickens

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agolp#812550: Removed nulls from showing for patron penalties when no note attached...
Steven Callender [Mon, 18 Jul 2011 20:26:13 +0000 (20:26 +0000)]
lp#812550: Removed nulls from showing for patron penalties when no note attached to penalty.

Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agoAddress minor code formatting consistency
Dan Scott [Mon, 18 Jul 2011 15:00:26 +0000 (11:00 -0400)]
Address minor code formatting consistency

The rest of the code has spaces around the conditional clause in an if()
statement, so do likewise here.

Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoSpine label editor assumes LC as reported in LP #780665.
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>
14 years agofix bill ui display update bug where total owed and total checked were not updated...
Jason Etheridge [Thu, 14 Jul 2011 20:03:42 +0000 (16:03 -0400)]
fix bill ui display update bug where total owed and total checked were not updated if the total owed as paid off in full

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoStamping upgrade script for "Bad join condition all_circulation view"
Mike Rylander [Sat, 16 Jul 2011 16:59:09 +0000 (12:59 -0400)]
Stamping upgrade script for "Bad join condition all_circulation view"

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoBad join condition in secondary (physical) address lookup, causing terrible performan...
Mike Rylander [Sat, 16 Jul 2011 16:53:13 +0000 (12:53 -0400)]
Bad join condition in secondary (physical) address lookup, causing terrible performance of circ aging

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoLP795032 Fix cursor rendering and dropdown position in holdings maintenance OU dropdown
mrpeters-isl [Wed, 13 Jul 2011 13:42:54 +0000 (09:42 -0400)]
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>
14 years agoStamping upgrade script for "Opac Renewal at original circ library"
Mike Rylander [Sat, 16 Jul 2011 14:30:29 +0000 (10:30 -0400)]
Stamping upgrade script for "Opac Renewal at original circ library"

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoDefault to existing behaviour for the new circ-behaviour global flag
Mike Rylander [Sat, 16 Jul 2011 14:22:51 +0000 (10:22 -0400)]
Default to existing behaviour for the new circ-behaviour global flag

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoCache global flag at first use
Thomas Berezansky [Tue, 5 Jul 2011 20:33:41 +0000 (16:33 -0400)]
Cache global flag at first use

This way only the first opac renewal per backend has to ask the database for the global flag.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoUnwrapped upgrade script
Thomas Berezansky [Tue, 5 Jul 2011 16:15:19 +0000 (12:15 -0400)]
Unwrapped upgrade script

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoOpac Renewal at original circ library
Thomas Berezansky [Sat, 2 Jul 2011 16:50:36 +0000 (12:50 -0400)]
Opac Renewal at original circ library

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>
14 years agoStamping upgrade script for "Prevent OU loops at DB level"
Mike Rylander [Sat, 16 Jul 2011 14:10:26 +0000 (10:10 -0400)]
Stamping upgrade script for "Prevent OU loops at DB level"

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoUnwrapped upgrade script for ou loop protect
Thomas Berezansky [Thu, 16 Jun 2011 02:03:47 +0000 (22:03 -0400)]
Unwrapped upgrade script for ou loop protect

May need to be split into "create function" and "add trigger" pieces.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoPrevent OU loops at DB level
Thomas Berezansky [Thu, 16 Jun 2011 02:03:38 +0000 (22:03 -0400)]
Prevent OU loops at DB level

Database trigger to prevent actor.org_unit from being parent of self

Actually detects any loops, even those above the current point

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoCorrected the logic of format string building for metarecord holds and...
Lebbeous Fogle-Weekley [Thu, 14 Jul 2011 20:41:42 +0000 (16:41 -0400)]
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

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
14 years agostrip \r in upgrade script
Galen Charlton [Thu, 14 Jul 2011 13:14:30 +0000 (09:14 -0400)]
strip \r in upgrade script

For whatever reason, presence of this character causes
the script to fail if run from within sloink_execute_script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agofor realz, this time
Galen Charlton [Wed, 13 Jul 2011 15:00:27 +0000 (11:00 -0400)]
for realz, this time

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agofix backporting thinko
Galen Charlton [Wed, 13 Jul 2011 14:59:15 +0000 (10:59 -0400)]
fix backporting thinko

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agopin an upgrade version for fix_maintain_901_quoting
Jason Etheridge [Tue, 12 Jul 2011 21:55:54 +0000 (17:55 -0400)]
pin an upgrade version for fix_maintain_901_quoting

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoupgrade script for bugfix for lp#809540
Galen Charlton [Tue, 12 Jul 2011 20:56:10 +0000 (16:56 -0400)]
upgrade script for bugfix for lp#809540

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agolp#809540: quote replacement values properly in maintain_901()
Galen Charlton [Tue, 12 Jul 2011 20:51:31 +0000 (16:51 -0400)]
lp#809540: quote replacement values properly in maintain_901()

Prevents a failure if, for example, the tcn_value of a bib to be
added or updated contains the string '\1'.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoalert the user when the OPAC's Quick Search->Item Barcode function returns a pre... user/gmcharlt/opac_precat_2_0
Jason Etheridge [Tue, 12 Jul 2011 18:36:37 +0000 (14:36 -0400)]
alert the user when the OPAC's Quick Search->Item Barcode function returns a pre-cataloged item

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agoappend line items to table in specified order
Galen Charlton [Mon, 11 Jul 2011 19:09:34 +0000 (15:09 -0400)]
append line items to table in specified order

Prior to this patch, the order that line items were displayed
in (e.g.) a purchase order view was effetively randomized based
on the amount of time it would take for async calls to fetch
additional line item details to return.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
14 years agoBackport of staff_search_find_no_copies branch from Thomas Berezansky
Mike Rylander [Thu, 7 Jul 2011 18:34:20 +0000 (14:34 -0400)]
Backport of staff_search_find_no_copies branch from Thomas Berezansky

Hand-backport of:
 4d0dae6ee876830cb87ee393a41fcdc478ecc6b0
 9a356a2371930c76554fd3dc5a7d10dc21cf914a
 a45184da2ac9f490886ebde47fcc8af4227afcf0

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoDelete protection - Ensure you can touch group
Thomas Berezansky [Thu, 16 Jun 2011 21:03:36 +0000 (17:03 -0400)]
Delete protection - Ensure you can touch group

Same protection editing a user seems to get:
If you don't have the right group_application.user perm, reject

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
14 years agoLP805971: Specify UTF8 encoding in password reset templates
Dan Scott [Tue, 5 Jul 2011 15:08:31 +0000 (11:08 -0400)]
LP805971: Specify UTF8 encoding in password reset templates

As reported by Liam Whalen in Launchpad bug 805971: "The file
/openils/var/template/password-reset/reset-form.tt2 does not display
utf-8 characters.  I modified it to include '<meta
http-equiv="Content-Type" content="text/html; charset=UTF-8" />' inside
the <head> tag, and the fr-CA version of the page now displays
correctly."

I duplicated the problem in Firefox 5 and confirmed that the addition of
the META tag corrects the problem.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
14 years agoMerge branch 'rel_2_0' of git.evergreen-ils.org:Evergreen into rel_2_0
Mike Rylander [Tue, 28 Jun 2011 18:07:17 +0000 (14:07 -0400)]
Merge branch 'rel_2_0' of git.evergreen-ils.org:Evergreen into rel_2_0

14 years agoUpdate upgrade script and correct version number in 0561
Mike Rylander [Tue, 28 Jun 2011 18:06:49 +0000 (14:06 -0400)]
Update upgrade script and correct version number in 0561

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoMichael Peters provided a patch to add some missing labels...
Lebbeous Fogle-Weekley [Tue, 28 Jun 2011 16:00:18 +0000 (12:00 -0400)]
Michael Peters provided a patch to add some missing labels...

... to a key acquisitions interface.  It works.  Also fixed
some unclosed tags while I was at it.

Wasn't sure whether to copy and paste Michael's sign-off or what, but
here's the link to his original patch for purists:
https://launchpadlibrarian.net/74191964/0001-LP802578-Acquisitions-Batch-copy-update-missing-head.patch

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
14 years agoFix broken images for items without ISBNs in search results
Dan Scott [Fri, 24 Jun 2011 14:44:43 +0000 (10:44 -0400)]
Fix broken images for items without ISBNs in search results

The search results code happily sets the src attribute of the cover
image to an empty string (as returned by cleanISBN()) if currentISBN has
not been defined (which is generally the case if an item doesn't have an
ISBN, such as a DVD or a thesis or an old book).

Protect against the empty string and set the src attribute to
'/opac/images/blank.png' to avoid broken image indicators in search
results.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoCheck if hold is really available in Trigger::Validator.
Jason Stephenson [Wed, 22 Jun 2011 14:48:58 +0000 (10:48 -0400)]
Check if hold is really available in Trigger::Validator.

Add checks for shelf time and no fulfillment time in
HoldIsAvailable in OpenILS::Application::Trigger::Validator.

We've had some issues with poorly migrated data and people
messing with holds that causes the original logic to trigger
for unfilled holds. Plus, the extra precaution of checking
more precise conditions of an actually filled hold can't hurt,
can it?

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoMake bucket content retrieval authoritative
Mike Rylander [Wed, 22 Jun 2011 14:43:02 +0000 (10:43 -0400)]
Make bucket content retrieval authoritative

LP#492036, we neeed all bucket methods to be authoritative.  Some already were, this finishes the job.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoLP#790639: Provide actual text, rather than id values in patron search results for...
Michael Peters [Wed, 22 Jun 2011 14:14:55 +0000 (10:14 -0400)]
LP#790639: Provide actual text, rather than id values in patron search results for various columns

Cleaned up some tabs versus spaces and a needless trailing comma from original patch.  Not porting to master, hoping to use collab/phasefx/fm_columns instead.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
14 years agoFurther clean-up of Serials interfaces
Dan Wells [Tue, 21 Jun 2011 21:09:58 +0000 (17:09 -0400)]
Further clean-up of Serials interfaces

When trying to come up with good tests, found a few bugs (imagine!).
Some have been nagging for a while now.

1) For 'MFHDDrawn' event, make sure it runs if deleting the last
serials data of any kind for that record (to unpopulate the menus
properly)

2) Make sure global mfhd member (g.mfhd) is cleared in the same case
(i.e. deleting the last serials data for that record)

3) Add a string to better indicate when no MFHD records are available
for 'Legacy Record Entry' drop-down

4) Convert submitted empty drop-down values to 'null' as needed in
distribution editor

5) Mark subscription 'start date' as a required field

6) Make serial virtual records better handle deleted 'legacy record
entries' attached to distributions, and also expose non-deleted
record entries even if in 'use_sdist_only' summary mode

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoBetter coordination of MFHD/SRE adding/deleting
Dan Wells [Fri, 17 Jun 2011 19:26:39 +0000 (15:26 -0400)]
Better coordination of MFHD/SRE adding/deleting

Adding or deleting MFHD records from the XUL menus requires
coordinating the OPAC display, the XUL menus, and the Serial
Control distribution editors.  The previous code frequently
required some non-obvious manual refreshing to make it work.

This commit keeps them in sync using custom events instead.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoMFHD compressed holdings short-circuit logic
Dan Wells [Tue, 21 Jun 2011 15:44:10 +0000 (11:44 -0400)]
MFHD compressed holdings short-circuit logic

If you attempt to get compressed (or uncompressed) holdings from
a MFHD record with only a caption, the code should short-circuit
and return an empty list.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoLP#783590 fix patron alert message highlighting
Michael Peters [Tue, 21 Jun 2011 15:57:39 +0000 (11:57 -0400)]
LP#783590 fix patron alert message highlighting

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoAdd "tnf" index for faster title sorting (pre-SVF)
Mike Rylander [Tue, 21 Jun 2011 15:41:22 +0000 (11:41 -0400)]
Add "tnf" index for faster title sorting (pre-SVF)

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoSet AC timeout value to 3 seconds and describe tradeoffs
Dan Scott [Fri, 17 Jun 2011 16:30:12 +0000 (12:30 -0400)]
Set AC timeout value to 3 seconds and describe tradeoffs

As discussed on the Evergreen Development mailing list, the higher the
AC timeout value, the greater the risk of a denial of service. 30 is
therefore too high to be comfortable as a default setting, so we're
dropping it down to 3 as a compromise between the original value of 1
(which resulted in a number of request timing out where added content
was actually available) and the much-less-safe 30.

In addition, we document inline the risk/reward of different values and
provide some justification for the default value that we chose, so that
Evergreen system administrators will have guidance when tweaking this
setting.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoDROP biblio.reingest_uris() after use
Dan Scott [Mon, 20 Jun 2011 15:16:21 +0000 (11:16 -0400)]
DROP biblio.reingest_uris() after use

We will hopefully only need to reingest URIs in bulk once, and can
therefore DROP the biblio.reingest_uris() function after it has been
successfully invoked.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agoProtect URI reingest from failure due to malformed XML
Dan Scott [Mon, 20 Jun 2011 14:56:44 +0000 (10:56 -0400)]
Protect URI reingest from failure due to malformed XML

In an ideal world, there would be no malformed XML. But our world is the
real world of libraries, and while the well_formed_xml() protects
against malformed XML in Evergreen 2.0 systems, in some cases bad XML
has been able to find its way into Evergreen systems in the past.

A single biblio.record_entry row containing malformed XML in the marc
column will prevent the call to reingest URIs from succeeding. By
limiting the set of records to those with well-formed XML, we can
increase the chance of the URI reingest succeeding at the cost of more
processing time.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agoIncorporate explode_array -> unnest change and fix for located URIs into upgrade... collab/gmcharlt/rel_2_0_7_db_update
Mike Rylander [Mon, 20 Jun 2011 14:37:32 +0000 (10:37 -0400)]
Incorporate explode_array -> unnest change and fix for located URIs into upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoMerge branch 'rel_2_0' of git.evergreen-ils.org:Evergreen into collab/gmcharlt/rel_2_...
Mike Rylander [Mon, 20 Jun 2011 14:24:33 +0000 (10:24 -0400)]
Merge branch 'rel_2_0' of git.evergreen-ils.org:Evergreen into collab/gmcharlt/rel_2_0_7_db_update

14 years agoRepaired exchange rate PO activation bug
Bill Erickson [Thu, 16 Jun 2011 15:50:16 +0000 (11:50 -0400)]
Repaired exchange rate PO activation bug

Code was using the wrong hash key to read data from cstore request,
resulting in a NULL debit amount when activating a PO with a different
provider => fund currencies.  This resulted in POs that could not be
activated.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
14 years agoMove the user/dbs/lp797304_lp797307 upgrade script into place with a number
Mike Rylander [Thu, 16 Jun 2011 14:16:39 +0000 (10:16 -0400)]
Move the user/dbs/lp797304_lp797307 upgrade script into place with a number

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoMerging branch user/dbs/lp797304_lp797307
Mike Rylander [Thu, 16 Jun 2011 13:50:25 +0000 (09:50 -0400)]
Merging branch user/dbs/lp797304_lp797307

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Cherry picking the following:

commit 7be2a32620587af27de4316e42a308e913e9314c
Author: Dan Scott <dan@coffeecode.net>
Date:   Tue Jun 14 22:35:26 2011 -0400

    Add a stored procedure to reingest problematic URIs

    Assuming that href = label in asset.uri is a red enough flag for the
    problem in LP 797307 where the perfectly good label was being thrown
    away, reingest the unique set of records connected with such asset.uri
    rows.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
commit 39fe0c4a8a3074ff4c1e427ad9f00a0760bac260
Author: Dan Scott <dan@coffeecode.net>
Date:   Tue Jun 14 21:54:51 2011 -0400

    Add unwrapped upgrade script for biblio.extract_located_uris

    See XXXX.biblio.extract_located_uris.sql for the upgrade script, waiting
    to be signed off and committed.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.biblio.extract_located_uris.sql

commit 7e6d2bfd7e9a5cbe57e4aacdf0b4b015a566883d
Author: Dan Scott <dan@coffeecode.net>
Date:   Tue Jun 14 21:34:15 2011 -0400

    Avoid duplicate row issues in biblio.extract_located_uris

    As there is currently no unique constraint on the non-ID columns of
    asset.uri, ensure that we only select a single ID from the tables until
    we dedupe the tables. Use an ORDER BY to grab the matching row with the
    lowest ID so we can clear out the rows with higher IDs.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
commit e79a805299ec734a29ee5bfa77dc74bc1fd208cd
Author: Dan Scott <dan@coffeecode.net>
Date:   Tue Jun 14 14:02:49 2011 -0400

    Fix LP 797304 and 797307 - asset.uri parsing bugs

    Per 797304: one would expect asset.uri.label to be populated with the
    value of 856 $y, however, it was getting populated with 856 $u - perhaps
    as a result of the ordering of array entries in XPATH() not matching the
    XPath expression. Instead of including 856 $u in the XPath expression
    for uri_label, just assign its value to uri_label if uri_label is
    otherwise NULL.

    Per 797307: biblio.extract_located_uris() tries to reuse an existing
    active asset.uri entry rather than create a new row; however, it does
    not handle the case where there is no public note aka "use restriction"
    and will end up creating a duplicate row every time the record is
    reingested. Teach it to handle NULL values properly.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
(cherry picked from commit da70b778268afff19c3dd4f2e9e4c9e85cfeb7e3)

Signed-off-by: Mike Rylander <mrylander@gmail.com>
(cherry picked from commit 6019d97c2a0604675cd0c00ec747f248f3f79849)

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agolp797321: Disable the Apply Payment button during payment processing to mitigate...
Jason Etheridge [Wed, 15 Jun 2011 07:13:50 +0000 (03:13 -0400)]
lp797321: Disable the Apply Payment button during payment processing to mitigate chance of duplicate payments.

I can't actually reproduce the creation of duplicate payments locally with
trunk/2.x, but there are reports of it, and this doesn't seem to hurt.  Not
a complete solution, but better than before

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agoFix a serial batch receive problem reported by Sally Fortin
Lebbeous Fogle-Weekley [Mon, 13 Jun 2011 20:40:07 +0000 (16:40 -0400)]
Fix a serial batch receive problem reported by Sally Fortin

That prevents receiving items when not using units in some cases.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
14 years agoSet a more generous AC timeout value
Dan Scott [Mon, 13 Jun 2011 19:34:03 +0000 (15:34 -0400)]
Set a more generous AC timeout value

A timeout value of 1 second is a bit too tight for many added content
providers; set the default to 30 seconds to avoid too many artificial
timeouts.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
14 years agoSupport for required fields in Serial Control editors
Dan Wells [Tue, 7 Jun 2011 16:06:57 +0000 (12:06 -0400)]
Support for required fields in Serial Control editors

Adds a basic check for any fields marked as 'required', and alerts and
prevents submitting if they are blank.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
14 years agoRemove all references to Cookie(s).js and Cookies.js
Dan Scott [Tue, 31 May 2011 17:55:29 +0000 (13:55 -0400)]
Remove all references to Cookie(s).js and Cookies.js

Dojo toolkit is the new Cookie manager, so any lingering
references to Cookie.js (a typo in any case) are no longer
valid, and we no longer need to ship Cookies.js with
Evergreen.

Cookie.js typo was reported by Steven Chan in LP 790429

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoUse the new status.opac_visible attribute in search summary
Dan Scott [Tue, 7 Jun 2011 14:16:25 +0000 (10:16 -0400)]
Use the new status.opac_visible attribute in search summary

Until we exposed the OPAC visibility of the status element as set in
config.copy_status, We previously had to hardcode the logic for whether
a given copy should be displayed based on its status. Now we can simply
use the status.opac_visible attribute to determine visibility.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
14 years agoAdd opac_visible attribute to copy and serial unit statuses
Dan Scott [Tue, 7 Jun 2011 14:09:57 +0000 (10:09 -0400)]
Add opac_visible attribute to copy and serial unit statuses

config.copy_status defines an opac_visible column, but that attribute
was not being exposed in the holdings XML, so code that displayed copies
and serial units based on the holdings XML had to hardcode the display
based on the status ID or name instead of using the configured setting.

To simplify display logic, teach holdings XML about the opac_visible
column and expose its value in the status element as a new opac_visible
attribute.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
14 years agoMake copy status visibility match default config.copy_status settings
Dan Scott [Mon, 6 Jun 2011 17:38:17 +0000 (13:38 -0400)]
Make copy status visibility match default config.copy_status settings

Previous version of this patch had hardcoded copy status settings to
0, 7, 12 to match the "Available" settings, rather than the OPAC
visibility settings available from config.copy_status for each status.

Until config.copy_status.opac_visible translates into an opac_visible
attribute on the status element in the holdings XML, this is probably
the best we can do.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
14 years agoPlug the many OPAC visibility holes in search result item display
Dan Scott [Tue, 31 May 2011 02:49:00 +0000 (22:49 -0400)]
Plug the many OPAC visibility holes in search result item display

Check volume and circ_lib and copy status OPAC visibility (and
deleted status in the case of volumes) in addition to the existing
copy and copy-location checks.

Worst hack is hard-coded copy status IDs of 0, 7, 12 - but this is
currently used throughout the code, so one more can't hurt that much
(OWWW).

Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoRemove 2.1 bits that infiltrated 2.0 database upgrades
Dan Scott [Mon, 13 Jun 2011 00:23:47 +0000 (20:23 -0400)]
Remove 2.1 bits that infiltrated 2.0 database upgrades

Core schema was fine, but the cherry-picked upgrade script didn't show
any conflicts (naturally) so some pieces of the 2.1 schema that don't
exist in 2.0 made their way into the 0554 upgrade script.

Thanks to Ben Shum for catching this.

Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoUpdate upgrade files that had conflicting numbers
Dan Scott [Sat, 11 Jun 2011 11:05:53 +0000 (07:05 -0400)]
Update upgrade files that had conflicting numbers

0549 and 0550 were taken by other commits over time.

Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoMerge branch 'rel_2_0' of git.evergreen-ils.org:Evergreen into dbs/unnest_2_0
Dan Scott [Sat, 11 Jun 2011 11:15:55 +0000 (07:15 -0400)]
Merge branch 'rel_2_0' of git.evergreen-ils.org:Evergreen into dbs/unnest_2_0

14 years agostart 2.0.6 to 2.0.7 DB upgrade script
Galen Charlton [Fri, 10 Jun 2011 21:34:51 +0000 (17:34 -0400)]
start 2.0.6 to 2.0.7 DB upgrade script

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agolp#795737: improve staff bib search copy visibility check
Galen Charlton [Fri, 10 Jun 2011 20:58:03 +0000 (16:58 -0400)]
lp#795737: improve staff bib search copy visibility check

An errant join in query used to see if a bib is visible
in the search OU scope for a bib search initiated from the staff
client signficantly degrade the speed of such searches.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
14 years agomissing string for MFHD deletion
Jason Etheridge [Fri, 10 Jun 2011 14:42:51 +0000 (10:42 -0400)]
missing string for MFHD deletion

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
14 years agoMark invalid home ous as such in patron editor
Thomas Berezansky [Fri, 10 Jun 2011 13:22:56 +0000 (09:22 -0400)]
Mark invalid home ous as such in patron editor

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
14 years agoUse native unnest() db function instead of explode_array()
Dan Scott [Tue, 7 Jun 2011 17:52:22 +0000 (13:52 -0400)]
Use native unnest() db function instead of explode_array()

Per LP 789747, the custom explode_array() database function
was found to generate significantly slower results for searches than
using the native (and equivalent) unnest() array function. Given that
unnest() has been part of PostgreSQL since 8.4 and Evergreen 2.0
requires a minimum of PostgreSQL 8.4, this patch removes the definition
of the explode_array() functions and replaces its usage with unnest().

Signed-off-by: Dan Scott <dscott@laurentian.ca>
14 years agoPrevent future dates of birth in patron editor
Lebbeous Fogle-Weekley [Fri, 3 Jun 2011 19:17:48 +0000 (15:17 -0400)]
Prevent future dates of birth in patron editor

The patron editor form allowed staff to enter a date of birth that takes
place in the future. While it is theoretically conceivable (hah) that
a library might register patrons that have yet to be born, it is
unlikely enough that we will not even assign this behavior to an
org-unit setting, but we will take the bold move of using a regular
expression to prevent a future dates of birth at all.

Note that if a library system travels into the past, this will cause all
sorts of problems in the patron editor interface (not to mention
overdues). Please do not mix Evergreen and time travel.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoFix false MFHD editing cues (LP #791974)
Dan Wells [Thu, 2 Jun 2011 19:44:36 +0000 (15:44 -0400)]
Fix false MFHD editing cues (LP #791974)

The in-DB serial holdings use the same general display code as
the MFHD records, but were falsely triggering MFHD administration
widgets when in fact no MFHD record exists.  These holdings were
already being marked, so this fix honors that mark.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoTweak MFHD scoping
Dan Wells [Thu, 2 Jun 2011 14:17:07 +0000 (10:17 -0400)]
Tweak MFHD scoping

Three changes:
1) Add a closure for 'entryNum' value (currently used for some display
placement and menu-entry correlation)
2) Remove depth-climb to simplify code and better approximate copy scoping
3) Move 'here' assignment out of the foreach

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoFix rendering of MFHD records when ownership is out of scope
Dan Scott [Fri, 27 May 2011 17:51:59 +0000 (13:51 -0400)]
Fix rendering of MFHD records when ownership is out of scope

Dojo would die with a null reference error when an MFHD record
was retrieved that was outside of the current OU search scope.
For example, if a given bib record had one linked MFHD record
for BR1, and one linked MFHD record for BR4, the details page
would choke trying to draw the MFHD holdings in a scope that
only included BR1 and end up drawing nothing. Ungood.

Moving the ownership check and invoking _holdingsDrawMFHD()
only after ensuring that the record is within our scope resolves
the problem.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
14 years agoLP 791546: advanced search ISBN/ISSN in .staff mode
Dan Scott [Mon, 6 Jun 2011 16:11:58 +0000 (12:11 -0400)]
LP 791546: advanced search ISBN/ISSN in .staff mode

In 1.6, advanced search ISBN/ISSN searches always operated in .staff
mode, returning results whether the results should have been visible to
the user or not. This confused patrons who saw records to which they had
no access.

In 2.0, this behaviour changed so that advanced search ISBN/ISSN
searches never operated in .staff mode. This confused staff who were
used to retrieving records via the ISBN/ISSN search when they wanted to
add holdings for their own library to the records.

The pattern for addressing this problem and satisfying both use cases is
the same - use the multiclass.query.staff method if we invoke the ISBN
or ISSN searches with the .staff method name.

One could easily refactor many of the search method bodies in this
module to use the exact same logic, keying off the method name to
identify the identifier field and the .staff portion of the method name
to determine whether to invoke .staff mode or not. For now we just
address the ISBN and ISSN entry points.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
14 years agoPO activation date display improvement
Bill Erickson [Fri, 3 Jun 2011 20:35:25 +0000 (16:35 -0400)]
PO activation date display improvement

Use the smarter Util.js date parsing code to prevent small time offsets
in PO activation date display.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
14 years agoWhitespace cleanup in aisle 3 (O:A:Reporter)
Dan Scott [Wed, 1 Jun 2011 22:06:13 +0000 (18:06 -0400)]
Whitespace cleanup in aisle 3 (O:A:Reporter)

Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoLP#740466 Sort report folders by name
Michael Peters [Wed, 1 Jun 2011 12:52:57 +0000 (08:52 -0400)]
LP#740466 Sort report folders by name

Add order_by to Reporter.pm to sort report folders by name

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoSerial holdings display consistency fix
Dan Wells [Wed, 1 Jun 2011 18:33:59 +0000 (14:33 -0400)]
Serial holdings display consistency fix

When holdings are sourced from both MFHD and the DB, display may be
inconsistent due to a hard-coded ', ' in Serial.pm.  This patch works around
the problem by storing generated_coverage as a JSON array instead of a string,
leaving display formatting to the OPAC.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoLP#739444 Incrementing opac.dtd copyright date
Michael Peters [Tue, 31 May 2011 12:44:49 +0000 (08:44 -0400)]
LP#739444 Incrementing opac.dtd copyright date

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoindicate what date format to use for offline patron registration
Jason Etheridge [Fri, 27 May 2011 17:02:14 +0000 (13:02 -0400)]
indicate what date format to use for offline patron registration

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoFix Hold Capture checkin mode
Thomas Berezansky [Fri, 27 May 2011 15:39:53 +0000 (11:39 -0400)]
Fix Hold Capture checkin mode

oils_persist was trumping hardcoded values.
Also, change how checked is set/unset for reliability.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoPatch suggested by Jason Boyer for LP#788601
Mike Rylander [Thu, 26 May 2011 20:03:39 +0000 (16:03 -0400)]
Patch suggested by Jason Boyer for LP#788601

The <script> tag for the chrome frame message has a misplaced semicolon,
which causes an odd looking display issue in Internet Explorer. I
realize that ideally very few people will be using IE, but even if
they're not interested in a quality browsing experience we should
probably put our best face forward.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
(cherry picked from commit bbc874ddb42ac05130ccfad92fc55ccebd6af882)

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoDistinguish between 'Show Groups' checkboxes in Serial Control
Dan Wells [Thu, 26 May 2011 15:19:40 +0000 (11:19 -0400)]
Distinguish between 'Show Groups' checkboxes in Serial Control

Two different checkboxes ended up with the same ID, which, as one might
expect, kinda worked and kinda didn't.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
14 years agoChecking for 'twisty' leads to false negatives in Serial Control
Dan Wells [Thu, 26 May 2011 14:53:42 +0000 (10:53 -0400)]
Checking for 'twisty' leads to false negatives in Serial Control

Since a tree can be opened with a double-click, we can't rely on 'twisty'
being set to load the child data.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
14 years agomissed this way back when. fix multiple event override handling (for ilsevent lackin...
Jason Etheridge [Wed, 25 May 2011 20:56:24 +0000 (16:56 -0400)]
missed this way back when.  fix multiple event override handling (for ilsevent lacking events), re: lp#757634.  Also add some missing typeof's

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agoFix authority linking script typo
Dan Scott [Wed, 25 May 2011 15:38:11 +0000 (11:38 -0400)]
Fix authority linking script typo

Problem reported by Ditty Mulder <dmu@iisg.nl>

Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoupgrade_deps_block_check() is not in the branches at this point
Dan Wells [Wed, 25 May 2011 13:29:13 +0000 (09:29 -0400)]
upgrade_deps_block_check() is not in the branches at this point

Signed-off-by: Dan Wells <dbw2@calvin.edu>
14 years agoUse the right upgrade log format for 2.0 upgrade
Dan Scott [Wed, 25 May 2011 03:20:40 +0000 (23:20 -0400)]
Use the right upgrade log format for 2.0 upgrade

Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoTrivial line-wrapping patch for call number class defaults
Dan Scott [Wed, 25 May 2011 01:56:13 +0000 (21:56 -0400)]
Trivial line-wrapping patch for call number class defaults

Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoMake label_class on any new call numbers default to org_unit setting
Dan Wells [Tue, 24 May 2011 14:53:09 +0000 (10:53 -0400)]
Make label_class on any new call numbers default to org_unit setting

Evergreen 2.0 added a label_class column to the call number table with
one major purpose being the generation of correct sort keys. You can
also specify a default label class as an org unit setting. However:

1) There are no interface elements for setting the label class of an
individual call number.

2) The default setting from the actor.org_unit_setting
'cat.default_classification_scheme' value, if set, is not consulted
(that is, not set in the call number table) when new call numbers are
created.

These two facts together greatly reduce the utility of this very
valuable feature, as all new call numbers end up in the 'Generic' class.

While #1 has been addressed in 2.1+, there is still work to be done in
setting this class on import. Also, which interface parts (if any) make
it back to 2.0 is subject to debate.

This commit addresses #2.

See lp #787150.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoBring serial.unit in line with asset.copy
Dan Wells [Tue, 24 May 2011 20:55:47 +0000 (16:55 -0400)]
Bring serial.unit in line with asset.copy

Signed-off-by: Dan Wells <dbw2@calvin.edu>
14 years agoremove restriction on resetting pw to random number when Use Phone Password setting...
Jason Etheridge [Tue, 24 May 2011 18:55:57 +0000 (14:55 -0400)]
remove restriction on resetting pw to random number when Use Phone Password setting is active.  uEditMakeRandomPw will still get called for new users, but should get overwritten once a phone number is entered

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
14 years agostop hold permit check from crashing if age protection in effect
Galen Charlton [Tue, 17 May 2011 04:40:02 +0000 (00:40 -0400)]
stop hold permit check from crashing if age protection in effect

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
14 years agoMerge branch 'rel_2_0' of git.evergreen-ils.org:Evergreen into rel_2_0
Mike Rylander [Mon, 23 May 2011 15:14:02 +0000 (11:14 -0400)]
Merge branch 'rel_2_0' of git.evergreen-ils.org:Evergreen into rel_2_0

14 years agoRevert "Wrap proximity refreshing in a transaction to avoid timespans where there...
Mike Rylander [Mon, 23 May 2011 15:07:20 +0000 (11:07 -0400)]
Revert "Wrap proximity refreshing in a transaction to avoid timespans where there is no such information"

This reverts commit 85b522e155283010f8e58f51c78afc119ab3d813.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
14 years agoUpdate Lenny prereqs for MARC::Record 2.0.1+
Dan Scott [Mon, 23 May 2011 14:16:16 +0000 (10:16 -0400)]
Update Lenny prereqs for MARC::Record 2.0.1+

2.0 requires MARC::Record 2.0.1+, and the packaged version of
MARC::Record is just 2.0.0. This causes mysterious failures of
various open-ils.search.biblio.* methods - so teach the prereq
installer to get a new enough version of MARC::Record on Lenny.

Aside: The juggling of prereqs in a single Makefile for multiple distros
is starting to get extremely complex, perhaps it's time to split them
out to a single Makefile per distro?

Signed-off-by: Dan Scott <dan@coffeecode.net>
14 years agoApply Apache file expiration to the current official Javascript content type
Dan Wells [Mon, 23 May 2011 13:38:22 +0000 (09:38 -0400)]
Apply Apache file expiration to the current official Javascript content type

At least on Ubuntu 10.04, Javascript files are generally delivered
with a Content-Type header of 'application/javascript', not
'application/x-javascript'.  This change applies the much shorter
18 hour expiration to the affected files, rather than allowing them
to default to 1 month.

Signed-off-by: Dan Wells <dbw2@calvin.edu>