Organigramm double-id-bug bei agency und user gelöst
This commit is contained in:
parent
37887f153c
commit
909db14c75
|
|
@ -26,29 +26,28 @@ margin-right:auto;">
|
||||||
|
|
||||||
|
|
||||||
var data = [
|
var data = [
|
||||||
{ 'id' : '{{request.user.profile.agency.pk}}', 'parent' : "", 'role': "", 'name': '{{request.user.profile.agency.name}}', 'color': '#71AF17', "imageUrl": ""},
|
{ 'id' : '{{request.user.profile.agency.pk}}', 'parent' : "", 'role': "", 'name': '{{request.user.profile.agency.name}}', 'color': '#71AF17', "imageUrl": "", 'children' : []},
|
||||||
{% for u in agencyuser %}
|
{% for u in agencyuser %}
|
||||||
{% if u.profile.parent == u %}
|
{% if u.profile.parent == u %}
|
||||||
{ 'id': '{{u.pk}}' , 'name': "{{u.first_name}} {{u.last_name}}",'role': '<b>{{u.profile.get_func_display}}</b></br >{{u.profile.compfunc}}', 'parent': "{{request.user.profile.agency.pk}}", 'color': '#1859B7', "imageUrl": "{{u.profile.get_photo_url}}", 'userid' : '{{u.pk}}' },
|
{ 'id': '{{u.pk}}' , 'name': "{{u.first_name}} {{u.last_name}}",'role': '<b>{{u.profile.get_func_display}}</b></br >{{u.profile.compfunc}}', 'parent': "{{request.user.profile.agency.pk}}", 'color': '#1859B7', "imageUrl": "{{u.profile.get_photo_url}}", 'userid' : '{{u.pk}}', 'children' : [] },
|
||||||
{% else %}
|
{% else %}
|
||||||
{ 'id': '{{u.pk}}', 'name': "{{u.first_name}} {{u.last_name}}", 'role': '<b>{{u.profile.get_func_display}}</b></br >{{u.profile.compfunc}}', 'parent': '{{u.profile.parent.pk}}', 'color': '#1859B7', "imageUrl": "{{u.profile.get_photo_url }}", 'userid' : '{{u.pk}}'},
|
{ 'id': '{{u.pk}}', 'name': "{{u.first_name}} {{u.last_name}}", 'role': '<b>{{u.profile.get_func_display}}</b></br >{{u.profile.compfunc}}', 'parent': '{{u.profile.parent.pk}}', 'color': '#1859B7', "imageUrl": "{{u.profile.get_photo_url }}", 'userid' : '{{u.pk}}', 'children' : []},
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
];
|
];
|
||||||
|
|
||||||
/*
|
//Check for Agency and User-IDs - dont touch the userid for URLs!
|
||||||
var data = [
|
for(i = 0; i < data.length; i++){
|
||||||
{'id' : 11, 'name' : 'AGENCY', 'parent' : "", 'children': []},
|
for(k = 0; k < data.length; k++){
|
||||||
{'id' : 2, 'name' : 'Holger', 'parent' : 11, 'children' : []},
|
if(k != i){
|
||||||
{'id' : 9, 'name' : 'Felix', 'parent' : 11, 'children' : []},
|
if(data[i]['id'] == data[k]['id']){
|
||||||
{'id' : 1, 'name' : 'Marko', 'parent' : 2, 'children' : []},
|
data[k]['id'] = data[k]['id']*10;
|
||||||
{'id' : 23, 'name' : 'Janina', 'parent' : 1, 'children' : []},
|
}
|
||||||
{'id' : 6, 'name' : 'Franziska', 'parent' : 1, 'children' : []},
|
}
|
||||||
{'id' : 12, 'name' : 'Berthold', 'parent' : 6, 'children' : []},
|
}
|
||||||
{'id' : 7, 'name' : 'Jürgen', 'parent' : 23, 'children' : []}
|
}
|
||||||
];
|
|
||||||
|
|
||||||
*/
|
//Creates nested array from data
|
||||||
function unflatten(arr) {
|
function unflatten(arr) {
|
||||||
var tree = [],
|
var tree = [],
|
||||||
mappedArr = {},
|
mappedArr = {},
|
||||||
|
|
@ -78,37 +77,9 @@ function unflatten(arr) {
|
||||||
return tree;
|
return tree;
|
||||||
}
|
}
|
||||||
|
|
||||||
function unflattenList(arr) {
|
|
||||||
var tree = [],
|
|
||||||
mappedArr = {},
|
|
||||||
arrElem,
|
|
||||||
mappedElem;
|
|
||||||
|
|
||||||
// First map the nodes of the array to an object -> create a hash table.
|
|
||||||
for(var i = 0, len = arr.length; i < len; i++) {
|
|
||||||
arrElem = arr[i];
|
|
||||||
mappedArr[arrElem.id] = arrElem;
|
|
||||||
mappedArr[arrElem.id]['children'] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var id in mappedArr) {
|
|
||||||
if (mappedArr.hasOwnProperty(id)) {
|
|
||||||
mappedElem = mappedArr[id];
|
|
||||||
// If the element is not at the root level, add it to its parent array of children.
|
|
||||||
if (mappedElem.parent) {
|
|
||||||
mappedArr[mappedElem['parent']]['children'].push(mappedElem);
|
|
||||||
}
|
|
||||||
// If the element is at the root level, add it to first level elements array.
|
|
||||||
else {
|
|
||||||
tree.push(mappedElem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return tree;
|
|
||||||
}
|
|
||||||
|
|
||||||
var html = ['<ul class="tree">'];
|
var html = ['<ul class="tree">'];
|
||||||
|
|
||||||
|
//Create UL-LI-List for tree
|
||||||
function createList(arr) {
|
function createList(arr) {
|
||||||
html.push('<ul>');
|
html.push('<ul>');
|
||||||
$.each(arr, function(i, val) {
|
$.each(arr, function(i, val) {
|
||||||
|
|
@ -116,7 +87,7 @@ function createList(arr) {
|
||||||
html.push('<li><a href="#"><h4>' + val.name + "</h4></a>");
|
html.push('<li><a href="#"><h4>' + val.name + "</h4></a>");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
html.push('<li><a href="#" onclick="goToUser('+ val.id +')"><img src="'+val.imageUrl+'" width="125px"><h5>' + val.name + "</h5></ br><small>"+val.role+"</small></a>");
|
html.push('<li><a href="#" onclick="goToUser('+ val.userid +')"><img src="'+val.imageUrl+'" width="125px"><h5>' + val.name + "</h5></ br><small>"+val.role+"</small></a>");
|
||||||
}
|
}
|
||||||
if (val.children) {
|
if (val.children) {
|
||||||
createList(val.children)
|
createList(val.children)
|
||||||
|
|
@ -128,6 +99,7 @@ function createList(arr) {
|
||||||
|
|
||||||
createList(unflatten(data));
|
createList(unflatten(data));
|
||||||
|
|
||||||
|
//Remove double ul/ul-Elements at the End
|
||||||
for(i = 0; i < html.length; i++){
|
for(i = 0; i < html.length; i++){
|
||||||
if(html[i+1] != undefined){
|
if(html[i+1] != undefined){
|
||||||
if(html[i] == "<ul>" && html[i+1] == "</ul>"){
|
if(html[i] == "<ul>" && html[i+1] == "</ul>"){
|
||||||
|
|
@ -141,86 +113,5 @@ function goToUser(id){
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#diagram').append(html.join(''));
|
$('#diagram').append(html.join(''));
|
||||||
//html = addLiEle(data[0]['children'], "<ul class='tree'><li>" + data[0]['name'] + "</li><ul>");
|
|
||||||
|
|
||||||
//$("#diagram").html(html);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
function createList(parent, array) {
|
|
||||||
console.log(parent);
|
|
||||||
|
|
||||||
for(i = 0; i < array.length; i++){
|
|
||||||
|
|
||||||
var li = document.createElement("li"),
|
|
||||||
ul;
|
|
||||||
|
|
||||||
li.textContent = array[i].name;
|
|
||||||
parent.appendChild(li);
|
|
||||||
if (array[i].children) {
|
|
||||||
ul = document.createElement("ul");
|
|
||||||
|
|
||||||
li.appendChild(ul);
|
|
||||||
//createList(ul, array[i].id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
/*
|
|
||||||
var obj = data;
|
|
||||||
var x = "";
|
|
||||||
$.each(obj, function(index, value) {
|
|
||||||
x += '<li>'+value.parent+'</li>';
|
|
||||||
if(value.children[0]){
|
|
||||||
var s = '<ul>';
|
|
||||||
$.each(value.children, function(i, v) {
|
|
||||||
s += "<li>"+v.name+"</li>";
|
|
||||||
});
|
|
||||||
s += '</ul>'
|
|
||||||
x += s;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
for(i = 0; i < agdata.length; i++){
|
|
||||||
//Wenn ID und PARENT gleich sind, wrid nichts gemacht
|
|
||||||
for(k = i+1; k < agdata.length; k++){
|
|
||||||
if(agdata[i]['id'] == agdata[k]['parent']){
|
|
||||||
agdata[i]['children'].push(agdata[k]);
|
|
||||||
agdata.splice(k, 1);
|
|
||||||
k = k - 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for(i = 0; i < agdata.length; i++){
|
|
||||||
if(agdata[i]['children'].length > 0){
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
function goToUser(){
|
|
||||||
if(diagram.selectedItems['nodes'][0] != undefined){
|
|
||||||
selected_id = diagram.selectedItems['nodes'][0]['properties']['data']['id'];
|
|
||||||
if(selected_id != 'parent'){
|
|
||||||
$("#diagram").hide();
|
|
||||||
$("#spinner").show();
|
|
||||||
window.location.href = "/orga/single/"+selected_id;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
$("#diagram").hide();
|
|
||||||
$("#spinner").show();
|
|
||||||
window.location.href = "/orga/";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
Loading…
Reference in New Issue