Orga Testversion

This commit is contained in:
Holger Trampe 2019-12-12 00:08:30 +01:00
parent 1ffeadc768
commit bd8a437916
5 changed files with 76 additions and 52 deletions

View File

@ -8,30 +8,20 @@
<h4>Organigramm</h4>
<div id="diagram"></div>
</div>
<script type="text/javascript">
var data = [
{ 'id': 'parent', 'role': 'Board', 'color': '#71AF17' },
{ 'id': 'parent', 'role': 'General Manager', 'manager': 'parent', 'color': '#71AF17' },
{ 'id': '2', 'role': 'Human Resource Manager', 'manager': '1', 'color': '#1859B7' },
{ 'id': '3', 'role': 'Trainers', 'manager': '2', 'color': '#2E95D8' },
{ 'id': '4', 'role': 'Recruiting Team', 'manager': '2', 'color': '#2E95D8' },
{ 'id': '6', 'role': 'Design Manager', 'manager': '1', 'color': '#1859B7' },
{ 'id': '7', 'role': 'Design Supervisor', 'manager': '6', 'color': '#2E95D8' },
{ 'id': '8', 'role': 'Development Supervisor', 'manager': '6', 'color': '#2E95D8' },
{ 'id': '10', 'role': 'Operations Manager', 'manager': '1', 'color': '#1859B7' },
{ 'id': '11', 'role': 'Statistics Department', 'manager': '10', 'color': '#2E95D8' },
{ 'id': '12', 'role': 'Logistics Department', 'manager': '10', 'color': '#2E95D8' },
{ 'id': '16', 'role': 'Marketing Manager', 'manager': '1', 'color': '#1859B7' },
{ 'id': '17', 'role': 'Overseas Sales Manager', 'manager': '16', 'color': '#2E95D8' },
{ 'id': '20', 'role': 'Service Department Manager', 'manager': '16', 'color': '#2E95D8' }
{ 'id': 'parent', 'role': 'Agentur {{request.user.profile.agency.name}}', 'color': '#71AF17' },
{% for u in agencyuser %}
{% if u.profile.parent == u %}
{ 'id': '{{u.pk}}', 'role': '{{u.first_name}} {{u.last_name}}\n{{u.profile.get_func_display}}', 'manager': 'parent', 'color': '#1859B7' },
{% else %}
{ 'id': '{{u.pk}}', 'role': '{{u.first_name}} {{u.last_name}}\n{{u.profile.get_func_display}}', 'manager': '{{u.profile.parent.pk}}', 'color': '#1859B7', "imageUrl": "{{u.profile.image}}" },
{% endif %}
{% endfor %}
];
var items = new ej.data.DataManager(data);
console.log(data)
var items = new ej.data.DataManager(data);
var diagram = new ej.diagrams.Diagram({
width: "1000px",
height: "600px",
@ -62,28 +52,59 @@ diagram.appendTo('#diagram');
function nodeDefaults(node) {
node.annotations[0].style.color = "white";
node.width = 120;
node.annotations[0].style.size = "2em";
node.width = 220;
node.height = 120;
return node;
}
//Define the common settings for connectors.
function connectorDefaults(connector) {
connector.type = 'Orthogonal';
connector.targetDecorator = { shape: 'None' };
return connector;
connector.targetDecorator.shape = 'None';
connector.type = 'Orthogonal';
connector.style.strokeColor = 'gray';
return connector;
}
//Funtion to add the Template of the Node.
function setNodeTemplate(obj, diagram) {
// create the stack panel
var content = new ej.diagrams.StackPanel();
content.id = obj.id + '_outerstack';
content.orientation = 'Horizontal';
content.style.strokeColor = 'gray';
content.padding = { left: 5, right: 10, top: 5, bottom: 5 };
// create the image element to map the image data from the data source
var image = new ej.diagrams.ImageElement();
image.id = obj.id + '_pic';
image.width = 50; image.height = 50; image.style.strokeColor = 'none';
image.source = obj.data.imageUrl;
// create the stack panel to append the text elements.
var innerStack = new ej.diagrams.StackPanel();
innerStack.style.strokeColor = 'none';
innerStack.margin = { left: 5, right: 0, top: 0, bottom: 0 };
innerStack.id = obj.id + '_innerstack';
// create the text element to map the name data from the data source
var text = new ej.diagrams.TextElement();
text.style.bold = true;
text.id = obj.id + '_name';
text.content = obj.data.name;
// create the text element to map the role data from the data source
var desigText = new ej.diagrams.TextElement();
desigText.id = obj.id + '_desig';
desigText.content = obj.data.role;
// append the text elements
innerStack.children = [text, desigText];
// append the image and inner stack elements
content.children = [image, innerStack];
return content;
}
</script>
{% endblock content %}

View File

@ -9,22 +9,27 @@ import webcolors
@login_required
def mainorga(request):
leader = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='lead'))
if len(leader) > 0:
leader = leader[0]
else:
leader = None
indoor = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='indoor'))
external = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='external'))
trainee = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='trainee'))
#leader = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='lead'))
#if len(leader) > 0:
# leader = leader[0]
#else:
# leader = None
agencyuser = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).order_by('-id'))
#indoor = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='indoor'))
#external = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='external'))
#trainee = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='trainee'))
context = {
'active_link' : 'orga',
'leader' : leader,
'indoor' : indoor,
'external' : external,
'trainee' : trainee
'agencyuser' : agencyuser
}
# 'leader' : leader,
# 'indoor' : indoor,
# 'external' : external,
# 'trainee' : trainee
return render(request, 'orga/orga_main.html', context)

View File

@ -262,9 +262,7 @@ def ProfileUpdateView(request, pk):
@login_required
def setuserparent(request):
if request.method == 'GET':
if request.GET['action'] == 'adduserp':
if request.GET['action'] == 'adduserp':
userid = request.GET['objectid']
toadd = request.GET['userid']
toadd_user = User.objects.get(pk=toadd)