Orga Testversion
This commit is contained in:
parent
1ffeadc768
commit
bd8a437916
Binary file not shown.
|
|
@ -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 %}
|
||||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue