Allow to get display type in Multi backend (#529)
This commit is contained in:
parent
ef1b06603e
commit
59c8adde04
|
@ -7,7 +7,7 @@ package Lemonldap::NG::Portal::AuthMulti;
|
||||||
|
|
||||||
use Lemonldap::NG::Portal::_Multi; #inherits
|
use Lemonldap::NG::Portal::_Multi; #inherits
|
||||||
|
|
||||||
our $VERSION = '1.2.0';
|
our $VERSION = '1.2.2';
|
||||||
|
|
||||||
sub authInit {
|
sub authInit {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
@ -46,7 +46,11 @@ sub authForce {
|
||||||
|
|
||||||
sub getDisplayType {
|
sub getDisplayType {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return $self->_multi->try( 'getDisplayType', 0 );
|
my $s =
|
||||||
|
"Lemonldap::NG::Portal::Auth"
|
||||||
|
. $self->{_multi}->{last}->[0]
|
||||||
|
. "::getDisplayType";
|
||||||
|
return &{$s};
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
|
@ -68,6 +68,9 @@ sub try {
|
||||||
my $old = $self->{stack}->[$type]->[0]->{n};
|
my $old = $self->{stack}->[$type]->[0]->{n};
|
||||||
my $ci;
|
my $ci;
|
||||||
|
|
||||||
|
# Store last module used
|
||||||
|
$self->{last}->[$type] = $old;
|
||||||
|
|
||||||
if ( $ci = $self->{p}->safe->reval( $self->{stack}->[$type]->[0]->{c} ) ) {
|
if ( $ci = $self->{p}->safe->reval( $self->{stack}->[$type]->[0]->{c} ) ) {
|
||||||
|
|
||||||
# Log used module
|
# Log used module
|
||||||
|
@ -113,7 +116,10 @@ sub next {
|
||||||
shift @{ $self->{stack}->[ 1 - $type ] };
|
shift @{ $self->{stack}->[ 1 - $type ] };
|
||||||
}
|
}
|
||||||
shift @{ $self->{stack}->[$type] };
|
shift @{ $self->{stack}->[$type] };
|
||||||
|
|
||||||
|
# Manage end of the stack
|
||||||
return 0 unless ( @{ $self->{stack}->[$type] } );
|
return 0 unless ( @{ $self->{stack}->[$type] } );
|
||||||
|
|
||||||
%{ $self->{p} } = (
|
%{ $self->{p} } = (
|
||||||
%{ $self->{p} },
|
%{ $self->{p} },
|
||||||
%{ $self->{p}->{multi}->{ $self->{stack}->[$type]->[0]->{n} } }
|
%{ $self->{p}->{multi}->{ $self->{stack}->[$type]->[0]->{n} } }
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
# change 'tests => 1' to 'tests => last_test_to_print';
|
# change 'tests => 1' to 'tests => last_test_to_print';
|
||||||
|
|
||||||
package My::Portal;
|
package My::Portal;
|
||||||
use Test::More tests => 13;
|
use Test::More tests => 14;
|
||||||
use IO::String;
|
use IO::String;
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
|
@ -102,6 +102,11 @@ my ( $test, $testU );
|
||||||
ok( ( $p->process() == 1 and $p->{error} == PE_OK and $test == 1 ),
|
ok( ( $p->process() == 1 and $p->{error} == PE_OK and $test == 1 ),
|
||||||
'Second module was called' );
|
'Second module was called' );
|
||||||
|
|
||||||
|
ok(
|
||||||
|
( $p->getDisplayType() eq "display2" ),
|
||||||
|
'Display type from module 2 was found'
|
||||||
|
);
|
||||||
|
|
||||||
ok(
|
ok(
|
||||||
$p = My::Portal->new(
|
$p = My::Portal->new(
|
||||||
{
|
{
|
||||||
|
@ -222,6 +227,10 @@ sub authenticate {
|
||||||
Lemonldap::NG::Portal::Simple::PE_ERROR;
|
Lemonldap::NG::Portal::Simple::PE_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub getDisplayType {
|
||||||
|
return "display1";
|
||||||
|
}
|
||||||
|
|
||||||
package Lemonldap::NG::Portal::Auth2;
|
package Lemonldap::NG::Portal::Auth2;
|
||||||
|
|
||||||
sub authInit {
|
sub authInit {
|
||||||
|
@ -240,6 +249,10 @@ sub authenticate {
|
||||||
Lemonldap::NG::Portal::Simple::PE_OK;
|
Lemonldap::NG::Portal::Simple::PE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub getDisplayType {
|
||||||
|
return "display2";
|
||||||
|
}
|
||||||
|
|
||||||
package Lemonldap::NG::Portal::UserDB1;
|
package Lemonldap::NG::Portal::UserDB1;
|
||||||
|
|
||||||
sub userDBInit {
|
sub userDBInit {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user