Continuing with the work for RequestHandler
authorChris Cormack <chrisc@catalyst.net.nz>
Tue, 8 Apr 2014 22:05:40 +0000 (10:05 +1200)
committerChris Cormack <chrisc@catalyst.net.nz>
Tue, 8 Apr 2014 22:05:40 +0000 (10:05 +1200)
lib/NCIP/Handler/RequestItem.pm
lib/NCIP/ILS/Koha.pm

index c12464f..dd5643e 100644 (file)
@@ -27,21 +27,22 @@ sub handle {
         my $xpc  = XML::LibXML::XPathContext->new;
         $xpc->registerNs( 'ns', $self->namespace() );
 
-        my $userid =
-          $xpc->findnodes( 'ns:RequestItem/UniqueUserId/UserIdentifierValue',
-            $root );
-        my $itemid =
-          $xpc->findnodes( 'ns:RequestItem/UniqueItemId/ItemIdentifierValue',
-            $root );
-        my $biblionumber = $xpc->findnodes( '//ns:BibliographicRecordIdentifier',
-                      $root );
+        my ($userid) = $xpc->findnodes( '//ns:UserIdentifierValue', $root );
+        $userid = $userid->textContent() if $userid;
+
+        my ($itemid) = $xpc->findnodes( '//ns:ItemIdentifierValue', $root );
+        $itemid = $itemid->textContent() if $itemid;
+        my ($biblionumber) =
+          $xpc->findnodes( '//ns:BibliographicRecordIdentifier', $root );
+        $biblionumber = $biblionumber->textContent() if $biblionumber;
+
         # request the item
         my $result = $self->ils->request( $userid, $itemid, $biblionumber );
         my $vars;
         my $output;
-        $vars->{'barcode'} = $itemid;
+        $vars->{'barcode'}     = $itemid;
         $vars->{'messagetype'} = 'RequestItemResponse';
-        if (! $result->{'success'}) {
+        if ( !$result->{'success'} ) {
             $vars->{'processingerror'}        = 1;
             $vars->{'processingerrortype'}    = $messages;
             $vars->{'processingerrorelement'} = 'UniqueItemIdentifier';
index 38e2ccc..c78b52a 100644 (file)
@@ -182,7 +182,7 @@ sub request {
             'Placed By ILL',           '',
             $itemdata->{'itemnumber'}, undef
         );
-        my ( $reservedate, $borrowernumber, $branchcode, $reserve_id, $wait ) =
+        my ( $reservedate, $borrowernumber, $branchcode2, $reserve_id, $wait ) =
           GetReservesFromItemnumber( $itemdata->{'itemnumber'} );
         $result = {
             success  => 1,