Commit 6453a04a authored by Yadd's avatar Yadd
Browse files

Merge branch 'v2.0'

parents 1cf89af0 408a2157
Pipeline #6736 passed with stages
in 21 minutes and 1 second
......@@ -541,10 +541,15 @@ sub authChoiceModules {
my @res;
foreach my $k ( sort keys %$value ) {
my $data = [ split /;/, $value->{$k} ];
eval { $data->[5] = from_json( $data->[5] ) if $data->[5] };
if ($@) {
$self->logger->error(
"Bad value in choice over parameters, deleted ($@)");
if ( $data->[5] ) {
my $over;
eval { $over = from_json( $data->[5] ) };
if ($@) {
$self->logger->error(
"Bad value in choice over parameters, deleted ($@)");
} else {
$data->[5] = [ map { [ $_, $over->{$_} ] } keys %{$over} ];
}
}
push @res,
{
......
......@@ -27,9 +27,9 @@ sub new {
if ( $self->env->{X_ORIGINAL_URI} );
$self->env->{PATH_INFO} =~ s|//+|/|g;
if ( my $tmp = $self->script_name ) {
$self->env->{PATH_INFO} =~ s|^$tmp|/|;
}
#if ( my $tmp = $self->script_name ) {
# $self->env->{PATH_INFO} =~ s|^$tmp|/|;
#}
$self->env->{PATH_INFO} ||= '/';
$self->env->{REQUEST_URI} =~ s|^//+|/|g;
$self->{uri} = uri_unescape( $self->env->{REQUEST_URI} );
......@@ -49,7 +49,10 @@ sub uri { $_[0]->{uri} }
sub userData {
my ( $self, $v ) = @_;
return $self->{userData} = $v if ($v);
return $self->{userData} || { _whatToTrace => $self->{user}, };
return $self->{userData}
|| {
( $Lemonldap::NG::Handler::Main::tsv->{whatToTrace}
|| '_whatToTrace' ) => $self->{user}, };
}
sub respHeaders {
......
......@@ -252,7 +252,7 @@ sub newConf {
if ( $cfgNum ne $req->params('cfgNum') ) { $parser->confChanged(1); }
my $res = { result => $parser->check };
my $res = { result => $parser->check($self) };
# "message" fields: note that words enclosed by "__" (__word__) will be
# translated
......
......@@ -94,12 +94,14 @@ sub hdebug {
# Main method
#@return result
sub check {
my $self = shift;
my $self = shift;
my $localConf = shift;
hdebug("# check()");
unless ( $self->newConf ) {
return 0 unless ( $self->scanTree );
}
unless ( $self->testNewConf ) {
unless ( $self->testNewConf($localConf) ) {
hdebug(" testNewConf() failed");
return 0;
}
......@@ -846,9 +848,11 @@ sub _scanNodes {
# authChoiceModules
if ( $name eq 'authChoiceModules' ) {
hdebug(' combModules');
hdebug(' authChoiceModules');
$n->{data}->[5] ||= {};
$n->{data}->[5] = to_json( $n->{data}->[5] );
$n->{data}->[5] =
to_json( { map { @$_ } @{ $n->{data}->[5] } } )
if ref( $n->{data}->[5] ) eq 'ARRAY';
}
$n->{data} = join ';', @{ $n->{data} };
......@@ -1078,9 +1082,12 @@ sub defaultValue {
#
#@return true if tests succeed
sub testNewConf {
my $self = shift;
my $self = shift;
my $localConf = shift;
hdebug('# testNewConf()');
return $self->_unitTest( $self->newConf(), '' ) && $self->_globalTest();
return $self->_unitTest( $self->newConf(), $localConf )
&& $self->_globalTest($localConf);
}
##@method private boolean _unitTest()
......@@ -1088,23 +1095,24 @@ sub testNewConf {
#
#@return true if tests succeed
sub _unitTest {
my ( $self, $conf ) = @_;
my ( $self, $conf, $localConf ) = @_;
hdebug('# _unitTest()');
my $types = &Lemonldap::NG::Manager::Attributes::types();
my $attrs = &Lemonldap::NG::Manager::Attributes::attributes();
my $res = 1;
foreach my $key ( keys %$conf ) {
if ( $self->{skippedUnitTests}
and $self->{skippedUnitTests} =~ /\b$key\b/ )
if ( $localConf->{skippedUnitTests}
and $localConf->{skippedUnitTests} =~ /\b$key\b/ )
{
$self->logger->debug("Ignore test for $key");
$localConf->logger->debug("-> Ignore test for $key\n");
next;
}
hdebug("Testing $key");
my $attr = $attrs->{$key};
my $type = $types->{ $attr->{type} };
unless ( $type or $attr->{test} ) {
print STDERR "Unknown attribute $key, deleting it\n";
$localConf->logger->debug("Unknown attribute $key, deleting it\n");
delete $conf->{$key};
next;
}
......@@ -1227,16 +1235,19 @@ sub _execTest {
#
#@return true if tests succeed
sub _globalTest {
my $self = shift;
my $self = shift;
my $localConf = shift;
require Lemonldap::NG::Manager::Conf::Tests;
hdebug('# _globalTest()');
my $result = 1;
my $tests = &Lemonldap::NG::Manager::Conf::Tests::tests( $self->newConf );
foreach my $name ( keys %$tests ) {
if ( $self->{skippedGlobalTests}
and $self->{skippedGlobalTests} =~ /\b$name\b/ )
if ( $localConf->{skippedGlobalTests}
and $localConf->{skippedGlobalTests} =~ /\b$name\b/ )
{
$self->logger->debug("Ignore test for $name");
$localConf->logger->debug("-> Ignore test for $name\n");
next;
}
my $sub = $tests->{$name};
......@@ -1258,7 +1269,7 @@ sub _globalTest {
};
if ($@) {
push @{ $self->warnings }, "Test $name failed: $@";
print STDERR "Test $name failed: $@\n";
$localConf->logger->debug("Test $name failed: $@\n");
}
}
return $result;
......
......@@ -2,7 +2,7 @@
diff.html script
###
llapp = angular.module 'llngConfDiff', ['ui.tree', 'ui.bootstrap', 'llApp', 'ngCookies'] , ($rootScopeProvider) -> $rootScopeProvider.digestTtl(15)
llapp = angular.module 'llngConfDiff', ['ui.tree', 'ui.bootstrap', 'llApp', 'ngCookies'] , ['$rootScopeProvider', ($rootScopeProvider) -> $rootScopeProvider.digestTtl(15)]
llapp.controller 'DiffCtrl', [ '$scope', '$http', '$q', '$translator', '$location', ($scope, $http, $q, $translator, $location) ->
$scope.links = links
$scope.menulinks = menulinks
......
......@@ -2,7 +2,7 @@
diff.html script
###
llapp = angular.module 'llngConfDiff', ['ui.tree', 'ui.bootstrap', 'llApp', 'ngCookies'] , ($rootScopeProvider) -> $rootScopeProvider.digestTtl(15)
llapp = angular.module 'llngConfDiff', ['ui.tree', 'ui.bootstrap', 'llApp', 'ngCookies'] , ['$rootScopeProvider', ($rootScopeProvider) -> $rootScopeProvider.digestTtl(15)]
llapp.controller 'DiffCtrl', [ '$scope', '$http', '$q', '$translator', '$location', ($scope, $http, $q, $translator, $location) ->
$scope.links = links
$scope.menulinks = menulinks
......
......@@ -42,8 +42,9 @@
<input class="form-control" ng-model="t[1]" />
</td>
<td>
<span class="link text-danger glyphicon glyphicon-minus-sign" ng-click="del(currentNode.data.over,$index)"/>
<span ng-if="$last" class="link text-success glyphicon glyphicon-plus-sign" ng-click="menuClick({title:'newCmbOver'})"/>
<span class="link text-danger glyphicon glyphicon-minus-sign" ng-click="del(currentNode.data[5],$index)"/>
<span ng-if="$last" class="link text-success glyphicon glyphicon-plus-sign"
ng-click="menuClick({title:'newCmbOver', action:'newChoiceOver'})" />
</td>
</tr>
</table>
......
// Generated by CoffeeScript 1.12.8
// Generated by CoffeeScript 1.12.7
/*
* 2ndFA Session explorer
......
......@@ -7,9 +7,11 @@ diff.html script
(function() {
var llapp;
llapp = angular.module('llngConfDiff', ['ui.tree', 'ui.bootstrap', 'llApp', 'ngCookies'], function($rootScopeProvider) {
return $rootScopeProvider.digestTtl(15);
});
llapp = angular.module('llngConfDiff', ['ui.tree', 'ui.bootstrap', 'llApp', 'ngCookies'], [
'$rootScopeProvider', function($rootScopeProvider) {
return $rootScopeProvider.digestTtl(15);
}
]);
llapp.controller('DiffCtrl', [
'$scope', '$http', '$q', '$translator', '$location', function($scope, $http, $q, $translator, $location) {
......
(function(){angular.module("llngConfDiff",["ui.tree","ui.bootstrap","llApp","ngCookies"],function(t){return t.digestTtl(15)}).controller("DiffCtrl",["$scope","$http","$q","$translator","$location",function(p,o,l,a,u){var n,i,c,t,s,h,f;return p.links=links,p.menulinks=menulinks,p.staticPrefix=staticPrefix,p.scriptname=scriptname,p.availableLanguages=availableLanguages,p.waiting=!0,p.showM=!1,p.cfg=[],p.data={},p.currentNode=null,p.translateTitle=function(t){return a.translateField(t,"title")},p.translateP=a.translateP,p.translate=a.translate,p.toggle=function(t){return t.toggle()},p.stoggle=function(t,e){return p.currentNode=e,t.toggle()},p.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(p.currentNode,p);break;case"string":p[t.action]();break;default:console.log(typeof t.action)}return p.showM=!1},p.getLanguage=function(t){return p.lang=t,c(),p.showM=!1},i=function(n,r){var a;return a=l.defer(),null==p.cfg[n]||p.cfg[n]!==r?o.get(""+confPrefix+r).then(function(t){var e;return t&&t.data?(p.cfg[n]=t.data,e=new Date(1e3*t.data.cfgDate),p.cfg[n].date=e.toLocaleString(),console.log("Metadatas of cfg "+r+" loaded"),a.resolve("OK")):a.reject(t)},function(t){return console.log(t),a.reject("NOK")}):a.resolve(),a.promise},c=function(){return p.message=null,p.currentNode=null,l.all([a.init(p.lang),o.get(staticPrefix+"reverseTree.json").then(function(t){return t.data,console.log("Structure loaded")})]).then(function(){return l.defer(),o.get(scriptname+"diff/"+p.cfg[0].cfgNum+"/"+p.cfg[1].cfgNum).then(function(t){var e;return[],e=s(t.data[0],t.data[1]),p.data=n(e),p.message="",p.waiting=!1},function(t){return p.message=p.translate("error")+" : "+t.statusLine})}),p.activeModule="conf",p.myStyle={color:"#ffb84d"}},s=function(t,e,n){var r,a,o,l;for(r in null==n&&(n=!0),a=[],t)l=t[r],o=n?{title:p.translate(r),id:r}:{title:r},r.match(/^cfg(?:Num|Log|Author(?:IP)?|Date)$/)||(null!=l&&"object"==typeof l?"array"===l.constructor?(o.oldvalue=l,o.newvalue=e[r]):"object"==typeof e[r]?o.nodes=s(t[r],e[r],!1):o.oldnodes=f(l,"old"):(o.oldvalue=l,o.newvalue=e[r]),a.push(o));for(r in e)l=e[r],r.match(/^cfg(?:Num|Log|Author(?:IP)?|Date)$/)||null!=t[r]||(o=n?{title:p.translate(r),id:r}:{title:r},null!=l&&"object"==typeof l?"array"===l.constructor?o.newvalue=l:(console.log("Iteration"),o.newnodes=f(l,"new")):o.newvalue=l,a.push(o));return a},f=function(t,e){var n,r,a,o;for(n in r=[],t)a={title:n},"object"==typeof(o=t[n])?"array"===o.constructor?a[e+"value"]=o:a[e+"nodes"]=f(t[n],e):a[e+"value"]=o,r.push(a);return r},h=[],n=function(t){var e,n,r,a,o,l,u,i,c,s,f,g,d;if(null==h)return t;for(d=[],a=0,l=t.length;a<l;a++){for(e=t[a],f=d,o=0,u=(g=null!=h[e.id]?h[e.id].split("/"):"").length;o<u;o++)if(0<(s=g[o]).length)if(f.length){for(n=-1,r=c=0,i=f.length;c<i;r=++c)f[r].id===s&&(n=r);f=-1!==n?f[n].nodes:(f.push({id:s,title:p.translate(s),nodes:[]}),f[f.length-1].nodes)}else f.push({id:s,title:p.translate(s),nodes:[]}),f=f[0].nodes;f.push(e)}return d},p.newDiff=function(){return u.path("/"+p.cfg[0].cfgNum+"/"+p.cfg[1].cfgNum)},t=function(t,e,n){var r;return null===(r=e.match(new RegExp("#!?/(latest|[0-9]+)(?:/(latest|[0-9]+))?$")))?u.path("/latest"):(p.waiting=!0,l.all([a.init(p.lang),o.get(staticPrefix+"reverseTree.json").then(function(t){return h=t.data,console.log("Structure loaded")}),i(0,r[1]),null!=r[2]?i(1,r[2]):void 0]).then(function(){return null!=r[2]?c():p.cfg[0].prev?(p.cfg[1]=p.cfg[0],i(0,p.cfg[1].prev).then(function(){return c()})):(p.data=[],p.waiting=!1)},function(){return p.message=p.translate("error"),p.waiting=!1})),!0},p.$on("$locationChangeSuccess",t)}])}).call(this);
\ No newline at end of file
(function(){angular.module("llngConfDiff",["ui.tree","ui.bootstrap","llApp","ngCookies"],["$rootScopeProvider",function(t){return t.digestTtl(15)}]).controller("DiffCtrl",["$scope","$http","$q","$translator","$location",function(p,a,l,o,u){var n,i,c,t,s,h,f;return p.links=links,p.menulinks=menulinks,p.staticPrefix=staticPrefix,p.scriptname=scriptname,p.availableLanguages=availableLanguages,p.waiting=!0,p.showM=!1,p.cfg=[],p.data={},p.currentNode=null,p.translateTitle=function(t){return o.translateField(t,"title")},p.translateP=o.translateP,p.translate=o.translate,p.toggle=function(t){return t.toggle()},p.stoggle=function(t,e){return p.currentNode=e,t.toggle()},p.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(p.currentNode,p);break;case"string":p[t.action]();break;default:console.log(typeof t.action)}return p.showM=!1},p.getLanguage=function(t){return p.lang=t,c(),p.showM=!1},i=function(n,r){var o;return o=l.defer(),null==p.cfg[n]||p.cfg[n]!==r?a.get(""+confPrefix+r).then(function(t){var e;return t&&t.data?(p.cfg[n]=t.data,e=new Date(1e3*t.data.cfgDate),p.cfg[n].date=e.toLocaleString(),console.log("Metadatas of cfg "+r+" loaded"),o.resolve("OK")):o.reject(t)},function(t){return console.log(t),o.reject("NOK")}):o.resolve(),o.promise},c=function(){return p.message=null,p.currentNode=null,l.all([o.init(p.lang),a.get(staticPrefix+"reverseTree.json").then(function(t){return t.data,console.log("Structure loaded")})]).then(function(){return l.defer(),a.get(scriptname+"diff/"+p.cfg[0].cfgNum+"/"+p.cfg[1].cfgNum).then(function(t){var e;return[],e=s(t.data[0],t.data[1]),p.data=n(e),p.message="",p.waiting=!1},function(t){return p.message=p.translate("error")+" : "+t.statusLine})}),p.activeModule="conf",p.myStyle={color:"#ffb84d"}},s=function(t,e,n){var r,o,a,l;for(r in null==n&&(n=!0),o=[],t)l=t[r],a=n?{title:p.translate(r),id:r}:{title:r},r.match(/^cfg(?:Num|Log|Author(?:IP)?|Date)$/)||(null!=l&&"object"==typeof l?"array"===l.constructor?(a.oldvalue=l,a.newvalue=e[r]):"object"==typeof e[r]?a.nodes=s(t[r],e[r],!1):a.oldnodes=f(l,"old"):(a.oldvalue=l,a.newvalue=e[r]),o.push(a));for(r in e)l=e[r],r.match(/^cfg(?:Num|Log|Author(?:IP)?|Date)$/)||null!=t[r]||(a=n?{title:p.translate(r),id:r}:{title:r},null!=l&&"object"==typeof l?"array"===l.constructor?a.newvalue=l:(console.log("Iteration"),a.newnodes=f(l,"new")):a.newvalue=l,o.push(a));return o},f=function(t,e){var n,r,o,a;for(n in r=[],t)o={title:n},"object"==typeof(a=t[n])?"array"===a.constructor?o[e+"value"]=a:o[e+"nodes"]=f(t[n],e):o[e+"value"]=a,r.push(o);return r},h=[],n=function(t){var e,n,r,o,a,l,u,i,c,s,f,g,d;if(null==h)return t;for(d=[],o=0,l=t.length;o<l;o++){for(e=t[o],f=d,a=0,u=(g=null!=h[e.id]?h[e.id].split("/"):"").length;a<u;a++)if(0<(s=g[a]).length)if(f.length){for(n=-1,r=c=0,i=f.length;c<i;r=++c)f[r].id===s&&(n=r);f=-1!==n?f[n].nodes:(f.push({id:s,title:p.translate(s),nodes:[]}),f[f.length-1].nodes)}else f.push({id:s,title:p.translate(s),nodes:[]}),f=f[0].nodes;f.push(e)}return d},p.newDiff=function(){return u.path("/"+p.cfg[0].cfgNum+"/"+p.cfg[1].cfgNum)},t=function(t,e,n){var r;return null===(r=e.match(new RegExp("#!?/(latest|[0-9]+)(?:/(latest|[0-9]+))?$")))?u.path("/latest"):(p.waiting=!0,l.all([o.init(p.lang),a.get(staticPrefix+"reverseTree.json").then(function(t){return h=t.data,console.log("Structure loaded")}),i(0,r[1]),null!=r[2]?i(1,r[2]):void 0]).then(function(){return null!=r[2]?c():p.cfg[0].prev?(p.cfg[1]=p.cfg[0],i(0,p.cfg[1].prev).then(function(){return c()})):(p.data=[],p.waiting=!1)},function(){return p.message=p.translate("error"),p.waiting=!1})),!0},p.$on("$locationChangeSuccess",t)}])}).call(this);
\ No newline at end of file
{"version":3,"sources":["lemonldap-ng-manager/site/htdocs/static/js/diff.js"],"names":["angular","module","$rootScopeProvider","digestTtl","controller","$scope","$http","$q","$translator","$location","buildTree","getCfg","init","pathEvent","readDiff","reverseTree","toNodes","links","menulinks","staticPrefix","scriptname","availableLanguages","waiting","showM","cfg","data","currentNode","translateTitle","node","translateField","translateP","translate","toggle","scope","stoggle","menuClick","button","popup","window","open","action","title","console","log","getLanguage","lang","b","n","d","defer","get","confPrefix","then","response","date","Date","cfgDate","toLocaleString","resolve","reject","promise","message","all","cfgNum","statusLine","activeModule","myStyle","color","c1","c2","tr","k","res","tmp","v","id","match","constructor","oldvalue","newvalue","nodes","oldnodes","push","newnodes","c","s","elem","found","i","j","l","len","len1","len2","m","offset","path","length","split","newDiff","event","next","current","RegExp","prev","$on","call","this"],"mappings":"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"}
\ No newline at end of file
{"version":3,"sources":["lemonldap-ng-manager/site/htdocs/static/js/diff.js"],"names":["angular","module","$rootScopeProvider","digestTtl","controller","$scope","$http","$q","$translator","$location","buildTree","getCfg","init","pathEvent","readDiff","reverseTree","toNodes","links","menulinks","staticPrefix","scriptname","availableLanguages","waiting","showM","cfg","data","currentNode","translateTitle","node","translateField","translateP","translate","toggle","scope","stoggle","menuClick","button","popup","window","open","action","title","console","log","getLanguage","lang","b","n","d","defer","get","confPrefix","then","response","date","Date","cfgDate","toLocaleString","resolve","reject","promise","message","all","cfgNum","statusLine","activeModule","myStyle","color","c1","c2","tr","k","res","tmp","v","id","match","constructor","oldvalue","newvalue","nodes","oldnodes","push","newnodes","c","s","elem","found","i","j","l","len","len1","len2","m","offset","path","length","split","newDiff","event","next","current","RegExp","prev","$on","call","this"],"mappings":"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"}
\ No newline at end of file
// Generated by CoffeeScript 1.12.8
// Generated by CoffeeScript 1.12.7
(function() {
var filterFunctions;
......
// Generated by CoffeeScript 1.12.8
// Generated by CoffeeScript 1.12.7
/*
LemonLDAP::NG base app module
......
// Generated by CoffeeScript 1.12.8
// Generated by CoffeeScript 1.12.7
/*
LemonLDAP::NG Manager client
......
// Generated by CoffeeScript 1.12.8
// Generated by CoffeeScript 1.12.7
/*
* LemonLDAP::NG Notifications Explorer client
......
......@@ -7,9 +7,11 @@ diff.html script
(function() {
var llapp;
llapp = angular.module('llngConfDiff', ['ui.tree', 'ui.bootstrap', 'llApp', 'ngCookies'], function($rootScopeProvider) {
return $rootScopeProvider.digestTtl(15);
});
llapp = angular.module('llngConfDiff', ['ui.tree', 'ui.bootstrap', 'llApp', 'ngCookies'], [
'$rootScopeProvider', function($rootScopeProvider) {
return $rootScopeProvider.digestTtl(15);
}
]);
llapp.controller('DiffCtrl', [
'$scope', '$http', '$q', '$translator', '$location', function($scope, $http, $q, $translator, $location) {
......
(function(){angular.module("llngConfDiff",["ui.tree","ui.bootstrap","llApp","ngCookies"],function(t){return t.digestTtl(15)}).controller("DiffCtrl",["$scope","$http","$q","$translator","$location",function(p,o,l,a,i){var n,u,c,t,s,h,f;return p.links=links,p.menulinks=menulinks,p.staticPrefix=staticPrefix,p.scriptname=scriptname,p.availableLanguages=availableLanguages,p.waiting=!0,p.showM=!1,p.cfg=[],p.data={},p.currentNode=null,p.translateTitle=function(t){return a.translateField(t,"title")},p.translateP=a.translateP,p.translate=a.translate,p.toggle=function(t){return t.toggle()},p.stoggle=function(t,e){return p.currentNode=e,t.toggle()},p.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(p.currentNode,p);break;case"string":p[t.action]();break;default:console.log(typeof t.action)}return p.showM=!1},p.getLanguage=function(t){return p.lang=t,c(),p.showM=!1},u=function(n,r){var a;return a=l.defer(),null==p.cfg[n]||p.cfg[n]!==r?o.get(""+confPrefix+r).then(function(t){var e;return t&&t.data?(p.cfg[n]=t.data,e=new Date(1e3*t.data.cfgDate),p.cfg[n].date=e.toLocaleString(),console.log("Metadatas of cfg "+r+" loaded"),a.resolve("OK")):a.reject(t)},function(t){return console.log(t),a.reject("NOK")}):a.resolve(),a.promise},c=function(){return p.message=null,p.currentNode=null,l.all([a.init(p.lang),o.get(staticPrefix+"reverseTree.json").then(function(t){return t.data,console.log("Structure loaded")})]).then(function(){return l.defer(),o.get(scriptname+"view/diff/"+p.cfg[0].cfgNum+"/"+p.cfg[1].cfgNum).then(function(t){var e;return[],e=s(t.data[0],t.data[1]),p.data=n(e),p.message="",p.waiting=!1},function(t){return p.message=p.translate("error")+" : "+t.statusLine})}),p.activeModule="viewer",p.myStyle={color:"#ffb84d"}},s=function(t,e,n){var r,a,o,l;for(r in null==n&&(n=!0),a=[],t)l=t[r],o=n?{title:p.translate(r),id:r}:{title:r},r.match(/^cfg(?:Num|Log|Author(?:IP)?|Date)$/)||(null!=l&&"object"==typeof l?"array"===l.constructor?(o.oldvalue=l,o.newvalue=e[r]):"object"==typeof e[r]?o.nodes=s(t[r],e[r],!1):o.oldnodes=f(l,"old"):(o.oldvalue=l,o.newvalue=e[r]),a.push(o));for(r in e)l=e[r],r.match(/^cfg(?:Num|Log|Author(?:IP)?|Date)$/)||null!=t[r]||(o=n?{title:p.translate(r),id:r}:{title:r},null!=l&&"object"==typeof l?"array"===l.constructor?o.newvalue=l:(console.log("Iteration"),o.newnodes=f(l,"new")):o.newvalue=l,a.push(o));return a},f=function(t,e){var n,r,a,o;for(n in r=[],t)a={title:n},"object"==typeof(o=t[n])?"array"===o.constructor?a[e+"value"]=o:a[e+"nodes"]=f(t[n],e):a[e+"value"]=o,r.push(a);return r},h=[],n=function(t){var e,n,r,a,o,l,i,u,c,s,f,g,d;if(null==h)return t;for(d=[],a=0,l=t.length;a<l;a++){for(e=t[a],f=d,o=0,i=(g=null!=h[e.id]?h[e.id].split("/"):"").length;o<i;o++)if(0<(s=g[o]).length)if(f.length){for(n=-1,r=c=0,u=f.length;c<u;r=++c)f[r].id===s&&(n=r);f=-1!==n?f[n].nodes:(f.push({id:s,title:p.translate(s),nodes:[]}),f[f.length-1].nodes)}else f.push({id:s,title:p.translate(s),nodes:[]}),f=f[0].nodes;f.push(e)}return d},p.newDiff=function(){return i.path("/"+p.cfg[0].cfgNum+"/"+p.cfg[1].cfgNum)},t=function(t,e,n){var r;return null===(r=e.match(new RegExp("#!?/(latest|[0-9]+)(?:/(latest|[0-9]+))?$")))?i.path("/latest"):(p.waiting=!0,l.all([a.init(p.lang),o.get(staticPrefix+"reverseTree.json").then(function(t){return h=t.data,console.log("Structure loaded")}),u(0,r[1]),null!=r[2]?u(1,r[2]):void 0]).then(function(){return null!=r[2]?c():p.cfg[0].prev?(p.cfg[1]=p.cfg[0],u(0,p.cfg[1].prev).then(function(){return c()})):(p.data=[],p.waiting=!1)},function(){return p.message=p.translate("error"),p.waiting=!1})),!0},p.$on("$locationChangeSuccess",t)}])}).call(this);
\ No newline at end of file
(function(){angular.module("llngConfDiff",["ui.tree","ui.bootstrap","llApp","ngCookies"],["$rootScopeProvider",function(t){return t.digestTtl(15)}]).controller("DiffCtrl",["$scope","$http","$q","$translator","$location",function(p,o,l,a,i){var n,u,c,t,s,h,f;return p.links=links,p.menulinks=menulinks,p.staticPrefix=staticPrefix,p.scriptname=scriptname,p.availableLanguages=availableLanguages,p.waiting=!0,p.showM=!1,p.cfg=[],p.data={},p.currentNode=null,p.translateTitle=function(t){return a.translateField(t,"title")},p.translateP=a.translateP,p.translate=a.translate,p.toggle=function(t){return t.toggle()},p.stoggle=function(t,e){return p.currentNode=e,t.toggle()},p.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(p.currentNode,p);break;case"string":p[t.action]();break;default:console.log(typeof t.action)}return p.showM=!1},p.getLanguage=function(t){return p.lang=t,c(),p.showM=!1},u=function(n,r){var a;return a=l.defer(),null==p.cfg[n]||p.cfg[n]!==r?o.get(""+confPrefix+r).then(function(t){var e;return t&&t.data?(p.cfg[n]=t.data,e=new Date(1e3*t.data.cfgDate),p.cfg[n].date=e.toLocaleString(),console.log("Metadatas of cfg "+r+" loaded"),a.resolve("OK")):a.reject(t)},function(t){return console.log(t),a.reject("NOK")}):a.resolve(),a.promise},c=function(){return p.message=null,p.currentNode=null,l.all([a.init(p.lang),o.get(staticPrefix+"reverseTree.json").then(function(t){return t.data,console.log("Structure loaded")})]).then(function(){return l.defer(),o.get(scriptname+"view/diff/"+p.cfg[0].cfgNum+"/"+p.cfg[1].cfgNum).then(function(t){var e;return[],e=s(t.data[0],t.data[1]),p.data=n(e),p.message="",p.waiting=!1},function(t){return p.message=p.translate("error")+" : "+t.statusLine})}),p.activeModule="viewer",p.myStyle={color:"#ffb84d"}},s=function(t,e,n){var r,a,o,l;for(r in null==n&&(n=!0),a=[],t)l=t[r],o=n?{title:p.translate(r),id:r}:{title:r},r.match(/^cfg(?:Num|Log|Author(?:IP)?|Date)$/)||(null!=l&&"object"==typeof l?"array"===l.constructor?(o.oldvalue=l,o.newvalue=e[r]):"object"==typeof e[r]?o.nodes=s(t[r],e[r],!1):o.oldnodes=f(l,"old"):(o.oldvalue=l,o.newvalue=e[r]),a.push(o));for(r in e)l=e[r],r.match(/^cfg(?:Num|Log|Author(?:IP)?|Date)$/)||null!=t[r]||(o=n?{title:p.translate(r),id:r}:{title:r},null!=l&&"object"==typeof l?"array"===l.constructor?o.newvalue=l:(console.log("Iteration"),o.newnodes=f(l,"new")):o.newvalue=l,a.push(o));return a},f=function(t,e){var n,r,a,o;for(n in r=[],t)a={title:n},"object"==typeof(o=t[n])?"array"===o.constructor?a[e+"value"]=o:a[e+"nodes"]=f(t[n],e):a[e+"value"]=o,r.push(a);return r},h=[],n=function(t){var e,n,r,a,o,l,i,u,c,s,f,g,d;if(null==h)return t;for(d=[],a=0,l=t.length;a<l;a++){for(e=t[a],f=d,o=0,i=(g=null!=h[e.id]?h[e.id].split("/"):"").length;o<i;o++)if(0<(s=g[o]).length)if(f.length){for(n=-1,r=c=0,u=f.length;c<u;r=++c)f[r].id===s&&(n=r);f=-1!==n?f[n].nodes:(f.push({id:s,title:p.translate(s),nodes:[]}),f[f.length-1].nodes)}else f.push({id:s,title:p.translate(s),nodes:[]}),f=f[0].nodes;f.push(e)}return d},p.newDiff=function(){return i.path("/"+p.cfg[0].cfgNum+"/"+p.cfg[1].cfgNum)},t=function(t,e,n){var r;return null===(r=e.match(new RegExp("#!?/(latest|[0-9]+)(?:/(latest|[0-9]+))?$")))?i.path("/latest"):(p.waiting=!0,l.all([a.init(p.lang),o.get(staticPrefix+"reverseTree.json").then(function(t){return h=t.data,console.log("Structure loaded")}),u(0,r[1]),null!=r[2]?u(1,r[2]):void 0]).then(function(){return null!=r[2]?c():p.cfg[0].prev?(p.cfg[1]=p.cfg[0],u(0,p.cfg[1].prev).then(function(){return c()})):(p.data=[],p.waiting=!1)},function(){return p.message=p.translate("error"),p.waiting=!1})),!0},p.$on("$locationChangeSuccess",t)}])}).call(this);
\ No newline at end of file
{"version":3,"sources":["lemonldap-ng-manager/site/htdocs/static/js/viewDiff.js"],"names":["angular","module","$rootScopeProvider","digestTtl","controller","$scope","$http","$q","$translator","$location","buildTree","getCfg","init","pathEvent","readDiff","reverseTree","toNodes","links","menulinks","staticPrefix","scriptname","availableLanguages","waiting","showM","cfg","data","currentNode","translateTitle","node","translateField","translateP","translate","toggle","scope","stoggle","menuClick","button","popup","window","open","action","title","console","log","getLanguage","lang","b","n","d","defer","get","confPrefix","then","response","date","Date","cfgDate","toLocaleString","resolve","reject","promise","message","all","cfgNum","statusLine","activeModule","myStyle","color","c1","c2","tr","k","res","tmp","v","id","match","constructor","oldvalue","newvalue","nodes","oldnodes","push","newnodes","c","s","elem","found","i","j","l","len","len1","len2","m","offset","path","length","split","newDiff","event","next","current","RegExp","prev","$on","call","this"],"mappings":"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"}
\ No newline at end of file
{"version":3,"sources":["lemonldap-ng-manager/site/htdocs/static/js/viewDiff.js"],"names":["angular","module","$rootScopeProvider","digestTtl","controller","$scope","$http","$q","$translator","$location","buildTree","getCfg","init","pathEvent","readDiff","reverseTree","toNodes","links","menulinks","staticPrefix","scriptname","availableLanguages","waiting","showM","cfg","data","currentNode","translateTitle","node","translateField","translateP","translate","toggle","scope","stoggle","menuClick","button","popup","window","open","action","title","console","log","getLanguage","lang","b","n","d","defer","get","confPrefix","then","response","date","Date","cfgDate","toLocaleString","resolve","reject","promise","message","all","cfgNum","statusLine","activeModule","myStyle","color","c1","c2","tr","k","res","tmp","v","id","match","constructor","oldvalue","newvalue","nodes","oldnodes","push","newnodes","c","s","elem","found","i","j","l","len","len1","len2","m","offset","path","length","split","newDiff","event","next","current","RegExp","prev","$on","call","this"],"mappings":"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"}
\ No newline at end of file
// Generated by CoffeeScript 1.12.8
// Generated by CoffeeScript 1.12.7
/*
LemonLDAP::NG Viewer client
......
......@@ -5,7 +5,7 @@
<link rel="prefetch" href="<TMPL_VAR NAME="STATIC_PREFIX">struct.json" />
</head>
<body ng-app="llngConfDiff" ng-controller="DiffCtrl" ng-csp>
<body ng-app="llngConfDiff" ng-strict-di ng-controller="DiffCtrl" ng-csp>
<TMPL_INCLUDE NAME="menubar.tpl">
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment