From 484ab35dd67546ee6e177162814b83f884e74c8f Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Thu, 29 Aug 2024 16:31:27 +0200 Subject: [PATCH] Decimal point is comma --- .gitignore | 1 - RepostajesDj/.dockerignore | 1 + RepostajesDj/K8S/Makefile | 2 +- RepostajesDj/README.md | 24 ++++++++++++++++++ RepostajesDj/vehiculos/.gitignore | 16 ++++++++++++ RepostajesDj/vehiculos/db.sqlite3 | Bin 143360 -> 0 bytes RepostajesDj/vehiculos/entornoPruebas.sh | 5 ++++ RepostajesDj/vehiculos/repostajes/.gitignore | 1 + RepostajesDj/vehiculos/repostajes/forms.py | 6 ++--- RepostajesDj/vehiculos/repostajes/models.py | 14 +++++----- .../repostajes/lista_repostajes.html | 1 + RepostajesDj/vehiculos/repostajes/views.py | 14 +++++++--- RepostajesDj/vehiculos/vehiculos/settings.py | 5 +++- 13 files changed, 72 insertions(+), 18 deletions(-) create mode 100644 RepostajesDj/vehiculos/.gitignore delete mode 100644 RepostajesDj/vehiculos/db.sqlite3 create mode 100644 RepostajesDj/vehiculos/entornoPruebas.sh create mode 100644 RepostajesDj/vehiculos/repostajes/.gitignore diff --git a/.gitignore b/.gitignore index 381d192..2da8c9f 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,3 @@ venv/ Thumbs.db *.log -*.sqlite diff --git a/RepostajesDj/.dockerignore b/RepostajesDj/.dockerignore index 81f8d8b..b6ce3ed 100644 --- a/RepostajesDj/.dockerignore +++ b/RepostajesDj/.dockerignore @@ -1,3 +1,4 @@ Dockerfile Makefile volcadossql/ +venv/ diff --git a/RepostajesDj/K8S/Makefile b/RepostajesDj/K8S/Makefile index a8cd095..5de63d3 100644 --- a/RepostajesDj/K8S/Makefile +++ b/RepostajesDj/K8S/Makefile @@ -1,7 +1,7 @@ export ARQUITECTURA := $(shell lscpu |grep itectur | tr -d ' '| cut -f2 -d':') #export REGISTRY=registry.cube.local export REGISTRY=registry.reymota.es -export IMG_VERSION = 0.23 +export IMG_VERSION = 1.3 export IMG_NGINX_VERSION = 1.0 # limpia todo diff --git a/RepostajesDj/README.md b/RepostajesDj/README.md index 710f004..921e2f5 100644 --- a/RepostajesDj/README.md +++ b/RepostajesDj/README.md @@ -1,3 +1,27 @@ +# Instalación + +Desde el directorio K8S ejecutar make (esto hace todo: la imagen, para los pods y los lanza otra vez) + +La primera vez, hay que entrar en el pod de vehículos con 'entra.sh' y + +python manage.py createsuperuser + + +python manage.py makemigrations + +python manage.py migrate + +## Comprobar la base de datos + +Con la shell entraPsql.sh: + +\l para listar las BD + +\c vehiculos para usar nuestra db +\dt para ver las tablas + +# De dónde cogí ideas + https://learndjango.com/tutorials/django-login-and-logout-tutorial diff --git a/RepostajesDj/vehiculos/.gitignore b/RepostajesDj/vehiculos/.gitignore new file mode 100644 index 0000000..5193978 --- /dev/null +++ b/RepostajesDj/vehiculos/.gitignore @@ -0,0 +1,16 @@ +__pycache__/ +*.py[cod] + +venv/ +*.venv + + +.idea + +.DS_Store +Thumbs.db + +*.log +db.sqlite3 + +mediafiles/ diff --git a/RepostajesDj/vehiculos/db.sqlite3 b/RepostajesDj/vehiculos/db.sqlite3 deleted file mode 100644 index 20aa88df58717bd5cdaeb46cc057d0b910550f5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143360 zcmeI53v3(7dB=A}QY0mjBU_f~muyP5&gSW4bNLeK^jgU}oh<8ROZM5iL$FwqE15dJ zjt@P2EmG<3nzlgEM}V{`5ClzI6lj|O30fp+5uj*Mv}w@>y|fLI9s*oYAVt%pNEXl?!8u$Ap zNs80o^YqtvU8ZmB#sU2+Ti);YHZEPhd&9w$$#X3r~2!H?xfB*=900@8p z2!H?xfB*=5{|OxPd8pC8?voPv3-VKBj&yiG>wVoj=J~egcRZ@+c+cPU{9?~kkGK1s z?hkb@P&K?j00ck)1V8`;KmY_l;OQg~?sG^3!xLq_T+S5oO$^sf9O!>& zED=&7QR0vWhbKyUu~4pP>-s~h9g0O0vB-6=L+Yp1u2$|-Od(avR`iluEz@K*Qz}=~ zyq43|oVKNA_551peoL35!N^!}+(RwVTGuQoYPFcwD!N)M6}Gn3qF%~nYR%EoLL?H4 z#V32Hg?Yn5Q24S|DpZSYxe*>yB8lm4YUGYE5=>Ytl-1g-4~>XW_{A=2XxT6nw;E!2 z+TjvX;_>LLo7#D=VP{O(+0e2X%BN5&^Z3$Br9w%~(TLU7_6aRoH$|CnQDZZPv6x!Y zU#n(Hx|%BFD>Paw+eN*s((nznq#R5{V#+lqH8E?Lh+6B#0nxb6_dkHwVG6&tlg`x_75gNF-cEIJmAUGH#6!_yO1?hHF^5Z=RuTxAWyy=c`Q zN;IM*f@3nZG~8_Iz#gweB8hm!L*ABLBr1_VCSN1F8>fFy1Nk~^VMEuttl;XRsxC4wk#CZ}CSN8WC-=!b*&!d=V*vsX009sH0T2KI z5C8!X009sH0T2Lz8i7;x!Sj}N0m~%cb;3S)t|3dT7&v|Q!2wH#v0%`7%sy~hHa>kM z{yNUshtJE_j|*7d+r9RFA74n|s{^(^d;cImG(XDFam4N$aP##9#Bl4%klgQVB{-`;nHBj1LMv;B5?M0T<7k66?Pj@jja>=fq3T=EP*r?YNch)>tVb<;w8 zs?RQ8l$|xhLUxkNI=NY6CVGN9&?&4MQeRCfj2hD8NA2>k+{tVjqJA!NaFb#hdyG5p z5Eg~7uO<`*h4APRyL?`DFndCBgjdGS%~>YDy&Ruin6zY&T81!d$?)mo zK~qlG0B9q3Fsr7}an$a!LSfSocJ$ia!*l^4UH>)_`~JU+ z%t_=MaP0w4eaAOHd&00JNY0w4eaAOHd& zaM%dYk6}oC{im;7o4*@Y;%OzQ#Ak25U@R|`uOxGumy7u|HvhMgmn8DHvFO4^0G=q`uy*X-&p0Z@tc3o zPiT~7^M9%Lk*W`65C8!X009sH0T2KI5C8!X009sHfkQ@s@Bc@pB=SGxJLEs;E&yL6 z?~;Ea|3E%ZK1cqHe3pEQe1iNQ`EBwM@*(m8@(bks^uGhVPO79pG9*RbOLq#qMP{i1 zyg&d1KmY_l00ck)1V8`;KmY_l;Atn|u*tH^&(m`}Jxy6y1&`|r`^Bao$vm!?k;KoFAx9$5C8!X009sH z0TB2B6L`+=kmS*XYa^p?swI6pSEy*!vR<0h@_r`sQ<N41sbU1>e5SM+B6 znzX6J*;d>4{u zPgA|osI%_3MYHa;p?j*PTld(aTlZJUE}W#g7q2*LzFHJ(o*G&wxK=0k()jPi~n?it5J$GDDzdso)W zMV*Q737Y$)KZ6%c+l6%f8!3j{p0z(~~29B$HP zPFq#a_E6QqfQ@^;Rw`7Bb(;KWsGH^wkJ^N@bq(QWO{c4-BmArD2+#QO88_8AchSaN zsw*&O_`xL?%^eAMa4(8_DVJ$%SX1k$5!8O&|rlqr0!v!*RPGc%aBaL*Jz z@9cjKAWSg1O(zV>`57>bMrrZhrV%90T2KI5C8!X009sH0T2KI5C8!XIFNwHm6m$ts6;M!-}ZKT2Ho#EH#v3l>hd`wYe$(P-~?j|D~Z!ddQ!lTZ63WCI7C{-L5)E^ih}wAhALqFX_fE-9gSpk9`0WVLdI?F5m@ z5BbwtMXzLXI=4&nGG(<~rJGi;op6Ty$wDD(Eve_UOx83UibhPs{yPgZx9&_)8>@v% z!BkR$K~qVbp`xv>?zK+Ot)(iN4SjD`zK~0nsNAShh#RFS0&m2QJAKip{4->48;Is; zfGcFK1NaM-$D+TgQ{*+QR&cN8%2cSQGC7R`rGB$!$W%&&z2dZ9PF3k%AQWL!flRJg zC{-whCV8<$4Hve!y*-)q%rv`DDrM3wPDVF%DOYoQPi1VJqq6WzW@xBX>ecZtO}#j^ zG_^1}wcHT6Mj62^;D3SXE%5-KS(v#!Gch-}B7{>f1a@uxPG2}IzcJd}aE2jEyBQ+q zzRhN6JXWjaXiuT7))-x)v(c8y73k(GmXNMRpCw~B-H zyr)5;#v`d{DiP9KD|iqmc z&h!0)nBPey6ig*o6RlnHwB`36V-IuLC_uek_qcpJwuHQUzAbkfDys%l>2N5T464<9 z=C#%}=n*xj4bJ|98^G|ZsU;dt({|lxziIGxD9{~}{0H40gpYOlrUzw-lPJGN$1`1} zwJPvq_D*ySRWaZ9?hf}leIq0Co3hz~%=2qCZ1N;5@Ap{Cy3bZKqO4Mn5og*ULf(8cdn-W)SI)!N$xP&T<* zLZIw!L2Xab$AV`BT#H*AD>c)twqco-dU&HW1xb772zdTYDjgKf-~YUw3rFeDHqtP( zS?bvoiE3yyG8WS#$)@UcwHVXduwv==rZz*>bXq#5Egy0EwnyY$Vh(9$k%ri3Bd`(H zYEaRV;jyS@j%H>l$Ns~Zsnn+FwrgVTbAg@folajNEbqL|Yt^D7t6H(BX0@cARrw8r zIu=W&!|8C6SExk+d&^3-P(0Xjtv)S^vDT^kG-TYz3PNUSt4tL%+NbhajugJT@yvtZ_=PjGCs%)ldz1mpbv*AGrC1c5ODAZ=@ z0fAiH=(JgCpL5oFR+~0hV_L={b}zcy;im+;DS^Nv5wPN6_o%C(NJtxtwCTv1$3w8s zNgtU(qa6xi{2Ya#PzdjP5(o`w)u(w`FX0f`er9)#eMQLbTq3AoHNe{Bsq8dV-#iX%b#KZE9qo>O!3Q*PD=#*3SM{x8rlhOvwp!JqsaPl$3pc8qZydxLGh3Fg z4PT9ltT8R;qT_7rlG7Im$h#M?skq^`!;@ktE7!MXGdz3@?&Y8SrdGwxlY zh$K^bTu(MDo_&aGO{*?yO4!-o#ikNNfj7H`oxagg`Tf(@*r`{m*`q<>k+_UCXNz%W z@33SEnmx}d3(0joRbiK45kIvjV?s=F_Ul>r<1nw22z@fBboWFhHYJ?4F;a{}Mu5qt8W}qqrHGSv~4$!-Fuv!&*Qf zdHA)|h@St;>$Rvpd)C`>{?A6}-a|i3qXHlR0w4eaAOHd&00JNY0w4eaAOHdf5McZN z*~qsf@?G*@1V8`;KmY_l00ck)1V8`;K;SSC!2JI(v=V#-0T2KI5C8!X009sH0T2KI5CDNE zBY^q;lkr1o5C8!X009sH0T2KI5C8!X009s<3aP0w4eaAOHd&00JNY z0w4eaAOHe~kihPF*)jjdor#3Lk&RY2%iEy`n~`8Ty}l7iC>zCmoY+W*^EVe)S8_8U zrIb diff --git a/RepostajesDj/vehiculos/repostajes/views.py b/RepostajesDj/vehiculos/repostajes/views.py index 02aed44..690ce2d 100644 --- a/RepostajesDj/vehiculos/repostajes/views.py +++ b/RepostajesDj/vehiculos/repostajes/views.py @@ -95,22 +95,29 @@ def nuevo_repostaje(request): instancia.descuento = 0.0 instancia.importe = float(instancia.importe) - instancia.descuento - instancia.precioxlitro = instancia.importe / float(instancia.litros) + + if instancia.litros > 0: + instancia.precioxlitro = round(instancia.importe / float(instancia.litros),2) + else: + instancia.precioxlitro = 0 # lee todos los repostajes del vehículo # repostajes = Repostajes.query.filter_by(vehiculo_id=vehiculo_id).all() - if Repostaje.objects.all(): + if Repostaje.objects.filter(vehiculo_id=instancia.vehiculo): repostajes = Repostaje.objects.filter(vehiculo_id=instancia.vehiculo).order_by('-fecha')[0] instancia.kmsrecorridos = instancia.kms - repostajes.kms if instancia.kmsrecorridos > 0: - instancia.consumo = instancia.litros*100/instancia.kmsrecorridos + instancia.consumo = round(instancia.litros * 100 / instancia.kmsrecorridos,2) else: instancia.kmsrecorridos = 0 instancia.consumo = 0 + print("nuevo_repostaje: kms litros importe descuento precio recorridos consumo") + print("nuevo_repostaje: ", instancia.kms, instancia.litros, instancia.importe, instancia.descuento, instancia.precioxlitro, instancia.kmsrecorridos, instancia.consumo) + instancia.save() return redirect('lista_repostajes') @@ -140,4 +147,3 @@ def eliminar_repostaje(request, repostaje_id): repostaje = Repostaje.objects.get(pk=repostaje_id) repostaje.delete() return redirect('lista_repostajes') - diff --git a/RepostajesDj/vehiculos/vehiculos/settings.py b/RepostajesDj/vehiculos/vehiculos/settings.py index 27058c4..639d2ee 100644 --- a/RepostajesDj/vehiculos/vehiculos/settings.py +++ b/RepostajesDj/vehiculos/vehiculos/settings.py @@ -119,7 +119,10 @@ TIME_ZONE = 'Europe/Madrid' USE_I18N = True USE_TZ = True - +I18N = True +L10N = True +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/5.1/howto/static-files/