From d648b49bed3006edb388ef13a1d4d3fce2c075d1 Mon Sep 17 00:00:00 2001 From: Christophe Maudoux Date: Sat, 28 Apr 2018 22:02:07 +0200 Subject: [PATCH 1/3] Colorized active module --- lemonldap-ng-manager/site/coffee/2ndfa.coffee | 4 +++- lemonldap-ng-manager/site/coffee/manager.coffee | 3 +++ lemonldap-ng-manager/site/coffee/notifications.coffee | 4 +++- lemonldap-ng-manager/site/coffee/sessions.coffee | 2 ++ lemonldap-ng-manager/site/htdocs/static/js/2ndfa.js | 6 +++++- lemonldap-ng-manager/site/htdocs/static/js/2ndfa.min.js | 2 +- lemonldap-ng-manager/site/htdocs/static/js/manager.js | 8 ++++++-- lemonldap-ng-manager/site/htdocs/static/js/manager.min.js | 2 +- .../site/htdocs/static/js/notifications.js | 8 ++++++-- .../site/htdocs/static/js/notifications.min.js | 2 +- lemonldap-ng-manager/site/htdocs/static/js/sessions.js | 6 +++++- .../site/htdocs/static/js/sessions.min.js | 2 +- lemonldap-ng-manager/site/templates/menubar.tpl | 2 +- 13 files changed, 38 insertions(+), 13 deletions(-) diff --git a/lemonldap-ng-manager/site/coffee/2ndfa.coffee b/lemonldap-ng-manager/site/coffee/2ndfa.coffee index a4ebd619e..88043809c 100644 --- a/lemonldap-ng-manager/site/coffee/2ndfa.coffee +++ b/lemonldap-ng-manager/site/coffee/2ndfa.coffee @@ -375,12 +375,14 @@ llapp.controller 'SessionsExplorerCtrl', ['$scope', '$translator', '$location', $scope.waiting = false , (resp) -> $scope.waiting = false + $scope.activeModule = "2ndFA" + $scope.myStyle = {color: '#ffb84d'} # Query scheme initialization # Default to '_whatToTrace' c = $location.path().match /^\/(\w+)/ $scope.type = if c then c[1] else '_whatToTrace' - #$scope.myStyle = "{color: '#ffb84d'}" + ] diff --git a/lemonldap-ng-manager/site/coffee/manager.coffee b/lemonldap-ng-manager/site/coffee/manager.coffee index 73e8d72ff..797ad1dcb 100644 --- a/lemonldap-ng-manager/site/coffee/manager.coffee +++ b/lemonldap-ng-manager/site/coffee/manager.coffee @@ -751,6 +751,9 @@ llapp.controller 'TreeCtrl', [ $scope.form = 'home' $scope.waiting = false , readError + $scope.activeModule = "conf" + $scope.myStyle = {color: '#ffb84d'} + c = $location.path().match(new RegExp('^/confs/(latest|[0-9]+)')) unless c console.log "Redirecting to /confs/latest" diff --git a/lemonldap-ng-manager/site/coffee/notifications.coffee b/lemonldap-ng-manager/site/coffee/notifications.coffee index 25bdb3b8e..db114be32 100644 --- a/lemonldap-ng-manager/site/coffee/notifications.coffee +++ b/lemonldap-ng-manager/site/coffee/notifications.coffee @@ -241,7 +241,9 @@ llapp.controller 'NotificationsExplorerCtrl', [ '$scope', '$translator', '$locat $scope.waiting = false , (resp) -> $scope.waiting = false - + $scope.activeModule = "notifications" + $scope.myStyle = {color: '#ffb84d'} + $scope.displayCreateForm = -> $scope.waiting = true $translator.init($scope.lang).then -> diff --git a/lemonldap-ng-manager/site/coffee/sessions.coffee b/lemonldap-ng-manager/site/coffee/sessions.coffee index cb768a776..f2e878f0b 100644 --- a/lemonldap-ng-manager/site/coffee/sessions.coffee +++ b/lemonldap-ng-manager/site/coffee/sessions.coffee @@ -395,6 +395,8 @@ llapp.controller 'SessionsExplorerCtrl', ['$scope', '$translator', '$location', $scope.waiting = false , (resp) -> $scope.waiting = false + $scope.activeModule = "sessions" + $scope.myStyle = {color: '#ffb84d'} # Query scheme initialization # Default to '_whatToTrace' diff --git a/lemonldap-ng-manager/site/htdocs/static/js/2ndfa.js b/lemonldap-ng-manager/site/htdocs/static/js/2ndfa.js index 9a0442258..7d1c64ec5 100644 --- a/lemonldap-ng-manager/site/htdocs/static/js/2ndfa.js +++ b/lemonldap-ng-manager/site/htdocs/static/js/2ndfa.js @@ -369,11 +369,15 @@ $scope.init = function() { $scope.waiting = true; $scope.data = []; - return $q.all([$translator.init($scope.lang), $scope.updateTree('', $scope.data, 0, 0)]).then(function() { + $q.all([$translator.init($scope.lang), $scope.updateTree('', $scope.data, 0, 0)]).then(function() { return $scope.waiting = false; }, function(resp) { return $scope.waiting = false; }); + $scope.activeModule = "2ndFA"; + return $scope.myStyle = { + color: '#ffb84d' + }; }; c = $location.path().match(/^\/(\w+)/); return $scope.type = c ? c[1] : '_whatToTrace'; diff --git a/lemonldap-ng-manager/site/htdocs/static/js/2ndfa.min.js b/lemonldap-ng-manager/site/htdocs/static/js/2ndfa.min.js index 36be89bc1..146a98d68 100644 --- a/lemonldap-ng-manager/site/htdocs/static/js/2ndfa.min.js +++ b/lemonldap-ng-manager/site/htdocs/static/js/2ndfa.min.js @@ -1 +1 @@ -(function(){var c,d,f,g,h,a,e,i,b;b=function(j,k){$("#msg").html(window.translate(j));$("#color").removeClass("message-positive message-warning alert-success alert-warning");$("#color").addClass("message-"+k);if(k==="positive"){k="success"}return $("#color").addClass("alert-"+k)};d=function(l,k,n){var m;console.log("Error",n);m=JSON.parse(l.responseText);if(m&&m.error){m=m.error.replace(/.* /,"");console.log("Returned error",m);return b(m,"warning")}};h=25;i={_whatToTrace:[function(k,j){return"groupBy=substr("+k+",1)"},function(k,j){return k+"="+j+"*"}]};e={_whatToTrace:function(k,j,m,l){if(m===1){return k+"="+j+"*&groupBy=substr("+k+","+(m+l+1)+")"}else{return null}}};f="_password";c={dateTitle:["_utime","_startTime","_updateTime"],sfaTitle:["_2fDevices"]};a={home:[]};g=angular.module("llngSessionsExplorer",["ui.tree","ui.bootstrap","llApp"]);g.controller("SessionsExplorerCtrl",["$scope","$translator","$location","$q","$http",function(r,j,k,l,o){var p,n,m,q;r.links=links;r.menulinks=menulinks;r.staticPrefix=staticPrefix;r.scriptname=scriptname;r.formPrefix=formPrefix;r.availableLanguages=availableLanguages;r.waiting=true;r.showM=false;r.showT=true;r.data=[];r.currentScope=null;r.currentSession=null;r.menu=a;r.searchString="";r.translateP=j.translateP;r.translate=j.translate;r.translateTitle=function(s){return j.translateField(s,"title")};q="global";r.menuClick=function(s){if(s.popup){window.open(s.popup)}else{if(!s.action){s.action=s.title}switch(typeof s.action){case"function":s.action(r.currentNode,r);r[s.action]();break;case"string":r[s.action]();break;default:console.log(typeof s.action)}}return r.showM=false};r.search2FA=function(s){if(s){r.searchString=""}r.currentSession=null;r.data=[];return r.updateTree2("",r.data,0,0)};r.delete2FA=function(s,u){var t;t=angular.element(".data-"+u);t.remove();r.waiting=true;o["delete"](scriptname+"sfa/"+q+"/"+r.currentSession.id+"?type="+s+"&epoch="+u).then(function(v){return r.waiting=false},function(v){return r.waiting=false});return r.showT=false};r.stoggle=function(s){var t;t=s.$modelValue;if(t.nodes.length===0){r.updateTree(t.value,t.nodes,t.level,t.over,t.query,t.count)}return s.toggle()};r.displaySession=function(t){var u,s;s=function(v){var A,C,x,y,G,E,H,M,J,D,I,Q,K,z,R,L,P,B,N,w,O,F;C=function(S){return S};A=function(V,X){var T,U,S,W;S=[];U=new RegExp(V);for(T in v){W=v[T];if(T.match(U)&&W){S.push({title:T,value:W});delete v[T]}}if(S.length>0){return P.push({title:X,nodes:S})}};w=v._utime;D=v._session_id;for(Q in v){F=v[Q];if(!F){delete v[Q]}else{if(typeof v==="string"&&F.match(/; /)){v[Q]=F.split("; ")}if(typeof v[Q]!=="object"){if(f.match(new RegExp("\b"+Q+"\b"))){v[Q]="********"}else{if(Q.match(/^(_utime|_lastAuthnUTime|_lastSeen|notification)$/)){v[Q]=r.localeDate(F)}else{if(Q.match(/^(_startTime|_updateTime)$/)){L=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/;y=F.match(L);v[Q]=y[3]+"/"+y[2]+"/"+y[1]+" à "+y[4]+":"+y[5]+":"+y[6]}}}}}}P=[];for(H in c){E=c[H];N=[];for(J=0,K=E.length;J0){P.push({title:"__"+H+"__",nodes:N})}}return{_utime:w,id:D,nodes:P}};r.currentScope=t;u=t.$modelValue.session;o.get(scriptname+"sfa/"+q+"/"+u).then(function(v){return r.currentSession=s(v.data)});return r.showT=false};r.localeDate=function(t){var u;u=new Date(t*1000);return u.toLocaleString()};r.getLanguage=function(s){r.lang=s;r.form="white";r.init();return r.showM=false};m=function(t,s,u){var v;v=s.match(/#\/(\w+)/);q="global";if(v===null){r.type="_whatToTrace"}else{if(v[1].match(/^(persistent)$/)){q=RegExp.$1;r.type="_session_uid"}else{r.type=v[1]}}return r.init()};r.$on("$locationChangeSuccess",m);p=0;r.updateTree=function(A,u,s,x,z,w){var y,t,v;r.waiting=true;t=i[r.type]?i[r.type]:i._whatToTrace;y=t[s](r.type,A,z);if(w>h&&e[r.type]){if(v=e[r.type](r.type,A,s,x,z)){x++;y=v;s=s-1}else{x=0}}else{x=0}return o.get(scriptname+"sfa/"+q+"?"+y+"&U2FCheck="+r.U2FCheck+"&TOTPCheck="+r.TOTPCheck).then(function(C){var F,D,B,G,E;F=C.data;if(F.result){E=F.values;for(D=0,B=E.length;Dh&&e[r.type]){if(v=e[r.type](r.type,A,s,x,z)){x++;y=v;s=s-1}else{x=0}}else{x=0}return o.get(scriptname+"sfa/"+q+"?_session_uid="+r.searchString+"*&groupBy=substr(_session_uid,"+r.searchString.length+")&U2FCheck="+r.U2FCheck+"&TOTPCheck="+r.TOTPCheck+"&UBKCheck="+r.UBKCheck).then(function(C){var F,D,B,G,E;F=C.data;if(F.result){E=F.values;for(D=0,B=E.length;D0){return P.push({title:X,nodes:S})}};w=v._utime;D=v._session_id;for(Q in v){F=v[Q];if(!F){delete v[Q]}else{if(typeof v==="string"&&F.match(/; /)){v[Q]=F.split("; ")}if(typeof v[Q]!=="object"){if(f.match(new RegExp("\b"+Q+"\b"))){v[Q]="********"}else{if(Q.match(/^(_utime|_lastAuthnUTime|_lastSeen|notification)$/)){v[Q]=r.localeDate(F)}else{if(Q.match(/^(_startTime|_updateTime)$/)){L=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/;y=F.match(L);v[Q]=y[3]+"/"+y[2]+"/"+y[1]+" à "+y[4]+":"+y[5]+":"+y[6]}}}}}}P=[];for(H in c){E=c[H];N=[];for(J=0,K=E.length;J0){P.push({title:"__"+H+"__",nodes:N})}}return{_utime:w,id:D,nodes:P}};r.currentScope=t;u=t.$modelValue.session;o.get(scriptname+"sfa/"+q+"/"+u).then(function(v){return r.currentSession=s(v.data)});return r.showT=false};r.localeDate=function(t){var u;u=new Date(t*1000);return u.toLocaleString()};r.getLanguage=function(s){r.lang=s;r.form="white";r.init();return r.showM=false};m=function(t,s,u){var v;v=s.match(/#\/(\w+)/);q="global";if(v===null){r.type="_whatToTrace"}else{if(v[1].match(/^(persistent)$/)){q=RegExp.$1;r.type="_session_uid"}else{r.type=v[1]}}return r.init()};r.$on("$locationChangeSuccess",m);p=0;r.updateTree=function(A,u,s,x,z,w){var y,t,v;r.waiting=true;t=i[r.type]?i[r.type]:i._whatToTrace;y=t[s](r.type,A,z);if(w>h&&e[r.type]){if(v=e[r.type](r.type,A,s,x,z)){x++;y=v;s=s-1}else{x=0}}else{x=0}return o.get(scriptname+"sfa/"+q+"?"+y+"&U2FCheck="+r.U2FCheck+"&TOTPCheck="+r.TOTPCheck).then(function(C){var F,D,B,G,E;F=C.data;if(F.result){E=F.values;for(D=0,B=E.length;Dh&&e[r.type]){if(v=e[r.type](r.type,A,s,x,z)){x++;y=v;s=s-1}else{x=0}}else{x=0}return o.get(scriptname+"sfa/"+q+"?_session_uid="+r.searchString+"*&groupBy=substr(_session_uid,"+r.searchString.length+")&U2FCheck="+r.U2FCheck+"&TOTPCheck="+r.TOTPCheck+"&UBKCheck="+r.UBKCheck).then(function(C){var F,D,B,G,E;F=C.data;if(F.result){E=F.values;for(D=0,B=E.length;D0){l.message={title:"badRequest",message:u,items:[]}}else{l.message={title:"networkProblem",message:"",items:[]}}}}}return l.showModal("message.html")};l.showModal=function(u,w){var v,c;c=i.open({templateUrl:u,controller:"ModalInstanceCtrl",size:"lg",resolve:{elem:function(){return function(x){return l[x]}},set:function(){return function(y,x){return l[y]=x}},init:function(){return w}}});v=o.defer();c.result.then(function(x){l.message={title:"",message:"",items:[]};return v.resolve(x)},function(x){l.message={title:"",message:"",items:[]};return v.reject(x)});return v.promise};l.menuClick=function(c){if(c.popup){window.open(c.popup)}else{if(!c.action){c.action=c.title}switch(typeof c.action){case"function":c.action(l.currentNode,l);break;case"string":l[c.action]();break;default:console.log(typeof c.action)}}return l.showM=false};l.home=function(){l.form="home";return l.showM=false};d=function(u){var c;l.message={title:"",message:"",items:[]};if(u.message==="__needConfirmation__"){l.confirmNeeded=true}if(u.message){l.message.message=u.message}if(u.details){for(c in u.details){if(c!=="__changes__"){l.message.items.push({message:c,items:u.details[c]})}}}l.waiting=false;if(u.result===1){f.path("/confs/");l.message.title="successfullySaved"}else{l.message.title="saveReport"}return l.showModal("message.html")};l.downloadConf=function(){return window.open(l.confPrefix+l.currentCfg.cfgNum+"?full=1")};l.save=function(){l.showModal("save.html").then(function(){l.waiting=true;l.data.push({id:"cfgLog",title:"cfgLog",data:l.result?l.result:""});return r.post(window.confPrefix+"?cfgNum="+l.currentCfg.cfgNum+(l.forceSave?"&force=1":""),l.data).then(function(c){l.data.pop();return d(c.data)},function(c){n(c);return l.data.pop()})},function(){return console.log("Saving canceled")});return l.showM=false};l.saveRawConf=function(c){l.waiting=true;return r.post(window.confPrefix+"/raw",c).then(function(u){return d(u.data)},n)};l.restore=function(){l.currentNode=null;return l.form="restore"};l.cancel=function(){l.currentNode.data=null;return l.getKey(l.currentNode)};j=1;l._findContainer=function(){return l._findScopeContainer().$modelValue};l._findScopeContainer=function(){var c;c=l.currentScope;while(!c.$modelValue.type.match(/Container$/)){c=c.$parentNodeScope}return c};l._findScopeByKey=function(c){var u;u=l.currentScope;while(!(u.$modelValue.title===c)){u=u.$parentNodeScope}return u};l.newGrantRule=function(){var c,v,u;u=l._findContainer();c=u.nodes.length;v=c>0?c-1:0;return u.nodes.splice(v,0,{id:u.id+"/n"+(j++),title:"New rule",re:"1",comment:"New rule",data:"Message",type:"grant"})};l.newRule=function(){var c,v,u;u=l._findContainer();c=u.nodes.length;v=c>0?c-1:0;return u.nodes.splice(v,0,{id:u.id+"/n"+(j++),title:"New rule",re:"^/new",comment:"New rule",data:"accept",type:"rule"})};l.newPost=function(){var c;c=l._findContainer();return c.nodes.push({id:c.id+"/n"+(j++),title:"/absolute/path/to/form",data:{},type:"post"})};l.newPostVar=function(){if(l.currentNode.data.vars==null){l.currentNode.data.vars=[]}return l.currentNode.data.vars.push(["var1","$uid"])};l.newAuthChoice=function(){var c;c=l._findContainer();c.nodes.push({id:c.id+"/n"+(j++),title:"1_Key",data:["Null","Null","Null"],type:"authChoice"});return l.execFilters(l._findScopeByKey("authParams"))};l.newHashEntry=function(){var c;c=l._findContainer();return c.nodes.push({id:c.id+"/n"+(j++),title:"new",data:"",type:"keyText"})};l.newCat=function(){var c;c=l.currentScope;if(c.$modelValue.type==="menuApp"){c=c.$parentNodeScope}return c.$modelValue.nodes.push({id:c.$modelValue.id+"/n"+(j++),title:"New category",type:"menuCat",nodes:[]})};l.newApp=function(){var c;c=l.currentScope;if(c.$modelValue.type==="menuApp"){c=c.$parentNodeScope}return c.$modelValue.nodes.push({id:c.$modelValue.id+"/n"+(j++),title:"New application",type:"menuApp",data:{description:"New app description",uri:"https://test.example.com/",logo:"network.png",display:"auto"}})};l.newCmbMod=function(){var c;c=l._findContainer();c.nodes.push({id:c.id+"/n"+(j++),title:"new",type:"cmbModule",data:{type:"LDAP","for":0,over:[]}});return l.execFilters(l._findScopeByKey("authParams"))};l.newCmbOver=function(){var c;c=l.currentNode.data;if(!c.over){c.over=[]}return c.over.push(["new"+(j++),""])};l.addHost=function(){var c;c=l.currentNode;if(!c.data){c.data=[]}return c.data.push({k:"newHost",h:[{k:"key",v:"uid"}]})};l.addSamlAttribute=function(){var c;c=l._findContainer();return c.nodes.push({id:c.id+"/n"+(j++),title:"new",type:"samlAttribute",data:[0,"New","",""]})};l.addVhost=function(){var c;c=l.domain?"."+l.domain.data:".example.com";l.message={title:"virtualHostName",field:"hostname"};return l.showModal("prompt.html",c).then(function(){var u;u=l.result;if(u){return l.addTemplateNode(u,"virtualHost")}})};l.duplicateVhost=function(){var c;c=l.domain?"."+l.domain.data:".example.com";l.message={title:"virtualHostName",field:"hostname"};return l.showModal("prompt.html",c).then(function(){var u;u=l.result;return l.duplicateNode(u,"virtualHost",l.currentNode.title)})};l.addSamlIDP=function(){return l.newTemplateNode("samlIDPMetaDataNode","samlPartnerName","idp-example")};l.addSamlSP=function(){return l.newTemplateNode("samlSPMetaDataNode","samlPartnerName","sp-example")};l.addOidcOp=function(){return l.newTemplateNode("oidcOPMetaDataNode","oidcOPName","op-example")};l.addOidcRp=function(){return l.newTemplateNode("oidcRPMetaDataNode","oidcRPName","rp-example")};l.addCasSrv=function(){return l.newTemplateNode("casSrvMetaDataNode","casPartnerName","srv-example")};l.addCasApp=function(){return l.newTemplateNode("casAppMetaDataNode","casPartnerName","app-example")};l.newTemplateNode=function(c,v,u){l.message={title:v,field:"name"};return l.showModal("prompt.html",u).then(function(){var w;w=l.result;if(w){return l.addTemplateNode(w,c)}})};l.addTemplateNode=function(c,w){var v,u;v=l.currentScope;while(v.$modelValue.title!==(w+"s")){v=v.$parentNodeScope}u={id:w+"s/new__"+c,title:c,type:w,nodes:templates(w,"new__"+c)};p(u.nodes);v.$modelValue.nodes.push(u);v.expand();return u};p=function(u){var c,w,v;for(v=0,c=u.length;v0){u=y.nodes[x];y.nodes[x]=y.nodes[x-1];y.nodes[x-1]=u}return x};l.inSelect=function(v){var c,x,w,u;u=l.currentNode.select;for(w=0,c=u.length;w0?c.comment:c.re};l.filters={};l.execFilters=function(u){var c,w,v;u=u?u:l;v=l.filters;for(c in v){w=v[c];if(l.filters.hasOwnProperty(c)){return window.filterFunctions[c](u,o,w)}}return false};l.stoggle=function(c){var u;u=c.$modelValue;m(u);return c.toggle()};m=function(y){var E,C,A,z,x,v,u,c,w,D,B;w=["nodes","nodes_cond"];for(v=0,C=w.length;v0){l.message={title:"badRequest",message:u,items:[]}}else{l.message={title:"networkProblem",message:"",items:[]}}}}}return l.showModal("message.html")};l.showModal=function(u,w){var v,c;c=i.open({templateUrl:u,controller:"ModalInstanceCtrl",size:"lg",resolve:{elem:function(){return function(x){return l[x]}},set:function(){return function(y,x){return l[y]=x}},init:function(){return w}}});v=o.defer();c.result.then(function(x){l.message={title:"",message:"",items:[]};return v.resolve(x)},function(x){l.message={title:"",message:"",items:[]};return v.reject(x)});return v.promise};l.menuClick=function(c){if(c.popup){window.open(c.popup)}else{if(!c.action){c.action=c.title}switch(typeof c.action){case"function":c.action(l.currentNode,l);break;case"string":l[c.action]();break;default:console.log(typeof c.action)}}return l.showM=false};l.home=function(){l.form="home";return l.showM=false};d=function(u){var c;l.message={title:"",message:"",items:[]};if(u.message==="__needConfirmation__"){l.confirmNeeded=true}if(u.message){l.message.message=u.message}if(u.details){for(c in u.details){if(c!=="__changes__"){l.message.items.push({message:c,items:u.details[c]})}}}l.waiting=false;if(u.result===1){f.path("/confs/");l.message.title="successfullySaved"}else{l.message.title="saveReport"}return l.showModal("message.html")};l.downloadConf=function(){return window.open(l.confPrefix+l.currentCfg.cfgNum+"?full=1")};l.save=function(){l.showModal("save.html").then(function(){l.waiting=true;l.data.push({id:"cfgLog",title:"cfgLog",data:l.result?l.result:""});return r.post(window.confPrefix+"?cfgNum="+l.currentCfg.cfgNum+(l.forceSave?"&force=1":""),l.data).then(function(c){l.data.pop();return d(c.data)},function(c){n(c);return l.data.pop()})},function(){return console.log("Saving canceled")});return l.showM=false};l.saveRawConf=function(c){l.waiting=true;return r.post(window.confPrefix+"/raw",c).then(function(u){return d(u.data)},n)};l.restore=function(){l.currentNode=null;return l.form="restore"};l.cancel=function(){l.currentNode.data=null;return l.getKey(l.currentNode)};j=1;l._findContainer=function(){return l._findScopeContainer().$modelValue};l._findScopeContainer=function(){var c;c=l.currentScope;while(!c.$modelValue.type.match(/Container$/)){c=c.$parentNodeScope}return c};l._findScopeByKey=function(c){var u;u=l.currentScope;while(!(u.$modelValue.title===c)){u=u.$parentNodeScope}return u};l.newGrantRule=function(){var c,v,u;u=l._findContainer();c=u.nodes.length;v=c>0?c-1:0;return u.nodes.splice(v,0,{id:u.id+"/n"+(j++),title:"New rule",re:"1",comment:"New rule",data:"Message",type:"grant"})};l.newRule=function(){var c,v,u;u=l._findContainer();c=u.nodes.length;v=c>0?c-1:0;return u.nodes.splice(v,0,{id:u.id+"/n"+(j++),title:"New rule",re:"^/new",comment:"New rule",data:"accept",type:"rule"})};l.newPost=function(){var c;c=l._findContainer();return c.nodes.push({id:c.id+"/n"+(j++),title:"/absolute/path/to/form",data:{},type:"post"})};l.newPostVar=function(){if(l.currentNode.data.vars==null){l.currentNode.data.vars=[]}return l.currentNode.data.vars.push(["var1","$uid"])};l.newAuthChoice=function(){var c;c=l._findContainer();c.nodes.push({id:c.id+"/n"+(j++),title:"1_Key",data:["Null","Null","Null"],type:"authChoice"});return l.execFilters(l._findScopeByKey("authParams"))};l.newHashEntry=function(){var c;c=l._findContainer();return c.nodes.push({id:c.id+"/n"+(j++),title:"new",data:"",type:"keyText"})};l.newCat=function(){var c;c=l.currentScope;if(c.$modelValue.type==="menuApp"){c=c.$parentNodeScope}return c.$modelValue.nodes.push({id:c.$modelValue.id+"/n"+(j++),title:"New category",type:"menuCat",nodes:[]})};l.newApp=function(){var c;c=l.currentScope;if(c.$modelValue.type==="menuApp"){c=c.$parentNodeScope}return c.$modelValue.nodes.push({id:c.$modelValue.id+"/n"+(j++),title:"New application",type:"menuApp",data:{description:"New app description",uri:"https://test.example.com/",logo:"network.png",display:"auto"}})};l.newCmbMod=function(){var c;c=l._findContainer();c.nodes.push({id:c.id+"/n"+(j++),title:"new",type:"cmbModule",data:{type:"LDAP","for":0,over:[]}});return l.execFilters(l._findScopeByKey("authParams"))};l.newCmbOver=function(){var c;c=l.currentNode.data;if(!c.over){c.over=[]}return c.over.push(["new"+(j++),""])};l.addHost=function(){var c;c=l.currentNode;if(!c.data){c.data=[]}return c.data.push({k:"newHost",h:[{k:"key",v:"uid"}]})};l.addSamlAttribute=function(){var c;c=l._findContainer();return c.nodes.push({id:c.id+"/n"+(j++),title:"new",type:"samlAttribute",data:[0,"New","",""]})};l.addVhost=function(){var c;c=l.domain?"."+l.domain.data:".example.com";l.message={title:"virtualHostName",field:"hostname"};return l.showModal("prompt.html",c).then(function(){var u;u=l.result;if(u){return l.addTemplateNode(u,"virtualHost")}})};l.duplicateVhost=function(){var c;c=l.domain?"."+l.domain.data:".example.com";l.message={title:"virtualHostName",field:"hostname"};return l.showModal("prompt.html",c).then(function(){var u;u=l.result;return l.duplicateNode(u,"virtualHost",l.currentNode.title)})};l.addSamlIDP=function(){return l.newTemplateNode("samlIDPMetaDataNode","samlPartnerName","idp-example")};l.addSamlSP=function(){return l.newTemplateNode("samlSPMetaDataNode","samlPartnerName","sp-example")};l.addOidcOp=function(){return l.newTemplateNode("oidcOPMetaDataNode","oidcOPName","op-example")};l.addOidcRp=function(){return l.newTemplateNode("oidcRPMetaDataNode","oidcRPName","rp-example")};l.addCasSrv=function(){return l.newTemplateNode("casSrvMetaDataNode","casPartnerName","srv-example")};l.addCasApp=function(){return l.newTemplateNode("casAppMetaDataNode","casPartnerName","app-example")};l.newTemplateNode=function(c,v,u){l.message={title:v,field:"name"};return l.showModal("prompt.html",u).then(function(){var w;w=l.result;if(w){return l.addTemplateNode(w,c)}})};l.addTemplateNode=function(c,w){var v,u;v=l.currentScope;while(v.$modelValue.title!==(w+"s")){v=v.$parentNodeScope}u={id:w+"s/new__"+c,title:c,type:w,nodes:templates(w,"new__"+c)};p(u.nodes);v.$modelValue.nodes.push(u);v.expand();return u};p=function(u){var c,w,v;for(v=0,c=u.length;v0){u=y.nodes[x];y.nodes[x]=y.nodes[x-1];y.nodes[x-1]=u}return x};l.inSelect=function(v){var c,x,w,u;u=l.currentNode.select;for(w=0,c=u.length;w0?c.comment:c.re};l.filters={};l.execFilters=function(u){var c,w,v;u=u?u:l;v=l.filters;for(c in v){w=v[c];if(l.filters.hasOwnProperty(c)){return window.filterFunctions[c](u,o,w)}}return false};l.stoggle=function(c){var u;u=c.$modelValue;m(u);return c.toggle()};m=function(y){var E,C,A,z,x,v,u,c,w,D,B;w=["nodes","nodes_cond"];for(v=0,C=w.length;v0&&k<4){return i+"="+h+"*&groupBy=net("+i+","+(16*k+4*(j+1))+",2)"}else{return null}}};e="_password";c={dateTitle:["_utime","_startTime","_updateTime","_lastAuthnUTime","_lastSeen"],connectionTitle:["ipAddr","_timezone","_url"],authenticationTitle:["_session_id","_user","_password","authenticationLevel"],modulesTitle:["_auth","_userDB","_passwordDB","_issuerDB","_authChoice","_authMulti","_userDBMulti"],saml:["_idp","_idpConfKey","_samlToken","_lassoSessionDump","_lassoIdentityDump"],groups:["groups","hGroups"],ldap:["dn"],BrowserID:["_browserIdAnswer","_browserIdAnswerRaw"],OpenIDConnect:["_oidc_id_token","_oidc_OP","_oidc_access_token"],sfaTitle:["_2fDevices"]};g={session:[{title:"deleteSession",icon:"trash"}],home:[]};d=angular.module("llngSessionsExplorer",["ui.tree","ui.bootstrap","llApp"]);d.controller("SessionsExplorerCtrl",["$scope","$translator","$location","$q","$http",function(p,h,i,j,m){var n,l,k,o;p.links=links;p.menulinks=menulinks;p.staticPrefix=staticPrefix;p.scriptname=scriptname;p.formPrefix=formPrefix;p.availableLanguages=availableLanguages;p.waiting=true;p.showM=false;p.showT=true;p.data=[];p.currentScope=null;p.currentSession=null;p.menu=g;p.translateP=h.translateP;p.translate=h.translate;p.translateTitle=function(q){return h.translateField(q,"title")};o="global";p.menuClick=function(q){if(q.popup){window.open(q.popup)}else{if(!q.action){q.action=q.title}switch(typeof q.action){case"function":q.action(p.currentNode,p);break;case"string":p[q.action]();break;default:console.log(typeof q.action)}}return p.showM=false};p.deleteSession=function(){p.waiting=true;return m["delete"](scriptname+"sessions/"+o+"/"+p.currentSession.id).then(function(q){p.currentSession=null;p.currentScope.remove();return p.waiting=false},function(q){p.currentSession=null;p.currentScope.remove();return p.waiting=false})};p.stoggle=function(q){var r;r=q.$modelValue;if(r.nodes.length===0){p.updateTree(r.value,r.nodes,r.level,r.over,r.query,r.count)}return q.toggle()};p.displaySession=function(r){var s,q;q=function(t){var B,E,y,z,J,G,L,S,O,F,N,M,X,K,P,A,x,w,I,W,Q,u,D,V,C,T,v,U,R,H;E=function(Y){return Y};B=function(ab,ad){var Z,aa,Y,ac;Y=[];aa=new RegExp(ab);for(Z in t){ac=t[Z];if(Z.match(aa)&&ac){Y.push({title:Z,value:ac});delete t[Z]}}if(Y.length>0){return V.push({title:ad,nodes:Y})}};v=t._utime;F=t._session_id;for(X in t){H=t[X];if(!H){delete t[X]}else{if(typeof t==="string"&&H.match(/; /)){t[X]=H.split("; ")}if(typeof t[X]!=="object"){if(e.match(new RegExp("\b"+X+"\b"))){t[X]="********"}else{if(X.match(/^(_utime|_lastAuthnUTime|_lastSeen|notification)$/)){t[X]=p.localeDate(H)}else{if(X.match(/^(_startTime|_updateTime)$/)){Q=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/;z=H.match(Q);t[X]=z[3]+"/"+z[2]+"/"+z[1]+" à "+z[4]+":"+z[5]+":"+z[6]}}}}}}V=[];for(L in c){G=c[L];T=[];for(O=0,P=G.length;O0){V.push({title:"__"+L+"__",nodes:T})}}B("^openid","OpenID");B("^notification_(.+)","__notificationsDone__");if(t._loginHistory){R=[];if(t._loginHistory.successLogin){u=t._loginHistory.successLogin;for(M=0,x=u.length;MY.title){return 1}else{if(Z.titleb&&f[p.type]){if(t=f[p.type](p.type,y,q,v,x)){v++;w=t;q=q-1}else{v=0}}else{v=0}return m.get(scriptname+"sessions/"+o+"?"+w).then(function(A){var D,B,z,E,C;D=A.data;if(D.result){C=D.values;for(B=0,z=C.length;B0&&k<4){return i+"="+h+"*&groupBy=net("+i+","+(16*k+4*(j+1))+",2)"}else{return null}}};e="_password";c={dateTitle:["_utime","_startTime","_updateTime","_lastAuthnUTime","_lastSeen"],connectionTitle:["ipAddr","_timezone","_url"],authenticationTitle:["_session_id","_user","_password","authenticationLevel"],modulesTitle:["_auth","_userDB","_passwordDB","_issuerDB","_authChoice","_authMulti","_userDBMulti"],saml:["_idp","_idpConfKey","_samlToken","_lassoSessionDump","_lassoIdentityDump"],groups:["groups","hGroups"],ldap:["dn"],BrowserID:["_browserIdAnswer","_browserIdAnswerRaw"],OpenIDConnect:["_oidc_id_token","_oidc_OP","_oidc_access_token"],sfaTitle:["_2fDevices"]};g={session:[{title:"deleteSession",icon:"trash"}],home:[]};d=angular.module("llngSessionsExplorer",["ui.tree","ui.bootstrap","llApp"]);d.controller("SessionsExplorerCtrl",["$scope","$translator","$location","$q","$http",function(p,h,i,j,m){var n,l,k,o;p.links=links;p.menulinks=menulinks;p.staticPrefix=staticPrefix;p.scriptname=scriptname;p.formPrefix=formPrefix;p.availableLanguages=availableLanguages;p.waiting=true;p.showM=false;p.showT=true;p.data=[];p.currentScope=null;p.currentSession=null;p.menu=g;p.translateP=h.translateP;p.translate=h.translate;p.translateTitle=function(q){return h.translateField(q,"title")};o="global";p.menuClick=function(q){if(q.popup){window.open(q.popup)}else{if(!q.action){q.action=q.title}switch(typeof q.action){case"function":q.action(p.currentNode,p);break;case"string":p[q.action]();break;default:console.log(typeof q.action)}}return p.showM=false};p.deleteSession=function(){p.waiting=true;return m["delete"](scriptname+"sessions/"+o+"/"+p.currentSession.id).then(function(q){p.currentSession=null;p.currentScope.remove();return p.waiting=false},function(q){p.currentSession=null;p.currentScope.remove();return p.waiting=false})};p.stoggle=function(q){var r;r=q.$modelValue;if(r.nodes.length===0){p.updateTree(r.value,r.nodes,r.level,r.over,r.query,r.count)}return q.toggle()};p.displaySession=function(r){var s,q;q=function(t){var B,E,y,z,J,G,L,S,O,F,N,M,X,K,P,A,x,w,I,W,Q,u,D,V,C,T,v,U,R,H;E=function(Y){return Y};B=function(ab,ad){var Z,aa,Y,ac;Y=[];aa=new RegExp(ab);for(Z in t){ac=t[Z];if(Z.match(aa)&&ac){Y.push({title:Z,value:ac});delete t[Z]}}if(Y.length>0){return V.push({title:ad,nodes:Y})}};v=t._utime;F=t._session_id;for(X in t){H=t[X];if(!H){delete t[X]}else{if(typeof t==="string"&&H.match(/; /)){t[X]=H.split("; ")}if(typeof t[X]!=="object"){if(e.match(new RegExp("\b"+X+"\b"))){t[X]="********"}else{if(X.match(/^(_utime|_lastAuthnUTime|_lastSeen|notification)$/)){t[X]=p.localeDate(H)}else{if(X.match(/^(_startTime|_updateTime)$/)){Q=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/;z=H.match(Q);t[X]=z[3]+"/"+z[2]+"/"+z[1]+" à "+z[4]+":"+z[5]+":"+z[6]}}}}}}V=[];for(L in c){G=c[L];T=[];for(O=0,P=G.length;O0){V.push({title:"__"+L+"__",nodes:T})}}B("^openid","OpenID");B("^notification_(.+)","__notificationsDone__");if(t._loginHistory){R=[];if(t._loginHistory.successLogin){u=t._loginHistory.successLogin;for(M=0,x=u.length;MY.title){return 1}else{if(Z.titleb&&f[p.type]){if(t=f[p.type](p.type,y,q,v,x)){v++;w=t;q=q-1}else{v=0}}else{v=0}return m.get(scriptname+"sessions/"+o+"?"+w).then(function(A){var D,B,z,E,C;D=A.data;if(D.result){C=D.values;for(B=0,z=C.length;B