|
|
@@ -2,6 +2,7 @@ from django.shortcuts import render, redirect, get_object_or_404
|
|
|
from decimal import Decimal, InvalidOperation
|
|
|
import logging
|
|
|
import re
|
|
|
+from django.db import models as db_models
|
|
|
|
|
|
from accounts import models
|
|
|
from .models import Movimiento, Cuenta, MovimientoFrecuente
|
|
|
@@ -20,6 +21,23 @@ def dashboard(request):
|
|
|
|
|
|
frecuentes = MovimientoFrecuente.objects.filter(usuario=request.user)
|
|
|
|
|
|
+ form = FiltroForm(request.GET or None)
|
|
|
+
|
|
|
+ if form.is_valid():
|
|
|
+# if form.cleaned_data['fecha_inicio']:
|
|
|
+# movimientos = movimientos.filter(fecha__gte=form.cleaned_data['fecha_inicio'])
|
|
|
+# if form.cleaned_data['fecha_fin']:
|
|
|
+# movimientos = movimientos.filter(fecha__lte=form.cleaned_data['fecha_fin'])
|
|
|
+# if form.cleaned_data['cuenta']:
|
|
|
+# cuenta = form.cleaned_data['cuenta']
|
|
|
+# movimientos = movimientos.filter(models.Q(cuenta_origen=cuenta) | models.Q(cuenta_destino=cuenta))
|
|
|
+ busqueda = form.cleaned_data.get('buscar')
|
|
|
+ if busqueda:
|
|
|
+ movimientos = movimientos.filter(
|
|
|
+ db_models.Q(descripcion__icontains=busqueda) |
|
|
|
+ db_models.Q(cuenta_origen__nombre__icontains=busqueda) |
|
|
|
+ db_models.Q(cuenta_destino__nombre__icontains=busqueda)
|
|
|
+ )
|
|
|
logger.warning(f"Frecuentes: {frecuentes}")
|
|
|
logger.warning(f"Monto: {frecuentes[0].monto}")
|
|
|
# Aplicar filtros si se han proporcionado
|
|
|
@@ -27,6 +45,7 @@ def dashboard(request):
|
|
|
return render(request, 'dashboard.html', {
|
|
|
'movimientos': movimientos,
|
|
|
'user': request.user,
|
|
|
+ 'form': form,
|
|
|
'favoritas': favoritas,
|
|
|
'frecuentes': frecuentes,
|
|
|
})
|