fix Contar sólo los proyectos de la convocatoria indicada

parent e3877f30
Pipeline #369 passed with stage
in 7 seconds
......@@ -69,13 +69,15 @@ class CustomUser(AbstractUser):
return col
return None
def get_num_equipos(self):
def get_num_equipos(self, anyo):
"""Devuelve el número de equipos de trabajo en los que participa el usuario."""
num_como_participante = self.vinculaciones.filter(
tipo_participacion="participante"
tipo_participacion="participante", proyecto__convocatoria_id=anyo
).count()
num_como_coordinador = self.vinculaciones.filter(
tipo_participacion="coordinador", proyecto__estado="SOLICITADO"
tipo_participacion="coordinador",
proyecto__convocatoria_id=anyo,
proyecto__estado="SOLICITADO",
).count()
num_equipos = num_como_participante + num_como_coordinador
return num_equipos
......
......@@ -140,8 +140,10 @@ class ParticipanteAceptarView(LoginRequiredMixin, RedirectView):
def post(self, request, *args, **kwargs):
usuario_actual = self.request.user
proyecto_id = kwargs.get("proyecto_id")
proyecto = get_object_or_404(Proyecto, pk=proyecto_id)
num_equipos = usuario_actual.get_num_equipos()
num_equipos = usuario_actual.get_num_equipos(proyecto.convocatoria_id)
num_max_equipos = Convocatoria.objects.order_by("-id").first().num_max_equipos
if num_equipos >= num_max_equipos:
messages.error(
......@@ -155,8 +157,6 @@ class ParticipanteAceptarView(LoginRequiredMixin, RedirectView):
)
return super().post(request, *args, **kwargs)
proyecto_id = kwargs.get("proyecto_id")
proyecto = get_object_or_404(Proyecto, pk=proyecto_id)
pp = get_object_or_404(
ParticipanteProyecto,
proyecto_id=proyecto_id,
......@@ -354,7 +354,7 @@ class ProyectoPresentarView(LoginRequiredMixin, ChecksMixin, RedirectView):
# TODO ¿Chequear el estado actual del proyecto?
num_equipos = self.request.user.get_num_equipos()
num_equipos = self.request.user.get_num_equipos(proyecto.convocatoria_id)
num_max_equipos = Convocatoria.objects.order_by("-id").first().num_max_equipos
if num_equipos >= num_max_equipos:
messages.error(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment