diff --git a/lemonldap-ng-portal/site/coffee/notifications.coffee b/lemonldap-ng-portal/site/coffee/notifications.coffee
index a51624dd5..52861aeb2 100644
--- a/lemonldap-ng-portal/site/coffee/notifications.coffee
+++ b/lemonldap-ng-portal/site/coffee/notifications.coffee
@@ -33,7 +33,11 @@ toggle = (button, notif, epoch) ->
button.removeClass 'btn-success'
button.addClass 'btn-danger'
$("#myNotification").removeAttr('hidden')
- else $("#myNotification").attr('hidden', 'true')
+ else
+ $("#icon-explorer-button").removeClass 'fa-eye'
+ $("#icon-explorer-button").addClass 'fa-eye-slash'
+ $("#myNotification").attr('hidden', 'true')
+ $("#explorer-button").attr('hidden', 'true')
# viewNotif function (launched by "verify" button)
viewNotif = (notif, epoch, button) ->
@@ -55,6 +59,7 @@ viewNotif = (notif, epoch, button) ->
$('#notifRef').text(notif)
myDate = new Date(epoch * 1000)
$('#notifEpoch').text(myDate.toLocaleString())
+ $("#explorer-button").removeAttr('hidden')
else setMsg 'notificationNotFound', 'warning'
else setMsg 'notificationRetreiveFailed', 'warning'
@@ -66,4 +71,12 @@ $(document).ready ->
$('#goback').attr 'href', portal
$('body').on 'click', '.btn-success', () -> viewNotif ( $(this).attr 'notif' ), ( $(this).attr 'epoch' ), $(this)
$('body').on 'click', '.btn-danger', () -> toggle $(this)
-
+ $('body').on 'click', '.btn-info', () ->
+ if $('#explorer').is(':visible')
+ $('#explorer').hide()
+ $("#icon-explorer-button").removeClass 'fa-eye-slash'
+ $("#icon-explorer-button").addClass 'fa-eye'
+ else
+ $('#explorer').show()
+ $("#icon-explorer-button").removeClass 'fa-eye'
+ $("#icon-explorer-button").addClass 'fa-eye-slash'
\ No newline at end of file
diff --git a/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.js b/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.js
index 4c14bc768..f05cbe97c 100644
--- a/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.js
+++ b/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.js
@@ -46,7 +46,10 @@ LemonLDAP::NG Notifications script
button.addClass('btn-danger');
return $("#myNotification").removeAttr('hidden');
} else {
- return $("#myNotification").attr('hidden', 'true');
+ $("#icon-explorer-button").removeClass('fa-eye');
+ $("#icon-explorer-button").addClass('fa-eye-slash');
+ $("#myNotification").attr('hidden', 'true');
+ return $("#explorer-button").attr('hidden', 'true');
}
};
@@ -70,7 +73,8 @@ LemonLDAP::NG Notifications script
$('#displayNotif').html(resp.notification);
$('#notifRef').text(notif);
myDate = new Date(epoch * 1000);
- return $('#notifEpoch').text(myDate.toLocaleString());
+ $('#notifEpoch').text(myDate.toLocaleString());
+ return $("#explorer-button").removeAttr('hidden');
} else {
return setMsg('notificationNotFound', 'warning');
}
@@ -91,9 +95,20 @@ LemonLDAP::NG Notifications script
$('body').on('click', '.btn-success', function() {
return viewNotif($(this).attr('notif'), $(this).attr('epoch'), $(this));
});
- return $('body').on('click', '.btn-danger', function() {
+ $('body').on('click', '.btn-danger', function() {
return toggle($(this));
});
+ return $('body').on('click', '.btn-info', function() {
+ if ($('#explorer').is(':visible')) {
+ $('#explorer').hide();
+ $("#icon-explorer-button").removeClass('fa-eye-slash');
+ return $("#icon-explorer-button").addClass('fa-eye');
+ } else {
+ $('#explorer').show();
+ $("#icon-explorer-button").removeClass('fa-eye');
+ return $("#icon-explorer-button").addClass('fa-eye-slash');
+ }
+ });
});
}).call(this);
diff --git a/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js b/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js
index a4315a081..e52cd2dc7 100644
--- a/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js
+++ b/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js
@@ -1,2 +1 @@
-(function(){var t,e,n,a,i;e=$("#msg").attr("trspan"),n=function(t,e){return $("#msg").html(window.translate(t)),$("#color").removeClass("message-positive message-warning alert-success alert-warning"),$("#color").addClass("message-"+e),"positive"===e&&(e="success"),$("#color").addClass("alert-"+e)},t=function(t,e,a){return n("notificationRetreiveFailed","warning")},a=function(t,a,i){return n(e,"positive"),$(".btn-danger").each(function(){return $(this).removeClass("btn-danger"),$(this).addClass("btn-success")}),$(".fa-eye-slash").each(function(){return $(this).removeClass("fa-eye-slash"),$(this).addClass("fa-eye")}),$(".verify").each(function(){return $(this).text(window.translate("verify")),$(this).attr("trspan","verify")}),a&&i?($("#icon-"+a+"-"+i).removeClass("fa-eye"),$("#icon-"+a+"-"+i).addClass("fa-eye-slash"),$("#text-"+a+"-"+i).text(window.translate("hide")),$("#text-"+a+"-"+i).attr("trspan","hide"),t.removeClass("btn-success"),t.addClass("btn-danger"),$("#myNotification").removeAttr("hidden")):$("#myNotification").attr("hidden","true")},i=function(e,i,o){return console.log("Ref:",e,"epoch:",i),e&&i?(console.log("Send AJAX request"),$.ajax({type:"GET",url:portal+"mynotifications/"+e,data:{epoch:i},dataType:"json",error:t,success:function(t){var s;return t.result?(console.log("Notification:",t.notification),a(o,e,i),$("#displayNotif").html(t.notification),$("#notifRef").text(e),s=new Date(1e3*i),$("#notifEpoch").text(s.toLocaleString())):n("notificationNotFound","warning")}})):n("notificationRetreiveFailed","warning")},$(document).ready(function(){return $(".data-epoch").each(function(){var t;return t=new Date(1e3*$(this).text()),$(this).text(t.toLocaleString())}),$("#goback").attr("href",portal),$("body").on("click",".btn-success",function(){return i($(this).attr("notif"),$(this).attr("epoch"),$(this))}),$("body").on("click",".btn-danger",function(){return a($(this))})})}).call(this);
-//# sourceMappingURL=lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js.map
\ No newline at end of file
+(function(){var e,o,r,s,t;o=$("#msg").attr("trspan"),r=function(e,t){return $("#msg").html(window.translate(e)),$("#color").removeClass("message-positive message-warning alert-success alert-warning"),$("#color").addClass("message-"+t),"positive"===t&&(t="success"),$("#color").addClass("alert-"+t)},e=function(e,t,n){return r("notificationRetreiveFailed","warning")},s=function(e,t,n){return r(o,"positive"),$(".btn-danger").each(function(){return $(this).removeClass("btn-danger"),$(this).addClass("btn-success")}),$(".fa-eye-slash").each(function(){return $(this).removeClass("fa-eye-slash"),$(this).addClass("fa-eye")}),$(".verify").each(function(){return $(this).text(window.translate("verify")),$(this).attr("trspan","verify")}),t&&n?($("#icon-"+t+"-"+n).removeClass("fa-eye"),$("#icon-"+t+"-"+n).addClass("fa-eye-slash"),$("#text-"+t+"-"+n).text(window.translate("hide")),$("#text-"+t+"-"+n).attr("trspan","hide"),e.removeClass("btn-success"),e.addClass("btn-danger"),$("#myNotification").removeAttr("hidden")):($("#icon-explorer-button").removeClass("fa-eye"),$("#icon-explorer-button").addClass("fa-eye-slash"),$("#myNotification").attr("hidden","true"),$("#explorer-button").attr("hidden","true"))},t=function(n,o,a){return console.log("Ref:",n,"epoch:",o),n&&o?(console.log("Send AJAX request"),$.ajax({type:"GET",url:portal+"mynotifications/"+n,data:{epoch:o},dataType:"json",error:e,success:function(e){var t;return e.result?(console.log("Notification:",e.notification),s(a,n,o),$("#displayNotif").html(e.notification),$("#notifRef").text(n),t=new Date(1e3*o),$("#notifEpoch").text(t.toLocaleString()),$("#explorer-button").removeAttr("hidden")):r("notificationNotFound","warning")}})):r("notificationRetreiveFailed","warning")},$(document).ready(function(){return $(".data-epoch").each(function(){var e;return e=new Date(1e3*$(this).text()),$(this).text(e.toLocaleString())}),$("#goback").attr("href",portal),$("body").on("click",".btn-success",function(){return t($(this).attr("notif"),$(this).attr("epoch"),$(this))}),$("body").on("click",".btn-danger",function(){return s($(this))}),$("body").on("click",".btn-info",function(){return $("#explorer").is(":visible")?($("#explorer").hide(),$("#icon-explorer-button").removeClass("fa-eye-slash"),$("#icon-explorer-button").addClass("fa-eye")):($("#explorer").show(),$("#icon-explorer-button").removeClass("fa-eye"),$("#icon-explorer-button").addClass("fa-eye-slash"))})})}).call(this);
\ No newline at end of file
diff --git a/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js.map b/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js.map
index b2c9f9713..3843ebea0 100644
--- a/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js.map
+++ b/lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["lemonldap-ng-portal/site/htdocs/static/common/js/notifications.js"],"names":["displayError","msg","setMsg","toggle","viewNotif","$","attr","level","html","window","translate","removeClass","addClass","j","status","err","button","notif","epoch","each","this","text","removeAttr","console","log","ajax","type","url","portal","data","dataType","error","success","resp","myDate","result","notification","Date","toLocaleString","document","ready","on","call"],"mappings":"CAMA,WACE,GAAIA,GAAcC,EAAKC,EAAQC,EAAQC,CAEvCH,GAAMI,EAAE,QAAQC,KAAK,UAErBJ,EAAS,SAASD,EAAKM,GAOrB,MANAF,GAAE,QAAQG,KAAKC,OAAOC,UAAUT,IAChCI,EAAE,UAAUM,YAAY,gEACxBN,EAAE,UAAUO,SAAS,WAAaL,GACpB,aAAVA,IACFA,EAAQ,WAEHF,EAAE,UAAUO,SAAS,SAAWL,IAGzCP,EAAe,SAASa,EAAGC,EAAQC,GACjC,MAAOb,GAAO,6BAA8B,YAG9CC,EAAS,SAASa,EAAQC,EAAOC,GAc/B,MAbAhB,GAAOD,EAAK,YACZI,EAAE,eAAec,KAAK,WAEpB,MADAd,GAAEe,MAAMT,YAAY,cACbN,EAAEe,MAAMR,SAAS,iBAE1BP,EAAE,iBAAiBc,KAAK,WAEtB,MADAd,GAAEe,MAAMT,YAAY,gBACbN,EAAEe,MAAMR,SAAS,YAE1BP,EAAE,WAAWc,KAAK,WAEhB,MADAd,GAAEe,MAAMC,KAAKZ,OAAOC,UAAU,WACvBL,EAAEe,MAAMd,KAAK,SAAU,YAE5BW,GAASC,GACXb,EAAE,SAAWY,EAAQ,IAAMC,GAAOP,YAAY,UAC9CN,EAAE,SAAWY,EAAQ,IAAMC,GAAON,SAAS,gBAC3CP,EAAE,SAAWY,EAAQ,IAAMC,GAAOG,KAAKZ,OAAOC,UAAU,SACxDL,EAAE,SAAWY,EAAQ,IAAMC,GAAOZ,KAAK,SAAU,QACjDU,EAAOL,YAAY,eACnBK,EAAOJ,SAAS,cACTP,EAAE,mBAAmBiB,WAAW,WAEhCjB,EAAE,mBAAmBC,KAAK,SAAU,SAI/CF,EAAY,SAASa,EAAOC,EAAOF,GAEjC,MADAO,SAAQC,IAAI,OAAQP,EAAO,SAAUC,GACjCD,GAASC,GACXK,QAAQC,IAAI,qBACLnB,EAAEoB,MACPC,KAAM,MACNC,IAAKC,OAAS,mBAAqBX,EACnCY,MACEX,MAAOA,GAETY,SAAU,OACVC,MAAO/B,EACPgC,QAAS,SAASC,GAChB,GAAIC,EACJ,OAAID,GAAKE,QACPZ,QAAQC,IAAI,gBAAiBS,EAAKG,cAClCjC,EAAOa,EAAQC,EAAOC,GACtBb,EAAE,iBAAiBG,KAAKyB,EAAKG,cAC7B/B,EAAE,aAAagB,KAAKJ,GACpBiB,EAAS,GAAIG,MAAa,IAARnB,GACXb,EAAE,eAAegB,KAAKa,EAAOI,mBAE7BpC,EAAO,uBAAwB,eAKrCA,EAAO,6BAA8B,YAIhDG,EAAEkC,UAAUC,MAAM,WAUhB,MATAnC,GAAE,eAAec,KAAK,WACpB,GAAIe,EAEJ,OADAA,GAAS,GAAIG,MAAsB,IAAjBhC,EAAEe,MAAMC,QACnBhB,EAAEe,MAAMC,KAAKa,EAAOI,oBAE7BjC,EAAE,WAAWC,KAAK,OAAQsB,QAC1BvB,EAAE,QAAQoC,GAAG,QAAS,eAAgB,WACpC,MAAOrC,GAAUC,EAAEe,MAAMd,KAAK,SAAUD,EAAEe,MAAMd,KAAK,SAAUD,EAAEe,SAE5Df,EAAE,QAAQoC,GAAG,QAAS,cAAe,WAC1C,MAAOtC,GAAOE,EAAEe,aAInBsB,KAAKtB","file":"lemonldap-ng-portal/site/htdocs/static/common/js/notifications.min.js"}
\ No newline at end of file
+{"version":3,"sources":["lemonldap-ng-portal/site/htdocs/static/common/js/notifications.js"],"names":["displayError","msg","setMsg","toggle","viewNotif","$","attr","level","html","window","translate","removeClass","addClass","j","status","err","button","notif","epoch","each","this","text","removeAttr","console","log","ajax","type","url","portal","data","dataType","error","success","resp","myDate","result","notification","Date","toLocaleString","document","ready","on","is","hide","show","call"],"mappings":"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"}
\ No newline at end of file
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/ar.json b/lemonldap-ng-portal/site/htdocs/static/languages/ar.json
index ed58e4b2b..07a013bb8 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/ar.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/ar.json
@@ -153,6 +153,7 @@
"enterYubikey":"يرجى استخدام يوبي كي الخاص بك",
"errorMsg":"رسالة خاطئة",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Fill the form",
"firstName":"الاسم الاول",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/de.json b/lemonldap-ng-portal/site/htdocs/static/languages/de.json
index f1a2e5830..111c79bd6 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/de.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/de.json
@@ -153,6 +153,7 @@
"enterYubikey":"Benutze bitte deinen Yubikey",
"errorMsg":"Fehlermeldung",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Fülle das Formular aus",
"firstName":"Vorname",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/en.json b/lemonldap-ng-portal/site/htdocs/static/languages/en.json
index 6e127a7fe..631b3aeac 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/en.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/en.json
@@ -153,6 +153,7 @@
"enterYubikey":"Please use your Yubikey",
"errorMsg":"Error Message",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Fill the form",
"firstName":"First name",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/es.json b/lemonldap-ng-portal/site/htdocs/static/languages/es.json
index e7c76d601..1cd077325 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/es.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/es.json
@@ -153,6 +153,7 @@
"enterYubikey":"Por favor utilice su Yubikey",
"errorMsg":"Mensaje de Error",
"expired2Fremoved":"¡%s dispositivos 2F caducados han sido suprimidos!",
+"explorer":"Explorer",
"ext2f":"Código de verificación",
"fillTheForm":"Llene el formulario",
"firstName":"Nombre",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/fi.json b/lemonldap-ng-portal/site/htdocs/static/languages/fi.json
index 5444c7e37..8d350334d 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/fi.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/fi.json
@@ -153,6 +153,7 @@
"enterYubikey":"Please use your Yubikey",
"errorMsg":"Virhe viesti",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Fill the form",
"firstName":"Etunimi",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/fr.json b/lemonldap-ng-portal/site/htdocs/static/languages/fr.json
index d09029892..29bcd3dce 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/fr.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/fr.json
@@ -153,6 +153,7 @@
"enterYubikey":"Utilisez votre Yubikey",
"errorMsg":"Message d'erreur",
"expired2Fremoved":"%s seconds facteurs expirés ont été supprimés !",
+"explorer":"Explorateur",
"ext2f":"Code de vérification",
"fillTheForm":"Remplissez le formulaire",
"forbidden":"Accès INTERDIT",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/it.json b/lemonldap-ng-portal/site/htdocs/static/languages/it.json
index fd45039a3..5c28e9d01 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/it.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/it.json
@@ -153,6 +153,7 @@
"enterYubikey":"Utilizza il tuo Yubikey",
"errorMsg":"Messaggio di errore",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Compila il modulo",
"firstName":"Nome",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/nl.json b/lemonldap-ng-portal/site/htdocs/static/languages/nl.json
index 31833d120..5f6cef95c 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/nl.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/nl.json
@@ -153,6 +153,7 @@
"enterYubikey":"Please use your Yubikey",
"errorMsg":"Error Message",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Fill the form",
"firstName":"First name",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/pt.json b/lemonldap-ng-portal/site/htdocs/static/languages/pt.json
index 40d243802..d4cb99134 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/pt.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/pt.json
@@ -153,6 +153,7 @@
"enterYubikey":"Please use your Yubikey",
"errorMsg":"Error Message",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Fill the form",
"firstName":"First name",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/ro.json b/lemonldap-ng-portal/site/htdocs/static/languages/ro.json
index d14dba8f9..ee29ddc1a 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/ro.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/ro.json
@@ -153,6 +153,7 @@
"enterYubikey":"Please use your Yubikey",
"errorMsg":"Error Message",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Fill the form",
"firstName":"First name",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/tr.json b/lemonldap-ng-portal/site/htdocs/static/languages/tr.json
index 54305efb1..ca6543734 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/tr.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/tr.json
@@ -153,6 +153,7 @@
"enterYubikey":"Lütfen Yubikey'inizi kullanın",
"errorMsg":"Hata Mesajı",
"expired2Fremoved":"Kullanım süresi dolan %s2F cihazı kaldırıldı!",
+"explorer":"Explorer",
"ext2f":"Doğrulama Kodu",
"fillTheForm":"Formu doldur",
"firstName":"Ad",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/vi.json b/lemonldap-ng-portal/site/htdocs/static/languages/vi.json
index 2585472e4..63784dff9 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/vi.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/vi.json
@@ -153,6 +153,7 @@
"enterYubikey":"Vui lòng sử dụng Yubikey của bạn",
"errorMsg":"Thông báo lỗi",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Fill the form",
"firstName":"Tên",
diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/zh.json b/lemonldap-ng-portal/site/htdocs/static/languages/zh.json
index ca239a21e..129d49ceb 100644
--- a/lemonldap-ng-portal/site/htdocs/static/languages/zh.json
+++ b/lemonldap-ng-portal/site/htdocs/static/languages/zh.json
@@ -153,6 +153,7 @@
"enterYubikey":"请使用您的Yubikey",
"errorMsg":"错误消息",
"expired2Fremoved":"%s expired 2F devices have been removed!",
+"explorer":"Explorer",
"ext2f":"Verification code",
"fillTheForm":"Fill the form",
"firstName":"名",
diff --git a/lemonldap-ng-portal/site/templates/bootstrap/notifications.tpl b/lemonldap-ng-portal/site/templates/bootstrap/notifications.tpl
index d8bd4c708..e8ef82ec9 100644
--- a/lemonldap-ng-portal/site/templates/bootstrap/notifications.tpl
+++ b/lemonldap-ng-portal/site/templates/bootstrap/notifications.tpl
@@ -5,7 +5,7 @@
-
+
@@ -52,8 +52,14 @@
Go to portal
+
+
+ Explorer
+
+
+