diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Tests.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Tests.pm index cd74c1acf..d90f37648 100644 --- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Tests.pm +++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Tests.pm @@ -776,6 +776,14 @@ sub tests { return 1; }, + # Notification system required with removed SF notification + sfRemovedNotification => sub { + return 1 unless ( $conf->{sfRemovedMsgRule} ); + return ( -1, +'Notification system must be enabled to display a notification if a SF is removed' + ) if ( $conf->{sfRemovedUseNotif} and not $conf->{notification} ); + return 1; + }, }; } diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/ar.json b/lemonldap-ng-manager/site/htdocs/static/languages/ar.json index ce120c1a8..91a5492c1 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/ar.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/ar.json @@ -827,7 +827,7 @@ "sfaTitle":"Second Factors Authentication", "sfExtra":"Additional second factors", "sfRequired":"Require 2FA", -"sfRemovedNotification":"Display a message if an expired SF is removed", +"sfRemovedNotification":"Warn if an expired SF is removed", "sfRemovedMsgRule":"تفعيل", "sfRemovedUseNotif":"Use Notifications plugin", "sfRemovedNotifMsg":"Notification message", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/de.json b/lemonldap-ng-manager/site/htdocs/static/languages/de.json index 1027d4d2d..947fddab8 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/de.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/de.json @@ -827,7 +827,7 @@ "sfaTitle":"Second Factors Authentication", "sfExtra":"Additional second factors", "sfRequired":"Require 2FA", -"sfRemovedNotification":"Display a message if an expired SF is removed", +"sfRemovedNotification":"Warn if an expired SF is removed", "sfRemovedMsgRule":"Activation", "sfRemovedUseNotif":"Use Notifications plugin", "sfRemovedNotifMsg":"Notification message", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/en.json b/lemonldap-ng-manager/site/htdocs/static/languages/en.json index ebd8404eb..f20443331 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/en.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/en.json @@ -827,7 +827,7 @@ "sfaTitle":"Second Factors Authentication", "sfExtra":"Additional second factors", "sfRequired":"Require 2FA", -"sfRemovedNotification":"Display a message if an expired SF is removed", +"sfRemovedNotification":"Warn if an expired SF is removed", "sfRemovedMsgRule":"Activation", "sfRemovedUseNotif":"Use Notifications plugin", "sfRemovedNotifMsg":"Notification message", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/fr.json b/lemonldap-ng-manager/site/htdocs/static/languages/fr.json index 1877bba07..c0d3382bd 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/fr.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/fr.json @@ -827,7 +827,7 @@ "sfaTitle":"Seconds Facteurs d'Authentification", "sfExtra":"Seconds facteurs additionnels", "sfRequired":"Exiger 2FA", -"sfRemovedNotification":"Afficher un message si un SF expiré a été supprimé", +"sfRemovedNotification":"Avertir si un SF expiré a été supprimé", "sfRemovedMsgRule":"Activation", "sfRemovedUseNotif":"Utiliser les notifications", "sfRemovedNotifMsg":"Message de la notification", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/it.json b/lemonldap-ng-manager/site/htdocs/static/languages/it.json index f990627e6..895c5440f 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/it.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/it.json @@ -827,7 +827,7 @@ "sfaTitle":"Autenticazione a due fattori", "sfExtra":"Additional second factors", "sfRequired":"Richiedi 2FA", -"sfRemovedNotification":"Display a message if an expired SF is removed", +"sfRemovedNotification":"Warn if an expired SF is removed", "sfRemovedMsgRule":"Attivazione", "sfRemovedUseNotif":"Use Notifications plugin", "sfRemovedNotifMsg":"Notification message", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/tr.json b/lemonldap-ng-manager/site/htdocs/static/languages/tr.json index 8a9b5e6ae..b0c15ca3d 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/tr.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/tr.json @@ -827,7 +827,7 @@ "sfaTitle":"İki Faktörlü Kimlik Doğrulaması", "sfExtra":"Ek ikinci faktörler", "sfRequired":"2FA gerektir", -"sfRemovedNotification":"Süresi dolan bir SF kaldırıldığında bir mesaj göster", +"sfRemovedNotification":"Warn if an expired SF is removed", "sfRemovedMsgRule":"Aktivasyon", "sfRemovedUseNotif":"Bildirimler eklentisini kullan", "sfRemovedNotifMsg":"Bildirim mesajı", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/vi.json b/lemonldap-ng-manager/site/htdocs/static/languages/vi.json index 9e7a42282..ad9789f30 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/vi.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/vi.json @@ -827,7 +827,7 @@ "sfaTitle":"Second Factors Authentication", "sfExtra":"Additional second factors", "sfRequired":"Require 2FA", -"sfRemovedNotification":"Display a message if an expired SF is removed", +"sfRemovedNotification":"Warn if an expired SF is removed", "sfRemovedMsgRule":"Kích hoạt", "sfRemovedUseNotif":"Use Notifications plugin", "sfRemovedNotifMsg":"Notification message", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/zh.json b/lemonldap-ng-manager/site/htdocs/static/languages/zh.json index 3cc1fe536..90e6112be 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/zh.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/zh.json @@ -827,7 +827,7 @@ "sfaTitle":"Second Factors Authentication", "sfExtra":"Additional second factors", "sfRequired":"Require 2FA", -"sfRemovedNotification":"Display a message if an expired SF is removed", +"sfRemovedNotification":"Warn if an expired SF is removed", "sfRemovedMsgRule":"激活", "sfRemovedUseNotif":"Use Notifications plugin", "sfRemovedNotifMsg":"Notification message", diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm index 092450e16..83a403c72 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm @@ -241,9 +241,10 @@ sub run { # Display message if required if ( $self->sfMsgRule->( $req, $req->sessionInfo ) ) { - my $uid = $req->user; - my $date = strftime "%Y-%m-%d", localtime; - my $ref = $self->conf->{sfRemovedNotifRef} || 'RemoveSF'; + my $uid = $req->user; + my $date = strftime "%Y-%m-%d", localtime; + my $ref = $self->conf->{sfRemovedNotifRef} || 'RemoveSF'; + $ref .= '-' . time(); my $title = $self->conf->{sfRemovedNotifTitle} || 'Second factor notification'; my $msg = $self->conf->{sfRemovedNotifMsg} @@ -255,8 +256,11 @@ sub run { ? { trspan => "expired2Fremoved, $removed" } : { trspan => "oneExpired2Fremoved" }; + my $notifEngine = $self->p->loadedModules->{ + 'Lemonldap::NG::Portal::Plugins::Notifications'}; + my $res = - $self->conf->{sfRemovedUseNotif} + ( $self->conf->{sfRemovedUseNotif} && $notifEngine ) ? $self->createNotification( $req, $uid, $date, $ref, $title, $msg ) : $self->displayTemplate( $req, 'simpleInfo', $params ); diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Plugin.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Plugin.pm index 3d2885803..e594ad834 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Plugin.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Plugin.pm @@ -78,6 +78,7 @@ sub createNotification { my $notifEngine = $self->p->loadedModules->{ 'Lemonldap::NG::Portal::Plugins::Notifications'}; + $self->logger->debug("Loading Notifications plugin..."); return PE_ERROR unless $notifEngine; # Prepare notification diff --git a/lemonldap-ng-portal/site/templates/bootstrap/menu.tpl b/lemonldap-ng-portal/site/templates/bootstrap/menu.tpl index c2d3911e0..785f6470c 100644 --- a/lemonldap-ng-portal/site/templates/bootstrap/menu.tpl +++ b/lemonldap-ng-portal/site/templates/bootstrap/menu.tpl @@ -72,10 +72,10 @@ sfaManager - - @@ -84,10 +84,10 @@ decryptCipheredValue - -