Browse Source

Cambios en página principal y otros detalles

politica
Celestino Rey 1 year ago
parent
commit
8a8d31a0ef
8 changed files with 77 additions and 63 deletions
  1. +4
    -2
      Finanzas/finanzas/apuntes/views.py
  2. BIN
      Finanzas/finanzas/db.sqlite3
  3. +1
    -1
      Finanzas/finanzas/entornoPruebas.sh
  4. +5
    -2
      Finanzas/finanzas/finanzas/urls.py
  5. +2
    -2
      Finanzas/finanzas/templates/apuntes/detalle_cuenta.html
  6. +26
    -17
      Finanzas/finanzas/templates/apuntes/index.html
  7. +1
    -1
      Finanzas/finanzas/templates/apuntes/lista_apuntes.html
  8. +38
    -38
      Finanzas/finanzas/templates/apuntes/lista_cuentas.html

+ 4
- 2
Finanzas/finanzas/apuntes/views.py View File

@ -2,7 +2,7 @@ from django.contrib.auth.decorators import login_required
from django.shortcuts import render, get_object_or_404, redirect from django.shortcuts import render, get_object_or_404, redirect
# Create your views here. # Create your views here.
from .models import Cuenta, Apunte
from .models import Cuenta, Apunte, Tipo
from .forms import CuentaForm, ApunteForm from .forms import CuentaForm, ApunteForm
@ -11,7 +11,9 @@ def principal(request):
cuentas = Cuenta.objects.all() cuentas = Cuenta.objects.all()
apuntes = Apunte.objects.all() apuntes = Apunte.objects.all()
return render(request, 'apuntes/index.html', {'cuentas': cuentas, 'apuntes': apuntes})
tipos = Tipo.objects.prefetch_related('cuenta_set').all()
return render(request, 'apuntes/index.html', {'tipos': tipos, 'cuentas': cuentas, 'apuntes': apuntes})
# Vistas para los cuentas # Vistas para los cuentas


BIN
Finanzas/finanzas/db.sqlite3 View File


+ 1
- 1
Finanzas/finanzas/entornoPruebas.sh View File

@ -1,6 +1,6 @@
export CSRF_TRUSTED_ORIGINS="http://localhost" export CSRF_TRUSTED_ORIGINS="http://localhost"
export DEBUG="True" export DEBUG="True"
export SECRET_KEY="hola" export SECRET_KEY="hola"
export DJANGO_ALLOWED_HOSTS="localhost"
export DJANGO_ALLOWED_HOSTS="localhost 127.0.0.1"

+ 5
- 2
Finanzas/finanzas/finanzas/urls.py View File

