Skip to content

Commit 90b70bb

Browse files
committed
Agregado el reporte de servicios (Y su template).
1 parent 987e26b commit 90b70bb

File tree

4 files changed

+96
-2
lines changed

4 files changed

+96
-2
lines changed

db.sqlite3

0 Bytes
Binary file not shown.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
{% extends 'duenio/base_duenio.html' %}
2+
3+
{% load staticfiles %}
4+
5+
{% block contenido %}
6+
<div class="container background-white" style="opacity: 0.95;">
7+
<div class="row margin-vert-30">
8+
<div class="col-md-12">
9+
10+
<div class="row" style="height:60px">
11+
<center>
12+
<h2><font color="Purple" face="arial"> Servicios Más Solicitados</font></h2>
13+
</center>
14+
</div>
15+
<div class="row" style="height:80px">
16+
<!-- FILTRADO !-->
17+
<form method="get" action="">
18+
Desde:
19+
<input name="fechaI" placeholder="Desde (aaaa-mm-dd)" value="{{ f.fechaI }}" class="datetimeinput">
20+
Hasta:
21+
<input name="fechaF" placeholder="Hasta (aaaa-mm-dd)" value="{{ f.fechaF }}" class="datetimeinput">
22+
<button class="btn btn-violet pull-right" type="submit">Filtrar</button><br><br>
23+
</form>
24+
<!--FIN FILTRADO!-->
25+
</div>
26+
<div class="row" style="height:50px">
27+
<center>
28+
<a href="" target="_blank" class="btn btn-violet btn-info">
29+
<span class="glyphicon glyphicon-file"><font face="arial"> Exportar a PDF </font></span>
30+
</a>
31+
</center>
32+
</div>
33+
<table class="table table-striped">
34+
<thread>
35+
<tr>
36+
<th>Nombre</th>
37+
<th>Descripción</th>
38+
<th>Precio</th>
39+
<th>Duración</th>
40+
<th>Insumos</th>
41+
<th>Cantidad</th>
42+
</tr>
43+
</thread>
44+
<tbody>
45+
{% for servicio in servicios %}
46+
<tr>
47+
<td>{{servicio.nombre}}</td>
48+
<td>{{servicio.descripcion}}</td>
49+
<td>{{servicio.precio}}</td>
50+
<td>{{servicio.duracion}}</td>
51+
<td>{% for insumo in servicio.insumos.all %}
52+
<li>{{insumo}}
53+
{% endfor %}
54+
</td>
55+
<td>{{servicio.cantidad_de_turnos}}</td>
56+
</tr>
57+
{% endfor %}
58+
</tbody>
59+
</table>
60+
</div>
61+
</div>
62+
</div>
63+
{% endblock %}
64+
65+
{% block scripts %}
66+
{{ block.super }}
67+
<script>
68+
$(function() {
69+
$(".datetimeinput").datepicker();
70+
});
71+
</script>
72+
{% endblock%}

personas/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
url(r'^clientes_con_mas_ausencias/$', views.clientes_con_mas_ausencias, name='clientes_con_mas_ausencias'),
4949
url(r'^empleados_mas_solicitados/$', views.empleados_mas_solicitados, name='empleados_mas_solicitados'),
5050
url(r'^horarios_mas_solicitados/$', views.horarios_mas_solicitados, name='horarios_mas_solicitados'),
51+
url(r'^servicios_mas_solicitados/$', views.servicios_mas_solicitados, name='servicios_mas_solicitados'),
5152
# Listados PDF
5253
url(r'^reporte_personas_pdf/$', ListadoPDFClientes.as_view(), name="reporte_clientes_pdf"),
5354
url(r'^reporte_turnos_pdf/(\S+)/$', ListadoPDFTurnos.as_view(), name="reporte_turnos_pdf"),

personas/views.py

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,27 @@ def ingreso_neto(request):
451451
@login_required(login_url='iniciar_sesion')
452452
@user_passes_test(es_duenio, login_url='restringido', redirect_field_name=None)
453453
def servicios_mas_solicitados(request):
454-
pass
454+
mfiltros, ffilter = get_filtros(Turno, request.GET)
455+
try:
456+
fecha_inicio = ffilter['fechaI']
457+
except KeyError:
458+
fecha_inicio = "2010-01-01"
459+
460+
try:
461+
fecha_fin = ffilter['fechaF']
462+
except KeyError:
463+
hoy = datetime.today()
464+
fecha_fin = str(hoy.year) + "-" + str(hoy.month) + "-" + str(hoy.day)
465+
466+
servicios = ServicioBasico.objects.annotate(cantidad_de_turnos=Count(
467+
Case(
468+
When(turnos__fecha__gt=fecha_inicio,
469+
turnos__fecha__lt=fecha_fin,
470+
then=1)
471+
)
472+
)).order_by("-cantidad_de_turnos")[:5]
473+
474+
return render(request, "duenio/servicios_mas_solicitados.html", {'servicios': servicios, "f": ffilter})
455475

456476
@login_required(login_url='iniciar_sesion')
457477
@user_passes_test(es_duenio, login_url='restringido', redirect_field_name=None)
@@ -463,7 +483,7 @@ def mes_mayor_trabajo(request):
463483
def dia_mayor_trabajo(request):
464484
dias = {'Sunday': 0, 'Monday': 0, 'Tuesday': 0, 'Wednesday': 0, 'Thursday': 0, 'Friday': 0, 'Saturday': 0}
465485
mfiltros, ffilter = get_filtros(Turno, request.GET)
466-
#return render(request, 'duenio/turnos_duenio.html', {'turnos': turnos, "f": ffilter, 'Turno': Turno})
486+
# return render(request, 'duenio/turnos_duenio.html', {'turnos': turnos, "f": ffilter, 'Turno': Turno})
467487
turnos = Turno.objects.filter(*mfiltros).order_by('-fecha').values("dia").annotate(cant_Dias=Count("dia"))
468488

469489
for turno in turnos:
@@ -504,6 +524,7 @@ def horarios_mas_solicitados(request):
504524

505525

506526
"""
527+
507528
Vistas del control de cuentas.
508529
"""
509530

0 commit comments

Comments
 (0)