erickson [Tue, 28 Dec 2010 16:47:40 +0000 (16:47 +0000)]
Update auth-cached user after payment
After payment toward one's own account, reset the cached user object so
that it will contain the latest last_xact_id value. This is necessary
for supporting patron credit card payments in the catalog.
dbs [Tue, 28 Dec 2010 06:16:56 +0000 (06:16 +0000)]
Towards a more useful authority delete confirmation pane
Rather than simply creating a raw confirm dialogue that only
provides the cataloguer with the ID of the authority record that
is about to be deleted (not an especially useful handle), supply
a confirmation dialogue that recaps how many bibliographic records
are linked to this authority record and also displays the MARC of
the record about to be deleted.
Most authority records appear to be short enough that the MARC
display is not a concern, but if it becomes a problem we can opt
not to show the MARC by default and give the cataloguer the ability
to click a "View MARC" button on the confirmation dialog instead.
Along the way, make some more variables local and remove some
unnecessary workarounds for object IDs.
miker [Thu, 23 Dec 2010 02:24:17 +0000 (02:24 +0000)]
When the subfield delimiter is configured as "$" (the default), use {dollar} to represent a literal dollar sign. This is apparently in line with other Breaker-format tools. Fix suggested by Galen Charlton, thanks gmc!
miker [Thu, 23 Dec 2010 02:12:43 +0000 (02:12 +0000)]
addressing two Breaker-format issues: 1) supply an "empty" (space) value for indicators in the internal format if they are left out and 2) add indicator placeholders to incoming Breaker datafield lines if they seem to be missing. Addresses https://bugs.launchpad.net/evergreen/+bug/693468
dbs [Tue, 21 Dec 2010 20:51:23 +0000 (20:51 +0000)]
Add line feeds to the output of org_tree_proximity.pl
When another routine was appended to autogen.sh, the output
was appended to the result string returned from org_tree_proximity.pl;
adding a linefeed cleans that up.
dbs [Tue, 21 Dec 2010 20:21:58 +0000 (20:21 +0000)]
Propagate merged authority record change to bibliographic record
Launchpad bug 688015 reported that the merge of authority records
resulted in the control number identifier in a controlled field
in a bibliographic record changing to the right value, but the
value of the field itself wasn't being changed.
The problem turned out to be a confusion of the "source" and
"target" values in the authority.merge_record() function. Once
that was straightened out, the merge updated the controlled
field as expected.
dbs [Mon, 20 Dec 2010 04:38:35 +0000 (04:38 +0000)]
Add an "Apply full authority" option to the MARC editor
By definition, the only subfields that should be applied from an
authority record to a bibliographic record are the complete set
from the 1XX field of the authority record. So, rather than forcing
the user to select the correct subfields from the chosen authority
record, give them this handy shortcut to do the right thing.
erickson [Mon, 20 Dec 2010 02:48:32 +0000 (02:48 +0000)]
initial openils python srfsh plugin; adds suport for 'login' (which behaves the same as srfsh.c), 'org_setting', and 'idl show class' commands, though the latter 2 are largely proofs of concept and are likely to evolve. TODO: srfsh -> support command help docs during command insert
dbs [Sat, 18 Dec 2010 05:12:50 +0000 (05:12 +0000)]
Display the tag of the displayed authority record in MARC Editor context
We currently display both 1xx and 5xx fields in the authority record,
but do not display the tag. This can lead to some confusion when a 5xx
field is actually present. Ergo, show the tag to disambiguate the fields
in the authority browse selection interface.
dbs [Sat, 18 Dec 2010 04:47:14 +0000 (04:47 +0000)]
Provide starting context for authority browse in MARC Editor context menu
Using the browse interface instead of startwith provides a first page
of results that shows some of the authority entries that precede the
first alphabetical match for the chosen term. Context is good.
senator [Fri, 17 Dec 2010 19:26:05 +0000 (19:26 +0000)]
Acq: Tracked down a small but subtle bug with the Holding Subfield tab of
the Provider editor interface.
We apparently have a global variable "name" defined somewhere which, when
assigned in place of an overrideWidget for an AutoGrid thanks to some vestigial
code, ultimately causes an error from within AutoFieldWidget, if you're using
the staff client. That's because name is the string "browser_browser" in the
staff client, but if you access this interface from Firefox, name is apparently
set to some value that evaluates to false in a boolean context, because
AutoFieldWidget doesn't choke on it (the comparison at line 182 of that file
will return false).
dbs [Fri, 17 Dec 2010 15:17:43 +0000 (15:17 +0000)]
Do an equality test, instead of assigning a value
Thanks to Bill Erickson for catching this; this fixes a bug where
SuperCat requests would end up returning authority records instead of
bibliographic records.
senator [Thu, 16 Dec 2010 18:35:40 +0000 (18:35 +0000)]
Serials: the circ_lib field on a copy template has no meaning in the only
context where these copy templates are used, which is serials. Any copy-like
objects that are created in serials have their circ_lib determined by
distribution.holding_lib
dbs [Wed, 15 Dec 2010 20:22:21 +0000 (20:22 +0000)]
Address the call number browsing performance problem raised in LP 690242
The ORDER BY clause currently generated by call number browsing does not
have a sufficient index to use to assist the sorting of the returned rows,
and consequently does a sequential scan of the asset.call_number table.
Which, as you can imagine, is not fast for a system with more than a few
thousand call numbers.
This adds an index specifically to enable the query to go back to an
index scan instead of a sequential scan. We can investigate whether other
indexes should be removed to enable efficient data loading once we've
squashed the sequential scan problem.
miker [Wed, 15 Dec 2010 17:11:24 +0000 (17:11 +0000)]
Two bug fixes: 1) only allow one fine generator call per circulation during a given transaction; 2) require that a circulation be open, based on the xact_finish field, in order to be the parent of a renewal (I suspect this used to depend on the open-circ view)
miker [Fri, 10 Dec 2010 17:22:47 +0000 (17:22 +0000)]
Patch from James Fournie to address https://bugs.launchpad.net/evergreen/+bug/622908 wherein we learn that related item physical description might be used as the main PD of the main item, if the main item lacks such a field in the MARC
miker [Fri, 10 Dec 2010 16:02:41 +0000 (16:02 +0000)]
Provide a mechanism to load any random JS file via dojo.require()-ish syntax.
Why would we want to do such a thing, you might ask?
Well, the short answer is that Firefox hates pages that have more than one script block (inline is worse than tag) that contains pre-onLoad XHR. So, this allows us to pull the actual loading of JS from the same domain as the page into an inline block. This allows us to eliminate the WSOD on FF by pulling all (dangerous) JS into a single, final inline block, after which we don't care if the DOMContentLoaded event fires -- that's when it should fire, structurally -- but in FF it may fire for a different reason (bug) than it should (fell of the end of the page in the rendering engine).
miker [Fri, 10 Dec 2010 05:03:25 +0000 (05:03 +0000)]
Fix two bugs:
* Wide Character warning in authority.generate_overlay_template due to the generated template not being UTF-8 encoded internally
* Correctly test the same space-normalization form of the pre- and post-strip records during the application of a replace rule in vandelay.replace_field
phasefx [Thu, 9 Dec 2010 11:09:06 +0000 (11:09 +0000)]
fix copy/paste-o with decrement of unsaved_data semaphore and move functions from menu.js to global_util.js. tie unsaved_data into offline mode to speedbump closure via the login window
senator [Tue, 7 Dec 2010 22:42:03 +0000 (22:42 +0000)]
Serials: When the fully compressed serial holdings are active in the OPAC,
you get this "issues held" display with an expand/compress toggle that will
either show you individual holdings (and allow you to place holds on them)
or compressed holdings statements.
The functionality existed in trunk before this commit, but this cleans it up
and makes it better. It's more consistent with the the result detail table,
it doesn't offer you the change to place holds on issues that don't have
units (copy-equivalent objects), etc etc.
phasefx [Tue, 7 Dec 2010 20:01:09 +0000 (20:01 +0000)]
add unsaved data warning to offline interface. tweak oils_lock_page/oils_unlock_page to support multiple locks. Hide Cancel buttons in offline interfaces, which weren't consistently implemented and had no warnings. TODO: fix it so that closing the login window won't kill offline UI with unsaved data
phasefx [Tue, 7 Dec 2010 16:58:06 +0000 (16:58 +0000)]
tab lock infrastructure. call xulG.lock_tab() and then any attempt to close or replace the tab will give staff a confirmation dialog. multiple locks may be placed on a given tab, and an identical number of xulG.unlock_tab() invocations will unlock it
erickson [Mon, 6 Dec 2010 20:56:14 +0000 (20:56 +0000)]
refresh cached user during auth session reset
Add a boolean (1/0) param to open-ils.auth.session.reset_timeout
that forces open-ils.auth to refresh the cached user object. Useful if
a column on actor.usr was updated and the client may be pulling the
object from the cache w/ a page reload, etc.
senator [Fri, 3 Dec 2010 00:18:30 +0000 (00:18 +0000)]
Serials: In Alternate Serial Control interface, under Subscription Details
within the Caption and Patterns tab, provide a new feature to import caption
and pattern data from existing bib records and/or legacy serials data
(serial.record_entry objects)
erickson [Thu, 2 Dec 2010 22:16:24 +0000 (22:16 +0000)]
OPAC JS combation and compression enhancements
Added ability to combine locale-independent common JS files
(opac/common/js/) into a single JS file to reduce http back/forth from
the browser. In the default skin, this combines 10 scripts into 1. The
scripts to combine are parsed from js_common.xml (enclosed by START/END
COMPRESSION comments). The combined file is created by autogen. Use of
the combined file is enabled via new Apache configuration (off by
default). When a JS compressor is configured in autogen, the JS file
will be subsequently compressed.
Also includes better IDL2js loader for My Account, which loads
additional fieldmapper classes.
TODO:
Add ./configure param for setting a JS compressor at build time
Options for providing compressed versions of other JS files
dbs [Wed, 1 Dec 2010 19:11:41 +0000 (19:11 +0000)]
Return the copy status name when a copy is not available
It looks like the checkout operation used to return a fleshed
config.copy_status object, but that changed and we now get a
raw ccs ID back.
Retrieve the status name using the ccs ID and present that
to the users. Also, in case problems like this happen in
the future, provide a more specific error message and var
name so that it will be (hopefully!) a little clearer what
payload was expected in the first place :)
dbs [Tue, 30 Nov 2010 20:12:06 +0000 (20:12 +0000)]
Enable GET params to be added properly in buildOPACLink()
Symptom was that the "?l=#" parameter wasn't being added to the
home screen "Advanced Search" link. Cause was that the
dojo.addOnLoad(init) call was being made after the
dojo.addOnLoad(home_init) call, which depended on globals being
set by init(). This started happening when the JavaScript was
shifted around in an attempt to kill the white screen of death.
There may be other similar issues in other interfaces; keep
your eyes open!
phasefx [Tue, 30 Nov 2010 18:17:47 +0000 (18:17 +0000)]
add click event to red-text label in check-in UI for retrieving a patron when the associated transaction has a balance owed. Code tweak to reduce the number of getElementById lookups
dbs [Tue, 30 Nov 2010 05:12:13 +0000 (05:12 +0000)]
Clean up some of the Apache config mod_rewrite rules
Thomas Berezansky suggested some improvements to the mod_rewrite
rules in eg_vhost.conf on the -devel mailing list; this is a stab
at correcting the most egregious problems.
Tested with Zotero and unAPI still works; tested with the staff
client and language-switching still works, as do the Conify and
Vandelay interfaces. Seems reasonably good.
gmc [Mon, 29 Nov 2010 22:54:30 +0000 (22:54 +0000)]
test cases for the naco_normalize stored function
Note that running the tests would require sticking in
the connection parameters for an Evergreen database; check
comments for some musings on how to do this better.
This version of the algorithm is more general -- for example,
all combining characters are removed -- so there should be
fewer fiddly edge cases to worry about for most European
languages.
Rebuilding the metabib.*_field_entry tables (e.g., by using
reingest-1.6-2.0.pl) is recommended if there are any bibs that contain
any non-ASCII characters.
Normalized text is now left in the NFKD form, so while this should
be transparent to the search system after reindexing, it does mean
that (for example) Korean text in metabib.*_field_entry may not
be in the same Unicode normalization form as that found in
biblio.record_entry.
erickson [Mon, 29 Nov 2010 20:24:47 +0000 (20:24 +0000)]
honor forceLoginSSL for place holds login in OPAC
When forceLoginSSL is enabled and the user clicks on place-hold in
results page or record details page, reload the page as SSL (if it's not
already using SSL) and show the login dialog (if the user is not already
logged in).
dbs [Sun, 28 Nov 2010 15:11:55 +0000 (15:11 +0000)]
Address 1.6.1-2.0 upgrade problems reported by Ben Shum
1. We were attempting to update the asset.uri ID sequence value
with the wrong syntax; also, adding just 1 would return an error
in the event that only the seed value for asset.uri had been
inserted.
2. Somehow the body of the maintain_control_numbers() function
was pasted twice, resulting in a syntax error.
senator [Tue, 23 Nov 2010 21:38:28 +0000 (21:38 +0000)]
Serials: Fix error in batch receiving when trying to change the shelving
location of the previous item in the stream when there /is/ no previous
item in the stream
dbs [Tue, 23 Nov 2010 20:58:28 +0000 (20:58 +0000)]
Further fixes for hold-driven recalls
Force a scalar context on the array reference of circs returned
from the search clause to short-circuit the recall processing
if we have no applicable circs to work through.
Also, open-ils.trigger.event.autocreate needs a Fieldmapper object,
not a raw CDBI object, so invoke the to_fieldmapper() method to
convert it accordingly (thanks to miker for the assist!)