erickson [Tue, 2 Nov 2010 03:00:57 +0000 (03:00 +0000)]
AutoFieldWidget linked class autoloaders, etc.
* leave linked selector disabled until entries are fetched;
* added support for applying default linked class object loaders;
* added default loader for acq providers, since large sets of
providers can take an excessive amount of time w/ direct pcrud call.
erickson [Tue, 2 Nov 2010 02:55:21 +0000 (02:55 +0000)]
in SIP patron retrieval, only fetch non-archived penalties and penalties
that that matter (fines, overdues, blocking penalties). pair down the
penalty comparisons to avoid fleshing the penalty type, potentially
numerous times for a given type, by using the constant identifiers.
dbs [Tue, 2 Nov 2010 02:46:51 +0000 (02:46 +0000)]
Enable merge of authority records to do the right thing
The target and source authority record was flipped, causing
the update to fail. In reconsidering this function, it is not
necessary to change the contents of the source authority record
just to propagate the content of the target authority record
to any linked bibliographic records.
Instead, take the approach of updating the ID of the controlled
field in the bib record, then temporarily set "reingest on same
MARC" to TRUE and update the target authority record by setting
deleted = FALSE (which propagates the "changes" to the linked
bib records), then set "reingest on same MARC" flag back to its
original value.
gmc [Mon, 1 Nov 2010 23:22:53 +0000 (23:22 +0000)]
yet another replication race condition fix
Fixes problems that can occur when creating a lineitem
from an existing bib in the catalog; adds an authoritative
version of open-ils.acq.lineitem.retrieve.
dbs [Mon, 1 Nov 2010 20:41:14 +0000 (20:41 +0000)]
Replace hard-coded '(CONS)' for MARC control number identifier in authority records
We created an actor.org_unit_setting, 'cat.marc_control_number_identifier', for
specifying the preferred MARC control number identifier, but when we create a
new authority record from the MARC editor, the hardcoded value of 'CONS' is being
used.
This teaches the staff client how to pull the appropriate value from the AOUS
when invoking the MARC Editor.
dbs [Mon, 1 Nov 2010 19:44:16 +0000 (19:44 +0000)]
Ensure that changes to authority records propagate to linked bibliographic records
Per https://bugs.launchpad.net/evergreen/+bug/669596, updated authority records
weren't being reflected in bibliographic records with fields that link to those
authority records. We were missing the call to authority.propaagate_changes()
withing the ingest trigger on authority.record_entry.
miker [Mon, 1 Nov 2010 17:18:56 +0000 (17:18 +0000)]
Improve hold permit testing
* Discard matchpoints where the OU in a particular slot is not ancestor-or-self of the target object's value
* Discard matchpoints where strict_ou_match is true and the OU is not strictly matched
phasefx [Mon, 1 Nov 2010 17:13:42 +0000 (17:13 +0000)]
this wraps the input elements used for opac login in an actual form element, with the goal of allowing browsers to save credentials for the site. So far this appears to work for Firefox 3.6.12, but not for Chrome 7.0.517.41, Opera 10.63, nor Safari 5.0.2. IE 8.0.6001.18702 will prompt for saving credentials, but won't actually populate the form on a revisit. Some of this may be due to me using an invalid/expired SSL-cert on my dev box, but I suspect it's really because another page is not being loaded after form submission. Any ideas/suggestions?
gmc [Mon, 1 Nov 2010 15:39:39 +0000 (15:39 +0000)]
let libraries allow funds to be overcommitted
The check constraints on the balance warning and
stop limits were too strict - a library can validly
choose to permit a fund to have a commitment greater
than 100% of its allocation
gmc [Fri, 29 Oct 2010 01:25:01 +0000 (01:25 +0000)]
adjust quoting of phrase searches
This has three main effects:
* This formalizes the current behavior where a
phrase search like
title:"^Harry Potter"
acts as a left-anchored search and
title:"Harry Potter$"
acts as a right-anchored search.
In particular, this can be useful for constructing
searches of bibliographic call numbers.
* Other regex metacharacters in phrase searches are
now escaped.
* Phrase searches like "C++" will no longer crash; in fact,
this makes a phrase search currently the only way to
accurately retrieve all C++ titles with the usual
normalization rules
phasefx [Thu, 28 Oct 2010 21:19:48 +0000 (21:19 +0000)]
Put a placeholder row into the checkin list to better handle the async checkin option (so that items show up in the same order in which they were scanned; it also feels more responsive). This also forces us into a better way of handling errors: we keep the rows for such scans in the checkin list, but shove the error condition into the alert message field. These rows can't be acted upon with the Actions for Selected Items menu.
senator [Thu, 28 Oct 2010 18:14:06 +0000 (18:14 +0000)]
Alternate Serial Control UI misc bugfixes, minor tweaks and improvements.
Still fighting an autogrid that sometimes renders in an imcomplete, cut-off
sort of way in the distributions tab of the subscription details interface.
Add distribution count to summary tab.
The batch receive interface now prepopulates the circ mod, copy location, and
price fields based on each item's stream's distribution's copy template, when it
can. When users had gone through the steps to create a copy template, it was
confusing not to see that work reflected in the batch receive interface.
erickson [Thu, 28 Oct 2010 15:13:30 +0000 (15:13 +0000)]
condensed SIP patron lookup by barcode into 1 cstore call; provided option for slimmed-down user object fetching in the case of checkin, where all we really need is the barcode of the user on the circulation
dbs [Thu, 28 Oct 2010 15:08:00 +0000 (15:08 +0000)]
Normalize whitespace in O:A:Cat
There was a great mix of tabs and spaces in O:A:Cat, and as I just got bit
by that I thought I might as well make it consistent. Tried to keep all of
the var assignments lined up as well.
dbs [Thu, 28 Oct 2010 14:55:33 +0000 (14:55 +0000)]
Ensure call numbers are returned to the holdings editor in ascending sorted order
James Fournie in https://bugs.launchpad.net/evergreen/+bug/635121 reported
that call numbers were being displayed in the order that they had been
added to the database, rather than in sorted call number label order.
Although I have been unable to reproduce this problem on two different
test systems, the patch he provided for 1.6.1 (which fixes the problem on their
test system) shouldn't hurt other systems.
For sortkey-aware branches, I modified James' patch to take advantage of the
asset.call_number.label_sortkey column and the oils_text_as_bytea() function.
senator [Wed, 27 Oct 2010 21:20:53 +0000 (21:20 +0000)]
If we already know we're not using booking, skip a redundant and expensive
test for the possibility of capturing a hold. We're just going to try actually
doing it a little farther down.
phasefx [Wed, 27 Oct 2010 21:13:55 +0000 (21:13 +0000)]
experiment: asynchronous check-in via checkbox toggle. also removes call number from column list for the time being (since it makes a synchronous network call)
phasefx [Wed, 27 Oct 2010 18:10:45 +0000 (18:10 +0000)]
Give staff the ability to select a circ lib and user group and mark all associated overdue circulations/items as Lost. Admin->Local System Administration->Age Overdue Circs to Lost. This may be used, for example, by academic libraries after the end of a semester. Must remember to activate the template and to give it an editor param.
gmc [Wed, 27 Oct 2010 16:51:15 +0000 (16:51 +0000)]
remove unused settings and permission
circ.holds.alert_if_local_avail and circ.holds.deny_if_local_avail
are redundant; circ.holds.hold_has_copy_at.{alert|block} are the
settings that will actually be used. Also remove a related,
redundant permission.
dbs [Mon, 25 Oct 2010 15:15:49 +0000 (15:15 +0000)]
Improved subject formatting on summary page, and better title bookmarking
Apply a modified version of Ben Ostrowsky's patch from
https://bugs.launchpad.net/evergreen/+bug/627133 - the modifications include
using BT.textContent() to retrieve the text of the subfields, and
getAttribute() instead of dojo.attr() for IE support.
From the description of 627133:
Currently the BibTemplate code in rdetail/rdetail_summary.xml for display
of subject headings only includes the 650. It should be expanded to:
* include all standard subject added entry fields (or more broadly, all 6XX)
* exclude control subfields (those whose subfield label is a digit) from display
* only using the double-dash separator before subfields $x, $y, $z, and $v.
The display text of other subfields should be separated from one another only
by a space.
erickson [Fri, 22 Oct 2010 20:40:25 +0000 (20:40 +0000)]
further protection against dreaded opac bank page; wrap settimeout redetail bibtemplate loading in an onload to ensure it runs after dojo onload events
miker [Fri, 22 Oct 2010 16:19:49 +0000 (16:19 +0000)]
Move dojo loading around to avoid the "white screen of death" in Firefox and xulrunner (See: http://o.dojotoolkit.org/forum/dojo-foundation/general-discussion/firefox-3-fires-domcontentloaded-event-prematurely )
gmc [Thu, 21 Oct 2010 14:44:35 +0000 (14:44 +0000)]
improve call number sorting
oils_text_as_bytea now does uppercasing in addition
to converting strings to bytea, working around
the limitation that json_query can't stack transforms
gmc [Wed, 20 Oct 2010 21:47:34 +0000 (21:47 +0000)]
use a transaction when searching for the nearest hold request
Solves the following problem in a setup that uses Slony - if
multiple items that can fulfill the same hold are checked
in one after another, occassionally two items will end up
being put in transit for the same hold request.
phasefx [Wed, 20 Oct 2010 21:10:51 +0000 (21:10 +0000)]
Patch from tsbere for new tab versus current tab behavior with the button bar:
---
The attached patch to trunk adds the ability to set an open-ils.toolbar.defaultnewtab preference to cause the toolbar buttons to open in a new tab instead of the current tab. Holding the "accel" key (default of ctrl on windows/linux and command on mac) will do the opposite.
I only applied this to the five commands currently in use on the toolbar for now. Any other commands added to the toolbar will need to have their command handlers in menu.js updated.
Thomas Berezansky
Merrimack Valley Library Consortium
erickson [Wed, 20 Oct 2010 20:44:58 +0000 (20:44 +0000)]
added some time diagnostics to checkin process; more org unit caching; do less user fleshing on hold user during checkin (only card and name is needed)
senator [Wed, 20 Oct 2010 19:51:47 +0000 (19:51 +0000)]
Fix a set of supercat bugs in handling records with subscriptions attached. The
most noticeable manifestation was that you wouldn't see local call numbers in
the opac for any such record.
Credit to miker for help with the bug squashing and filling in missing pieces.
dbs [Wed, 20 Oct 2010 16:17:45 +0000 (16:17 +0000)]
Prevent "Validate" from matching against deleted authority records
2.0 introduces the ability to delete authority records. The routines in
OpenILS:Application:Storage:Publisher:authority check for matching values
of authority.full_rec without concern about whether the corresponding
entry in authority.record_entry has been deleted or not.
This change removes entries from authority.full_rec when an
authority.record_entry row is deleted, with the (possibly incorrect)
assumption that there won't be many cases where users will want to
search for deleted authority records and undelete them. If that
assumption turns out to be incorrect, then further changes can follow;
this change at least makes the current behaviour for user-visible
actions work as expected.
miker [Wed, 20 Oct 2010 13:23:09 +0000 (13:23 +0000)]
Summary: Patch from Thomas Berezansky providing an alternate implementation of Hard Due Dates.
Overview:
* Moves hard due date configuration from the duration rule to the circ matrix
* Implements backward-compatible API for circ scripts
* Provides a stored procedure which updates hard due date values on demand
Further extension by Mike Rylander:
* Provide a srfsh script and crontab.example entry to fire the stored procedure nightly
* Expose stored procedure and add to the upgrade script
TODO: Create UIs for configuring hard due dates; integrate into version upgrade scripts
senator [Mon, 18 Oct 2010 21:53:44 +0000 (21:53 +0000)]
Make editing of asset.copy_template a little more friendly (AutoGrid w/ pcrud
can't deal with editor/creator fields for you).
Incidentally add createPaneOnSubmit and editPaneOnSubmit attributes to
AutoGrid that take a function name as their values, specifying an alternate
callback function to use instead of pcrud.create/update
senator [Mon, 18 Oct 2010 19:44:55 +0000 (19:44 +0000)]
Serials: add functionality meant for "Previous Issuance Copy Location" setting
Simply put, if you're receiving an item a branch for which the org-unit
setting "serial.prev_issuance_copy_location" has a value, the previously
received copy matching the same distribution and stream as the item you're
receiving now will be moved to that copy location specified in the org-unit
setting.
dbs [Mon, 18 Oct 2010 19:05:19 +0000 (19:05 +0000)]
Protect biblio.extract_located_uris() from a NULL uri_use value by using the href as a fallback
If an 856 field contained a subfield "9" but did not contain a subfield
"z", "2", or "n", then ingest of the MARC record would fail as it attempted
to retrieve an asset.uri row where uri_use = NULL - which was never true.
This change adds the subfield "u" to fall back to for the uri_use variable,
just like we do for the uri_label variable, and prevents ugly ingest errors
from getting thrown back at the client.
phasefx [Mon, 18 Oct 2010 16:18:40 +0000 (16:18 +0000)]
make Circulation -> Enter Offline Interface open a new window instead of a tab, like the button from the login window. This works around a permission issue with loading the offline receipt templates