lemonldap-ng/lemonldap-ng-manager/site/htdocs/static/js/manager.min.js
2019-08-13 21:59:30 +02:00

1 line
15 KiB
JavaScript

(function(){var e;e=angular.module("llngManager",["ui.tree","ui.bootstrap","llApp","ngCookies"]),e.controller("TreeCtrl",["$scope","$http","$location","$q","$uibModal","$translator","$cookies","$htmlParams",function(e,t,n,r,a,o,i,s){var u,l,d,c,f,p,m,g,h,w;return e.links=window.links,e.menu=s.menu,e.menulinks=window.menulinks,e.staticPrefix=window.staticPrefix,e.formPrefix=window.formPrefix,e.availableLanguages=window.availableLanguages,e.waiting=!0,e.showM=!1,e.showT=!1,e.form="home",e.currentCfg={},e.confPrefix=window.confPrefix,e.message={},e.result="",e.translateTitle=function(e){return o.translateField(e,"title")},e.translateP=o.translateP,e.translate=o.translate,e.helpUrl="start.html#configuration",e.setShowHelp=function(t){var n;return null==t&&(t=!e.showH),e.showH=t,n=new Date(Date.now()),n.setFullYear(n.getFullYear()+1),i.put("showhelp",t?"true":"false",{expires:n})},e.showH="false"!==i.get("showhelp"),null==e.showH&&e.setShowHelp(!0),g=function(t){var n,r;return n=t.status,r=t.statusLine,e.waiting=!1,403===n?e.message={title:"forbidden",message:"",items:[]}:401===n?(console.log("Authentication needed"),e.message={title:"authenticationNeeded",message:"__waitOrF5__",items:[]}):e.message=400===n?{title:"badRequest",message:r,items:[]}:n>0?{title:"badRequest",message:r,items:[]}:{title:"networkProblem",message:"",items:[]},e.showModal("message.html")},e.showModal=function(t,n){var o,i;return i=a.open({templateUrl:t,controller:"ModalInstanceCtrl",size:"lg",resolve:{elem:function(){return function(t){return e[t]}},set:function(){return function(t,n){return e[t]=n}},init:function(){return n}}}),o=r.defer(),i.result.then(function(t){return e.message={title:"",message:"",items:[]},o.resolve(t)},function(t){return e.message={title:"",message:"",items:[]},o.reject(t)}),o.promise},e.menuClick=function(t){if(t.popup)window.open(t.popup);else switch(t.action||(t.action=t.title),typeof t.action){case"function":t.action(e.currentNode,e);break;case"string":e[t.action]();break;default:console.log(typeof t.action)}return e.showM=!1},e.home=function(){return e.form="home",e.showM=!1},u=function(t){var r;if(e.message={title:"",message:"",items:[],itemsE:[],itemsNC:[],itemsW:[]},t.needConfirm&&(e.confirmNeeded=!0),t.message&&(e.message.message=t.message),t.details){for(r in t.details)"__changes__"!==r&&("__needConfirmation__"===r?(e.message.itemsNC.push({message:r,items:t.details[r]}),console.log("NeedConfirmation:",e.message.itemsNC)):"__warnings__"===r?(e.message.itemsW.push({message:r,items:t.details[r]}),console.log("Warnings:",e.message.itemsW)):(e.message.itemsE.push({message:r,items:t.details[r]}),console.log("Errors:",e.message.itemsE)));e.message.items=e.message.itemsE.concat(e.message.itemsNC.concat(e.message.itemsW))}return e.waiting=!1,1===t.result?(n.path("/confs/"),e.message.title="successfullySaved"):e.message.title="saveReport",e.showModal("message.html")},e.downloadConf=function(){return window.open(e.confPrefix+e.currentCfg.cfgNum+"?full=1")},e.save=function(){return e.showModal("save.html").then(function(){return e.waiting=!0,e.data.push({id:"cfgLog",title:"cfgLog",data:e.result?e.result:""}),t.post(window.confPrefix+"?cfgNum="+e.currentCfg.cfgNum+(e.forceSave?"&force=1":""),e.data).then(function(t){return e.data.pop(),u(t.data)},function(t){return g(t),e.data.pop()})},function(){return console.log("Saving canceled")}),e.showM=!1},e.saveRawConf=function(n){return e.waiting=!0,t.post(window.confPrefix+"/raw",n).then(function(e){return u(e.data)},g)},e.restore=function(){return e.currentNode=null,e.form="restore"},e.cancel=function(){return e.currentNode.data=null,e.getKey(e.currentNode)},p=1,e._findContainer=function(){return e._findScopeContainer().$modelValue},e._findScopeContainer=function(){var t;for(t=e.currentScope;!t.$modelValue.type.match(/Container$/);)t=t.$parentNodeScope;return t},e._findScopeByKey=function(t){var n;for(n=e.currentScope;n.$modelValue.title!==t;)n=n.$parentNodeScope;return n},e.newGrantRule=function(){var t,n;return n=e._findContainer(),t=n.nodes.length,t>0?t-1:0,n.nodes.push({id:n.id+"/n"+p++,title:"New rule",re:"Message",comment:"New rule",data:"1",type:"grant"})},e.newRule=function(){var t,n,r;return r=e._findContainer(),t=r.nodes.length,n=t>0?t-1:0,r.nodes.splice(n,0,{id:r.id+"/n"+p++,title:"New rule",re:"^/new",comment:"New rule",data:"accept",type:"rule"})},e.newPost=function(){var t;return t=e._findContainer(),t.nodes.push({id:t.id+"/n"+p++,title:"/absolute/path/to/form",data:{},type:"post"})},e.newPostVar=function(){return null==e.currentNode.data.vars&&(e.currentNode.data.vars=[]),e.currentNode.data.vars.push(["var1","$uid"])},e.newAuthChoice=function(){var t;return t=e._findContainer(),t.nodes.push({id:t.id+"/n"+p++,title:"1_Key",data:["Null","Null","Null"],type:"authChoice"}),e.execFilters(e._findScopeByKey("authParams"))},e.newHashEntry=function(){var t;return t=e._findContainer(),t.nodes.push({id:t.id+"/n"+p++,title:"new",data:"",type:"keyText"})},e.newCat=function(){var t;return t=e.currentScope,"menuApp"===t.$modelValue.type&&(t=t.$parentNodeScope),t.$modelValue.nodes.push({id:t.$modelValue.id+"/n"+p++,title:"New category",type:"menuCat",nodes:[]})},e.newApp=function(){var t;return t=e.currentScope,"menuApp"===t.$modelValue.type&&(t=t.$parentNodeScope),t.$modelValue.nodes.push({id:t.$modelValue.id+"/n"+p++,title:"New application",type:"menuApp",data:{description:"New app description",uri:"https://test.example.com/",logo:"network.png",display:"auto"}})},e.newCmbMod=function(){var t;return t=e._findContainer(),t.nodes.push({id:t.id+"/n"+p++,title:"new",type:"cmbModule",data:{type:"LDAP",for:"0",over:[]}}),e.execFilters(e._findScopeByKey("authParams"))},e.newSfExtra=function(){var t;return t=e._findContainer(),t.nodes.push({id:t.id+"/n"+p++,title:"new",type:"sfExtra",data:{type:"",rule:"",logo:"",label:"",over:[]}})},e.newSfOver=function(){var t;return t=e.currentNode.data,t.over||(t.over=[]),t.over.push(["new"+p++,""])},e.newCmbOver=function(){var t;return t=e.currentNode.data,t.over||(t.over=[]),t.over.push(["new"+p++,""])},e.newChoiceOver=function(){var t;return t=e.currentNode.data,console.log("data",t),t[5]||(t[5]=[]),t[5].push(["new"+p++,""])},e.addHost=function(){var t;return t=e.currentNode,t.data||(t.data=[]),t.data.push({k:"newHost",h:[{k:"key",v:"uid"}]})},e.addSamlAttribute=function(){var t;return t=e._findContainer(),t.nodes.push({id:t.id+"/n"+p++,title:"new",type:"samlAttribute",data:["0","New","",""]})},e.addVhost=function(){var t;return t=e.domain?"."+e.domain.data:".example.com",e.message={title:"virtualHostName",field:"hostname"},e.showModal("prompt.html",t).then(function(){var t;if(t=e.result)return e.addTemplateNode(t,"virtualHost")})},e.duplicateVhost=function(){var t;return t=e.domain?"."+e.domain.data:".example.com",e.message={title:"virtualHostName",field:"hostname"},e.showModal("prompt.html",t).then(function(){var t;return t=e.result,e.duplicateNode(t,"virtualHost",e.currentNode.title)})},e.addSamlIDP=function(){return e.newTemplateNode("samlIDPMetaDataNode","samlPartnerName","idp-example")},e.addSamlSP=function(){return e.newTemplateNode("samlSPMetaDataNode","samlPartnerName","sp-example")},e.addOidcOp=function(){return e.newTemplateNode("oidcOPMetaDataNode","oidcOPName","op-example")},e.addOidcRp=function(){return e.newTemplateNode("oidcRPMetaDataNode","oidcRPName","rp-example")},e.addCasSrv=function(){return e.newTemplateNode("casSrvMetaDataNode","casPartnerName","srv-example")},e.addCasApp=function(){return e.newTemplateNode("casAppMetaDataNode","casPartnerName","app-example")},e.newTemplateNode=function(t,n,r){return e.message={title:n,field:"name"},e.showModal("prompt.html",r).then(function(){var n;if(n=e.result)return e.addTemplateNode(n,t)})},e.addTemplateNode=function(t,n){var r,a;for(r=e.currentScope;r.$modelValue.title!==n+"s";)r=r.$parentNodeScope;return a={id:n+"s/new__"+t,title:t,type:n,nodes:templates(n,"new__"+t)},h(a.nodes),r.$modelValue.nodes.push(a),r.expand(),a},h=function(e){var t,n,r;for(r=0,t=e.length;r<t;r++)n=e[r],n.cnodes&&n.default&&(delete n.cnodes,n._nodes=n.default),n._nodes?h(n._nodes):(n.default||0===n.default)&&(n.data=n.default);return e},d=function(t){var n,a;return n=r.defer(),a=r.defer(),t._nodes?(c(t),n.resolve()):t.cnodes?l(t).then(function(){return n.resolve()}):t.nodes||t.data?n.resolve():e.getKey(t).then(function(){return n.resolve()}),n.promise.then(function(){var e,n,o,i,s;if(s=[],t.nodes)for(i=t.nodes,o=0,e=i.length;o<e;o++)n=i[o],s.push(d(n));return r.all(s).then(function(){return a.resolve()})}),a.promise},e.duplicateNode=function(t,n,r){var a;return a=e.currentScope,d(e.currentNode).then(function(){for(var o;a.$modelValue.title!==n+"s";)a=a.$parentNodeScope;return o=JSON.parse(JSON.stringify(e.currentNode).replace(new RegExp(r,"g"),"new__"+t)),o.id=n+"s/new__"+t,o.title=t,a.$modelValue.nodes.push(o),o})},e.del=function(e,t){return e.splice(t,1)},e.deleteEntry=function(){var t;return t=e.currentScope.$parentNodeScope,e.currentScope.remove(),e.displayForm(t)},e.down=function(){var t,n,r,a,o,i,s,u;for(p=e.currentNode.id,i=e.currentScope.$parentNodeScope.$modelValue,n=i.nodes.length,s=i.nodes,t=o=0,r=s.length;o<r;t=++o)a=s[t],a.id===p&&(n=t);return n<i.nodes.length-1&&(u=i.nodes[n],i.nodes[n]=i.nodes[n+1],i.nodes[n+1]=u),n},e.up=function(){var t,n,r,a,o,i,s,u;for(p=e.currentNode.id,i=e.currentScope.$parentNodeScope.$modelValue,n=-1,s=i.nodes,t=o=0,r=s.length;o<r;t=++o)a=s[t],a.id===p&&(n=t);return n>0&&(u=i.nodes[n],i.nodes[n]=i.nodes[n-1],i.nodes[n-1]=u),n},e.inSelect=function(t){var n,r,a,o;for(o=e.currentNode.select,a=0,n=o.length;a<n;a++)if(r=o[a],r.k===t)return!0;return!1},e.changeRuleTitle=function(e){return e.title=e.comment.length>0?e.comment:e.re},e.filters={},e.execFilters=function(t){var n,a,o;t=t||e,o=e.filters;for(n in o)if(a=o[n],e.filters.hasOwnProperty(n))return window.filterFunctions[n](t,r,a);return!1},e.stoggle=function(e){var t;return t=e.$modelValue,c(t),e.toggle()},c=function(t){var n,r,a,o,i,s,u,l,d,c,f;for(d=["nodes","nodes_cond"],s=0,r=d.length;s<r;s++)if(i=d[s],t["_"+i]){for(t[i]=[],c=t["_"+i],u=0,a=c.length;u<a;u++)n=c[u],t[i].push(n);delete t["_"+i]}if(t._nodes_filter){if(t.nodes)for(f=t.nodes,l=0,o=f.length;l<o;l++)i=f[l],i.onChange=e.execFilters;return e.filters[t._nodes_filter]=t,e.execFilters()}},e.toggle=function(e){return e.toggle()},e.download=function(e){var t;return t=e.$modelValue,l(t)},l=function(n){var a;return a=r.defer(),a.notify("Trying to get datas"),e.waiting=!0,t.get(""+window.confPrefix+e.currentCfg.cfgNum+"/"+n.cnodes).then(function(t){var r,o,i,s;if(o=t.data)if(o.error)o.error.match(/setDefault$/)?(n.default?n.nodes=n.default.slice(0):n.nodes=[],delete n.cnodes,a.resolve("Set data to default value")):a.reject("Server return an error: "+o.error);else{for(delete n.cnodes,n.type||(n.type="keyTextContainer"),n.nodes=[],s=0,i=o.length;s<i;s++)r=o[s],r.template&&(r._nodes=templates(r.template,r.title)),n.nodes.push(r);a.resolve("OK")}else a.reject("Empty response from server");return e.waiting=!1},function(e){return g(e),a.reject("")}),a.promise},e.openCnode=function(t){return e.download(t).then(function(){return t.toggle()})},w=function(t){for(;!t.$modelValue.help&&t.$parentNodeScope;)t=t.$parentNodeScope;return e.helpUrl=t.$modelValue.help||"start.html#configuration"},e.displayForm=function(t){var n,r,a,o,i,s;if(o=t.$modelValue,o.cnodes&&e.download(t),o._nodes&&e.stoggle(t),e.currentNode=o,e.currentScope=t,n=o.type?o.type:"text",o.nodes||o._nodes||o.cnodes?e.form="text"!==n?n:"mini":(e.form=n,e.getKey(o)),o.type&&"simpleInputContainer"===o.type)for(s=o.nodes,i=0,r=s.length;i<r;i++)a=s[i],e.getKey(a);return e.showT=!1,w(t)},e.keyWritable=function(e){var t;return t=e.$modelValue,!(!t.type||!t.type.match(/^(?:s(?:aml(?:(?:ID|S)PMetaDataNod|Attribut)e|fExtra)|(?:(?:cmbMod|r)ul|authChoic)e|(?:virtualHos|keyTex)t|menu(?:App|Cat))$/))},e.newRSAKey=function(){return e.showModal("password.html").then(function(){var n,r;return e.waiting=!0,n=e.currentNode,r=e.result,t.post(window.confPrefix+"/newRSAKey",{password:r}).then(function(t){return n.data[0].data=t.data.private,n.data[1].data=r,n.data[2].data=t.data.public,e.waiting=!1},g)},function(){return console.log("New key cancelled")})},e.newRSAKeyNoPassword=function(){var n;return e.waiting=!0,n=e.currentNode,t.post(window.confPrefix+"/newRSAKey",{password:""}).then(function(t){return n.data[0].data=t.data.private,n.data[1].data=t.data.public,e.waiting=!1},g)},e.getKey=function(n){var a,o,i,s,u,l,d;if(a=r.defer(),n.data)a.resolve(n.data);else if(e.waiting=!0,n.get&&"object"==typeof n.get){for(n.data=[],d=[],l=n.get,o=u=0,i=l.length;u<i;o=++u)s=l[o],n.data[o]={title:s,id:s},d.push(e.getKey(n.data[o]));r.all(d).then(function(){return a.resolve(n.data)},function(t){return a.reject(t.statusLine),e.waiting=!1})}else t.get(""+window.confPrefix+e.currentCfg.cfgNum+"/"+(n.get?n.get:n.title)).then(function(t){var r;return r=t.data,(null===r.value||r.error&&r.error.match(/setDefault$/))&&null!==n.default?n.data=n.default:n.data=r.value,n.type&&n.type.match(/^(bool|trool|boolOrExpr)$/)&&"string"==typeof n.data&&n.data.match(/^(?:-1|0|1)$/)&&(n.data=parseInt(n.data,10)),n.type&&n.type.match(/^int$/)&&(n.data=parseInt(n.data,10)),n.type&&n.type.match(/^select$/)?n.data=n.data.toString():n.type&&n.type.match(/^(saml(Service|Assertion)|blackWhiteList)$/)&&"object"!=typeof n.data&&(n.data=n.data.split(";")),e.waiting=!1,a.resolve(n.data)},function(e){return g(e),a.reject(e.status)});return a.promise},m=function(t,r,a){var o;return o=r.match(new RegExp("#!?/confs/(latest|[0-9]+)")),null===o?n.path("/confs/latest"):(console.log("Trying to get cfg number "+o[1]),e.getCfg(o[1]))},e.$on("$locationChangeSuccess",m),e.getCfg=function(r){return e.currentCfg.cfgNum!==r?t.get(""+window.confPrefix+r).then(function(t){var a;return e.currentCfg=t.data,a=new Date(1e3*e.currentCfg.cfgDate),e.currentCfg.date=a.toLocaleString(),console.log("Metadatas of cfg "+r+" loaded"),n.path("/confs/"+r),e.init()},function(t){return g(t).then(function(){return e.currentCfg.cfgNum=0,e.init()})}):e.waiting=!1},e.getLanguage=function(t){return e.lang=t,e.form="white",e.init(),e.showM=!1},e.init=function(){var n;return n=null,e.waiting=!0,e.data=[],e.confirmNeeded=!1,e.forceSave=!1,r.all([o.init(e.lang),t.get(window.staticPrefix+"struct.json").then(function(e){return n=e.data,console.log("Structure loaded")})]).then(function(){return console.log("Starting structure binding"),e.data=n,n=null,0!==e.currentCfg.cfgNum?setScopeVars(e):(e.message={title:"emptyConf",message:"__zeroConfExplanations__"},e.showModal("message.html")),e.form="home",e.waiting=!1},g),e.activeModule="conf",e.myStyle={color:"#ffb84d"}},f=n.path().match(new RegExp("^/confs/(latest|[0-9]+)")),f||(console.log("Redirecting to /confs/latest"),n.path("/confs/latest")),e.replaceContentByUrl=function(n,r){return e.waiting=!0,t.post(window.scriptname+"prx",{url:r}).then(function(t){return n.data=t.data.content,e.waiting=!1},g)},e.replaceContent=function(e,t){return e.data=t},e.saveAs=function(e,t,n){return saveAs(new Blob([e],{type:t}),n)},e.saveAsPem=function(e,t){return t.saveAs(e.data[0].data+"\n"+e.data[2].data,"application/x-pem-file",e.title+".pem")},e.saveAsText=function(e,t){return t.saveAs(e.data,"text/plain",e.title+".txt")}}])}).call(this);