Bug Agenturen und dynamischer Steckbrief vorbereitet
This commit is contained in:
parent
32b1fab526
commit
dcd8613ee4
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
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
|
||||
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',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Binary file not shown.
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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):
|
||||
|
|
|
|||
Loading…
Reference in New Issue