@ -20,6 +20,8 @@ from django.conf.urls.static import static
from django.conf import settings from django.conf import settings
from django.views.generic.base import TemplateView # new from django.views.generic.base import TemplateView # new
from apuntes import views
urlpatterns = [ urlpatterns = [
path('obreros/', admin.site.urls), path('obreros/', admin.site.urls),
@ -29,6 +31,7 @@ urlpatterns = [
path("accounts/", include("django.contrib.auth.urls")), path("accounts/", include("django.contrib.auth.urls")),
path("", TemplateView.as_view(template_name="apuntes/index.html"),
name="principal"), # new
path('', views.principal, name='principal'),
# path("", TemplateView.as_view(template_name="apuntes/index.html"), name="principal"), # new
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

+ 2
- 2
Finanzas/finanzas/templates/apuntes/detalle_cuenta.html View File

@ -9,7 +9,7 @@
<h4>{{ cuenta.nombre }}</h4> <h4>{{ cuenta.nombre }}</h4>
<ul class="notification-meta list-inline mb-0"> <ul class="notification-meta list-inline mb-0">
<li class="list-inline-item">{{ cuenta.nombre }}</li>
<li class="list-inline-item">Saldo: {{ cuenta.saldo_actual }} €</li>
</ul> </ul>
</div> </div>
</div> </div>
@ -32,7 +32,7 @@
<td class="cell"><a href="{% url 'detalle_apunte' apunte.id %}">{{ apunte.fecha }}</a></td> <td class="cell"><a href="{% url 'detalle_apunte' apunte.id %}">{{ apunte.fecha }}</a></td>
<td class="cell">{{ apunte.cta_origen }}</td> <td class="cell">{{ apunte.cta_origen }}</td>
<td class="cell">{{ apunte.cta_destino }}</td> <td class="cell">{{ apunte.cta_destino }}</td>
<td class="cell">{{ apunte.importe }}</td>
<td class="cell" align="right">{{ apunte.importe }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>


+ 26
- 17
Finanzas/finanzas/templates/apuntes/index.html View File

@ -4,23 +4,32 @@
<div class="container-xl"> <div class="container-xl">
<h1 class="app-page-title">Introducción</h1>
<h1 class="app-page-title">Estado de cuentas</h1>
<div class="app-card alert alert-dismissible shadow-sm mb-4 border-left-decoration" role="alert">
<div class="inner">
<div class="app-card-body p-3 p-lg-4">
<h3 class="mb-3">¡Bienvenido a la gestión financiera personal!</h3>
<div class="row gx-5 gy-3">
<!--
<div class="col-12 col-lg-9">
<div>Pensado inicialmente para guardar las letras de las canciones de Bruce Springsteen.</div>
</div>--><!--//col-->
</div><!--//row-->
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div><!--//app-card-body-->
</div><!--//inner-->
</div><!--//app-card-->
</div><!--//container-fluid-->
<div class="app-card app-card-notification shadow-sm mb-4">
<div class="app-card-body p-3 p-lg-4">
{% for tipo in tipos %}
<h3>Tipo: {{ tipo.tipo }}</h3>
<table class="table app-table-hover mb-0 text-left">
<thead>
<tr>
<th class="cell">Cuenta</th>
<th class="cell">Saldo</th>
</tr>
</thead>
{% for cuenta in tipo.cuenta_set.all %}
<tbody>
<tr>
<td class="cell"><a href="{% url 'detalle_cuenta' cuenta.id %}">{{ cuenta.nombre }}</a></td>
<td class="cell">{{ cuenta.saldo_actual }}</td>
</tr>
</tbody>
{% endfor %}
</table>
{% endfor %}
</div>
</div>
</div>
{% endblock %} {% endblock %}

+ 1
- 1
Finanzas/finanzas/templates/apuntes/lista_apuntes.html View File

@ -40,7 +40,7 @@
<td class="cell"><a href="{% url 'detalle_cuenta' apunte.cta_origen.id %}">{{ apunte.cta_origen.nombre }}</a></td> <td class="cell"><a href="{% url 'detalle_cuenta' apunte.cta_origen.id %}">{{ apunte.cta_origen.nombre }}</a></td>
<td class="cell"><a href="{% url 'detalle_cuenta' apunte.cta_destino.id %}">{{ apunte.cta_destino.nombre }}</a></td> <td class="cell"><a href="{% url 'detalle_cuenta' apunte.cta_destino.id %}">{{ apunte.cta_destino.nombre }}</a></td>
<td class="cell">{{ apunte.importe }} €</td>
<td class="cell" align="right">{{ apunte.importe }} €</td>
</tr> </tr>
</tbody> </tbody>
{% endfor %} {% endfor %}


+ 38
- 38
Finanzas/finanzas/templates/apuntes/lista_cuentas.html View File

@ -1,46 +1,46 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block content %} {% block content %}
<div class="container-xl">
<div class="row g-3 mb-4 align-items-center justify-content-between">
<div class="col-auto">
<h1 class="app-page-title mb-0">Cuentas</h1>
</div>
</div><!--//row-->
<div class="container-xl">
<div class="row g-3 mb-4 align-items-center justify-content-between">
<div class="col-auto">
<h1 class="app-page-title mb-0">Cuentas</h1>
</div>
</div><!--//row-->
<div class="col-auto"> <div class="col-auto">
<div class="page-utilities"> <div class="page-utilities">
<div class="row g-4 justify-content-start justify-content-md-end align-items-center">
<div class="col-auto">
<div class="row g-4 justify-content-start justify-content-md-end align-items-center">
<div class="col-auto">
<a class="btn app-btn-primary" href="{% url 'nueva_cuenta' %}">Añadir cuenta</a> <a class="btn app-btn-primary" href="{% url 'nueva_cuenta' %}">Añadir cuenta</a>
</div>
</div><!--//row-->
</div><!--//table-utilities-->
</div><!--//col-auto-->
</div>
</div><!--//row-->
</div><!--//table-utilities-->
</div><!--//col-auto-->
<div class="row g-4">
<div class="row g-4">
{% for cuenta in cuentas %} {% for cuenta in cuentas %}
<div class="col-6 col-md-4 col-xl-3 col-xxl-2">
<div class="app-card app-card-doc shadow-sm h-100">
<div class="col-6 col-md-4 col-xl-3 col-xxl-2">
<div class="app-card app-card-doc shadow-sm h-100">
<div class="app-card-body p-3 has-card-actions"> <div class="app-card-body p-3 has-card-actions">
<h4 class="app-doc-title truncate mb-0"><a href="{% url 'detalle_cuenta' cuenta.id %}">{{ cuenta.nombre}}</a></h4>
<div class="app-doc-meta">
<ul class="list-unstyled mb-0">
<li><span class="text-muted">Saldo inicial: </span><a href="{% url 'detalle_cuenta' cuenta.id %}">{{ cuenta.saldo_inicial }}</a></li>
<li><span class="text-muted">Saldo actual: </span><a href="{% url 'detalle_cuenta' cuenta.id %}">{{ cuenta.saldo_actual }}</a></li>
</ul>
</div><!--//app-doc-meta-->
<h4 class="app-doc-title truncate mb-0"><a href="{% url 'detalle_cuenta' cuenta.id %}">{{ cuenta.nombre}}</a></h4>
<div class="app-doc-meta">
<ul class="list-unstyled mb-0">
<li><span class="text-muted">Saldo inicial: </span><a href="{% url 'detalle_cuenta' cuenta.id %}">{{ cuenta.saldo_inicial }}</a></li>
<li><span class="text-muted">Saldo actual: </span><a href="{% url 'detalle_cuenta' cuenta.id %}">{{ cuenta.saldo_actual }}</a></li>
</ul>
</div><!--//app-doc-meta-->
<div class="app-card-actions">
<div class="dropdown">
<div class="dropdown-toggle no-toggle-arrow" data-bs-toggle="dropdown" aria-expanded="false">
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-three-dots-vertical" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<div class="app-card-actions">
<div class="dropdown">
<div class="dropdown-toggle no-toggle-arrow" data-bs-toggle="dropdown" aria-expanded="false">
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-three-dots-vertical" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M9.5 13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/> <path fill-rule="evenodd" d="M9.5 13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/>
</svg> </svg>
</div><!--//dropdown-toggle-->
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="{% url 'detalle_cuenta' cuenta.id %}"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-eye me-2" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
</div><!--//dropdown-toggle-->
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="{% url 'detalle_cuenta' cuenta.id %}"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-eye me-2" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.134 13.134 0 0 0 1.66 2.043C4.12 11.332 5.88 12.5 8 12.5c2.12 0 3.879-1.168 5.168-2.457A13.134 13.134 0 0 0 14.828 8a13.133 13.133 0 0 0-1.66-2.043C11.879 4.668 10.119 3.5 8 3.5c-2.12 0-3.879 1.168-5.168 2.457A13.133 13.133 0 0 0 1.172 8z"/> <path fill-rule="evenodd" d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.134 13.134 0 0 0 1.66 2.043C4.12 11.332 5.88 12.5 8 12.5c2.12 0 3.879-1.168 5.168-2.457A13.134 13.134 0 0 0 14.828 8a13.133 13.133 0 0 0-1.66-2.043C11.879 4.668 10.119 3.5 8 3.5c-2.12 0-3.879 1.168-5.168 2.457A13.133 13.133 0 0 0 1.172 8z"/>
<path fill-rule="evenodd" d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/> <path fill-rule="evenodd" d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/>
</svg>Ver</a></li> </svg>Ver</a></li>
@ -51,22 +51,22 @@
<path fill-rule="evenodd" d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"/> <path fill-rule="evenodd" d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"/>
<path fill-rule="evenodd" d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"/> <path fill-rule="evenodd" d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"/>
</svg>Eliminar</a></li> </svg>Eliminar</a></li>
<!--
<!--
<li><hr class="dropdown-divider"></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-trash me-2" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <li><a class="dropdown-item" href="#"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-trash me-2" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z"/> <path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z"/>
<path fill-rule="evenodd" d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z"/> <path fill-rule="evenodd" d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z"/>
</svg>Delete</a></li> </svg>Delete</a></li>
--> -->
</ul> </ul>
</div><!--//dropdown-->
</div><!--//app-card-actions-->
</div><!--//app-card-body-->
</div><!--//dropdown-->
</div><!--//app-card-actions-->
</div><!--//app-card-body-->
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
</div><!--//container-fluid-->
</div><!--//container-fluid-->
{% endblock %} {% endblock %}

Loading…
Cancel
Save