diff --git a/Finanzas/finanzas/apuntes/urls.py b/Finanzas/finanzas/apuntes/urls.py index fbd0e3f..b478a43 100644 --- a/Finanzas/finanzas/apuntes/urls.py +++ b/Finanzas/finanzas/apuntes/urls.py @@ -15,7 +15,6 @@ urlpatterns = [ path('apuntes//editar/', views.editar_apunte, name='editar_apunte'), path('apuntes//eliminar/', views.eliminar_apunte, name='eliminar_apunte'), - path('apuntes/datos_grafico_bancos/', views.datos_grafico_bancos, name='datos_grafico_bancos'), - path('apuntes/grafico_bancos/', views.grafico_bancos_view, name='grafico_bancos_view'), + path('apuntes/grafico_tipo_cuenta/', views.datos_por_tipo_cuenta, name='datos_por_tipo_cuenta'), ] diff --git a/Finanzas/finanzas/apuntes/views.py b/Finanzas/finanzas/apuntes/views.py index d77c795..e151717 100644 --- a/Finanzas/finanzas/apuntes/views.py +++ b/Finanzas/finanzas/apuntes/views.py @@ -5,6 +5,7 @@ from django.http import JsonResponse # Create your views here. from .models import Cuenta, Apunte, Tipo from .forms import CuentaForm, ApunteForm +import json @login_required @@ -130,23 +131,43 @@ def eliminar_apunte(request, apunte_id): return redirect('lista_apuntes') @login_required -def datos_grafico_bancos(request): - datos = Cuenta.objects.filter(tipo=Tipo.objects.get(tipo="Banco")) | Cuenta.objects.filter(tipo=Tipo.objects.get(tipo="Ahorro")) +def datos_por_tipo_cuenta(request): + debancos = Cuenta.objects.filter(tipo=Tipo.objects.get(tipo="Banco")) - etiquetas = [item.nombre for item in datos] - valores = [item.saldo_actual for item in datos] + etiquetas = [] + bancos = [] + ahorro = [] - print(etiquetas) + for cuenta in debancos: + etiqueta = f"{cuenta.nombre}" + if etiqueta not in etiquetas: + etiquetas.append(etiqueta) - datos_grafico_bancos = { - 'label': 'Bancos', - 'labels': etiquetas, - 'values': valores, + bancos.append(float(cuenta.saldo_actual)) + ahorro.append(0) - 'chart_type': 'bar' # any chart type line, bar, ects - } + print("Etiqueta: ", etiquetas, " --- ", bancos) - return JsonResponse(datos_grafico_bancos) -def grafico_bancos_view(request): - return render(request, 'apuntes/grafico_bancos.html') + deahorro = Cuenta.objects.filter(tipo=Tipo.objects.get(tipo="Ahorro")) + + for cuenta in deahorro: + etiqueta = f"{cuenta.nombre}" + if etiqueta not in etiquetas: + etiquetas.append(etiqueta) + + ahorro.append(float(cuenta.saldo_actual)) + bancos.append(0) + + print("Etiqueta: ", etiquetas, " --- ", ahorro) + + context = { + 'bancos': bancos, + 'etiquetas_json': json.dumps(etiquetas), + 'bancos_datos_json': json.dumps(bancos), + 'ahorro_datos_json': json.dumps(ahorro), + } + + print("Context: ", context['etiquetas_json']) + + return render(request, 'apuntes/nuevo_grafico.html', context) diff --git a/Finanzas/finanzas/db.sqlite3 b/Finanzas/finanzas/db.sqlite3 index 2e3ae7f..ec40523 100644 Binary files a/Finanzas/finanzas/db.sqlite3 and b/Finanzas/finanzas/db.sqlite3 differ diff --git a/Finanzas/finanzas/templates/_cabecera.html b/Finanzas/finanzas/templates/_cabecera.html index b2679d2..459247f 100644 --- a/Finanzas/finanzas/templates/_cabecera.html +++ b/Finanzas/finanzas/templates/_cabecera.html @@ -109,7 +109,7 @@