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
erickson [Thu, 14 Oct 2010 22:17:21 +0000 (22:17 +0000)]
If an item is captured for a hold, but not in transit (i.e. on holds shelf), set the destination_location equal to the pickup library (i.e where it's supposedly on the shelf). This is useful for autmated sorting so that the item will return to the branch whose shelf where it belongs.
scottmk [Wed, 13 Oct 2010 18:53:56 +0000 (18:53 +0000)]
Changes to the treatment of ORDER BY:
1. For json_query: when ORDER BY is expressed as an object keyed on class
(instead of an array of field specifications), and the class is not in
scope, error out instead of silently ignoring the class.
The other changes affect only methods other than json_query:
2. When the ORDER BY list is provided as a raw text string: block any
string containing a semicolon, in order to block simple SQL injections.
For now we make no exceptions for quoted semicolons, which are not
likely ever to appear an an ORDER BY clause.
3. Keep virtual fields out of the ORDER BY clause. For now we silently
ignore them, as we ignore non-existent fields. In both cases we should
perhaps error out.
4. Don't require that a class referenced in the ORDER BY clause also be
referenced in the SELECT clause. Just make sure it's in scope.
phasefx [Tue, 12 Oct 2010 19:34:50 +0000 (19:34 +0000)]
vertical bib summary (mainly for use in the Merge Record interface). I tried using just bib_brief.xul with document.loadOverlay to choose between bib_brief_overlay_vertical.xul and bib_brief_overlay.xul based on a param, but was running into too much pain going that route.
scottmk [Mon, 11 Oct 2010 14:25:05 +0000 (14:25 +0000)]
Pull out into a separate function: the code in SELECT() that builds a
comma-separated list of ORDER BY expressions from a JSON_ARRAY.
Invoke that function, not only from SELECT(), but also from the
buildSELECT() function.
As a result, the select methods will be able to use the same array
syntax as json_query for ORDER BY clauses, as an alternative to the
existing hash syntax.
erickson [Fri, 8 Oct 2010 21:10:43 +0000 (21:10 +0000)]
mild fixes for a/t interface admin interface. sort by def name instead of hook, which probably makes more sense to a human. hide the opt-in and max-delay columns to free up some badly needed horizontal space. use percentage width for name column, which acts a lot like 'auto', but allows the user to manually resize
dbs [Fri, 8 Oct 2010 03:30:00 +0000 (03:30 +0000)]
Avoid scary SSL / HTTPS errors in Apache configuration
When port 443 is the last listener port, Apache generates lots
of "unknown protocol speaking not SSL to HTTPS port!?" errors in
the logs - which are scary, but harmless. Putting port 80 last
avoids those errors entirely, per http://wiki.apache.org/httpd/InternalDummyConnection
senator [Thu, 7 Oct 2010 22:37:45 +0000 (22:37 +0000)]
Expired holds shelf printer needs to be a holds shelf *clearer* and printer
This needs cleaned up and stuff, and made into something cooler.
Basically just does what XUL interfaces under the Circ menu can already do,
but streamlined to tolerate really big datasets.
Much of this code originates from berick and miker.
atz [Thu, 7 Oct 2010 18:48:45 +0000 (18:48 +0000)]
EDI template update for ORDERS
This template produces JSON for the edi translator to convert into
actual EDI lines. It now handles vendor-specific requirements for
account and sub-account identification, and also transmits notes
of the vendor-public variety as FTX segments in the lineitem.
phasefx [Thu, 7 Oct 2010 15:14:50 +0000 (15:14 +0000)]
destination_shelf macro for hold and hold/transit slips. Will contain either HOLD SHELF, PUBLIC HOLD SHELF, or PRIVATE HOLD SHELF (these are localizable). The latter two depend on the org unit setting 'circ.holds.behind_desk_pickup_supported' being in effect, and also considers a user setting for the holds user at the time of printing.
erickson [Thu, 7 Oct 2010 14:56:43 +0000 (14:56 +0000)]
Parallel action/trigger collection and reaction
QA'ed patch from miker to support parallel a/t event collection and
reaction. Max parallel procs is controlled by two new opensrf.xml
trigger app_settings. Sample config included, settings disabled by
default.
senator [Wed, 6 Oct 2010 21:01:42 +0000 (21:01 +0000)]
New way to printing shelf-expired holds
This just takes the newest template for printing hold pull lists and
grafts this new functionality onto it. It should perhaps be adjusted to also
be able to print things on the holds shelf that /aren't/ shelf-expired.
For now you get to this under Admin -> For Developers -> Local Administration
This also corrects a bug because of which a "print pull list (alternate
strategy)" button appeared where it shouldn't.
This also removes the booking links from Admin -> For Developers -> Local
Administration, as there are regular staff client menu entries for those now.