lemonldap-ng/lemonldap-ng-manager/site/static/js/sessions.min.js
2016-01-19 18:36:41 +00:00

1 line
5.0 KiB
JavaScript

(function(){var a={_whatToTrace:[function(g,f){return"groupBy=substr("+g+",1)"},function(g,f){return g+"="+f+"*&groupBy="+g},function(g,f){return g+"="+f}],ipAddr:[function(g,f){return"groupBy=net4("+g+",1)"},function(g,f){return"groupBy=net4("+g+",2)"},function(g,f){return"groupBy=net4("+g+",3)"},function(g,f){return"groupBy=net4("+g+",4)"},function(g,f){return g+"="+f+"&groupBy=_whatToTrace"},function(g,f,h){return h.replace(/\&groupBy.*$/,"")+"&_whatToTrace="+f}],doubleIp:[function(g,f){return g},function(g,f){return"_whatToTrace="+f+"&groupBy=ipAddr"},function(g,f,h){return h.replace(/\&groupBy.*$/,"")+"&ipAddr="+f}]};var d="_password";var b=[["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"]]];var e={session:[{title:"deleteSession",icon:"trash"}],home:[]};var c=angular.module("llngSessionsExplorer",["ui.tree","ui.bootstrap","llApp"]);c.controller("SessionsExplorerCtrl",["$scope","$translator","$location","$q","$http",function(n,f,g,h,k){n.links=links;n.menulinks=menulinks;n.staticPrefix=staticPrefix;n.scriptname=scriptname;n.formPrefix=formPrefix;n.availableLanguages=availableLanguages;n.waiting=true;n.showM=false;n.showT=false;n.data=[];n.currentScope=null;n.currentSession=null;n.menu=e;n.translateP=f.translateP;n.translate=f.translate;n.translateTitle=function(o){return f.translateField(o,"title")};var m="global";n.menuClick=function(o){if(o.popup){window.open(o.popup)}else{if(!o.action){o.action=o.title}switch(typeof o.action){case"function":o.action(n.currentNode,n);break;case"string":n[o.action]();break;default:console.log(typeof o.action)}}n.showM=false};n.deleteSession=function(){n.waiting=true;k["delete"](scriptname+"sessions/"+m+"/"+n.currentSession.id).success(function(o){n.currentSession=null;n.currentScope.remove();n.waiting=false}).error(function(o,p){n.currentSession=null;n.currentScope.remove();n.waiting=false})};n.stoggle=function(o){var p=o.$modelValue;if(p.nodes.length==0){n.updateTree(p.value,p.nodes,p.level,p.query)}o.toggle()};n.displaySession=function(p){var o=function(x){var s=function(z){return z};var r=function(C,D){var A=[];var B=new RegExp(C);for(var z in x){if(z.match(B)&&x[z]){A.push({title:z,value:x[z]})}}if(A.length>0){u.push({title:D,nodes:A})}};var w=x._utime;var y=x._session_id;for(var v in x){if(x[v]==null){delete x[v];console.log(v+" "+x[v])}if(x[v]===""){delete x[v]}else{if(typeof x=="string"&&x[v].match(/; /)){x[v]=x[v].split("; ")}if(typeof x[v]!="object"){if(d.match(new RegExp("\b"+v+"\b"))){x[v]="********"}else{if(v.match(/^(_utime|_lastAuthnUTime|_lastSeen)$/)){x[v]=n.localeDate(x[v])}else{if(v.match(/^(startTime|updateTime)$/)){x[v]=s(x[v])}}}}}}var u=[];b.forEach(function(B){var z=[],C=B[0],A=B[1];A.forEach(function(D){if(x[D]){z.push({title:D,value:x[D]});delete x[D]}});if(z.length>0){u.push({title:"__"+C+"__",nodes:z})}});r("^_openid","OpenID");r("^notification_(.+)","__notificationsDone__");if(x.loginHistory){var t=[];if(x.loginHistory.successLogin){x.loginHistory.successLogin.forEach(function(z){t.push({t:z._utime,title:n.localeDate(z._utime),value:"Success (IP "+z.ipAddr+")"})});if(x.loginHistory.failedLogin){x.loginHistory.failedLogin.forEach(function(z){t.push({t:z._utime,title:n.localeDate(z._utime),value:z.error+" (IP "+z.ipAddr+")"})})}}delete x.loginHistory;t.sort(function(A,z){return A.t-z.t});u.push({title:"__loginHistory__",nodes:t})}var t=[];for(var v in x){t.push({title:v,value:x[v]})}t.sort(function(A,z){return A.title>z.title?1:A.title<z.title?-1:0});u.push({title:"__attributesAndMacros__",nodes:t});return{_utime:w,id:y,nodes:u}};n.currentScope=p;var q=p.$modelValue.session;k.get(scriptname+"sessions/"+m+"/"+q).success(function(r){n.currentSession=o(r)})};n.localeDate=function(o){var p=new Date(o*1000);return p.toLocaleString()};n.getLanguage=function(o){n.lang=o;n.form="white";n.init();n.showM=false};var i=function(p,o,q){var r=o.match(/#\/(\w+)/);m="global";if(r===null){n.type="_whatToTrace"}else{if(r[1].match(/^(persistent)$/)){m=RegExp.$1;n.type="_session_uid"}else{n.type=r[1]}}n.init()};n.$on("$locationChangeSuccess",i);var l=0;n.updateTree=function(s,q,t,p){n.waiting=true;var r,o;if(a[n.type]){o=a[n.type]}else{o=a._whatToTrace}r=o[t](n.type,s,p);k.get(scriptname+"sessions/"+m+"?"+r).success(function(u){if(u.result){u.values.forEach(function(v){l++;v.id="node"+l;if(t<o.length-1){v.nodes=[];v.level=t+1;v.query=r}q.push(v)})}n.waiting=false}).error(function(u,v){n.waiting=false})};n.init=function(){var o;n.waiting=true;n.data=[];h.all([f.init(n.lang),n.updateTree("",n.data,0)]).then(function(){n.waiting=false},function(p,q){n.waiting=false})};var j=g.path().match(/^\/(\w+)/);n.type=j?j[1]:"_whatToTrace"}])})();