diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm index 067e6f492..1577a3679 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm @@ -483,11 +483,16 @@ sub display { $self->loadedModules->{ "Lemonldap::NG::Portal::Plugins::FindUser"}; my $fields = []; - $fields = $plugin->buildForm() - if ( $plugin + if ( + $plugin && $self->conf->{findUser} && $self->conf->{impersonationRule} - && $self->conf->{findUserSearchingAttributes} ); + && $self->conf->{findUserSearchingAttributes} + ) + { + $login = $req->data->{findUser}; + $fields = $plugin->buildForm(); + } # Authentication loop if ( $self->conf->{authentication} eq 'Choice' @@ -503,6 +508,7 @@ sub display { DISPLAY_OPENID_FORM => 0, DISPLAY_YUBIKEY_FORM => 0, FIELDS => $fields, + SPOOFID => $login, FINDUSER => scalar @$fields ); } @@ -536,6 +542,7 @@ sub display { ( $displayType eq "logo" ? $self->conf->{portal} : 0 ), MSG => $req->info(), FIELDS => $fields, + SPOOFID => $login, FINDUSER => scalar @$fields ); } diff --git a/lemonldap-ng-portal/t/68-FindUser-with-Combination.t b/lemonldap-ng-portal/t/68-FindUser-with-Combination.t index 37eeba98b..ee9916334 100644 --- a/lemonldap-ng-portal/t/68-FindUser-with-Combination.t +++ b/lemonldap-ng-portal/t/68-FindUser-with-Combination.t @@ -8,7 +8,7 @@ require 't/test-lib.pm'; my $res; my $json; my $request; -my $maintests = 23; +my $maintests = 24; SKIP: { skip 'LLNGTESTLDAP is not set', $maintests unless ( $ENV{LLNGTESTLDAP} ); @@ -70,6 +70,8 @@ m%[2]->[0] =~ m%value="dwho"%, 'value="dwho"' ) + or explain( $res->[2]->[0], 'value="dwho"' ); ok( $res->[2]->[0] =~ m%autocomplete="off"%, 'autocomplete="off"' ) or explain( $res->[2]->[0], 'autocomplete="off"' ); ok( diff --git a/lemonldap-ng-portal/t/68-FindUser-with-DBI.t b/lemonldap-ng-portal/t/68-FindUser-with-DBI.t index f38e74d44..3d7961199 100644 --- a/lemonldap-ng-portal/t/68-FindUser-with-DBI.t +++ b/lemonldap-ng-portal/t/68-FindUser-with-DBI.t @@ -5,7 +5,7 @@ use IO::String; require 't/test-lib.pm'; -my $maintests = 53; +my $maintests = 54; my $userdb = tempdb(); SKIP: { @@ -105,6 +105,8 @@ m%[2]->[0] =~ m%value="dwho"%, 'value="dwho"' ) + or explain( $res->[2]->[0], 'value="dwho"' ); ok( $res->[2]->[0] =~ m%autocomplete="off"%, 'autocomplete="off"' ) or explain( $res->[2]->[0], 'autocomplete="off"' ); ok(