Continuing work on the AcceptItem handler
authorChris Cormack <chrisc@catalyst.net.nz>
Thu, 6 Mar 2014 01:11:13 +0000 (14:11 +1300)
committerChris Cormack <chrisc@catalyst.net.nz>
Thu, 6 Mar 2014 01:11:13 +0000 (14:11 +1300)
lib/NCIP/Dancing.pm
lib/NCIP/Handler/AcceptItem.pm
templates/includes/AcceptItemResponse.inc

index 8b65bc8..779c5a4 100644 (file)
@@ -12,7 +12,7 @@ any [ 'get', 'post' ] => '/' => sub {
         $xml = request->body;
     }
     my $content = $ncip->process_request($xml);
-    warn $content;
+#    warn $content;
     template 'main', { content => $content };
 };
 
index f744f4e..e1ea4eb 100644 (file)
@@ -25,9 +25,14 @@ sub handle {
     if ($xmldoc) {
         my $root = $xmldoc->documentElement();
         my $xpc  = $self->xpc();
-        my $itemid = $xpc->findnodes( '//ns:ItemId', $root );
+        my $itemid =
+          $xpc->findnodes( '//ns:ItemId/ItemIdentifierValue', $root );
+        my ($action)  = $xpc->findnodes( '//ns:RequestedActionType', $root );
+        my ($request) = $xpc->findnodes( '//ns:RequestId',           $root );
+        my $requestagency = $xpc->find( 'ns:AgencyId', $request );
+        my $requestid = $xpc->find( '//ns:RequestIdentifierValue', $request );
 
-        # checkin the item
+        # accept the item
         my $accepted = $self->ils->acceptitem($itemid);
         my $output;
         my $vars;
@@ -48,6 +53,9 @@ sub handle {
         }
         else {
             my $elements = $self->get_user_elements($xmldoc);
+            $vars->{'requestagency'} = $requestagency;
+            $vars->{'requestid'}     = $requestid;
+
             $vars->{'elements'} = $elements;
             $vars->{'accept'}   = $accepted;
             $output = $self->render_output( 'response.tt', $vars );
index 29cc1e2..5b30807 100644 (file)
@@ -1 +1,8 @@
-<ItemId>[% barcode %]</ItemId>
+<RequestId>
+  <AgencyId>[% requestagency %]</AgencyId>
+  <RequestIdentifierValue>[% requestid %]</RequestIdentifierValue>
+</RequestId>
+<ItemId>
+  <ItemIdentifierType>Item Barcode</ItemIdentifierType>
+  <ItemIdentifierValue>[% newbarcode %]</ItemIdentifierValue>
+</ItemId>