From 4604c0894ced98d0da820b042e647a0a98cd253d Mon Sep 17 00:00:00 2001 From: fjrodriguez Date: Mon, 5 Dec 2022 09:56:04 -0600 Subject: [PATCH] filter 2 page remove from filter page --- Clientes/forms.py | 16 ++++++++++++++-- Clientes/models.py | 4 ++-- Clientes/views.py | 11 +++++++---- Templates/Clientes/edit_cliente.html | 5 ++--- Templates/Clientes/index.html | 14 ++++++++++++-- Templates/Clientes/timbres_cliente.html | 9 +++++++++ Templates/base.html | 2 ++ Templates/paginator.html | 4 +++- Templates/partials/messages.html | 13 +++++++++++++ 9 files changed, 64 insertions(+), 14 deletions(-) create mode 100644 Templates/partials/messages.html diff --git a/Clientes/forms.py b/Clientes/forms.py index 1cbb5ef..dd677e0 100644 --- a/Clientes/forms.py +++ b/Clientes/forms.py @@ -3,12 +3,24 @@ from .models import Clientes from datetime import datetime class ClienteForm(forms.ModelForm): - fecha_baja = forms.DateField( + + fecha_baja = forms.DateField( required=False, initial=datetime.now(), input_formats=["%Y-%m-%d"], widget=forms.DateInput(attrs={'type':'date'},format="%Y-%m-%d") ) + + class Meta: model = Clientes - fields = ('RFC','Nombre','Activo','fecha_baja') \ No newline at end of file + fields = ('RFC','Nombre','Activo','fecha_baja') + + def clean(self): + super(ClienteForm,self).clean() + Activo = self.cleaned_data.get("Activo") + fecha_baja = self.cleaned_data.get("fecha_baja") + + if Activo and fecha_baja: + self._errors['fecha_baja'] = self.error_class(["El parametro activo no puede estar seleccionado si hay fecha de baja"]) + return self.cleaned_data \ No newline at end of file diff --git a/Clientes/models.py b/Clientes/models.py index 548da89..a3cdede 100644 --- a/Clientes/models.py +++ b/Clientes/models.py @@ -37,7 +37,7 @@ class Clientes(models.Model): Nombre = models.CharField(max_length=100) - Activo = models.BooleanField(default=True) + Activo = models.BooleanField(default=False) fecha_baja = models.DateField(blank=True,null=True) @property @@ -47,6 +47,6 @@ class Clientes(models.Model): year = today.year return Timbres.objects.filter(rfcc=self.RFC, created_at__year=str(year),created_at__month=str(month)).count() class Meta: - ordering = ('RFC',) + ordering = ('-Activo','RFC',) diff --git a/Clientes/views.py b/Clientes/views.py index 76537e5..8f1a422 100644 --- a/Clientes/views.py +++ b/Clientes/views.py @@ -91,8 +91,8 @@ def timbres_cliente(request, RFC): tipo = request.GET.get('tipo',None) - filters = {key:value for (key,value) in dict(request.GET).items() if value !=None} - + filters = {key:value[0] for (key,value) in dict(request.GET).items() if value !=[""]} + filters.pop('page', '') if tipo: lista = lista.filter(Q(tipo__icontains=search)) @@ -113,12 +113,15 @@ def timbres_cliente(request, RFC): conteo = lista.count() perPage = conteo // 2 + if perPage == 0 : + perPage = conteo lista =pageFunc(page,lista,perPage) - + context ={ 'lista':lista, 'conteo':conteo, - 'RFC':RFC + 'RFC':RFC, + 'filters':filters } return render(request, 'Clientes/timbres_cliente.html', context) diff --git a/Templates/Clientes/edit_cliente.html b/Templates/Clientes/edit_cliente.html index b0191e2..97f351b 100644 --- a/Templates/Clientes/edit_cliente.html +++ b/Templates/Clientes/edit_cliente.html @@ -11,13 +11,11 @@
{% render_field form.RFC id+="add" id+=form.RFC.name placeholder=form.RFC.label class="form-control" type="text" autocomplete="off" %} -
- +
{% render_field form.Nombre id+="add" id+=form.Nombre.name placeholder=form.Nombre.label class="form-control" type="text" autocomplete="off" %}
-
{% render_field form.Activo class+="form-checkbox" type="checkbox" %} @@ -32,6 +30,7 @@ {% block scripts %}