Skip to content

Commit

Permalink
Agrega filtro para facturas lista en panel de control
Browse files Browse the repository at this point in the history
  • Loading branch information
mcardozo committed Feb 22, 2024
1 parent d9e127a commit 169967e
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 4 deletions.
30 changes: 30 additions & 0 deletions sistemita/core/templates/components/filter_panel.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<form class="form-inline">
<div class="form-group mr-1 mb-2">
<input autocomplete="off" value="{{ request.GET.hasta }}"
type="text" class="form-control form-control-sm" name="hasta" id="id_hasta"
placeholder="Hasta"
/>
<div class="input-group-append">
<button class="btn btn-primary btn-sm" type="submit">
<i class="fas fa-filter"></i>
</button>
</div>

<div class="input-group-append">
<button class="clean btn btn-primary btn-sm" type="submit">
<i class="fas fa-times-circle"></i>
</button>
</div>

</div>
</form>
{% block extra_js %}
<script>

$('#id_hasta').datepicker({format: 'dd/mm/yyyy', language: 'es', todayHighlight: true});

$('.clean').click(function(e){
$('#id_hasta').val('');
});
</script>
{% endblock %}
6 changes: 4 additions & 2 deletions sistemita/core/templates/core/panel_de_control.html
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,16 @@ <h6 class="m-0 font-weight-bold text-primary">Contratos pendientes de facturar</
<!-- Estado de facturas -->
<div class="row">
<div class="card shadow mb-4">

<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Estado de facturas</h6>
</div>

<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered table-hover" width="100%" cellspacing="0">
<div class="row" style="margin-left: 940px;">
{% include 'components/filter_panel.html' %}
</div>
<table class="table table-bordered table-hover table-sortable" cellspacing="0" width="100%">
<thead>
<tr>
<th style="min-width: 300px;">Enviada al cliente</th>
Expand Down
26 changes: 24 additions & 2 deletions sistemita/core/views/panel.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
"""Vista del panel de control."""

from datetime import date, datetime, timedelta

# Django
from django.contrib.auth.mixins import (
LoginRequiredMixin,
Expand Down Expand Up @@ -44,13 +46,33 @@ def render_to_response(self, context, **response_kwargs):
context['contratos'] = Contrato.objects.filter(proveedores__in=[proveedor_id], monto__gt=0).values(
'cliente__razon_social', 'detalle', 'moneda', 'monto'
)
filtered_facturas = []

# Define cards para el panel
facturas = sorted(Factura.objects.filter(proveedores__in=[proveedor_id]), key=lambda f: f.status)

filter_days = None
if not self.request.GET.get('hasta'):
filter_days = date.today() - timedelta(days=90)
else:

try:
date_filter = datetime.strptime(self.request.GET.get('hasta'), '%d/%m/%Y').date()
days = (date_filter - date.today()).days
if days < 0:
filter_days = date.today() - timedelta(days=abs(days))
except ValueError:
filter_days = date.today() - timedelta(days=90)

for factura in facturas:
if filter_days:
if factura.fecha < filter_days and factura.status == 4:
continue
filtered_facturas.append(factura)

groups = []
while len(facturas):
facturas, sub_group = get_groups_to_panel(facturas)
while len(filtered_facturas):
filtered_facturas, sub_group = get_groups_to_panel(filtered_facturas)
if sub_group:
groups.append(sub_group)

Expand Down

0 comments on commit 169967e

Please sign in to comment.