|
|
@@ -15,15 +15,22 @@ logger = logging.getLogger(__name__)
|
|
|
|
|
|
@login_required
|
|
|
def dashboard(request):
|
|
|
+ # Copiamos GET para poder modificarlo
|
|
|
+ request.GET = request.GET.copy()
|
|
|
+
|
|
|
+ # Si se solicitó limpiar la búsqueda, la eliminamos de los datos
|
|
|
+ if 'limpiar_busqueda' in request.GET:
|
|
|
+ request.GET['buscar'] = ''
|
|
|
+
|
|
|
movimientos = Movimiento.objects.filter(usuario=request.user).order_by('-fecha')
|
|
|
|
|
|
favoritas = Cuenta.objects.filter(favorita='True')
|
|
|
|
|
|
frecuentes = MovimientoFrecuente.objects.filter(usuario=request.user)
|
|
|
|
|
|
- form = FiltroForm(request.GET or None)
|
|
|
+ form_filtro = FiltroForm(request.GET or None)
|
|
|
|
|
|
- if form.is_valid():
|
|
|
+ if form_filtro.is_valid():
|
|
|
# if form.cleaned_data['fecha_inicio']:
|
|
|
# movimientos = movimientos.filter(fecha__gte=form.cleaned_data['fecha_inicio'])
|
|
|
# if form.cleaned_data['fecha_fin']:
|
|
|
@@ -31,21 +38,21 @@ def dashboard(request):
|
|
|
# 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')
|
|
|
+ busqueda = form_filtro.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
|
|
|
+
|
|
|
+# logger.warning(f"Frecuentes: {frecuentes}")
|
|
|
+# logger.warning(f"Monto: {frecuentes[0].monto}")
|
|
|
|
|
|
return render(request, 'dashboard.html', {
|
|
|
'movimientos': movimientos,
|
|
|
'user': request.user,
|
|
|
- 'form': form,
|
|
|
+ 'form_filtro': form_filtro,
|
|
|
'favoritas': favoritas,
|
|
|
'frecuentes': frecuentes,
|
|
|
})
|
|
|
@@ -207,7 +214,17 @@ def agregar_cuenta(request):
|
|
|
@login_required
|
|
|
def listar_cuentas(request):
|
|
|
cuentas = Cuenta.objects.filter(usuario=request.user)
|
|
|
- return render(request, 'listar_cuentas.html', {'cuentas': cuentas})
|
|
|
+ form_filtro = FiltroForm(request.GET or None)
|
|
|
+
|
|
|
+ if form_filtro.is_valid():
|
|
|
+ busqueda = form_filtro.cleaned_data.get('buscar')
|
|
|
+ if busqueda:
|
|
|
+ cuentas = cuentas.filter(
|
|
|
+ db_models.Q(nombre__icontains=busqueda)
|
|
|
+ )
|
|
|
+
|
|
|
+ return render(request, 'listar_cuentas.html',
|
|
|
+ {'cuentas': cuentas ,'form_filtro': form_filtro})
|
|
|
|
|
|
|
|
|
@login_required
|