dbs [Wed, 18 Aug 2010 16:00:41 +0000 (16:00 +0000)]
Give authority records an XML-valid XML formats list
Still need to trim the actual list of formats for authority records,
as marcxml-full and marcxml-uris get listed, and those do not work
or make sense for authority records.
dbs [Tue, 17 Aug 2010 22:06:12 +0000 (22:06 +0000)]
Move to CSS-based styling of validated vs. unvalidated fields
This sets the stage for differentiating between validated fields that
match authority records, and validated fields with a controlling $0
subfield that match an authority record. This also gives sites a bit
of an easier entry point to customize their MARC editor - say, for example,
to support accessibility requirements if red vs. black doesn't satisfy
the needs of those who are colour-blind.
erickson [Tue, 17 Aug 2010 16:28:54 +0000 (16:28 +0000)]
libbusiness-creditcard-perl is installed with DEBS. removing from squeeze-specific debs. make sure we install the EXTRA_DEBS_SQUEEZE as part of install_extra_debs_squeeze
phasefx [Mon, 16 Aug 2010 18:44:08 +0000 (18:44 +0000)]
ui.circ.suppress_checkin_popups disables dialog prompts during check-in, but in the case print slip dialogs, it should still print the slips if the Auto-Print Hold and Transit Slips checkbox is toggled on (the action is still occuring). However, only the dedicated Check-In interface had such a checkbox, and if you were to check-in from Item Status or Items Out with that org unit setting active, you'd have no option to print any slips associated with the check-in. This fixes all that
phasefx [Mon, 16 Aug 2010 13:53:09 +0000 (13:53 +0000)]
redundant refresh() can cause duplicate rows in list. Also, perm failure is an "expected" error here, so we can skip the skull and crossbones if folks without the permission cancel the Void All Billings action
phasefx [Mon, 16 Aug 2010 13:14:41 +0000 (13:14 +0000)]
Disable Replace Barcode button for new patrons, and disable the barcode field for existing patrons. If Replace Barcode is activated, then enable the barcode field, give it focus, and disable the Replace Barcode button.
scottmk [Sun, 15 Aug 2010 02:27:01 +0000 (02:27 +0000)]
Pedantic changes for const-correctness:
1. Add the const qualifier to most of the parameters of SELECT().
2. In almost all cases: replace calls to jsonObjectGetKey() with
calls to jsonObjectGetKeyConst(). A couple of calls remain that
would be more trouble to replace than they're likely to be worth.
senator [Fri, 13 Aug 2010 18:15:46 +0000 (18:15 +0000)]
merge seials-integration [sic] branch into trunk
Dan Wells has provided tremendous efforts in developing a user interface
and middle-layer logic for controlling serials. His work builds on the
serial schema hashed out earlier in the year, also with his heavy involvement,
and it provides ways to manage subscriptions, distribution, prediction,
receiving and more. Although this code is but a beginning, much of it
is functional today.
This commit brings Dan's work into trunk. Dan has provided some release
notes here: http://www.open-ils.org/dokuwiki/doku.php?id=acq:serials:release_notes:initial_trunk_merge
dbs [Fri, 13 Aug 2010 17:57:54 +0000 (17:57 +0000)]
Add Debian Squeeze prereq support, drop out-of-date items
* Drop Debian Etch ("Security updates have been discontinued as of the end of February 2010.")
* Drop PostgreSQL server packages pre-8.4 as they are no longer supported
TODO: To continue to support Ubuntu Hardy and Debian Lenny, we'll need to
start pulling in backports of postgresql-8.4.
phasefx [Fri, 13 Aug 2010 14:48:15 +0000 (14:48 +0000)]
go ahead and expose the Find in Page functionality, but hide it under the Debug label for now. Other than being incomplete (no Find Next, etc.), the main problem I see are our dynamic dojo interfaces where the text one might be tempted to search for won't actually be rendered yet on the screen (say in a scrolling list)
phasefx [Fri, 13 Aug 2010 08:18:42 +0000 (08:18 +0000)]
spawn external text editor for Patron Letter during Mark Item Missing Pieces workflow. Put configuration option under Admin -> Local System Administration -> External Text Editor Command
erickson [Thu, 12 Aug 2010 13:33:31 +0000 (13:33 +0000)]
created batch/streaming versions of hold placement and possibility check calls: open-ils.circ.holds.create[.override].batch and open-ils.circ.title_hold.is_possible.batch. Arguments are the same as non-batch, just delivered as an array; responses are delivered in order inbound params
dbs [Thu, 12 Aug 2010 07:42:20 +0000 (07:42 +0000)]
Remove broken old JavaScript in Google Book preview code
I /think/ this was supposed to change the title of the "Preview" link to
"Read this online" or the like in the case that the full text is available,
but it was relying on a function that didn't exist (setText) and trying
to reference an ID that didn't exists. So it broke in those rare cases
where Google Books did provide the full text.
scottmk [Wed, 11 Aug 2010 20:59:25 +0000 (20:59 +0000)]
Plug some memory leaks.
In many places we were creating dbi_results without freeing them;
pretty much everything involving transactions, savepoints,
inserts, updates, and deletes.
erickson [Wed, 11 Aug 2010 20:42:07 +0000 (20:42 +0000)]
Gave the base login code the ability to find username/password from a
cookie. for security reasons, we don't put login data into cookies, but if the
login info is available to us in that format already (say, via external means), we'll
use it. This can be useful for persistent logins (e.g. self-check) or
automatic logins (pushing cookie data out to workstations)
Minor cleanup of the login code to make it more re-use friendly.
Added self-check support for verifying the staff login before each patron
login.
phasefx [Wed, 11 Aug 2010 06:33:37 +0000 (06:33 +0000)]
change Check Barcodes? checkbox in Volume/Item creator to Use Checkdigit. In addition to checking the barcodes, it also dictates whether the Auto-Generate Barcodes function will use checkdigits or not
phasefx [Wed, 11 Aug 2010 06:33:34 +0000 (06:33 +0000)]
tweak auto-barcode method to support barcodes of arbitrary length. trims last digit from seed barcode if 9 or 14 digits. works with alphanumeric barcodes like b1, test1, demo1 with no checkdigits (so it'll generate demo2, demo3, etc.)
gmc [Tue, 10 Aug 2010 21:10:53 +0000 (21:10 +0000)]
bug 592777: allow authoritative version of open-ils.circ.retrieve
Part of a fix to avoid race condition that can occur
when patron renews an item in the OPAC in a database
that uses pgpool and replication, which sometimes
results in an erroneous 'action_circulation_not_found' error.
erickson [Tue, 10 Aug 2010 14:45:21 +0000 (14:45 +0000)]
similar to findbib, replace dojox.data.dom.textContent (which fails for unknown reasons) with node.textContent for bibtemplate rendering in related lineitems page
miker [Mon, 9 Aug 2010 20:54:35 +0000 (20:54 +0000)]
In order to speed up the API call where we ask for the number of visible (or total, in the staff client), available and "unshadow" (aka total) copies, as well as record transcendance visiblity, we create here 10 stored procedures. Eight of them implement the record/metarecord, staff/opac, OU/lasso varients, and two more are wrappers simplifying the calling API.
dbs [Mon, 9 Aug 2010 20:33:26 +0000 (20:33 +0000)]
Teach the staff client volume copy creator to respect OU call number preferences
To teach the "Add volumes" dialog in the staff client how to show the correct
set of call numbers based on the workstation OU's default classification
scheme, this commit:
* Adds a column "field" to the asset.call_number_class table that specifies
the list of tag/subfield combinations to search for a candidate call number
for a given classification scheme
* Adds a new OU setting, 'cat.default_classification_scheme', that points
to the asset.call_number_class ID
* Extends the open-ils.cat.biblio.record.marc_cn.retrieve method to support
a second argument, identifying the classification scheme for the call
number extraction
* Fixes the IDL for asset.call_number_class to include the ID as an explicit
field
* Makes the "Add volumes" dialog look up the 'cat.default_classification_scheme'
setting for the workstation OU and apply that to the call to the
open-ils.cat.biblio.record.marc_cn.retrieve method
TODO:
* Provide a means of switching the classification scheme for the current volume,
repopulating the call number selector widget
* Save the chosen scheme as part of the acn object
dbs [Mon, 9 Aug 2010 13:13:36 +0000 (13:13 +0000)]
Patch from Ben Ostrowsky <ben@esilibrary.com> to specify "staff account" in proxied pages
This change will make it a bit more clear that we're not looking for a
patron barcode/PIN in the Selfcheck Login screen (and make the wording
consistent across similar login pages).
dbs [Sat, 7 Aug 2010 03:53:01 +0000 (03:53 +0000)]
Basic call-number sorting by classification scheme
Until now, call numbers like 'K 22 .U748 v.18' and 'K 215 .E53 W37 1997' would
sort incorrectly in Evergreen, making call number browsing painful.
The following patch adds the following to Evergreen to support better call
number sorting:
* asset.call_number gains two new columns:
- label_class - identifies the classification scheme for the given callnumber
- label_sortkey - holds the normalized callnumber suitable for sorting
* a new table, asset.call_number_class, which holds the names of each
classification scheme and the name of the assorted normalization function
* implementations of three normalization functions:
* a generic normalizer
* a Dewey Decimal Classification normalizer (courtesy the Koha project)
* an LC classification normalizer (courtesy Bill Dueber's Library::CallNumber::LC)
* a routine in Makefile.install to checkout and install Library::CallNumber::LC
* call number sorting routines were modified to use label_sortkey instead of
label, where I could find them
* corresponding changes to fm_IDL.xml for the new columns + table
A suggested means for applying this to an existing library would be to issue
update statements against asset.call_number setting label_class to the value
in asset.call_number_class that corresponds to owning_lib's scheme, for example:
UPDATE asset.call_number SET label_class = 3 WHERE owning_lib IN (4,5);
We need to teach the staff client holdings maintenance interfaces how to set
the classification scheme for a given call number, and we should also create
an org_unit setting that can set the preferred default classification scheme
that the staff client should inherit. Or maybe we could just make that a
sticky value and have a BEFORE trigger check the incoming value of label_class
and only set it to the org_unit default value if it is NULL (to support bulk
loads).
dbs [Sat, 7 Aug 2010 03:26:11 +0000 (03:26 +0000)]
Build 210.serial before 200.acq, because 200.acq references serials
Confusing due to the order implied by the filename numbers, but priority
has to be on getting trunk to build cleanly again; we can sort out a
better way later.
gmc [Fri, 6 Aug 2010 20:39:35 +0000 (20:39 +0000)]
bug 532217: work around caching issue resulting doubled title display
Quick hack shamelessly borrowed from Dan Scott to fix problem
of title being displayed twice on bib details page when back
button is used in OPAC or staff client.
This is a temporary fix in lieu of rewriting the bib details
display to use BibTemplate exclusively.
phasefx [Fri, 6 Aug 2010 19:45:49 +0000 (19:45 +0000)]
menu.js and patron/display.js were passing xulG functions to browser.js differently. This makes browser.js a little smarter (so that it doesn't trampled xulG-destined members sent via passthru_content_params) and sidesteps some security blockers with inspecting xulG. xulG is a namespace/object for shoving foreign data and/or functions into a given window
scottmk [Fri, 6 Aug 2010 15:33:11 +0000 (15:33 +0000)]
Refine the way we detect loss of the database connection.
This is a terrible, horrible, no good, very bad kludge.
We do an innocuous SELECT 1. If this query succeeds, then we know that the
connection is still good. If it fails, well...
Sometimes the SELECT 1 query fails, not because the database connection is dead,
but because (due to a previous error) the database is ignoring all commands,
even innocuous SELECTs, until the current transaction is rolled back. The only
known way to detect this condition via the dbi library is by looking at the error
message returned by dbi_conn_error(). This approach will break if the language
or wording of the message ever changes.
Note: the dbi_conn_ping function purports to determine whether the database
connection is live. At this writing, it follows the same approach as described
above: try a SELECT 1 and see if it works. Consequently it presumably suffers
from the same shortcoming: it may erroneously report a dead connection when the
database is in fact just ignoring commands due to a previous error. In addition,
if it determines (rightly or wrongly) that the connection is dead, it silently
tries to reconnect; if the reconnect is succesful, the function reports that the
connection is still alive, as if nothing had happened. If you were in the middle
of a transaction at the time, you wouldn't know that it got rolled back.
gmc [Fri, 6 Aug 2010 01:21:31 +0000 (01:21 +0000)]
bug 614150: bail out on ACTOR_USER_NOT_FOUND
This fixes a bug where uploading an offline checkout
that refers to a missing patron returns an INTERNAL_SERVER_ERROR
instead of ACTOR_USER_NOT_FOUND. More generally, this avoids
an exception in case case where a circ operation is made
without checking the existence of the patron record beforehand.
phasefx [Thu, 5 Aug 2010 21:16:01 +0000 (21:16 +0000)]
Fixed form validation with surveys (the filteringSelect dijits were treating themselves as invalid if not set)
Some I18N for form validation
Removed some lingering (and annoying) scrollOnFocus behavior with the non-autoField widgets
erickson [Thu, 5 Aug 2010 20:19:46 +0000 (20:19 +0000)]
updated IDL parser to 1) load oils_object:required attr at field level
instead of class level and 2) added the oils_persist:i18n attr as
another field-level boolean
phasefx [Thu, 5 Aug 2010 19:08:08 +0000 (19:08 +0000)]
fix open-ils.circ.prev_renewal_chain.retrieve_by_circ.summary to return the correct user for the previous circ chain, and some debugging tweaks to Item Status Alternate View and avoid a widget collision with hold patrons