Browse Source

Los correos recordatorios se envían uno a cada uno

politica
Celestino Rey 9 months ago
parent
commit
422aba7241
10 changed files with 31 additions and 115 deletions
  1. +1
    -2
      JugarAlPadel/K8S/Makefile
  2. +5
    -5
      JugarAlPadel/K8S/db-deployment.yaml
  3. +3
    -3
      JugarAlPadel/K8S/db-service.yaml
  4. +0
    -11
      JugarAlPadel/K8S/env-prod-configmap.yaml
  5. +0
    -55
      JugarAlPadel/K8S/jugaralpadel-deployment.yaml
  6. +0
    -15
      JugarAlPadel/K8S/postgres-topolvm-pvc.yaml
  7. +4
    -3
      JugarAlPadel/gestion_reservas/eventos/views.py
  8. +7
    -0
      JugarAlPadel/gestion_reservas/gestion_reservas/context_processors.py
  9. +10
    -14
      JugarAlPadel/gestion_reservas/gestion_reservas/settings.py
  10. +1
    -7
      JugarAlPadel/gestion_reservas/templates/_branding.html

+ 1
- 2
JugarAlPadel/K8S/Makefile View File

@ -1,8 +1,7 @@
export ARQUITECTURA := $(shell lscpu |grep itectur | tr -d ' '| cut -f2 -d':') export ARQUITECTURA := $(shell lscpu |grep itectur | tr -d ' '| cut -f2 -d':')
#export REGISTRY=localhost:5000
export REGISTRY=registry.reymota.es export REGISTRY=registry.reymota.es
export IMG_VERSION = 0.70.14
export IMG_VERSION = 0.70.21
export IMG_NGINX_VERSION = 2.3 export IMG_NGINX_VERSION = 2.3
# limpia todo # limpia todo


+ 5
- 5
JugarAlPadel/K8S/db-deployment.yaml View File

@ -5,14 +5,14 @@ metadata:
kompose.cmd: kompose convert kompose.cmd: kompose convert
kompose.version: 1.34.0 (cbf2835db) kompose.version: 1.34.0 (cbf2835db)
labels: labels:
io.kompose.service: db
name: db
io.kompose.service: postgresql
name: postgresql
namespace: jugaralpadel namespace: jugaralpadel
spec: spec:
replicas: 1 replicas: 1
selector: selector:
matchLabels: matchLabels:
io.kompose.service: db
io.kompose.service: postgresql
strategy: strategy:
type: Recreate type: Recreate
template: template:
@ -21,7 +21,7 @@ spec:
kompose.cmd: kompose convert kompose.cmd: kompose convert
kompose.version: 1.34.0 (cbf2835db) kompose.version: 1.34.0 (cbf2835db)
labels: labels:
io.kompose.service: db
io.kompose.service: postgresql
spec: spec:
containers: containers:
- env: - env:
@ -41,7 +41,7 @@ spec:
key: POSTGRES_USER key: POSTGRES_USER
name: env-prod-db name: env-prod-db
image: postgres:15 image: postgres:15
name: db
name: postgresql
volumeMounts: volumeMounts:
- mountPath: /var/lib/postgresql/data - mountPath: /var/lib/postgresql/data
name: postgres-data name: postgres-data


+ 3
- 3
JugarAlPadel/K8S/db-service.yaml View File

@ -5,8 +5,8 @@ metadata:
kompose.cmd: kompose convert kompose.cmd: kompose convert
kompose.version: 1.34.0 (cbf2835db) kompose.version: 1.34.0 (cbf2835db)
labels: labels:
io.kompose.service: db
name: db
io.kompose.service: postgresql
name: postgresql
namespace: jugaralpadel namespace: jugaralpadel
spec: spec:
ports: ports:
@ -14,4 +14,4 @@ spec:
port: 5432 port: 5432
targetPort: 5432 targetPort: 5432
selector: selector:
io.kompose.service: db
io.kompose.service: postgresql

+ 0
- 11
JugarAlPadel/K8S/env-prod-configmap.yaml View File

