From 23e510f7a76f0259cd1458eda18e63e0d023079e Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Fri, 31 Jan 2025 11:09:15 +0100 Subject: [PATCH] =?UTF-8?q?Api=20de=20veh=C3=ADculos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReyMotaAppsDj/K8S/Makefile | 2 +- ReyMotaAppsDj/K8S/env-prod-configmap.yaml | 4 +- ReyMotaAppsDj/K8S/reymota-deployment.yaml | 5 - .../reymota-prod-persistentvolumeclaim.yaml | 16 --- ReyMotaAppsDj/reymota/libros/__init__.py | 0 ReyMotaAppsDj/reymota/libros/admin.py | 8 -- ReyMotaAppsDj/reymota/libros/apps.py | 6 - ReyMotaAppsDj/reymota/libros/forms.py | 30 ----- .../reymota/libros/migrations/0001_initial.py | 38 ------- .../reymota/libros/migrations/__init__.py | 0 ReyMotaAppsDj/reymota/libros/models.py | 32 ------ ReyMotaAppsDj/reymota/libros/tests.py | 3 - ReyMotaAppsDj/reymota/libros/urls.py | 21 ---- ReyMotaAppsDj/reymota/libros/views.py | 103 ------------------ ReyMotaAppsDj/reymota/reymota/urls.py | 2 - .../reymota/templates/_cabecera.html | 1 - ReyMotaAppsDj/reymota/templates/base.html | 4 +- 17 files changed, 5 insertions(+), 270 deletions(-) delete mode 100644 ReyMotaAppsDj/reymota/libros/__init__.py delete mode 100644 ReyMotaAppsDj/reymota/libros/admin.py delete mode 100644 ReyMotaAppsDj/reymota/libros/apps.py delete mode 100644 ReyMotaAppsDj/reymota/libros/forms.py delete mode 100644 ReyMotaAppsDj/reymota/libros/migrations/0001_initial.py delete mode 100644 ReyMotaAppsDj/reymota/libros/migrations/__init__.py delete mode 100644 ReyMotaAppsDj/reymota/libros/models.py delete mode 100644 ReyMotaAppsDj/reymota/libros/tests.py delete mode 100644 ReyMotaAppsDj/reymota/libros/urls.py delete mode 100644 ReyMotaAppsDj/reymota/libros/views.py diff --git a/ReyMotaAppsDj/K8S/Makefile b/ReyMotaAppsDj/K8S/Makefile index d9c1229..e374933 100644 --- a/ReyMotaAppsDj/K8S/Makefile +++ b/ReyMotaAppsDj/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.30 +export IMG_VERSION = 0.33 export IMG_NGINX_VERSION = 1.0 # limpia todo diff --git a/ReyMotaAppsDj/K8S/env-prod-configmap.yaml b/ReyMotaAppsDj/K8S/env-prod-configmap.yaml index 3ca1ba6..3b03c1e 100644 --- a/ReyMotaAppsDj/K8S/env-prod-configmap.yaml +++ b/ReyMotaAppsDj/K8S/env-prod-configmap.yaml @@ -2,8 +2,8 @@ apiVersion: v1 data: DEBUG: "False" ENTORNO: "Producción" - DJANGO_ALLOWED_HOSTS: "reymota.es vmcluster k8s-server localhost 127.0.0.1 [::1]" - CSRF_TRUSTED_ORIGINS: "https://reymota.es http://vmcluster" + DJANGO_ALLOWED_HOSTS: "reymota.rancher.my.org reymota.es vmcluster k8s-server localhost 127.0.0.1 [::1]" + CSRF_TRUSTED_ORIGINS: "https://reymota.es http://vmcluster http://reymota.rancher.my.org/ " SECRET_KEY: change_me SQL_DATABASE: reymota SQL_ENGINE: django.db.backends.postgresql diff --git a/ReyMotaAppsDj/K8S/reymota-deployment.yaml b/ReyMotaAppsDj/K8S/reymota-deployment.yaml index 5e83b03..a97f0bc 100644 --- a/ReyMotaAppsDj/K8S/reymota-deployment.yaml +++ b/ReyMotaAppsDj/K8S/reymota-deployment.yaml @@ -112,8 +112,6 @@ spec: name: reymota-lyrics-migrations - mountPath: /app/reymota/repostajes/migrations name: reymota-repostajes-migrations - - mountPath: /app/reymota/libros/migrations - name: reymota-libros-migrations - mountPath: /app/reymota/reymotausers/migrations name: reymota-reymotausers-migrations @@ -132,9 +130,6 @@ spec: - name: reymota-repostajes-migrations persistentVolumeClaim: claimName: reymota-repostajes-migrations - - name: reymota-libros-migrations - persistentVolumeClaim: - claimName: reymota-libros-migrations - name: reymota-reymotausers-migrations persistentVolumeClaim: claimName: reymota-reymotausers-migrations diff --git a/ReyMotaAppsDj/K8S/reymota-prod-persistentvolumeclaim.yaml b/ReyMotaAppsDj/K8S/reymota-prod-persistentvolumeclaim.yaml index e20ef2d..c2397d5 100644 --- a/ReyMotaAppsDj/K8S/reymota-prod-persistentvolumeclaim.yaml +++ b/ReyMotaAppsDj/K8S/reymota-prod-persistentvolumeclaim.yaml @@ -16,22 +16,6 @@ status: {} --- apiVersion: v1 kind: PersistentVolumeClaim -metadata: - creationTimestamp: null - labels: - io.kompose.service: reymota-libros-migrations - name: reymota-libros-migrations - namespace: reymota -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 51Mi -status: {} ---- -apiVersion: v1 -kind: PersistentVolumeClaim metadata: creationTimestamp: null labels: diff --git a/ReyMotaAppsDj/reymota/libros/__init__.py b/ReyMotaAppsDj/reymota/libros/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/ReyMotaAppsDj/reymota/libros/admin.py b/ReyMotaAppsDj/reymota/libros/admin.py deleted file mode 100644 index 1f28ee6..0000000 --- a/ReyMotaAppsDj/reymota/libros/admin.py +++ /dev/null @@ -1,8 +0,0 @@ -from django.contrib import admin - -# Register your models here. - -from .models import Autor, Libro - -admin.site.register(Autor) -admin.site.register(Libro) diff --git a/ReyMotaAppsDj/reymota/libros/apps.py b/ReyMotaAppsDj/reymota/libros/apps.py deleted file mode 100644 index bf842f1..0000000 --- a/ReyMotaAppsDj/reymota/libros/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class LibrosConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'libros' diff --git a/ReyMotaAppsDj/reymota/libros/forms.py b/ReyMotaAppsDj/reymota/libros/forms.py deleted file mode 100644 index 33b1ea3..0000000 --- a/ReyMotaAppsDj/reymota/libros/forms.py +++ /dev/null @@ -1,30 +0,0 @@ -from django import forms - -from .models import Autor, Libro - - -class AutorForm(forms.ModelForm): - class Meta: - model = Autor - fields = ['nombre', 'biografia', 'foto'] - - nombre = forms.CharField( - widget=forms.TextInput(attrs={'class': 'form-control'})) - biografia = forms.CharField( - widget=forms.TextInput(attrs={'class': 'form-control'})) - - -class LibroForm(forms.ModelForm): - class Meta: - model = Libro - fields = ['titulo', 'autor', 'fecha_publicacion', 'descripcion', - 'archivo', 'portada'] - - titulo = forms.CharField( - widget=forms.TextInput(attrs={'class': 'form-control'})) - descripcion = forms.CharField( - widget=forms.TextInput(attrs={'class': 'form-control'})) - - autor = forms.ModelChoiceField( - queryset=Autor.objects.all(), - widget=forms.Select(attrs={'class': 'form-control'})) diff --git a/ReyMotaAppsDj/reymota/libros/migrations/0001_initial.py b/ReyMotaAppsDj/reymota/libros/migrations/0001_initial.py deleted file mode 100644 index b2717be..0000000 --- a/ReyMotaAppsDj/reymota/libros/migrations/0001_initial.py +++ /dev/null @@ -1,38 +0,0 @@ -# Generated by Django 4.2 on 2024-09-09 14:52 - -import django.core.validators -from django.db import migrations, models -import django.db.models.deletion -import libros.models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Autor', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('nombre', models.CharField(max_length=200)), - ('biografia', models.TextField(blank=True, null=True)), - ('foto', models.ImageField(blank=True, null=True, upload_to='autores/')), - ], - ), - migrations.CreateModel( - name='Libro', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('titulo', models.CharField(max_length=200)), - ('fecha_publicacion', models.PositiveBigIntegerField(default=2024, validators=[django.core.validators.MinValueValidator(1984), libros.models.max_value_current_year])), - ('descripcion', models.TextField(blank=True, null=True)), - ('archivo', models.FileField(upload_to='libros/')), - ('portada', models.ImageField(blank=True, null=True, upload_to='portadas/')), - ('autor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='libros.autor')), - ], - ), - ] diff --git a/ReyMotaAppsDj/reymota/libros/migrations/__init__.py b/ReyMotaAppsDj/reymota/libros/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/ReyMotaAppsDj/reymota/libros/models.py b/ReyMotaAppsDj/reymota/libros/models.py deleted file mode 100644 index 6e0d538..0000000 --- a/ReyMotaAppsDj/reymota/libros/models.py +++ /dev/null @@ -1,32 +0,0 @@ -from django.db import models -import datetime -from django.core.validators import MaxValueValidator, MinValueValidator - - -def current_year(): - return datetime.date.today().year - - -def max_value_current_year(value): - return MaxValueValidator(current_year())(value) - - -class Autor(models.Model): - nombre = models.CharField(max_length=200) - biografia = models.TextField(blank=True, null=True) - foto = models.ImageField(upload_to='autores/', blank=True, null=True) # Nuevo campo - - def __str__(self): - return self.nombre - - -class Libro(models.Model): - titulo = models.CharField(max_length=200) - autor = models.ForeignKey(Autor, on_delete=models.CASCADE) - fecha_publicacion = models.PositiveBigIntegerField(default=current_year(), validators=[MinValueValidator(1984), max_value_current_year]) - descripcion = models.TextField(blank=True, null=True) - archivo = models.FileField(upload_to='libros/') - portada = models.ImageField(upload_to='portadas/', blank=True, null=True) # Nuevo campo - - def __str__(self): - return self.titulo diff --git a/ReyMotaAppsDj/reymota/libros/tests.py b/ReyMotaAppsDj/reymota/libros/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/ReyMotaAppsDj/reymota/libros/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/ReyMotaAppsDj/reymota/libros/urls.py b/ReyMotaAppsDj/reymota/libros/urls.py deleted file mode 100644 index 7c32fdf..0000000 --- a/ReyMotaAppsDj/reymota/libros/urls.py +++ /dev/null @@ -1,21 +0,0 @@ -from django.urls import path - -from . import views - -app_name = 'libros' - -urlpatterns = [ - path('', views.principal, name='principal'), - path('autores/', views.lista_autores, name='lista_autores'), - path('autores/nuevo/', views.nuevo_autor, name='nuevo_autor'), - path('autores//', views.detalle_autor, name='detalle_autor'), - path('autores//editar/', views.editar_autor, name='editar_autor'), - path('autores//eliminar/', views.eliminar_autor, name='eliminar_autor'), - - path('libros/', views.lista_libros, name='lista_libros'), - path('libros/nuevo/', views.nuevo_libro, name='nuevo_libro'), - path('libros//', views.detalle_libro, name='detalle_libro'), - path('libros//editar/', views.editar_libro, name='editar_libro'), - path('libros//eliminar/', views.eliminar_libro, name='eliminar_libro'), - -] diff --git a/ReyMotaAppsDj/reymota/libros/views.py b/ReyMotaAppsDj/reymota/libros/views.py deleted file mode 100644 index dba9bfc..0000000 --- a/ReyMotaAppsDj/reymota/libros/views.py +++ /dev/null @@ -1,103 +0,0 @@ -from django.shortcuts import render, get_object_or_404, redirect -from django.contrib.auth.decorators import login_required - -from .models import Autor, Libro -from .forms import AutorForm, LibroForm - - -@login_required -def principal(request): - return render(request, 'libros/index.html') - - -# Vistas para los autores -@login_required -def lista_autores(request): - autores = Autor.objects.all() - return render(request, 'libros/lista_autores.html', {'autores': autores}) - - -@login_required -def detalle_autor(request, autor_id): - autor = get_object_or_404(Autor, pk=autor_id) - - libros = Libro.objects.filter(autor=autor_id) - - return render(request, 'libros/detalle_autor.html', {'autor': autor, 'libros': libros}) - - -@login_required -def nuevo_autor(request): - if request.method == 'POST': - form = AutorForm(request.POST, request.FILES) - if form.is_valid(): - form.save() - return redirect('libros:lista_autores') - else: - form = AutorForm() - return render(request, 'libros/form_autor.html', {'form': form}) - - -@login_required -def editar_autor(request, autor_id): - autor = get_object_or_404(Autor, pk=autor_id) - if request.method == 'POST': - form = AutorForm(request.POST, request.FILES, instance=autor) - if form.is_valid(): - form.save() - return redirect('libros:lista_autores') - else: - form = AutorForm(instance=autor) - return render(request, 'libros/form_autor.html', {'form': form}) - - -@login_required -def eliminar_autor(request, autor_id): - autor = get_object_or_404(Autor, pk=autor_id) - autor.delete() - return redirect('libros:lista_autores') - - -# Vistas para los libros -@login_required -def lista_libros(request): - libros = Libro.objects.all() - return render(request, 'libros/lista_libros.html', {'libros': libros}) - - -@login_required -def detalle_libro(request, libro_id): - libro = get_object_or_404(Libro, pk=libro_id) - return render(request, 'libros/detalle_libro.html', {'libro': libro}) - - -@login_required -def nuevo_libro(request): - if request.method == 'POST': - form = LibroForm(request.POST, request.FILES) - if form.is_valid(): - form.save() - return redirect('libros:lista_libros') - else: - form = LibroForm() - return render(request, 'libros/form_libro.html', {'form': form}) - - -@login_required -def editar_libro(request, libro_id): - libro = get_object_or_404(Libro, pk=libro_id) - if request.method == 'POST': - form = LibroForm(request.POST, request.FILES, instance=libro) - if form.is_valid(): - form.save() - return redirect('libros:lista_libros') - else: - form = LibroForm(instance=libro) - return render(request, 'libros/form_libro.html', {'form': form}) - - -@login_required -def eliminar_libro(request, libro_id): - libro = get_object_or_404(Libro, pk=libro_id) - libro.delete() - return redirect('libros:lista_libros') diff --git a/ReyMotaAppsDj/reymota/reymota/urls.py b/ReyMotaAppsDj/reymota/reymota/urls.py index 3fcc446..a8e1cc8 100644 --- a/ReyMotaAppsDj/reymota/reymota/urls.py +++ b/ReyMotaAppsDj/reymota/reymota/urls.py @@ -25,8 +25,6 @@ from . import views urlpatterns = [ path('obreros/', admin.site.urls), - path('libros/', include('libros.urls')), - path('repostajes/', include('repostajes.urls')), path('lyrics/', include('lyrics.urls')), diff --git a/ReyMotaAppsDj/reymota/templates/_cabecera.html b/ReyMotaAppsDj/reymota/templates/_cabecera.html index b66dde4..6fb7fe4 100644 --- a/ReyMotaAppsDj/reymota/templates/_cabecera.html +++ b/ReyMotaAppsDj/reymota/templates/_cabecera.html @@ -108,7 +108,6 @@