Bug Agenturen und dynamischer Steckbrief vorbereitet

This commit is contained in:
holger.trampe 2020-04-23 23:17:41 +02:00
parent 32b1fab526
commit dcd8613ee4
10 changed files with 102 additions and 16 deletions

View File

@ -25,7 +25,7 @@
{% getoutstandinginvites agn.pk as outstanding %}
{% ifaginadminagn agn.pk request.user.profile.agency.pk as is_adminag %}
<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>
{% if is_adminag %}
<a href="#" onclick="javascript:showAgnLink('{{agn.name}}', '{{agn.networkid}}', {{agn.pk}})"><i class="far fa-eye"></i></a>

View File

@ -93,7 +93,10 @@ def DASettings(request):
context.update({"agencyareas" : agencyareas})
# 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})
# LOAD TASKS

View File

@ -9,7 +9,6 @@ https://docs.djangoproject.com/en/2.2/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.2/ref/settings/
"""
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
@ -201,6 +200,4 @@ OPTIONS={
'libraries': {
'counter_tag': 'standards.tags',
},
}
}

View File

@ -9,7 +9,23 @@
<h3>Bereiche und Aufgaben von {{user_first_name}} {{user_last_name}}<span style="float: right">
{% 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="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 %}
</span></h3>
<hr>
@ -61,8 +77,38 @@
<tr>
{% for area in areas %}
<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}}">
{%for prio in prios %}
<div class="areaCollapseContent" id="sortarea_{{area.pk}}">
{% 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 %}
<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>
@ -70,8 +116,9 @@
{% endif %}
{% endfor %}
</div>
</td>
{% endfor %}
</td>
{% endif %}
{% endfor %}
</tr>
</tbody>
</table>
@ -149,8 +196,21 @@ $( document ).ready(function() {
$(".arrows_area_" + sortablearea_ids[i]).hide();
$( "#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>

View File

@ -6,6 +6,7 @@ from users.priomodel import Prio
from tasks.models import Tasks
from users.models import AgencyJob
import webcolors
from standards.models import Standards
@login_required
def mainorga(request):
@ -68,6 +69,23 @@ def singleorga(request, pk):
except:
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 = {
'active_link' : 'orga',
'areas' : areas,
@ -80,8 +98,12 @@ def singleorga(request, pk):
'imageurl' : user.profile.get_photo_url,
'compfunc' : user.profile.compfunc,
'phoneland' : user.profile.phoneland,
'representative' : representative,
'executor' : executor,
'authority' : authority,
'phonemobile' : user.profile.phonemobile
}
print(context)
return render(request, 'orga/orga_single.html', context)
else:
return redirect('users-dashboard')

View File

@ -224,9 +224,8 @@
</div>
</div>
<style type="text/css">
/*.active {
margin-top: -10px !important;
height: 53px;
/*.nav-link.active {
border: 15px solid green;
}*/
</style>
<script type="text/javascript">

View File

@ -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})
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 = []
for agn in agencynetworks:

View File

@ -83,6 +83,8 @@ class Agency(models.Model):
phone = models.CharField(default="", max_length=50, blank=True)
agencypic = models.ImageField(default='ag_default.jpg', upload_to=picturepath_agency, blank=True)
# MONEY
balance = models.FloatField(default=0.0, max_length=9, 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_messages = models.BooleanField(default=True)
# Steckbrief dynamisch aus Standard
dynamicprofile = models.BooleanField(default=True)
def __str__(self):