@ -1,17 +1,6 @@
apiVersion: v1 apiVersion: v1
data: data:
DEBUG: "False" DEBUG: "False"
ENTORNO: "Producción"
DJANGO_ALLOWED_HOSTS: "jugaralpadel.rancher.reymota.lab jugaralpadel.es jugaralpadel.ddns.net vmcluster k8s-server localhost 127.0.0.1 [::1]"
CSRF_TRUSTED_ORIGINS: "http://jugaralpadel.rancher.reymota.lab https://jugaralpadel.rancher.reymota.lab https://jugaralpadel.es http://vmcluster"
SECRET_KEY: change_me
SQL_DATABASE: jugaralpadel
SQL_ENGINE: django.db.backends.postgresql
SQL_HOST: db
SQL_PASSWORD: Dsa-0213
SQL_PORT: "5432"
SQL_USER: creylopez
DATABASE: postgres
kind: ConfigMap kind: ConfigMap
metadata: metadata:
labels: labels:


+ 0
- 55
JugarAlPadel/K8S/jugaralpadel-deployment.yaml View File

@ -41,66 +41,11 @@ spec:
env: env:
- name: VERSION - name: VERSION
value: "$IMG_VERSION" value: "$IMG_VERSION"
- name: ENVIRONMENT
valueFrom:
configMapKeyRef:
key: ENTORNO
name: env-prod
- name: DEBUG - name: DEBUG
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
key: DEBUG key: DEBUG
name: env-prod name: env-prod
- name: DJANGO_ALLOWED_HOSTS
valueFrom:
configMapKeyRef:
key: DJANGO_ALLOWED_HOSTS
name: env-prod
- name: CSRF_TRUSTED_ORIGINS
valueFrom:
configMapKeyRef:
key: CSRF_TRUSTED_ORIGINS
name: env-prod
- name: SECRET_KEY
valueFrom:
configMapKeyRef:
key: SECRET_KEY
name: env-prod
- name: DATABASE
valueFrom:
configMapKeyRef:
key: DATABASE
name: env-prod
- name: SQL_HOST
valueFrom:
configMapKeyRef:
key: SQL_HOST
name: env-prod
- name: SQL_PORT
valueFrom:
configMapKeyRef:
key: SQL_PORT
name: env-prod
- name: SQL_ENGINE
valueFrom:
configMapKeyRef:
key: SQL_ENGINE
name: env-prod
- name: SQL_DATABASE
valueFrom:
configMapKeyRef:
key: SQL_DATABASE
name: env-prod
- name: SQL_USER
valueFrom:
configMapKeyRef:
key: SQL_USER
name: env-prod
- name: SQL_PASSWORD
valueFrom:
configMapKeyRef:
key: SQL_PASSWORD
name: env-prod
ports: ports:
- containerPort: 8000 - containerPort: 8000
protocol: TCP protocol: TCP


+ 0
- 15
JugarAlPadel/K8S/postgres-topolvm-pvc.yaml View File

@ -1,15 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
io.kompose.service: postgres-data
name: postgres-data
namespace: jugaralpadel
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
storageClassName: topolvm-provisioner

+ 4
- 3
JugarAlPadel/gestion_reservas/eventos/views.py View File

@ -335,11 +335,12 @@ def enviar_correo_inscritos(request, evento_id):
firma = "\n\n\nSaludos, \n\nPádel entre amigos" firma = "\n\n\nSaludos, \n\nPádel entre amigos"
mensaje = f"{mensaje_usuario}{firma}" mensaje = f"{mensaje_usuario}{firma}"
mensaje_comun = (asunto, mensaje, settings.DEFAULT_FROM_EMAIL, destinatarios)
mensaje_final = [mensaje_comun]
mensajes = [
(asunto, mensaje, settings.DEFAULT_FROM_EMAIL, [email]) for email in destinatarios
]
try: try:
send_mass_mail(mensaje_final, fail_silently=False)
send_mass_mail(mensajes, fail_silently=False)
except BadHeaderError: except BadHeaderError:
return HttpResponse('Encabezado inválido encontrado.') return HttpResponse('Encabezado inválido encontrado.')
except SMTPException as e: except SMTPException as e:


+ 7
- 0
JugarAlPadel/gestion_reservas/gestion_reservas/context_processors.py View File

@ -0,0 +1,7 @@
from django.conf import settings
def app_version(request):
return {
'APP_VERSION': settings.APP_VERSION
}

+ 10
- 14
JugarAlPadel/gestion_reservas/gestion_reservas/settings.py View File

