From: senator Date: Thu, 18 Nov 2010 22:45:34 +0000 (+0000) Subject: Place holds on issuances from the OPAC. Not backporting yet as it might be too X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=bc979aac6517051f445413dfe4b944cc8372d8d9;p=evergreen%2Fbjwebb.git Place holds on issuances from the OPAC. Not backporting yet as it might be too ugly (visually) Also a couple very minor API documentation fixes git-svn-id: svn://svn.open-ils.org/ILS/trunk@18800 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm index a6716406f..c95bafe6f 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm @@ -94,10 +94,11 @@ __PACKAGE__->register_method( 'exception is returned', params => [ { desc => 'Authentication token', type => 'string' }, - { desc => 'Hold object for hold to be created', type => 'object' } + { desc => 'Hold object for hold to be created', + type => 'object', class => 'ahr' } ], return => { - desc => 'Undef on success, -1 on missing arg, event (or ref to array of events) on error(s)', + desc => 'New ahr ID on success, -1 on missing arg, event (or ref to array of events) on error(s)', }, } ); @@ -110,11 +111,14 @@ __PACKAGE__->register_method( desc => "If the recipient is not allowed to receive the requested hold, " . "call this method to attempt the override", params => [ - { desc => 'Authentication token', type => 'string' }, - { desc => 'Hold object for hold to be created', type => 'object' } + { desc => 'Authentication token', type => 'string' }, + { + desc => 'Hold object for hold to be created', + type => 'object', class => 'ahr' + } ], return => { - desc => 'Undef on success, -1 on missing arg, event (or ref to array of events) on error(s)', + desc => 'New hold (ahr) ID on success, -1 on missing arg, event (or ref to array of events) on error(s)', }, } ); diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Serial.pm b/Open-ILS/src/perlmods/OpenILS/Application/Serial.pm index 2405debaa..3623fb5e3 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Serial.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Serial.pm @@ -436,7 +436,7 @@ q/A hash of optional arguments. Valid keys and their meanings: global := If true, return only one representative version of a conceptual issuance regardless of the number of subscriptions, otherwise return all issuance objects meeting the requested criteria, including conceptual duplicates. Valid values are 0 (false) and 1 (true, default). order := date_published sort direction, either "asc" (chronological, default) or "desc" (reverse chronological) limit := Number of issuances to return. Useful for paging results, or finding the oldest or newest - offest := Number of issuance to skip before returning results. Useful for paging. + offset := Number of issuance to skip before returning results. Useful for paging. orgid := OU id used to scope retrieval, based on distribution.holding_lib depth := OU depth used to range the scope of orgid type := Holding type filter. Valid values are "basic", "supplement" and "index". Can be a scalar (one) or arrayref (one or more). diff --git a/Open-ILS/web/opac/skin/default/js/holds.js b/Open-ILS/web/opac/skin/default/js/holds.js index 1fcfd1936..0e95c40e4 100644 --- a/Open-ILS/web/opac/skin/default/js/holds.js +++ b/Open-ILS/web/opac/skin/default/js/holds.js @@ -589,7 +589,7 @@ function holdsParseMRFormats(str) { function holdsSetFormatSelector() { var type = holdArgs.type; - if( type == 'C' || type == 'V' || holdArgs.editHold ) return; + if( type == 'C' || type == 'V' || type == "I" || holdArgs.editHold ) return; var data = holdsGetFormats(); var avail_formats = data.avail_formats; @@ -729,6 +729,7 @@ function holdsCheckPossibility(pickuplib, hold, recurse) { titleid : holdArgs.record, mrid : holdArgs.metarecord, volume_id : holdArgs.volume, + issuanceid : holdArgs.issuance, copy_id : holdArgs.copy, hold_type : holdArgs.type, patronid : holdArgs.recipient.id(), diff --git a/Open-ILS/web/opac/skin/default/js/rdetail.js b/Open-ILS/web/opac/skin/default/js/rdetail.js index e23909805..7b250d3b3 100644 --- a/Open-ILS/web/opac/skin/default/js/rdetail.js +++ b/Open-ILS/web/opac/skin/default/js/rdetail.js @@ -1185,17 +1185,35 @@ function rdetailDrawExpandedHoldings(anchor, bibid, type) { "params": [bibid, {"offset": offsets[type], "limit": limit}], "async": true, "oncomplete": function(r) { - if (r = openils.Util.readResponse(r)) { - offsets[type] += r.length; - dojo.forEach( - r, function(sum) { - dojo.create("span", {"innerHTML": sum.label()}, target); - dojo.create("br", null, target); - } - ); - /* XXX i18n */ - if (r.length == limit) - dojo.create("a", {"style": "margin-top: 6px;", "innerHTML": "[More]", "onclick": _load}, target); + try { + if (msg = r.recv().content()) { /* sic, assignment */ + offsets[type] += msg.length; + dojo.forEach( + msg, function(iss) { + dojo.create( + "span", { + "innerHTML": iss.label(), + "style": "padding-right: 1em;" + }, target + ); + dojo.create( + "a", { + "href":"#","onclick":function() { + holdsDrawEditor({ + "type":"I","issuance":iss.id() + }); + }, "innerHTML":"Place hold"/*XXX i18n*/ + }, target + ); + dojo.create("br", null, target); + } + ); + /* XXX i18n */ + if (r.length == limit) + dojo.create("a", {"style": "margin-top: 6px;", "innerHTML": "[More]", "onclick": _load}, target); + } + } catch (E) { + void(0); } } }