my $xmldoc = shift;
if ($xmldoc) {
my $root = $xmldoc->documentElement();
- my $userid =
- $root->findnodes('CheckInItem/UniqueUserId/UserIdentifierValue');
my $itemid =
$root->findnodes('CheckInItem/UniqueItemId/ItemIdentifierValue');
my @elements = $root->findnodes('CheckInItem/ItemElementType/Value');
# checkin the item
- my $checkin = $self->ils->checkin( $userid, $itemid );
+ my $checkin = $self->ils->checkin( $itemid );
my $output;
my $vars;
$vars->{'messagetype'} = 'CheckInItemResponse';
-
+ $vars->{'barcode'} = $itemid;
if ( !$checkin->{success} ) {
-
+ $var->{'processingerror'} = 1;
+ $var->{'processingerrortype'} = $checkin->{'messages'};
+ $var->{'processingerrorelement'} = 'UniqueItemIdentifier';
$output = $self->render_output( 'problem.tt', $vars );
}
else {
<Problem>
<ProcessingError>
<ProcessingErrorType>
- <Value>[% processingerrortype %]</Value>
+ <Value>
+ [% SWITCH processingerrortype %]
+ [% CASE 'BadBarcode' %]
+ We could not find an item with that barcode
+ [% CASE 'NotIssued' %]
+ The item is not on loan
+ [% END %]
+ </Value>
</ProcessingErrorType>
<ProcessingErrorElement>
<ElementName>[% processingerrorelement %]</ElementName>
- <ProcessingErrorValue>[% processingerrorvalue %]</ProcessingErrorValue>
+ <ProcessingErrorValue>[% barcode %]</ProcessingErrorValue>
</ProcessingErrorElement>
</ProcessingError>
<ProblemDetail>[% error_detail %]</ProblemDetail>