1 package NCIP::Handler::CheckOutItem;
5 NCIP::Handler::CheckOutItem
9 Not to be called directly, NCIP::Handler will pick the appropriate Handler
10 object, given a message type
20 our @ISA = qw(NCIP::Handler);
26 my $root = $xmldoc->documentElement();
27 my $xpc = XML::LibXML::XPathContext->new;
28 $xpc->registerNs( 'ns', $self->namespace() );
31 $xpc->findnodes( 'ns:CheckOutItem/UniqueUserId/UserIdentifierValue',
34 $xpc->findnodes( 'ns:CheckOutItem/UniqueItemId/ItemIdentifierValue',
38 my ( $error, $messages, $datedue ) =
39 $self->ils->checkout( $userid, $itemid );
42 $vars->{'barcode'} = $itemid;
43 $vars->{'messagetype'} = 'CheckOutItemResponse';
45 $vars->{'processingerror'} = 1;
46 $vars->{'processingerrortype'} = $messages;
47 $vars->{'processingerrorelement'} = 'UniqueItemIdentifier';
48 $output = $self->render_output( 'problem.tt', $vars );
51 my $elements = $self->get_user_elements($xmldoc);
52 $vars->{'elements'} = $elements;
53 $vars->{'datedue'} = $datedue;
54 $output = $self->render_output( 'response.tt', $vars );