1 package NCIP::Handler::AccpetItem;
5 NCIP::Handler::AcceptItem
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() );
30 $xpc->findnodes( 'ns:AcceptItem/UniqueItemId/ItemIdentifierValue',
34 my $accepted = $self->ils->acceptitem($itemid);
37 my ( $from, $to ) = $self->get_agencies($xmldoc);
39 # we switch these for the templates
40 # because we are responding, to becomes from, from becomes to
41 $vars->{'fromagency'} = $to;
42 $vars->{'toagency'} = $from;
44 $vars->{'messagetype'} = 'AcceptItemResponse';
45 $vars->{'barcode'} = $itemid;
46 if ( !$accepted->{success} ) {
47 $vars->{'processingerror'} = 1;
48 $vars->{'processingerrortype'} = $accepted->{'messages'};
49 $vars->{'processingerrorelement'} = 'UniqueItemIdentifier';
50 $output = $self->render_output( 'problem.tt', $vars );
53 my $elements = $self->get_user_elements($xmldoc);
54 $vars->{'elements'} = $elements;
55 $vars->{'checkin'} = $checkin;
56 $output = $self->render_output( 'response.tt', $vars );