Zwischencommit Absence
This commit is contained in:
parent
37070e045d
commit
ce2bc15b61
|
|
@ -75,11 +75,21 @@ def area_neworder(request):
|
|||
tempuser = User.objects.get(pk=request.GET['userid'])
|
||||
neworderdata = json.loads(request.GET['finalod'])
|
||||
for ele in neworderdata:
|
||||
prio = list(Prio.objects.filter(user__pk=request.GET['userid'], task__pk=ele['id']))[0]
|
||||
task = Tasks.objects.get(pk=ele['id'])
|
||||
if(task.agency == request.user.profile.agency):
|
||||
prio.prio = ele['neworder']
|
||||
prio.save()
|
||||
print(request.GET['userid'])
|
||||
print(ele)
|
||||
prio = Prio.objects.filter(user__pk=request.GET['userid'], task__pk=ele['id'])
|
||||
# PRIO FOUND
|
||||
if(len(prio) > 0):
|
||||
task = Tasks.objects.get(pk=ele['id'])
|
||||
if(task.agency == request.user.profile.agency):
|
||||
prio[0].prio = ele['neworder']
|
||||
prio[0].save()
|
||||
# NO PRIO FOUND - CREATE, SET NEW ORDER AND SAVE
|
||||
else:
|
||||
task = Tasks.objects.get(pk=ele['id'])
|
||||
if(task.agency == request.user.profile.agency):
|
||||
newprio = Prio(user=tempuser, task=Tasks.objects.get(pk=ele['id']), prio=ele['neworder']).save()
|
||||
|
||||
return HttpResponse("UPDATED")
|
||||
else:
|
||||
return HttpResponse("Request method is not a GET")
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
<hr>
|
||||
<h5>Ausstehende Einladungen</h5>
|
||||
|
||||
<div class="table-responsive">
|
||||
<div class="table-responsive mt-2">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
@ -38,7 +38,8 @@
|
|||
|
||||
<hr>
|
||||
<h5>Agenturen im Verbund{% if request.user.profile.showtooltips %} <small><i data-toggle="tooltip" data-placement="top" title="Verwalten Sie die Agenturen in Ihrem Verbund. Wählen Sie aus, ob Agenturen nur Mitglied sind oder ob sie Inhalte in den Verbund teilen dürfen. Alternativ können Sie eine Agentur als Administratives Mitglied festlegen. Dann kann diese Agentur ebenfalls alle Einstellungen des Agenturverbunds anpassen." class="far fa-question-circle"></i></small>{% endif %}</h5>
|
||||
<div class="table-responsive">
|
||||
{% if request.user.profile.agency in agn.adminagencys.all %}
|
||||
<div class="table-responsive mt-2">
|
||||
<table class="table hover" id="agnetworkagencys">
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
@ -76,7 +77,33 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% else %}
|
||||
|
||||
<div class="table-responsive mt-2">
|
||||
<table class="table hover" id="agnetworkagencys_onlyview">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Agenturname</th>
|
||||
<th scope="col">Rechte</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for agn_s in allagofagn %}
|
||||
<tr id="agn_{{agn_s.pk}}">
|
||||
<td>{{agn_s.name}}</td>
|
||||
<td>
|
||||
{% if agn_s in agn.adminagencys.all %}Administratives Mitglied
|
||||
{% elif agn_s in agn.members.all %}Mitglied
|
||||
{% elif agn_s in agn.sharemembers.all %}Inhalte teilen
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
</div>
|
||||
|
|
@ -131,7 +158,7 @@
|
|||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
$('#agnetworkagencys').DataTable({
|
||||
$('#agnetworkagencys_onlyview').DataTable({
|
||||
"language": {
|
||||
"search" : "Suche",
|
||||
"info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen",
|
||||
|
|
@ -149,11 +176,31 @@
|
|||
"className" : "btn-danger"
|
||||
}
|
||||
});
|
||||
{% if request.user.profile.agency in agn.adminagencys.all %}
|
||||
$('#agnetworkagencys').DataTable({
|
||||
"language": {
|
||||
"search" : "Suche",
|
||||
"info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen",
|
||||
"lengthMenu": "Zeige _MENU_ Einträge",
|
||||
"zeroRecords": "Nichts gefunden",
|
||||
"infoEmpty": "Keine Einträge",
|
||||
"paginate": {
|
||||
"first": "Erste",
|
||||
"last": "Letzte",
|
||||
"next": "Nächste",
|
||||
"previous": "Zurück"
|
||||
},
|
||||
},
|
||||
"buttons" : {
|
||||
"className" : "btn-danger"
|
||||
}
|
||||
});
|
||||
{% endif %}
|
||||
});
|
||||
|
||||
|
||||
{% if request.user.profile.agency in agn.adminagencys.all %}
|
||||
var workingagid = "";
|
||||
|
||||
|
||||
function updateAgAgnRights(agency, newstatus){
|
||||
$.ajax(
|
||||
{
|
||||
|
|
@ -219,5 +266,6 @@
|
|||
$("#agname").html(name);
|
||||
$("#delAgFromAgn").modal("toggle");
|
||||
}
|
||||
{% endif %}
|
||||
</script>
|
||||
{% endblock content %}
|
||||
|
|
@ -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>{% if is_adminag %} <a href="{% url 'managagn' agn.pk %}">{% endif %}{{agn.name}}{% if is_adminag %}</a>{% endif %}</td>
|
||||
<td><a href="{% url 'managagn' agn.pk %}">{{agn.name}}</a></td>
|
||||
<td>
|
||||
{% if is_adminag %}
|
||||
<a href="#" onclick="javascript:showAgnLink('{{agn.name}}', '{{agn.networkid}}', {{agn.pk}})"><i class="far fa-eye"></i></a>
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
<td>{{agn.creator.first_name }} {{agn.creator.last_name }}</td>
|
||||
<td>{{agn.created_on }}</td>
|
||||
<td>{{agn.lastactivity}}</td>
|
||||
<td>{% if is_adminag %} <a href="{% url 'managagn' agn.pk %}">{% endif %} {% if outstanding %}<i class="fas fa-info-circle" data-toggle="tooltip" data-placement="top" title="Es gibt ausstehende Einladung."></i> {% endif %}{{agsum}}{% if is_adminag %}</a>{% endif %}</td>
|
||||
<td><a href="{% url 'managagn' agn.pk %}">{% if outstanding %}<i class="fas fa-info-circle" data-toggle="tooltip" data-placement="top" title="Es gibt ausstehende Einladung."></i> {% endif %}{{agsum}}</a></td>
|
||||
<td>{{agn.standards.all|length}}</td>
|
||||
<td>
|
||||
{% if is_adminag %}
|
||||
|
|
|
|||
|
|
@ -12,9 +12,6 @@
|
|||
{% getsumofallag agn.pk as agsum %}
|
||||
{% getsumofallstandards agn.pk as ag_standardsum %}
|
||||
|
||||
|
||||
|
||||
|
||||
<h6><b>Gründeragentur</b> {{agn.creator_agency.name }}</h6>
|
||||
<h6><b>Gegründet von</b> {{agn.creator.first_name }} {{agn.creator.last_name }}</h6>
|
||||
<h6><b>Grüdungsdatum</b> {{agn.created_on }}</h6>
|
||||
|
|
@ -32,14 +29,58 @@
|
|||
{% for a in agn.adminagencys.all %}
|
||||
{{a.name}}{% if forloop.counter < agn.adminagencys.all|length %},{% endif %}{% endfor %}
|
||||
<br />
|
||||
<a href="#\" onclick="javascript:showHiddenAgencys()" style=""><b>Mitgliedsagenturen betrachten</b></a>
|
||||
{% if agn.members.all|length > 0 or agn.sharemembers.all|length %}
|
||||
<a href="#\" onclick="javascript:showHiddenAgencys()" style=""><b id="textinfomembers">Mitgliedsagenturen betrachten</b></a>
|
||||
<span id="agencys_of_ag" style="display: none;">
|
||||
<br />
|
||||
{% for a in agn.members.all %}
|
||||
{{a.name}}{% if forloop.counter < agn.members.all|length %},{% endif %}{% endfor %}{% if agn.sharemembers.all|length > 0 %}, {% endif %}{% for a in agn.sharemembers.all %}{{a.name}}{% if forloop.counter < agn.sharemembers.all|length %},
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</span>
|
||||
<hr>
|
||||
<div class="table-responsive mt-2">
|
||||
<table class="table hover" id="agnetworkagencys_onlyview">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Agenturname</th>
|
||||
<th scope="col">Rechte</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for agn_s in agn.adminagencys.all %}
|
||||
<tr id="agn_{{agn_s.pk}}">
|
||||
<td>{{agn_s.name}}</td>
|
||||
<td>
|
||||
{% if agn_s in agn.adminagencys.all %}Administratives Mitglied
|
||||
{% elif agn_s in agn.members.all %}Mitglied
|
||||
{% elif agn_s in agn.sharemembers.all %}Inhalte teilen
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% for agn_s in agn.sharemembers.all %}
|
||||
<tr id="agn_{{agn_s.pk}}">
|
||||
<td>{{agn_s.name}}</td>
|
||||
<td>
|
||||
{% if agn_s in agn.adminagencys.all %}Administratives Mitglied
|
||||
{% elif agn_s in agn.members.all %}Mitglied
|
||||
{% elif agn_s in agn.sharemembers.all %}Inhalte teilen
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% for agn_s in agn.members.all %}
|
||||
<tr id="agn_{{agn_s.pk}}">
|
||||
<td>{{agn_s.name}}</td>
|
||||
<td>
|
||||
{% if agn_s in agn.adminagencys.all %}Administratives Mitglied
|
||||
{% elif agn_s in agn.members.all %}Mitglied
|
||||
{% elif agn_s in agn.sharemembers.all %}Inhalte teilen
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
|
|
@ -49,12 +90,37 @@
|
|||
if(hidden_ag){
|
||||
$("#agencys_of_ag").show();
|
||||
hidden_ag = false;
|
||||
$("#textinfomembers").html("Mitgliedsagenturen ausblenden")
|
||||
}
|
||||
else{
|
||||
$("#agencys_of_ag").hide();
|
||||
$("#textinfomembers").html("Mitgliedsagenturen betrachten")
|
||||
hidden_ag = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
$('#agnetworkagencys_onlyview').DataTable({
|
||||
"language": {
|
||||
"search" : "Suche",
|
||||
"info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen",
|
||||
"lengthMenu": "Zeige _MENU_ Einträge",
|
||||
"zeroRecords": "Nichts gefunden",
|
||||
"infoEmpty": "Keine Einträge",
|
||||
"paginate": {
|
||||
"first": "Erste",
|
||||
"last": "Letzte",
|
||||
"next": "Nächste",
|
||||
"previous": "Zurück"
|
||||
},
|
||||
},
|
||||
"buttons" : {
|
||||
"className" : "btn-danger"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@
|
|||
<td>{{formfield.label_tag}}</td>
|
||||
<td>{{formfield}}</td>
|
||||
<td>
|
||||
{% if formfield.name == 'module_organigramm' %}
|
||||
{% if formfield.name == 'module_organigramm' and user.profile.agency.module_organigramm %}
|
||||
<button type="button" class="btn btn-sm btn-primary" onclick="javascript:$('#modulesettings_{{formfield.name}}').modal('toggle');"><i class="fas fa-cog"></i></button>
|
||||
{% elif formfield.name == 'module_timemanagement' %}
|
||||
{% elif formfield.name == 'module_timemanagement' and user.profile.agency.module_timemanagement %}
|
||||
<button type="button" class="btn btn-sm btn-primary" onclick="javascript:$('#modulesettings_{{formfield.name}}').modal('toggle');"><i class="fas fa-cog"></i></button>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
|
@ -54,12 +54,12 @@
|
|||
{% else %}
|
||||
Keine Einstellungen vorhanden.
|
||||
{% endif %}
|
||||
{% if formfield.name == 'module_organigramm' %}
|
||||
{% if formfield.name == 'module_organigramm' and user.profile.agency.module_organigramm %}
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Schließen</button>
|
||||
<button id="" type="button" onclick="javascript:updateOrganigrammSettings()" class="btn btn-success" data-dismiss="modal" >Speichern</button>
|
||||
</div>
|
||||
{% elif formfield.name == 'module_timemanagement' %}
|
||||
{% elif formfield.name == 'module_timemanagement' and user.profile.agency.module_timemanagement %}
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Schließen</button>
|
||||
<button id="" type="button" onclick="javascript:updateTmSettings()" class="btn btn-success" data-dismiss="modal" >Speichern</button>
|
||||
|
|
|
|||
|
|
@ -183,6 +183,13 @@ def SettingsAgencyModuls(request, context):
|
|||
agencymoduleform = AgencyModulsForm(request.POST, instance=request.user.profile.agency)
|
||||
if agencymoduleform.is_valid():
|
||||
agencymoduleform.save()
|
||||
|
||||
# Check, if Timemanagement is deactivate, to deactivate Zeiterfassung
|
||||
if(request.user.profile.agency.module_timemanagement == False):
|
||||
ag = request.user.profile.agency
|
||||
ag.module_timemanagement_ze = False
|
||||
ag.save()
|
||||
|
||||
context['modulform'] = AgencyModulsForm(instance=request.user.profile.agency)
|
||||
messages.success(request, f'Moduleinstellungen aktualisiert!')
|
||||
return render(request, 'dasettings/settings.html', context)
|
||||
|
|
@ -632,7 +639,7 @@ def NewUserFirstStep(request):
|
|||
'support@digitale-agentur.com',
|
||||
[newuserform.cleaned_data.get('email')],
|
||||
html_message=msg_html,
|
||||
fail_silently=False,
|
||||
fail_silently=True,
|
||||
)
|
||||
newuser = newuserform.save(commit=False)
|
||||
newuser.username = newuser.email
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ def mainmessageview(request):
|
|||
'support@digitale-agentur.com',
|
||||
[targetuser.email],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
|
||||
if(targetuser.profile.user_messages_push):
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -15,14 +15,14 @@
|
|||
{% if request.user.profile.agency.dynamicprofile %}
|
||||
<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">
|
||||
<span id="view_info_drop_1" style="">Ausführend</span>
|
||||
<span id="view_info_drop_0" style="">Ausführend</span>
|
||||
<span id="view_info_drop_2" style="display: none;">Vertretend</span>
|
||||
<span id="view_info_drop_0" style="display: none;">Verantwortlich</span>
|
||||
<span id="view_info_drop_1" style="display: none;">Verantwortlich</span>
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="changeViewDynamic">
|
||||
<a class="dropdown-item" href="#\" onclick="javascript:changeView(1)">Ausführend</a>
|
||||
<a class="dropdown-item" href="#\" onclick="javascript:changeView(2)">Vertretend</a>
|
||||
<a class="dropdown-item" href="#\" onclick="javascript:changeView(0)">Verantwortlich</a>
|
||||
<div class="dropdown-menu" aria-labelledby="changeViewDynamic" >
|
||||
<a class="dropdown-item" href="#\" id="view_0" onclick="javascript:changeView(0)">Ausführend</a>
|
||||
<a class="dropdown-item" href="#\" id="view_2" onclick="javascript:changeView(2)">Vertretend</a>
|
||||
<a class="dropdown-item" href="#\" id="view_1" onclick="javascript:changeView(1)">Verantwortlich</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
@ -67,6 +67,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
{% if request.user.profile.agency.dynamicprofile == False %}
|
||||
<h4 class="ml-4">{{ user_first_name }} {{ user_last_name }}
|
||||
|
||||
{% if request.user.profile.agency.dynamicprofile %}
|
||||
|
|
@ -129,6 +130,55 @@
|
|||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<div id="tablecontent_orgasingle">
|
||||
</div>
|
||||
<!-- LOADER OVERLAY -->
|
||||
<div id="overlay" style="display: none;">
|
||||
<div class="loader"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<style>
|
||||
.loader {
|
||||
position: relative;
|
||||
border: 7px solid #d3d3d3;
|
||||
border-radius: 50%;
|
||||
border-top: 7px solid red;
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
left:50%;
|
||||
top:35%;
|
||||
-webkit-animation: spin 1s linear infinite; /* Safari */
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
#overlay{
|
||||
position: absolute;
|
||||
top:0px;
|
||||
left:0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: black;
|
||||
opacity: .4;
|
||||
}
|
||||
.container{
|
||||
position:relative;
|
||||
height: 300px;
|
||||
width: 200px;
|
||||
border:1px solid red;
|
||||
}
|
||||
|
||||
/* Safari */
|
||||
@-webkit-keyframes spin {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg); }
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
#orgasingle {
|
||||
border-collapse: separate;
|
||||
|
|
@ -136,9 +186,60 @@
|
|||
}
|
||||
</style>
|
||||
</div>
|
||||
|
||||
{% if request.user.profile.agency.dynamicprofile %}
|
||||
<script type="text/javascript">
|
||||
var sortstatus = false;
|
||||
/*
|
||||
|
||||
viewmode
|
||||
0 - ex
|
||||
1 - aut
|
||||
2 - rep
|
||||
|
||||
*/
|
||||
function initialLoad(viewmode=0){
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "{% url 'orga-ajax' %}",
|
||||
data:{
|
||||
action : "getrenderedview",
|
||||
viewmode : viewmode,
|
||||
viewuser : {{user_id}}
|
||||
},
|
||||
beforeSend: function(request) {
|
||||
$("#overlay").fadeIn();
|
||||
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
||||
},
|
||||
success : function(data){
|
||||
$("#overlay").fadeOut();
|
||||
$("#tablecontent_orgasingle").html(data)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function changeView(newmode){
|
||||
$("#view_info_drop_0").hide();
|
||||
$("#view_info_drop_1").hide();
|
||||
$("#view_info_drop_2").hide();
|
||||
|
||||
$("#view_info_drop_" + newmode).show();
|
||||
|
||||
{% if request.user.profile.agency.dynamicprofile %}
|
||||
initialLoad(newmode);
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
$( document ).ready(function() {
|
||||
{% if request.user.profile.agency.dynamicprofile %}
|
||||
initialLoad()
|
||||
{% endif %}
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
{% else %}
|
||||
<script type="text/javascript">
|
||||
var sortstatus = false;
|
||||
var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}];
|
||||
{% if user|usergperm:"usermanager" %}
|
||||
|
||||
|
|
@ -203,8 +304,6 @@ $( document ).ready(function() {
|
|||
$(".arrows_area_" + sortablearea_ids[i]).hide();
|
||||
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
|
||||
}
|
||||
|
||||
|
||||
$(document).find(".view_1").show();
|
||||
$(document).find("#view_info_1").show();
|
||||
|
||||
|
|
@ -225,11 +324,9 @@ function changeView(newview){
|
|||
$(document).find("#view_info_drop_1").hide();
|
||||
$(document).find("#view_info_drop_2").hide();
|
||||
$(document).find("#view_info_drop_" + newview).show();
|
||||
|
||||
|
||||
$(document).find("#view_info_" + newview).show();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
{% endif %}
|
||||
{% endblock content %}
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
{% load counter_tag %}
|
||||
<h4 class="ml-4">{{ user_first_name }} {{ user_last_name }}
|
||||
|
||||
<span>verantwortet:</span>
|
||||
</h4>
|
||||
<table class="table" id="orgasingle">
|
||||
<thead>
|
||||
<tr >
|
||||
{% for area in areas %}
|
||||
<td class="text-center" style="width: 20%; background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 0.3);"><h5 style="color: rgba(0,0,0, 1);"><b ><a style=" color: #000000;"href="{% url 'standard-area' area.pk %}">{{area.name}}</a></b></h5></td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<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}}">
|
||||
{% if request.user.profile.agency.dynamicprofile %}
|
||||
|
||||
{% for task in tasks %}
|
||||
{% isUserInAuth task area user_id as checkIsUserAuth %}
|
||||
{% if task.area.pk == area.pk and task.visible and checkIsUserAuth %}
|
||||
<div style="none; background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 1)" class="mb-2 pt-3 pb-1 view_0" id="ele_{{task.pk}}">
|
||||
<span ><h6 ><a style="color: #FFFFFF;"href="{% url 'standard-task' task.pk %}"><span class="arrows_area_{{area.pk}} ml-4" style="display:none; float: left;"><i class="fas fa-sort"></i></span>{{task.name}}</a></h6></span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
{% 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>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</td>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
var sortstatus = false;
|
||||
var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}];
|
||||
{% if user|usergperm:"usermanager" %}
|
||||
|
||||
{% for area in areas %}
|
||||
//Initial function for draggable areas
|
||||
$( function() {
|
||||
$( "#sortarea_{{area.pk}}" ).sortable
|
||||
({
|
||||
axis:"y",
|
||||
update: function( event, ui )
|
||||
{
|
||||
datatoserver = [];
|
||||
var rows = $( "#sortarea_{{area.pk}}" ).sortable( "widget" )[0]['children'];
|
||||
for(i = 0; i < rows.length; i++){
|
||||
tempid = rows[i]['id'].split("_")[1];
|
||||
datatoserver.push({"id" : tempid, "neworder" : i});
|
||||
}
|
||||
console.log(datatoserver)
|
||||
$.ajax(
|
||||
{
|
||||
type: "GET",
|
||||
url: "/areas/updateorder",
|
||||
data:{
|
||||
action: "newtaskorder",
|
||||
finalod : JSON.stringify(datatoserver),
|
||||
userid : {{user_id}}
|
||||
},
|
||||
success: function( data ){}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
{% endfor %}
|
||||
function activateChangeTaskOrder(){
|
||||
//Initial function for draggable areas
|
||||
if(sortstatus == false){
|
||||
sortstatus = true;
|
||||
for(i = 0; i < sortablearea_ids.length; i++){
|
||||
$("#changingorder").show();
|
||||
$("#activatechangingorder").hide();
|
||||
$(".arrows_area_" + sortablearea_ids[i]).show();
|
||||
$( "#sortarea_" + sortablearea_ids[i] ).sortable("enable");
|
||||
}
|
||||
}
|
||||
else{
|
||||
sortstatus = false;
|
||||
for(i = 0; i < sortablearea_ids.length; i++){
|
||||
$("#changingorder").hide();
|
||||
$("#activatechangingorder").show();
|
||||
$(".arrows_area_" + sortablearea_ids[i]).hide();
|
||||
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{% endif %}
|
||||
/*
|
||||
|
||||
viewmode
|
||||
0 - ex
|
||||
1 - aut
|
||||
2 - rep
|
||||
|
||||
*/
|
||||
|
||||
function initialLoad(viewmode=0){
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "{% url 'orga-ajax' %}",
|
||||
data:{
|
||||
action : "getrenderedview",
|
||||
viewmode : viewmode,
|
||||
viewuser : {{user_id}}
|
||||
},
|
||||
beforeSend: function(request) {
|
||||
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
||||
$("#overlay").fadeIn();
|
||||
},
|
||||
success : function(data){
|
||||
$("#overlay").fadeOut();
|
||||
$("#tablecontent_orgasingle").html(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$( document ).ready(function() {
|
||||
for(i = 0; i < sortablearea_ids.length; i++){
|
||||
$(".arrows_area_" + sortablearea_ids[i]).hide();
|
||||
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
|
||||
}
|
||||
});
|
||||
|
||||
//function changeView(newview){
|
||||
/*
|
||||
$(document).find(".view_0").hide();
|
||||
$(document).find(".view_1").hide();
|
||||
$(document).find(".view_2").hide();
|
||||
$(document).find(".view_" + newview).show();
|
||||
|
||||
$(document).find("#view_info_0").hide();
|
||||
$(document).find("#view_info_1").hide();
|
||||
$(document).find("#view_info_2").hide();
|
||||
|
||||
$(document).find("#view_info_drop_0").hide();
|
||||
$(document).find("#view_info_drop_1").hide();
|
||||
$(document).find("#view_info_drop_2").hide();
|
||||
$(document).find("#view_info_drop_" + newview).show();
|
||||
|
||||
|
||||
$(document).find("#view_info_" + newview).show();
|
||||
*/
|
||||
//}
|
||||
</script>
|
||||
|
|
@ -0,0 +1 @@
|
|||
<h3>Fehler beim Laden der Tabelle!</h3>
|
||||
|
|
@ -0,0 +1,163 @@
|
|||
{% load counter_tag %}
|
||||
<h4 class="ml-4">{{ user_first_name }} {{ user_last_name }}
|
||||
|
||||
<span>führt aus:</span>
|
||||
</h4>
|
||||
<table class="table" id="orgasingle">
|
||||
<thead>
|
||||
<tr >
|
||||
{% for area in areas %}
|
||||
<td class="text-center" style="width: 20%; background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 0.3);"><h5 style="color: rgba(0,0,0, 1);"><b ><a style=" color: #000000;"href="{% url 'standard-area' area.pk %}">{{area.name}}</a></b></h5></td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<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}}">
|
||||
{% if request.user.profile.agency.dynamicprofile %}
|
||||
|
||||
{% for task in tasks %}
|
||||
|
||||
{% isUserInEx task area user_id as checkIsUserEx %}
|
||||
{% if task.area.pk == area.pk and task.visible and checkIsUserEx %}
|
||||
<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_{{task.pk}}">
|
||||
<span ><h6 ><a style=" color: #FFFFFF;"href="{% url 'standard-task' task.pk %}"><span class="arrows_area_{{area.pk}} ml-4" style="display: none; float: left;"><i class="fas fa-sort"></i></span>{{task.name}}</a></h6></span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% 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="float: left;"><i class="fas fa-sort"></i></span>{{prio.task.name}}</a></h6></span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</td>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
var sortstatus = false;
|
||||
var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}];
|
||||
{% if user|usergperm:"usermanager" %}
|
||||
|
||||
{% for area in areas %}
|
||||
//Initial function for draggable areas
|
||||
$( function() {
|
||||
$( "#sortarea_{{area.pk}}" ).sortable
|
||||
({
|
||||
axis:"y",
|
||||
update: function( event, ui )
|
||||
{
|
||||
datatoserver = [];
|
||||
var rows = $( "#sortarea_{{area.pk}}" ).sortable( "widget" )[0]['children'];
|
||||
for(i = 0; i < rows.length; i++){
|
||||
tempid = rows[i]['id'].split("_")[1];
|
||||
datatoserver.push({"id" : tempid, "neworder" : i});
|
||||
}
|
||||
$.ajax(
|
||||
{
|
||||
type: "GET",
|
||||
url: "/areas/updateorder",
|
||||
data:{
|
||||
action: "newtaskorder",
|
||||
finalod : JSON.stringify(datatoserver),
|
||||
userid : {{user_id}}
|
||||
},
|
||||
success: function( data ){}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
{% endfor %}
|
||||
function activateChangeTaskOrder(){
|
||||
//Initial function for draggable areas
|
||||
if(sortstatus == false){
|
||||
sortstatus = true;
|
||||
for(i = 0; i < sortablearea_ids.length; i++){
|
||||
$("#changingorder").show();
|
||||
$("#activatechangingorder").hide();
|
||||
$(".arrows_area_" + sortablearea_ids[i]).show();
|
||||
$( "#sortarea_" + sortablearea_ids[i] ).sortable("enable");
|
||||
}
|
||||
}
|
||||
else{
|
||||
sortstatus = false;
|
||||
for(i = 0; i < sortablearea_ids.length; i++){
|
||||
$("#changingorder").hide();
|
||||
$("#activatechangingorder").show();
|
||||
$(".arrows_area_" + sortablearea_ids[i]).hide();
|
||||
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{% endif %}
|
||||
/*
|
||||
|
||||
viewmode
|
||||
0 - ex
|
||||
1 - aut
|
||||
2 - rep
|
||||
|
||||
*/
|
||||
|
||||
function initialLoad(viewmode=0){
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "{% url 'orga-ajax' %}",
|
||||
data:{
|
||||
action : "getrenderedview",
|
||||
viewmode : viewmode,
|
||||
viewuser : {{user_id}}
|
||||
},
|
||||
beforeSend: function(request) {
|
||||
$("#overlay").fadeIn();
|
||||
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
||||
},
|
||||
success : function(data){
|
||||
$("#overlay").fadeOut();
|
||||
$("#tablecontent_orgasingle").html(data)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$( document ).ready(function() {
|
||||
for(i = 0; i < sortablearea_ids.length; i++){
|
||||
$(".arrows_area_" + sortablearea_ids[i]).hide();
|
||||
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
|
||||
}
|
||||
});
|
||||
|
||||
//function changeView(newview){
|
||||
/*
|
||||
$(document).find(".view_0").hide();
|
||||
$(document).find(".view_1").hide();
|
||||
$(document).find(".view_2").hide();
|
||||
$(document).find(".view_" + newview).show();
|
||||
|
||||
$(document).find("#view_info_0").hide();
|
||||
$(document).find("#view_info_1").hide();
|
||||
$(document).find("#view_info_2").hide();
|
||||
|
||||
$(document).find("#view_info_drop_0").hide();
|
||||
$(document).find("#view_info_drop_1").hide();
|
||||
$(document).find("#view_info_drop_2").hide();
|
||||
$(document).find("#view_info_drop_" + newview).show();
|
||||
|
||||
|
||||
$(document).find("#view_info_" + newview).show();
|
||||
*/
|
||||
//}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
{% load counter_tag %}
|
||||
<h4 class="ml-4">{{ user_first_name }} {{ user_last_name }}
|
||||
|
||||
<span>vertritt:</span>
|
||||
</h4>
|
||||
<table class="table" id="orgasingle">
|
||||
<thead>
|
||||
<tr >
|
||||
{% for area in areas %}
|
||||
<td class="text-center" style="width: 20%; background-color: rgba({{area.color.0}},{{area.color.1}},{{area.color.2}}, 0.3);"><h5 style="color: rgba(0,0,0, 1);"><b ><a style=" color: #000000;"href="{% url 'standard-area' area.pk %}">{{area.name}}</a></b></h5></td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<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}}">
|
||||
{% if request.user.profile.agency.dynamicprofile %}
|
||||
|
||||
{% for task in tasks %}
|
||||
{% isUserInRep task area user_id as checkIsUserRep %}
|
||||
{% if task.area.pk == area.pk and task.visible and checkIsUserRep %}
|
||||
<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_{{task.pk}}">
|
||||
<span ><h6 ><a style=" color: #FFFFFF;"href="{% url 'standard-task' task.pk %}"><span class="arrows_area_{{area.pk}} ml-4" style="display:none; float: left;"><i class="fas fa-sort"></i></span>{{task.name}}</a></h6></span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
{% 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="float: left;"><i class="fas fa-sort"></i></span>{{prio.task.name}}</a></h6></span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</td>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
var sortstatus = false;
|
||||
var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}];
|
||||
{% if user|usergperm:"usermanager" %}
|
||||
|
||||
{% for area in areas %}
|
||||
//Initial function for draggable areas
|
||||
$( function() {
|
||||
$( "#sortarea_{{area.pk}}" ).sortable
|
||||
({
|
||||
axis:"y",
|
||||
update: function( event, ui )
|
||||
{
|
||||
datatoserver = [];
|
||||
var rows = $( "#sortarea_{{area.pk}}" ).sortable( "widget" )[0]['children'];
|
||||
for(i = 0; i < rows.length; i++){
|
||||
tempid = rows[i]['id'].split("_")[1];
|
||||
datatoserver.push({"id" : tempid, "neworder" : i});
|
||||
}
|
||||
$.ajax(
|
||||
{
|
||||
type: "GET",
|
||||
url: "/areas/updateorder",
|
||||
data:{
|
||||
action: "newtaskorder",
|
||||
finalod : JSON.stringify(datatoserver),
|
||||
userid : {{user_id}}
|
||||
},
|
||||
success: function( data ){}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
{% endfor %}
|
||||
function activateChangeTaskOrder(){
|
||||
//Initial function for draggable areas
|
||||
if(sortstatus == false){
|
||||
sortstatus = true;
|
||||
for(i = 0; i < sortablearea_ids.length; i++){
|
||||
$("#changingorder").show();
|
||||
$("#activatechangingorder").hide();
|
||||
$(".arrows_area_" + sortablearea_ids[i]).show();
|
||||
$( "#sortarea_" + sortablearea_ids[i] ).sortable("enable");
|
||||
}
|
||||
}
|
||||
else{
|
||||
sortstatus = false;
|
||||
for(i = 0; i < sortablearea_ids.length; i++){
|
||||
$("#changingorder").hide();
|
||||
$("#activatechangingorder").show();
|
||||
$(".arrows_area_" + sortablearea_ids[i]).hide();
|
||||
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{% endif %}
|
||||
/*
|
||||
|
||||
viewmode
|
||||
0 - ex
|
||||
1 - aut
|
||||
2 - rep
|
||||
|
||||
*/
|
||||
|
||||
function initialLoad(viewmode=0){
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "{% url 'orga-ajax' %}",
|
||||
data:{
|
||||
action : "getrenderedview",
|
||||
viewmode : viewmode,
|
||||
viewuser : {{user_id}}
|
||||
},
|
||||
beforeSend: function(request) {
|
||||
$("#overlay").fadeIn();
|
||||
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
||||
},
|
||||
success : function(data){
|
||||
$("#overlay").fadeOut();
|
||||
$("#tablecontent_orgasingle").html(data)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$( document ).ready(function() {
|
||||
for(i = 0; i < sortablearea_ids.length; i++){
|
||||
$(".arrows_area_" + sortablearea_ids[i]).hide();
|
||||
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
|
||||
}
|
||||
});
|
||||
|
||||
//function changeView(newview){
|
||||
/*
|
||||
$(document).find(".view_0").hide();
|
||||
$(document).find(".view_1").hide();
|
||||
$(document).find(".view_2").hide();
|
||||
$(document).find(".view_" + newview).show();
|
||||
|
||||
$(document).find("#view_info_0").hide();
|
||||
$(document).find("#view_info_1").hide();
|
||||
$(document).find("#view_info_2").hide();
|
||||
|
||||
$(document).find("#view_info_drop_0").hide();
|
||||
$(document).find("#view_info_drop_1").hide();
|
||||
$(document).find("#view_info_drop_2").hide();
|
||||
$(document).find("#view_info_drop_" + newview).show();
|
||||
|
||||
|
||||
$(document).find("#view_info_" + newview).show();
|
||||
*/
|
||||
//}
|
||||
|
||||
</script>
|
||||
|
|
@ -6,7 +6,8 @@ from . import views
|
|||
|
||||
urlpatterns = [
|
||||
path('', views.mainorga, name='orga-main'),
|
||||
path('single/<int:pk>', views.singleorga, name='orga-single')
|
||||
path('single/<int:pk>', views.singleorga, name='orga-single'),
|
||||
path('orgaajax/', views.OrgaSingleAjax, name='orga-ajax'),
|
||||
]
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -102,7 +102,71 @@ def singleorga(request, pk):
|
|||
return redirect('users-dashboard')
|
||||
|
||||
|
||||
@login_required
|
||||
def OrgaSingleAjax(request):
|
||||
data = {}
|
||||
if request.method == "GET":
|
||||
if request.GET["action"] == "getrenderedview":
|
||||
#try:
|
||||
viewmode = int(request.GET["viewmode"])
|
||||
viewuser = User.objects.get(pk=request.GET["viewuser"])
|
||||
|
||||
|
||||
|
||||
|
||||
prios = Prio.objects.filter(user__pk=viewuser.pk).order_by('prio')
|
||||
areas = list(Areas.objects.filter(agency__pk=request.user.profile.agency.pk).order_by('areaorder'))
|
||||
alltasks = Tasks.objects.filter(agency__pk=request.user.profile.agency.pk).order_by('name')
|
||||
|
||||
tasks = []
|
||||
for p in prios:
|
||||
tasks.append(p.task)
|
||||
|
||||
for at in alltasks:
|
||||
if at not in tasks:
|
||||
tasks.append(at)
|
||||
|
||||
i = 0
|
||||
for area in areas:
|
||||
areas[i].hex = areas[i].color
|
||||
areas[i].color = list(webcolors.hex_to_rgb(areas[i].color))
|
||||
i += 1
|
||||
|
||||
user_first_name = viewuser.first_name
|
||||
user_last_name = viewuser.last_name
|
||||
user_id = viewuser.pk
|
||||
try:
|
||||
userfuncname = AgencyJob.objects.get(pk=viewuser.profile.func.pk).name
|
||||
except:
|
||||
userfuncname = "Nicht vergeben"
|
||||
|
||||
if(viewuser.profile.agency == request.user.profile.agency):
|
||||
context = {
|
||||
"user_first_name" : viewuser.first_name,
|
||||
"user_last_name" : viewuser.last_name,
|
||||
'areas' : areas,
|
||||
'user_first_name' : user_first_name,
|
||||
'user_last_name' : user_last_name,
|
||||
'user_id' : user_id,
|
||||
'prios' : prios,
|
||||
'tasks' : tasks
|
||||
}
|
||||
|
||||
# EX
|
||||
if(viewmode == 0):
|
||||
return render(request, "orga/orga_single_ex.html", context)
|
||||
# AUT
|
||||
elif(viewmode == 1):
|
||||
return render(request, "orga/orga_single_aut.html", context)
|
||||
# REP
|
||||
elif(viewmode == 2):
|
||||
return render(request, "orga/orga_single_rep.html", context)
|
||||
#except:
|
||||
# return render(request, "orga/orga_single_er.html")
|
||||
else:
|
||||
return render(request, "orga/orga_single_er.html")
|
||||
|
||||
|
||||
else:
|
||||
data = {
|
||||
"success" : False
|
||||
}
|
||||
|
||||
return JsonResponse(data)
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "users/base.html" %}
|
||||
{% block content %}
|
||||
{% load counter_tag %}
|
||||
{% if request.user.profile.agency.module_timemanagement %}
|
||||
{% if request.user.profile.agency.module_timemanagement_ze %}
|
||||
<div class="content-section col-12">
|
||||
<h3>Zeiterfassung <small><i data-toggle="tooltip" data-placement="top" title="Bearbeiten Sie hier Ihre Zeiterfassung." class="far fa-question-circle"></i></small></h3>
|
||||
<hr>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
{% block content %}
|
||||
{% load crispy_forms_tags %}
|
||||
{% load counter_tag %}
|
||||
{% if request.user.profile.agency.module_timemanagement_ze %}
|
||||
{% if request.user.profile.agency.module_timemanagement %}
|
||||
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
|
||||
|
||||
<div class="content-section col-12">
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ def AbsenceManagmenet(request, activemonth=False, activeyear=False):
|
|||
"activemonth" : activemonth,
|
||||
"activeyear" : activeyear,
|
||||
"abscenceform" : AddAbsence(instance=request.user),
|
||||
"userown" : Absence.objects.filter(agency=request.user.profile.agency, user=request.user).order_by("start")
|
||||
"userown" : Absence.objects.filter(agency=request.user.profile.agency, user=request.user).order_by("-start")
|
||||
}
|
||||
|
||||
if(request.user.has_perm("users.absencemanager")):
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ class Agency(models.Model):
|
|||
module_timemanagement = models.BooleanField(default=False)
|
||||
module_timemanagement_price = models.FloatField(default=10.0, max_length=9, blank=True)
|
||||
# Zeiterfassung Ja/Nein
|
||||
module_timemanagement_ze = models.BooleanField(default=True)
|
||||
module_timemanagement_ze = models.BooleanField(default=False)
|
||||
|
||||
|
||||
# Steckbrief dynamisch aus Standard
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ def adjust_group_notifications(instance, action, reverse, model, pk_set, using,
|
|||
'support@digitale-agentur.com',
|
||||
[user_touched.email],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
|
||||
# A USER WAS ADDED TO A GROUP
|
||||
|
|
@ -185,7 +185,7 @@ def adjust_group_notifications(instance, action, reverse, model, pk_set, using,
|
|||
'support@digitale-agentur.com',
|
||||
[user_touched.email],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -218,7 +218,7 @@ def save_standard(sender, instance, **kwargs):
|
|||
'support@digitale-agentur.com',
|
||||
[user.email],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
|
||||
if(user.profile.agency_new_standard_push):
|
||||
|
|
@ -259,7 +259,7 @@ def save_news(sender, instance, **kwargs):
|
|||
'support@digitale-agentur.com',
|
||||
[user.email],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
|
||||
if(user.profile.news_push):
|
||||
|
|
@ -306,7 +306,7 @@ def adjust_group_notifications_task(instance, action, reverse, model, pk_set, us
|
|||
'support@digitale-agentur.com',
|
||||
[user_touched.email],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
|
||||
# A USER WAS ADDED TO A GROUP
|
||||
|
|
@ -322,7 +322,7 @@ def adjust_group_notifications_task(instance, action, reverse, model, pk_set, us
|
|||
'support@digitale-agentur.com',
|
||||
[user_touched.email],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
|
||||
@receiver(signal=post_save, sender=AgencyNetworkPreperation)
|
||||
|
|
|
|||
|
|
@ -205,7 +205,7 @@ def registerNewAgency(request):
|
|||
'support@digitale-agentur.com',
|
||||
[email],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
'''
|
||||
return render (request, 'users/registercomplete.html')
|
||||
|
|
@ -254,7 +254,7 @@ class AgencyCreateView(CreateView):
|
|||
'support@digitale-agentur.com',
|
||||
[form.cleaned_data.get('email')],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
return super().form_valid(form)
|
||||
|
||||
|
|
@ -332,7 +332,7 @@ class UsersCreateUser(LoginRequiredMixin, CreateView):
|
|||
'support@digitale-agentur.com',
|
||||
[form.cleaned_data.get('email')],
|
||||
html_message=msg_html,
|
||||
fail_silently=False,
|
||||
fail_silently=True,
|
||||
)
|
||||
'''
|
||||
return super().form_valid(form)
|
||||
|
|
@ -817,7 +817,7 @@ def cronactions(request, code):
|
|||
'support@digitale-agentur.com',
|
||||
[user.email],
|
||||
html_message=msg_html,
|
||||
fail_silently=False
|
||||
fail_silently=True
|
||||
)
|
||||
|
||||
if(user.profile.news_push):
|
||||
|
|
|
|||
Loading…
Reference in New Issue