Ansicht ADM
This commit is contained in:
parent
e1620e740d
commit
47b8be9670
|
|
@ -22,11 +22,12 @@ class AdmWorkdayForm(forms.ModelForm):
|
|||
"start" : "Start",
|
||||
"end" : "Ende",
|
||||
"target" : "Zielarbeitszeit",
|
||||
"freefield" : "Notiz"
|
||||
"freefield" : "Notiz",
|
||||
"delflag" : "Nicht berücksichtigen (delflag)"
|
||||
}
|
||||
|
||||
fields = [
|
||||
"start", "end", "target", "freefield"
|
||||
"start", "end", "target", "freefield", "delflag"
|
||||
]
|
||||
widgets = {
|
||||
'start': DatePickerInput(options={"format":'DD.MM.YYYY HH:mm', "locale":'de'}),
|
||||
|
|
|
|||
|
|
@ -118,6 +118,17 @@
|
|||
<span>Benutzer</span></a>
|
||||
</li>
|
||||
|
||||
<!-- Nav Item - Dashboard -->
|
||||
{% if active_link == 'adm-tm-wd-bug' %}
|
||||
<li class="nav-item active">
|
||||
{% else %}
|
||||
<li class="nav-item">
|
||||
{%endif%}
|
||||
<a class="nav-link" href="{% url 'adm-tm-wd-bug' %}">
|
||||
<i class="fas fa-user"></i>
|
||||
<span>TM-WD-Bug</span></a>
|
||||
</li>
|
||||
|
||||
<hr class="sidebar-divider my-0">
|
||||
|
||||
<li class="nav-item">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,53 @@
|
|||
{% extends "adm/adm_base.html" %}
|
||||
{% block content %}
|
||||
{% load adm_tags %}
|
||||
{% load mathfilters %}
|
||||
{% load humanize %}
|
||||
{% load counter_tag %}
|
||||
<div class="content-section col-12">
|
||||
<h4>Übersicht Arbeitstag und Abwesenheit
|
||||
</h4>
|
||||
<table class="table table-striped" id="wdabdays">
|
||||
<thead>
|
||||
<trd>
|
||||
<td>Name</td>
|
||||
<td>Relevante Arbeitstage</td>
|
||||
</trd>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for user in users %}
|
||||
{% getADMAbsenceWorkdays user as workdays %}
|
||||
<tr>
|
||||
<td>{{user.username}}</td>
|
||||
<td>
|
||||
{% for wd in workdays %} <a href="{% url 'adm-workday-update' wd.pk %}">{{wd.pk}}</a>, {% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('#wdabdays').DataTable({
|
||||
order: [0, 'desc'],
|
||||
"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"
|
||||
},
|
||||
},
|
||||
"pageLength": 50,
|
||||
"buttons" : {
|
||||
"className" : "btn-danger"
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
{% endblock content %}
|
||||
|
|
@ -23,4 +23,5 @@ urlpatterns = [
|
|||
path('wd/<int:pk>/delete', AdmWorkdayDelete.as_view(), name="adm-workday-delete"),
|
||||
path('wd/break/<int:pk>/delete', AdmBreakDelete.as_view(), name="adm-break-delete"),
|
||||
path('wd/<int:pk>/break/add', AdmAddBreak.as_view(), name="adm-break-add"),
|
||||
path('tmbug/', AdmTmWorkdayColl.as_view(), name="adm-tm-wd-bug"),
|
||||
]
|
||||
|
|
|
|||
11
adm/views.py
11
adm/views.py
|
|
@ -29,9 +29,20 @@ from django.template.loader import render_to_string
|
|||
from cloud.models import DataFile
|
||||
import math
|
||||
import requests
|
||||
from digitaleagentur.timemanagement_utils import *
|
||||
|
||||
# TODO: ADM-Oberfläche Auswertung machen, an welchen Tagen eines Mitarbeiters auch eine Abwesenheit
|
||||
|
||||
class AdmTmWorkdayColl(TemplateView):
|
||||
template_name = "adm/adm_tmworkday.html"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
context.update({'active_link' : "adm-tm-wd-bug"})
|
||||
|
||||
context.update({'users' : User.objects.all().order_by('username') })
|
||||
return context
|
||||
|
||||
'''
|
||||
Prüfung, ob angemeldeter User Mitarbeiterstatus hat. IMMER PER DISPATCH EINBAUEN!
|
||||
'''
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1110,3 +1110,17 @@ def getAbsenceLastHistory(absence):
|
|||
return absence.history.first()
|
||||
|
||||
|
||||
# Gibt die Arbeitstage zurück, an denen auch eine Abwesenheit liegt
|
||||
from digitaleagentur.timemanagement_utils import *
|
||||
@register.simple_tag
|
||||
def getADMAbsenceWorkdays(user):
|
||||
workdays_final = []
|
||||
for absence in Absence.objects.filter(user=user):
|
||||
for day in daterange(absence.start, absence.end):
|
||||
# Arbeitstage an diesem Tag werden geladen
|
||||
workdays = Workday.objects.filter(user=absence.user, start__day=day.day, start__month=day.month, start__year=day.year)
|
||||
|
||||
# Wenn es Arbeitstage gibt, dann wird geprüft, ob die Abwesenheit diesen verändert hat.
|
||||
for workday in workdays:
|
||||
workdays_final.append(workday)
|
||||
return workdays_final
|
||||
Loading…
Reference in New Issue