Chunks bearbeitet und Bugs)
This commit is contained in:
parent
e085dca5ab
commit
04c00e6c7f
|
|
@ -8,6 +8,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Agenturname</th>
|
||||
<th scope="col">Registriert am</th>
|
||||
<th scope="col">Mitarbeiter</th>
|
||||
<th scope="col">Standards</th>
|
||||
</tr>
|
||||
|
|
@ -17,6 +18,7 @@
|
|||
{% getAgencyData ele as agdata %}
|
||||
<tr>
|
||||
<td><a href="{% url 'adm-agency-single' ele.pk %}">{{ele.name}}</a></td>
|
||||
<td>{{ele.registerdate}}</td>
|
||||
<td>{{agdata.0}}</td>
|
||||
<td>{{agdata.1}}</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -97,6 +97,16 @@
|
|||
<span>Agenturen</span></a>
|
||||
</li>
|
||||
|
||||
{% if active_link == 'adm-bills' %}
|
||||
<li class="nav-item active">
|
||||
{% else %}
|
||||
<li class="nav-item">
|
||||
{%endif%}
|
||||
<a class="nav-link" href="{% url 'adm-bills' %}">
|
||||
<i class="fas fa-user"></i>
|
||||
<span>Rechnungen</span></a>
|
||||
</li>
|
||||
|
||||
<!-- Nav Item - Dashboard -->
|
||||
{% if active_link == 'adm-users' %}
|
||||
<li class="nav-item active">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,78 @@
|
|||
{% extends "adm/adm_base.html" %}
|
||||
{% block content %}
|
||||
{% load adm_tags %}
|
||||
{% load mathfilters %}
|
||||
{% load humanize %}
|
||||
{% load counter_tag %}
|
||||
<div class="content-section col-12">
|
||||
<h4>Rechungsübersicht</h4>
|
||||
<hr>
|
||||
<table class="table table-hover" id="agdata" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Agentur</th>
|
||||
<th scope="col">Rechnungsnummer</th>
|
||||
<th scope="col">Erstellt am</th>
|
||||
<th scope="col">Betrag</th>
|
||||
<th scope="col">Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody >
|
||||
{% for ele in bills %}
|
||||
|
||||
<tr>
|
||||
<td><a href="{% url 'adm-agency-single' ele.agency.pk %}">{{ele.agency.name}}</a></td>
|
||||
<td><a href="{% url 'ag-getbillpdf' ele.pk %}" target="_blank">{{ele.billnumber}}</a></td>
|
||||
<td>{{ele.billdate}}</td>
|
||||
<td>
|
||||
{% loadFinalMoney user as fm %}
|
||||
{{fm|floatformat:2|intcomma}} €
|
||||
</td>
|
||||
<td>
|
||||
{% if ele.billstatus == "open" %} <i class="far fa-times-circle" style="color: red"></i> {% elif ele.billstatus == "paid" %} <i class="far fa-check-circle" style="color: green"></i> {% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('#agdata').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"
|
||||
},
|
||||
},
|
||||
"pageLength": 50,
|
||||
"buttons" : {
|
||||
"className" : "btn-danger"
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
{% endblock content %}
|
||||
|
||||
<!--
|
||||
|
||||
billtype = models.CharField(default="", max_length=200)
|
||||
billdate = models.DateField(default=timezone.now)
|
||||
billnumber = models.CharField(default="", max_length=200)
|
||||
billstatus = models.CharField(default="", max_length=200, null=True, blank=True)
|
||||
start = models.DateField(default=timezone.now)
|
||||
end = models.DateField(default=timezone.now)
|
||||
plan = models.CharField(default="", max_length=20)
|
||||
usercount = models.IntegerField(default=0)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.lexid}'
|
||||
|
||||
-->
|
||||
|
|
@ -12,6 +12,7 @@ urlpatterns = [
|
|||
path('ag/', AdmAgencys.as_view(), name="adm-agencys"),
|
||||
path('us/', AdmUsers.as_view(), name="adm-users"),
|
||||
path('agsingle/<int:agpk>', AdmAgencySingle.as_view(), name="adm-agency-single"),
|
||||
path('ag/bills/', AdmBills.as_view(), name="adm-bills"),
|
||||
path('usersingle/<int:uspk>', AdmUserSingle.as_view(), name="adm-user-single"),
|
||||
path('cron/<slug:code>', statisticCronJob, name="adm-cron"),
|
||||
path('getorders/', getCSVRDOrders, name="getorders")
|
||||
|
|
|
|||
25
adm/views.py
25
adm/views.py
|
|
@ -78,6 +78,31 @@ class AdmMain(TemplateView):
|
|||
})
|
||||
return context
|
||||
|
||||
'''
|
||||
|
||||
Gesatmübersicht aller Rechnungen
|
||||
|
||||
'''
|
||||
class AdmBills(TemplateView):
|
||||
|
||||
template_name = "adm/adm_bills.html"
|
||||
|
||||
def dispatch(self, *args, **kwargs):
|
||||
if(checkForStuffUser(self.request)):
|
||||
return super().dispatch(*args, **kwargs)
|
||||
else:
|
||||
messages.warning(self.request, f'Sie benötigen einen Mitarbeiter-Account, um diese Seiten aufzurufen!')
|
||||
return redirect("login")
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
|
||||
context.update({'active_link' : "adm-bills"})
|
||||
context.update({'bills' : AgencyBills.objects.all()})
|
||||
return context
|
||||
|
||||
|
||||
|
||||
'''
|
||||
Gesamtansicht der Agenturen
|
||||
'''
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@
|
|||
</script>
|
||||
-->
|
||||
|
||||
<h5>Arbeitszeiten <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, an welchen Tagen dieser Mitarbeiter wie viele Stunden arbeitet." class="far fa-question-circle"></i></small></h5>
|
||||
<h5>Arbeitszeiten <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie fest, an welchen Tagen dieser Mitarbeiter wie viele Stunden arbeitet (in Dezimalschreibweise)." class="far fa-question-circle"></i></small></h5>
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<tr>
|
||||
|
|
|
|||
|
|
@ -1407,13 +1407,13 @@ def cronactionsbill(request, code):
|
|||
# Alle Rechnungen laden, deren Letzter Tag HEUTE ist und bei ausgewähltem Paymentplan 1 eine neue Rechnung erstellen, Mailverschicke, Nutzeraccouns zählen und neue Rechnung in der Agentur hinterlegen
|
||||
new_bills = AgencyBills.objects.filter(end=today)
|
||||
for bill in new_bills:
|
||||
if bill.agency.paymentplan == 1:
|
||||
if bill.agency.paymentstatus == 0 and bill.agency.paymentplan == 1:
|
||||
|
||||
agency = bill.agency
|
||||
|
||||
month = today
|
||||
|
||||
next_month = today + relativedelta(months=1)
|
||||
# 30 Tage weiter, nicht einen Monat!
|
||||
next_month = today + relativedelta(days=30)
|
||||
# USERCOUNT BERECHNEN
|
||||
usercount = len(User.objects.filter(profile__agency=agency))
|
||||
|
||||
|
|
@ -1433,7 +1433,7 @@ def cronactionsbill(request, code):
|
|||
|
||||
start_date = month
|
||||
start_date_string = month.strftime("%d.%m.%Y")
|
||||
end_date = month + relativedelta(months=plan)
|
||||
end_date = month + relativedelta(days=30)
|
||||
end_date_string= end_date.strftime("%d.%m.%Y")
|
||||
|
||||
voucher_date_today = date.today().strftime("%Y-%m-%d")
|
||||
|
|
|
|||
Loading…
Reference in New Issue