Bug Agenturen und dynamischer Steckbrief vorbereitet
This commit is contained in:
parent
32b1fab526
commit
dcd8613ee4
|
|
@ -25,7 +25,7 @@
|
||||||
{% getoutstandinginvites agn.pk as outstanding %}
|
{% getoutstandinginvites agn.pk as outstanding %}
|
||||||
{% ifaginadminagn agn.pk request.user.profile.agency.pk as is_adminag %}
|
{% ifaginadminagn agn.pk request.user.profile.agency.pk as is_adminag %}
|
||||||
<tr id="agn_{{agn.pk}}">
|
<tr id="agn_{{agn.pk}}">
|
||||||
<td>{{agn.name}}</td>
|
<td>{% if is_adminag %} <a href="{% url 'managagn' agn.pk %}">{% endif %}{{agn.name}}{% if is_adminag %}</a>{% endif %}</td>
|
||||||
<td>
|
<td>
|
||||||
{% if is_adminag %}
|
{% if is_adminag %}
|
||||||
<a href="#" onclick="javascript:showAgnLink('{{agn.name}}', '{{agn.networkid}}', {{agn.pk}})"><i class="far fa-eye"></i></a>
|
<a href="#" onclick="javascript:showAgnLink('{{agn.name}}', '{{agn.networkid}}', {{agn.pk}})"><i class="far fa-eye"></i></a>
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,10 @@ def DASettings(request):
|
||||||
context.update({"agencyareas" : agencyareas})
|
context.update({"agencyareas" : agencyareas})
|
||||||
|
|
||||||
# LOAD AGENCYNETWORKS
|
# LOAD AGENCYNETWORKS
|
||||||
agencynetworks = AgencyNetwork.objects.filter(creator_agency=request.user.profile.agency) | AgencyNetwork.objects.filter(adminagencys__in=[request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(members__in=[request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(sharemembers__in=[request.user.profile.agency.pk])
|
#agencynetworks = AgencyNetwork.objects.filter(creator_agency=request.user.profile.agency) | AgencyNetwork.objects.filter(adminagencys__in=[request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(members__in=[request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(sharemembers__in=[request.user.profile.agency.pk])
|
||||||
|
|
||||||
|
agencynetworks = AgencyNetwork.objects.filter(adminagencys__in=[request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(members__in=[request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(sharemembers__in=[request.user.profile.agency.pk])
|
||||||
|
|
||||||
context.update({"agencynetworks" : agencynetworks})
|
context.update({"agencynetworks" : agencynetworks})
|
||||||
|
|
||||||
# LOAD TASKS
|
# LOAD TASKS
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -9,7 +9,6 @@ https://docs.djangoproject.com/en/2.2/topics/settings/
|
||||||
For the full list of settings and their values, see
|
For the full list of settings and their values, see
|
||||||
https://docs.djangoproject.com/en/2.2/ref/settings/
|
https://docs.djangoproject.com/en/2.2/ref/settings/
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||||
|
|
@ -202,5 +201,3 @@ OPTIONS={
|
||||||
'counter_tag': 'standards.tags',
|
'counter_tag': 'standards.tags',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -10,6 +10,22 @@
|
||||||
{% if user|usergperm:"usermanager" %}
|
{% if user|usergperm:"usermanager" %}
|
||||||
<button type="button" id="activatechangingorder" style="float: right" class="btn btn-secondary btn-sm" onclick="javascript:activateChangeTaskOrder()" data-toggle="tooltip" data-placement="top" title="Reihenfolge der Tätigkeiten anpassen"><small><i class="fas fa-pen"></i></small></button>
|
<button type="button" id="activatechangingorder" style="float: right" class="btn btn-secondary btn-sm" onclick="javascript:activateChangeTaskOrder()" data-toggle="tooltip" data-placement="top" title="Reihenfolge der Tätigkeiten anpassen"><small><i class="fas fa-pen"></i></small></button>
|
||||||
<button type="button" id="changingorder" style="float: right; display: none" class="btn btn-primary btn-sm" onclick="javascript:activateChangeTaskOrder()" data-toggle="tooltip" data-placement="top" title="Reihenfolge der Tätigkeiten anpassen"><small><i class="fas fa-check"></i></small></button>
|
<button type="button" id="changingorder" style="float: right; display: none" class="btn btn-primary btn-sm" onclick="javascript:activateChangeTaskOrder()" data-toggle="tooltip" data-placement="top" title="Reihenfolge der Tätigkeiten anpassen"><small><i class="fas fa-check"></i></small></button>
|
||||||
|
|
||||||
|
<span style="float: right;">
|
||||||
|
{% if request.user.profile.agency.dynamicprofile == False %}
|
||||||
|
<div class="dropdown">
|
||||||
|
<button class="btn btn-primary dropdown-toggle btn-sm mr-1" type="button" id="changeViewDynamic" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
|
Ansicht wechseln
|
||||||
|
</button>
|
||||||
|
<div class="dropdown-menu" aria-labelledby="changeViewDynamic">
|
||||||
|
<a class="dropdown-item" href="#\" onclick="javascript:changeView(0)">Verantwortlicher</a>
|
||||||
|
<a class="dropdown-item" href="#\" onclick="javascript:changeView(1)">Ausführender</a>
|
||||||
|
<a class="dropdown-item" href="#\" onclick="javascript:changeView(2)">Vertreter</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</span>
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</span></h3>
|
</span></h3>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
@ -61,8 +77,38 @@
|
||||||
<tr>
|
<tr>
|
||||||
{% for area in areas %}
|
{% for area in areas %}
|
||||||
<td class="text-center" style="background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 0.3)">
|
<td class="text-center" style="background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 0.3)">
|
||||||
<div class="areaCollapseContent" id="sortarea_{{area.pk}}">
|
<div class="areaCollapseContent" id="sortarea_{{area.pk}}">
|
||||||
{%for prio in prios %}
|
{% if request.user.profile.agency.dynamicprofile == False %}
|
||||||
|
|
||||||
|
{% for ex in executor %}
|
||||||
|
{% if ex.area == area %}
|
||||||
|
<div style="background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 1)" class="mb-2 pt-3 pb-1 view_0" id="ele_{{ex.task.pk}}">
|
||||||
|
<span ><h6 ><a style=" color: #FFFFFF;"href="{% url 'standard-task' ex.task.pk %}"><span class="arrows_area_{{area.pk}} ml-4" style="display:none; float: left;"><i class="fas fa-sort"></i></span>{{ex.task.name}}</a></h6></span>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% for auth in authority %}
|
||||||
|
{% if auth.area == area %}
|
||||||
|
<div style=" background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 1)" class="mb-2 pt-3 pb-1 view_1 " id="ele_{{auth.task.pk}}">
|
||||||
|
<span ><h6 ><a style=" color: #FFFFFF;"href="{% url 'standard-task' auth.task.pk %}"><span class="arrows_area_{{area.pk}} ml-4" style="display:none; float: left;"><i class="fas fa-sort"></i></span>{{auth.task.name}}</a></h6></span>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% for rep in representative %}
|
||||||
|
{% if rep.area == area %}
|
||||||
|
<div style="background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 1)" class="mb-2 pt-3 pb-1 view_2 " id="ele_{{rep.task.pk}}">
|
||||||
|
<span ><h6 ><a style=" color: #FFFFFF;"href="{% url 'standard-task' rep.task.pk %}"><span class="arrows_area_{{area.pk}} ml-4" style="display:none; float: left;"><i class="fas fa-sort"></i></span>{{rep.task.name}}</a></h6></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
{% else %}
|
||||||
|
|
||||||
|
{% for prio in prios %}
|
||||||
{% if prio.task.area.pk == area.pk and prio.task.visible %}
|
{% if prio.task.area.pk == area.pk and prio.task.visible %}
|
||||||
<div style="background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 1)" class="mb-2 pt-3 pb-1 " id="ele_{{prio.task.pk}}">
|
<div style="background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 1)" class="mb-2 pt-3 pb-1 " id="ele_{{prio.task.pk}}">
|
||||||
<span ><h6 ><a style=" color: #FFFFFF;"href="{% url 'standard-task' prio.task.pk %}"><span class="arrows_area_{{area.pk}} ml-4" style="display:none; float: left;"><i class="fas fa-sort"></i></span>{{prio.task.name}}</a></h6></span>
|
<span ><h6 ><a style=" color: #FFFFFF;"href="{% url 'standard-task' prio.task.pk %}"><span class="arrows_area_{{area.pk}} ml-4" style="display:none; float: left;"><i class="fas fa-sort"></i></span>{{prio.task.name}}</a></h6></span>
|
||||||
|
|
@ -71,6 +117,7 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
@ -149,8 +196,21 @@ $( document ).ready(function() {
|
||||||
$(".arrows_area_" + sortablearea_ids[i]).hide();
|
$(".arrows_area_" + sortablearea_ids[i]).hide();
|
||||||
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
|
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$(document).find(".view_0").hide();
|
||||||
|
$(document).find(".view_1").hide();
|
||||||
|
$(document).find(".view_2").hide();
|
||||||
|
|
||||||
|
$(document).find(".view_2").show();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function changeView(newview){
|
||||||
|
$(document).find(".view_0").hide();
|
||||||
|
$(document).find(".view_1").hide();
|
||||||
|
$(document).find(".view_2").hide();
|
||||||
|
$(document).find(".view_" + newview).show();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ from users.priomodel import Prio
|
||||||
from tasks.models import Tasks
|
from tasks.models import Tasks
|
||||||
from users.models import AgencyJob
|
from users.models import AgencyJob
|
||||||
import webcolors
|
import webcolors
|
||||||
|
from standards.models import Standards
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def mainorga(request):
|
def mainorga(request):
|
||||||
|
|
@ -68,6 +69,23 @@ def singleorga(request, pk):
|
||||||
except:
|
except:
|
||||||
userfuncname = "Nicht vergeben"
|
userfuncname = "Nicht vergeben"
|
||||||
|
|
||||||
|
st = Standards.objects.filter(agency=request.user.profile.agency)
|
||||||
|
|
||||||
|
representative = []
|
||||||
|
executor = []
|
||||||
|
authority = []
|
||||||
|
|
||||||
|
for s in st:
|
||||||
|
if request.user in s.representative.all():
|
||||||
|
representative.append(s)
|
||||||
|
|
||||||
|
if request.user in s.executor.all():
|
||||||
|
executor.append(s)
|
||||||
|
|
||||||
|
if request.user in s.authority.all():
|
||||||
|
authority.append(s)
|
||||||
|
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
'active_link' : 'orga',
|
'active_link' : 'orga',
|
||||||
'areas' : areas,
|
'areas' : areas,
|
||||||
|
|
@ -80,8 +98,12 @@ def singleorga(request, pk):
|
||||||
'imageurl' : user.profile.get_photo_url,
|
'imageurl' : user.profile.get_photo_url,
|
||||||
'compfunc' : user.profile.compfunc,
|
'compfunc' : user.profile.compfunc,
|
||||||
'phoneland' : user.profile.phoneland,
|
'phoneland' : user.profile.phoneland,
|
||||||
|
'representative' : representative,
|
||||||
|
'executor' : executor,
|
||||||
|
'authority' : authority,
|
||||||
'phonemobile' : user.profile.phonemobile
|
'phonemobile' : user.profile.phonemobile
|
||||||
}
|
}
|
||||||
|
print(context)
|
||||||
return render(request, 'orga/orga_single.html', context)
|
return render(request, 'orga/orga_single.html', context)
|
||||||
else:
|
else:
|
||||||
return redirect('users-dashboard')
|
return redirect('users-dashboard')
|
||||||
|
|
|
||||||
|
|
@ -224,9 +224,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
/*.active {
|
/*.nav-link.active {
|
||||||
margin-top: -10px !important;
|
border: 15px solid green;
|
||||||
height: 53px;
|
|
||||||
}*/
|
}*/
|
||||||
</style>
|
</style>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,9 @@ class StandardsManagement(LoginRequiredMixin, ListView):
|
||||||
|
|
||||||
#context.update({'active_link' : 'standards', 'tasks': tasks, 'unpubstandards_of_user' : unpubstandards_of_user, 'standards_of_agency' : standards_of_agency, 'areas' : areas, 'standards_of_user' : standards_of_user, 'standardcontent' : standardcontent})
|
#context.update({'active_link' : 'standards', 'tasks': tasks, 'unpubstandards_of_user' : unpubstandards_of_user, 'standards_of_agency' : standards_of_agency, 'areas' : areas, 'standards_of_user' : standards_of_user, 'standardcontent' : standardcontent})
|
||||||
|
|
||||||
agencynetworks = AgencyNetwork.objects.filter(creator_agency=self.request.user.profile.agency) | AgencyNetwork.objects.filter(adminagencys__in=[self.request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(members__in=[self.request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(sharemembers__in=[self.request.user.profile.agency.pk])
|
#agencynetworks = AgencyNetwork.objects.filter(creator_agency=self.request.user.profile.agency) | AgencyNetwork.objects.filter(adminagencys__in=[self.request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(members__in=[self.request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(sharemembers__in=[self.request.user.profile.agency.pk])
|
||||||
|
|
||||||
|
agencynetworks = AgencyNetwork.objects.filter(adminagencys__in=[self.request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(members__in=[self.request.user.profile.agency.pk]) | AgencyNetwork.objects.filter(sharemembers__in=[self.request.user.profile.agency.pk])
|
||||||
|
|
||||||
allagencynetworkstandards = []
|
allagencynetworkstandards = []
|
||||||
for agn in agencynetworks:
|
for agn in agencynetworks:
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,8 @@ class Agency(models.Model):
|
||||||
phone = models.CharField(default="", max_length=50, blank=True)
|
phone = models.CharField(default="", max_length=50, blank=True)
|
||||||
agencypic = models.ImageField(default='ag_default.jpg', upload_to=picturepath_agency, blank=True)
|
agencypic = models.ImageField(default='ag_default.jpg', upload_to=picturepath_agency, blank=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# MONEY
|
# MONEY
|
||||||
balance = models.FloatField(default=0.0, max_length=9, blank=True)
|
balance = models.FloatField(default=0.0, max_length=9, blank=True)
|
||||||
nextdebiting = models.DateTimeField(default=timezone.now, blank=True)
|
nextdebiting = models.DateTimeField(default=timezone.now, blank=True)
|
||||||
|
|
@ -94,7 +96,8 @@ class Agency(models.Model):
|
||||||
module_organigramm = models.BooleanField(default=True)
|
module_organigramm = models.BooleanField(default=True)
|
||||||
module_messages = models.BooleanField(default=True)
|
module_messages = models.BooleanField(default=True)
|
||||||
|
|
||||||
|
# Steckbrief dynamisch aus Standard
|
||||||
|
dynamicprofile = models.BooleanField(default=True)
|
||||||
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue