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 20aa88d..0000000 Binary files a/RepostajesDj/vehiculos/db.sqlite3 and /dev/null differ diff --git a/RepostajesDj/vehiculos/entornoPruebas.sh b/RepostajesDj/vehiculos/entornoPruebas.sh new file mode 100644 index 0000000..0e56b74 --- /dev/null +++ b/RepostajesDj/vehiculos/entornoPruebas.sh @@ -0,0 +1,5 @@ +export CSRF_TRUSTED_ORIGINS="localhost" +export DEBUG=1 +export DJANGO_ALLOWED_HOSTS="localhost" + + diff --git a/RepostajesDj/vehiculos/repostajes/.gitignore b/RepostajesDj/vehiculos/repostajes/.gitignore new file mode 100644 index 0000000..62616c7 --- /dev/null +++ b/RepostajesDj/vehiculos/repostajes/.gitignore @@ -0,0 +1 @@ +migrations/ diff --git a/RepostajesDj/vehiculos/repostajes/forms.py b/RepostajesDj/vehiculos/repostajes/forms.py index 2fb2388..814c694 100644 --- a/RepostajesDj/vehiculos/repostajes/forms.py +++ b/RepostajesDj/vehiculos/repostajes/forms.py @@ -2,8 +2,6 @@ from django import forms from django.contrib.auth.forms import UserCreationForm, UserChangeForm from .models import Vehiculo, Repostaje, ReyMotaUser -import calculation - class VehiculoForm(forms.ModelForm): class Meta: @@ -35,10 +33,10 @@ class RepostajeForm(forms.ModelForm): widget=forms.TextInput(attrs={'class': 'form-control'})) litros = forms.DecimalField( - widget=forms.TextInput(attrs={'class': 'form-control'})) + widget=forms.NumberInput(attrs={'class': 'form-control'})) importe = forms.DecimalField( - widget=forms.TextInput(attrs={'class': 'form-control'})) + widget=forms.NumberInput(attrs={'class': 'form-control'})) aplica_descuento = forms.BooleanField(initial=False, required=False) diff --git a/RepostajesDj/vehiculos/repostajes/models.py b/RepostajesDj/vehiculos/repostajes/models.py index a91f94b..ed4f113 100644 --- a/RepostajesDj/vehiculos/repostajes/models.py +++ b/RepostajesDj/vehiculos/repostajes/models.py @@ -28,13 +28,13 @@ class Vehiculo(models.Model): class Repostaje(models.Model): vehiculo = models.ForeignKey(Vehiculo, on_delete=models.CASCADE) fecha = models.DateField() - kms = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) - litros = models.DecimalField(max_digits=4, decimal_places=2, blank=True, null=True) - descuento = models.DecimalField(max_digits=4, decimal_places=2, blank=True, null=True) - importe = models.DecimalField(max_digits=6, decimal_places=2, blank=True, null=True) - precioxlitro = models.DecimalField(max_digits=4, decimal_places=2, blank=True, null=True) - kmsrecorridos = models.DecimalField(max_digits=5, decimal_places=2, blank=True, null=True) - consumo = models.DecimalField(max_digits=4, decimal_places=2, blank=True, null=True) + kms = models.DecimalField(max_digits=10, decimal_places=0, blank=True, null=True) + litros = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) + descuento = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) + importe = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) + precioxlitro = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) + kmsrecorridos = models.DecimalField(max_digits=10, decimal_places=0, blank=True, null=True) + consumo = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) def __str__(self): return self.fecha diff --git a/RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html b/RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html index 9c89112..a933ca1 100644 --- a/RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html +++ b/RepostajesDj/vehiculos/repostajes/templates/repostajes/lista_repostajes.html @@ -28,6 +28,7 @@
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/