@ -14,6 +14,7 @@ from pathlib import Path
import os import os
import logging import logging
APP_VERSION = "11.0.2"
# Build paths inside the project like this: BASE_DIR / 'subdir'. # Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent BASE_DIR = Path(__file__).resolve().parent.parent
@ -28,8 +29,8 @@ SECRET_KEY = 'hey'
# SECURITY WARNING: don't run with debug turned on in production! # SECURITY WARNING: don't run with debug turned on in production!
DEBUG = os.environ["DEBUG"] == 'True' DEBUG = os.environ["DEBUG"] == 'True'
ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS").split(" ")
ALLOWED_HOSTS = [".ocp-cluster.reymota.lab", "jugaralpadel.rancher.reymota.lab", "jugaralpadel.es"]
CSRF_TRUSTED_ORIGINS = ["https://*.ocp-cluster.reymota.lab", "http://jugaralpadel.rancher.reymota.lab", " https://jugaralpadel.rancher.reymota.lab", " https://jugaralpadel.es"]
# Application definition # Application definition
@ -71,6 +72,7 @@ TEMPLATES = [
'django.template.context_processors.request', 'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth', 'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages', 'django.contrib.messages.context_processors.messages',
'gestion_reservas.context_processors.app_version',
], ],
'libraries': { 'libraries': {
'filtros_de_entorno': 'gestion_reservas.templatetags.filtros_de_entorno', 'filtros_de_entorno': 'gestion_reservas.templatetags.filtros_de_entorno',
@ -87,16 +89,15 @@ WSGI_APPLICATION = 'gestion_reservas.wsgi.application'
DATABASES = { DATABASES = {
"default": { "default": {
"ENGINE": os.environ.get("SQL_ENGINE", "django.db.backends.sqlite3"),
"NAME": os.environ.get("SQL_DATABASE", BASE_DIR / "db.sqlite3"),
"USER": os.environ.get("SQL_USER", "user"),
"PASSWORD": os.environ.get("SQL_PASSWORD", "password"),
"HOST": os.environ.get("SQL_HOST", "localhost"),
"PORT": os.environ.get("SQL_PORT", "5432"),
"ENGINE": "django.db.backends.postgresql",
"NAME": "jugaralpadel",
"USER": "creylopez",
"PASSWORD": "Dsa-0213",
"HOST": "postgresql",
"PORT": "5432",
} }
} }
# Password validation # Password validation
# https://docs.djangoproject.com/en/5.1/ref/settings/#auth-password-validators # https://docs.djangoproject.com/en/5.1/ref/settings/#auth-password-validators
@ -152,11 +153,6 @@ AUTH_USER_MODEL = "reymotausers.ReyMotaUser"
MEDIA_ROOT = BASE_DIR / "mediafiles" MEDIA_ROOT = BASE_DIR / "mediafiles"
MEDIA_URL = '/media/' MEDIA_URL = '/media/'
if DEBUG is False:
CSRF_TRUSTED_ORIGINS = os.environ.get("CSRF_TRUSTED_ORIGINS").split(" ")
CSRF_TRUSTED_ORIGINS = os.environ.get("CSRF_TRUSTED_ORIGINS").split(" ")
# Configuración de correo con Gmail # Configuración de correo con Gmail
if DEBUG is True: if DEBUG is True:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'


+ 1
- 7
JugarAlPadel/gestion_reservas/templates/_branding.html View File

@ -3,12 +3,6 @@
{% load filtros_de_entorno %} {% load filtros_de_entorno %}
<div class="app-branding"> <div class="app-branding">
<a class="app-logo" href="{% url 'principal' %}"><img class="logo-icon me-2" src="{% static 'images/palapadel.svg' %}" alt="logo"><span class="logo-text">JUGAR AL PADEL</span><span style="color: blue; font-size: 14px;">
{% if 'ENVIRONMENT'|muestra_version == 'Pruebas' %}
p
{% else %}
v
{% endif %}
{{ "VERSION"|muestra_version }}</span></a>
<a class="app-logo" href="{% url 'principal' %}"><img class="logo-icon me-2" src="{% static 'images/palapadel.svg' %}" alt="logo"><span class="logo-text">JUGAR AL PADEL</span><span style="color: blue; font-size: 14px;"> v {{ "VERSION"|muestra_version }}</span></a>
</div><!--//app-branding--> </div><!--//app-branding-->

Loading…
Cancel
Save