Backport r18800 from trunk (I thought I already had! r18932 depends on it)
authorsenator <senator@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 8 Dec 2010 21:57:12 +0000 (21:57 +0000)
committersenator <senator@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 8 Dec 2010 21:57:12 +0000 (21:57 +0000)
Place holds on issuances from the OPAC. Also a couple very minor API
documentation fixes.

git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_0@18937 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm
Open-ILS/src/perlmods/OpenILS/Application/Serial.pm
Open-ILS/web/opac/skin/default/js/holds.js

index 41ee55a..5d94b16 100644 (file)
@@ -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)',
         },
     }
 );
index ab88851..1cfa9b2 100644 (file)
@@ -450,7 +450,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).
index 9a7d6fe..3d8cd6f 100644 (file)
@@ -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(),