Move logout link in menu links (#820)

environments/ppa-mbqj77/deployments/1
Clément Oudot 10 years ago
parent 8a060741d6
commit 3093302ab5
  1. 13
      lemonldap-ng-common/lib/Lemonldap/NG/Common/PSGI.pm
  2. 13
      lemonldap-ng-manager/lib/Lemonldap/NG/Manager.pm
  3. 3
      lemonldap-ng-manager/site/static/js/manager.js
  4. 1
      lemonldap-ng-manager/site/static/js/notifications.js
  5. 3
      lemonldap-ng-manager/site/static/js/sessions.js
  6. 1
      lemonldap-ng-manager/site/static/languages/en.json
  7. 1
      lemonldap-ng-manager/site/static/languages/fr.json
  8. 2
      lemonldap-ng-manager/site/templates/menubar.tpl
  9. 1
      lemonldap-ng-manager/site/templates/scripts.tpl

@ -16,10 +16,12 @@ has logLevel => ( is => 'rw', isa => 'Str' );
has staticPrefix => ( is => 'rw', isa => 'Str' );
has templateDir => ( is => 'rw', isa => 'Str' );
has links => ( is => 'rw', isa => 'ArrayRef' );
has menuLinks => ( is => 'rw', isa => 'ArrayRef' );
has syslog => (
is => 'rw',
isa => 'Str',
trigger => sub {
if ( $_[0]->{syslog} ) {
eval {
require Sys::Syslog;
@ -109,9 +111,11 @@ sub sendError {
$err ||= $req->error;
$code ||= 500;
$self->lmLog( "Error $code: $err", $code > 499 ? 'error' : 'notice' );
return ( $req->accept =~ /json/
return (
$req->accept =~ /json/
? $self->sendJSONresponse( $req, { error => $err }, code => $code )
: [ $code, [ 'Content-Type' => 'text/plain' ], ["Error: $err"] ] );
: [ $code, [ 'Content-Type' => 'text/plain' ], ["Error: $err"] ]
);
}
sub abort {
@ -160,7 +164,10 @@ sub sendHtml {
SCRIPT_NAME => $req->scriptname,
STATIC_PREFIX => $sp,
AVAILABLE_LANGUAGES => $self->languages,
LINKS => $self->links ? encode_json( $self->links ) : '""',
LINKS => $self->links ? encode_json( $self->links ) : '""',
MENULINKS => $self->menuLinks
? encode_json( $self->menuLinks )
: '""',
VERSION => $VERSION,
);
};

@ -63,11 +63,20 @@ sub init {
push @{ $self->links },
{ target => $enabledModules[$i]->defaultRoute, title => $links[$i] };
}
push @{ $self->links },
$self->menuLinks( [] );
push @{ $self->menuLinks },
{
target => &{ $Lemonldap::NG::Handler::SharedConf::tsv->{portal} },
title => 'backtoportal',
icon => 'home'
}
if ( defined $Lemonldap::NG::Handler::SharedConf::tsv->{portal} );
push @{ $self->menuLinks },
{
target => &{ $Lemonldap::NG::Handler::SharedConf::tsv->{portal} }
. '?logout=1',
title => 'logout'
title => 'logout',
icon => 'log-out'
}
if ( defined $Lemonldap::NG::Handler::SharedConf::tsv->{portal} );
1;

@ -56,6 +56,7 @@
llapp.controller('TreeCtrl', ['$scope', '$http', '$location', '$q', '$modal', '$translator', function($scope, $http, $location, $q, $modal, $translator) {
$scope.links = links;
$scope.menulinks = menulinks;
$scope.staticPrefix = staticPrefix;
$scope.formPrefix = formPrefix;
$scope.availableLanguages = availableLanguages;
@ -804,4 +805,4 @@
};
}]);
})();
})();

@ -36,6 +36,7 @@
llapp.controller('NotificationsExplorerCtrl', ['$scope', '$translator', '$location', '$q', '$http', function($scope, $translator, $location, $q, $http) {
$scope.links = links;
$scope.menulinks = menulinks;
$scope.staticPrefix = staticPrefix;
$scope.scriptname = scriptname;
$scope.formPrefix = formPrefix;

@ -68,6 +68,7 @@
llapp.controller('SessionsExplorerCtrl', ['$scope', '$translator', '$location', '$q', '$http', function($scope, $translator, $location, $q, $http) {
$scope.links = links;
$scope.menulinks = menulinks;
$scope.staticPrefix = staticPrefix;
$scope.scriptname = scriptname;
$scope.formPrefix = formPrefix;
@ -342,4 +343,4 @@
var c = $location.path().match(/^\/(\w+)/);
$scope.type = c ? c[1] : '_whatToTrace';
}]);
})();
})();

@ -51,6 +51,7 @@
"authorizedValues": "Authorized values",
"authParams": "Authentication parameters",
"auto": "Automatic",
"backtoportal": "Back to portal",
"badCookieName": "Bad cookie name",
"badDomainName": "Bad domain name",
"badEncoding": "Bad encoding",

@ -51,6 +51,7 @@
"authorizedValues": "Valeurs autorisées",
"authParams": "Paramètres d'authentification",
"auto": "Automatique",
"backtoportal": "Retour au portail",
"badCookieName": "Mauvais nom de cookie",
"badDomainName": "Mauvais nom de domaine",
"badEncoding": "Mauvais encodage",

@ -27,6 +27,8 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Menu <span class="caret"></span></a>
<ul class="dropdown-menu">
<li ng-repeat="menulink in menulinks"><a href="{{menulink.target}}"><i class="glyphicon glyphicon-{{menulink.icon}}"></i> {{translate(menulink.title)}}</a></li>
<li role="separator" class="divider"></li>
<li class="dropdown-header">{{translate('languages')}}</li>
<li ng-include="'languages.html'"/>
<li role="separator" class="divider"></li>

@ -26,6 +26,7 @@
var confPrefix=scriptname+'confs/';
var availableLanguages='<TMPL_VAR NAME="AVAILABLE_LANGUAGES">'.split(/[,;] */);
var links=<TMPL_VAR NAME="LINKS">;
var menulinks=<TMPL_VAR NAME="MENULINKS">;
</script>
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">bwr/jquery/dist/jquery.min.js"></script>

Loading…
Cancel
Save