From 22cc7a5e37b78669ef58f7f7f4db539b436f9ebc Mon Sep 17 00:00:00 2001 From: FranciscoBorja12 Date: Fri, 7 Feb 2025 14:12:05 -0600 Subject: [PATCH] =?UTF-8?q?mejor=20dise=C3=B1o=20y=20validacion=20en=20fec?= =?UTF-8?q?ha?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/__pycache__/forms.cpython-313.pyc | Bin 2628 -> 3308 bytes tasks/__pycache__/views.cpython-313.pyc | Bin 10264 -> 10364 bytes tasks/forms.py | 15 ++- tasks/templates/base.html | 130 +++++++++++-------- tasks/templates/cuentas.html | 52 ++++++-- tasks/templates/index.html | 115 +++++++++-------- tasks/templates/lista_cuentas.html | 102 ++++++++------- tasks/templates/lista_movimientos.html | 94 ++++++++------ tasks/templates/movimiento.html | 164 ++++++++++++++++++------ tasks/templates/singup.html | 159 ++++++++++++----------- tasks/views.py | 11 +- 11 files changed, 523 insertions(+), 319 deletions(-) diff --git a/tasks/__pycache__/forms.cpython-313.pyc b/tasks/__pycache__/forms.cpython-313.pyc index f31edbd5d4fb9db65bd92aed76246c09cff26b80..4c102f5bc50bd1f43a7ad241e0babdf55a299bfd 100644 GIT binary patch delta 1452 zcmZ{kO>7%Q6o6;EKVGlxIB|Zu**NjqsZ&;MOi~E>Ap}vH;I=pjFGVV?6fO4H7;JBt zwP}fj(hCR)4wx-ce~`ifRYmFrAugONagF6eq7?y&8&VIAnyMU`w{9vC!jt^%^P4ws zX5M=<_xkP+c0CM-WyIuO>2~Q;soACAubRhFV+Jz#bK+S)^=pXf!a3=zL?sO=D2WVF zMTY+p&PAK=3`JzmBr#LqiAe~SWIfpYelD(KH}bYwDHqIo*{Us4YEfpA*k4jFS4s2t z3s`h!@DJGU{E0tQ`q(~Po?4e}+Rs$oN4wdF_BbE-zQi%-Z{HcAiy8dR5|=3)gCQLd zV_4QjIt+hC0C9i@@EpcK125`LdIq%MK18P2A%@S;W1lFYU5hKVBu&ODR`1uQ*MiUwjs3O#F0LP%$2HeidhM&)5FZ1O#%0 zti=|jy$9Nt0OkNM0_Fjo{D%+CKV+9C07(GH;0Bi))prR!Q(JA+ z=}|C`0#bm(O6ApXif6+k&Vcku`Dx|zPjbyh5Q5O~d-xs0H|RXdvF}02fyV(c@P5r| z_&mM{>v)nAq1^J*atE9&uddHsL&#*!a}gTI6T`PZpRoBykNLQnyIjq>OedK}B?jH+ z@;0fg7rodv^pK`eXl1w83$WrXwNf)D{1#1YCSPkuGn=8zb|khb#X1+K z(-D3D=?Ld%=>Z`jP?p?&Y9N#TJkWnPD8}|2$SF?|!vLNpwhDQUuFx=TL z#9P)w&X0lA`at1*vsSXwd5e-XxsoTV@O0T;4LWrRWUT_Jz{Tu5BHot%{kpi)eAOy6 zDrAAa$znsB+RrmQ;4sEJNcjUzx6t$sI=O>}_jo^+ulH}nZ^ZYI{|J`%y5o5GI@z#p LSdS1>y*>T|%w;rx delta 829 zcmZ{i&ubGw6vt~Df=d(HdRmSf4ahQ_$HQEgg;=y zMuZ2>5I-=MX!Ni{k8KlcaG_+HXi)bl}*hXit!dK0q94AjI6|-=C%KtKDyi%}N{Re61|_q>6pr z&r}6!BzMj7yBd>18cI#yq*l}NY!(t1XW26{o`HK(8!*f^$eiH`vDAIM98hquf}E4j zgR}f`Ms_j3_>wY>E%s6wD?n0AYEjsY=#k_Az%jsafWy8h*H@=NT7U{*8c+qKoiYyX zlneoRz-fTU5ohYX_MLz(hReM!ErPiK7y}&E)TG;&prbB(udWmi&dC0!GW)4dEnMaa zu{L|V8_eGeT8&huMJJ)ue~0LS7Xb6?gzQzuKf5_}bw?CzeOpFWVMil5`AKch)M2n3 z>0lwH?rH2|wiIf$s1da0Bic^iL~`cek0n-T+EJs|3a-&Po{6DYnPXeT7;hoxE2?aw f%0N=E{yMjwU&{{=mjm13`(Qm$KQju$u_Cx?idF&+RK z)WOKSSwxJDiOHXHvz0^)BU>fVvSOXhb0j$!xjv{e@JN5rU=UE>yk9DpiE-9uUD@@F zjLSCPmHW)fxMA}}6(?qOF~$JK&&&)=0w0(_%nt@Y=0_$u#w?g9i21=`vXzDt08th_ A_5c6? diff --git a/tasks/forms.py b/tasks/forms.py index f3529de..4699323 100644 --- a/tasks/forms.py +++ b/tasks/forms.py @@ -1,5 +1,7 @@ from django import forms from .models import Cuenta, Movimientos, TipoMovimiento +from django.core.exceptions import ValidationError +from datetime import datetime class RegistroCuentaForm(forms.ModelForm): class Meta: @@ -18,11 +20,13 @@ class RegistroMovimientosForm(forms.ModelForm): ) fecha_factura = forms.DateField( widget=forms.DateInput( - attrs={'type': 'date', 'class': 'form-control'} + attrs={'type': 'date', 'class': 'form-control', + 'max': datetime.now().strftime('%Y-%m-%dT%H:%M')} + ), label="Fecha de factura", ) - + class Meta: model = Movimientos fields = ['tipo_movimiento','fecha_factura', 'saldo','n_factura', 'observacion','proveedor','responsable_cuenta'] @@ -33,4 +37,9 @@ class RegistroMovimientosForm(forms.ModelForm): 'proveedor': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Nombre del proveedor'}), 'responsable_cuenta': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Nombre del responsable'}), - } \ No newline at end of file + } + def clean_fecha_factura(self): + fecha_factura = self.cleaned_data.get('fecha_factura') + if fecha_factura > datetime.now().date(): + raise ValidationError("La fecha no puede ser en el futuro.") + return fecha_factura \ No newline at end of file diff --git a/tasks/templates/base.html b/tasks/templates/base.html index 266e116..61ae483 100644 --- a/tasks/templates/base.html +++ b/tasks/templates/base.html @@ -3,75 +3,105 @@ - {% block title %}Registro{% endblock %} + {% block title %}Registro de presupuestos{% endblock %} + + + + - -