diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Viewer.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Viewer.pm index e0adbde28..f4f773a0b 100644 --- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Viewer.pm +++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Viewer.pm @@ -42,7 +42,7 @@ sub addRoutes { # Ignore hidden ConfTree Primary Keys push @enabledPK, $_ - unless ( $conf->{viewerHiddenPK} =~ /\b$_\b/ ); + unless ( $self->{viewerHiddenPK} =~ /\b$_\b/ ); } # HTML template @@ -55,10 +55,17 @@ sub addRoutes { ':cfgNum' => \@enabledPK }, ['GET'] - ) + ); - # Other keys - ->addRoute( view => { ':cfgNum' => { '*' => 'getKey' } }, ['GET'] ) + foreach ( split /\s+/, $self->{viewerHiddenPK} ) { + $self->addRoute( + view => { ':cfgNum' => { $_ => 'rejectKey' } }, + ['GET'] + ); + } + + # Other keys + $self->addRoute( view => { ':cfgNum' => { '*' => 'getKey' } }, ['GET'] ) # Difference between confs ->addRoute( diff => { ':conf1' => { ':conf2' => 'diff' } } ) @@ -75,4 +82,9 @@ sub diff { $self->SUPER::diff( $req, @path ); } +sub rejectKey { + my ( $self, $req ) = @_; + return $self->sendJSONresponse( $req, { 'value' => '_Hidden_' } ); +} + 1;