Tidying up output, removing blank lines
[working/NCIPServer.git] / lib / NCIP / Handler / LookupUser.pm
1 package NCIP::Handler::LookupUser;
2
3 =head1
4
5   NCIP::Handler::LookupUser
6
7 =head1 SYNOPSIS
8
9     Not to be called directly, NCIP::Handler will pick the appropriate Handler 
10     object, given a message type
11
12 =head1 FUNCTIONS
13
14 =cut
15
16 use Modern::Perl;
17
18 use NCIP::Handler;
19 use NCIP::User;
20
21 our @ISA = qw(NCIP::Handler);
22
23 sub handle {
24     my $self   = shift;
25     my $xmldoc = shift;
26     if ($xmldoc) {
27
28         # Given our xml document, lets find our userid
29         my ($user_id) =
30           $xmldoc->getElementsByTagNameNS( $self->namespace(),
31             'UserIdentifierValue' );
32
33         # We may get a password, username combo instead of userid
34         # Need to deal with that also
35
36         my $user = NCIP::User->new(
37             { userid => $user_id->textContent(), ils => $self->ils } );
38         $user->initialise();
39
40         # if we have blank user, we need to return that
41         # and can skip looking for elementtypes
42
43         my $root     = $xmldoc->documentElement();
44         my @elements = $root->findnodes('LookupUser/UserElementType/Value');
45
46         #set up the variables for our template
47         my $vars;
48         $vars->{'messagetype'} = 'LookupUserResponse';
49         $vars->{'elements'}    = \@elements;
50         $vars->{'user'}        = $user;
51         my $output = $self->render_output( 'response.tt', $vars );
52         return $output;
53
54     }
55 }
56
57 1;