Просмотр исходного кода

Añade formulario para reservar

creylopez 1 год назад
Родитель
Сommit
7c0614121e
1 измененных файлов с 26 добавлено и 0 удалено
  1. 26 0
      src/eventos/forms.py

+ 26 - 0
src/eventos/forms.py

@@ -3,7 +3,33 @@ from django import forms
 from .models import Evento
 from .models import ListaEspera
 
+User = get_user_model()
 
+class ReservaForm(forms.ModelForm):
+    acompanante = forms.ModelChoiceField(
+        queryset=User.objects.none(),
+        required=False,
+        label="Acompañante"
+    )
+
+    class Meta:
+        model = Reserva
+        fields = ['acompanante']
+
+    def __init__(self, *args, **kwargs):
+        evento = kwargs.pop('evento', None)
+        usuario = kwargs.pop('usuario', None)
+        super().__init__(*args, **kwargs)
+
+        # Solo permitir elegir acompañante si el evento es para parejas
+        if evento and evento.para_parejas:
+            # Todos los usuarios menos el propio
+            self.fields['acompanante'].queryset = User.objects.exclude(id=usuario.id)
+        else:
+            # Si no es evento de parejas, ocultamos el campo
+            self.fields.pop('acompanante')
+
+            
 class EventoForm(forms.ModelForm):
     class Meta:
         model = Evento