Orga Testversion
This commit is contained in:
parent
1ffeadc768
commit
bd8a437916
Binary file not shown.
|
|
@ -8,30 +8,20 @@
|
||||||
<h4>Organigramm</h4>
|
<h4>Organigramm</h4>
|
||||||
<div id="diagram"></div>
|
<div id="diagram"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
|
||||||
var data = [
|
var data = [
|
||||||
{ 'id': 'parent', 'role': 'Board', 'color': '#71AF17' },
|
{ 'id': 'parent', 'role': 'Agentur {{request.user.profile.agency.name}}', 'color': '#71AF17' },
|
||||||
{ 'id': 'parent', 'role': 'General Manager', 'manager': 'parent', 'color': '#71AF17' },
|
{% for u in agencyuser %}
|
||||||
{ 'id': '2', 'role': 'Human Resource Manager', 'manager': '1', 'color': '#1859B7' },
|
{% if u.profile.parent == u %}
|
||||||
{ 'id': '3', 'role': 'Trainers', 'manager': '2', 'color': '#2E95D8' },
|
{ 'id': '{{u.pk}}', 'role': '{{u.first_name}} {{u.last_name}}\n{{u.profile.get_func_display}}', 'manager': 'parent', 'color': '#1859B7' },
|
||||||
{ 'id': '4', 'role': 'Recruiting Team', 'manager': '2', 'color': '#2E95D8' },
|
{% else %}
|
||||||
{ 'id': '6', 'role': 'Design Manager', 'manager': '1', 'color': '#1859B7' },
|
{ '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}}" },
|
||||||
{ 'id': '7', 'role': 'Design Supervisor', 'manager': '6', 'color': '#2E95D8' },
|
{% endif %}
|
||||||
{ 'id': '8', 'role': 'Development Supervisor', 'manager': '6', 'color': '#2E95D8' },
|
{% endfor %}
|
||||||
{ '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' }
|
|
||||||
];
|
];
|
||||||
|
console.log(data)
|
||||||
|
var items = new ej.data.DataManager(data);
|
||||||
var items = new ej.data.DataManager(data);
|
|
||||||
|
|
||||||
var diagram = new ej.diagrams.Diagram({
|
var diagram = new ej.diagrams.Diagram({
|
||||||
width: "1000px",
|
width: "1000px",
|
||||||
height: "600px",
|
height: "600px",
|
||||||
|
|
@ -62,28 +52,59 @@ diagram.appendTo('#diagram');
|
||||||
|
|
||||||
function nodeDefaults(node) {
|
function nodeDefaults(node) {
|
||||||
node.annotations[0].style.color = "white";
|
node.annotations[0].style.color = "white";
|
||||||
node.width = 120;
|
node.annotations[0].style.size = "2em";
|
||||||
|
node.width = 220;
|
||||||
|
node.height = 120;
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Define the common settings for connectors.
|
||||||
function connectorDefaults(connector) {
|
function connectorDefaults(connector) {
|
||||||
connector.type = 'Orthogonal';
|
connector.targetDecorator.shape = 'None';
|
||||||
connector.targetDecorator = { shape: 'None' };
|
connector.type = 'Orthogonal';
|
||||||
return connector;
|
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>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|
@ -9,22 +9,27 @@ import webcolors
|
||||||
@login_required
|
@login_required
|
||||||
def mainorga(request):
|
def mainorga(request):
|
||||||
|
|
||||||
leader = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='lead'))
|
#leader = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='lead'))
|
||||||
if len(leader) > 0:
|
#if len(leader) > 0:
|
||||||
leader = leader[0]
|
# leader = leader[0]
|
||||||
else:
|
#else:
|
||||||
leader = None
|
# 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'))
|
agencyuser = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).order_by('-id'))
|
||||||
trainee = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__func='trainee'))
|
|
||||||
|
#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 = {
|
context = {
|
||||||
'active_link' : 'orga',
|
'active_link' : 'orga',
|
||||||
'leader' : leader,
|
'agencyuser' : agencyuser
|
||||||
'indoor' : indoor,
|
|
||||||
'external' : external,
|
|
||||||
'trainee' : trainee
|
|
||||||
}
|
}
|
||||||
|
# 'leader' : leader,
|
||||||
|
# 'indoor' : indoor,
|
||||||
|
# 'external' : external,
|
||||||
|
# 'trainee' : trainee
|
||||||
|
|
||||||
|
|
||||||
return render(request, 'orga/orga_main.html', context)
|
return render(request, 'orga/orga_main.html', context)
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -262,9 +262,7 @@ def ProfileUpdateView(request, pk):
|
||||||
@login_required
|
@login_required
|
||||||
def setuserparent(request):
|
def setuserparent(request):
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
|
if request.GET['action'] == 'adduserp':
|
||||||
if request.GET['action'] == 'adduserp':
|
|
||||||
|
|
||||||
userid = request.GET['objectid']
|
userid = request.GET['objectid']
|
||||||
toadd = request.GET['userid']
|
toadd = request.GET['userid']
|
||||||
toadd_user = User.objects.get(pk=toadd)
|
toadd_user = User.objects.get(pk=toadd)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue