-
Notifications
You must be signed in to change notification settings - Fork 34
Open
Description
Describe the bug
it is impossible to join a team which has 0 members
ValidationError at /bornhack-2026/teams/orga/join/
{'recipient': ['either to_recipient, bcc_recipient or cc_recipient required.']}
Request Method: POST
Request URL: https://bornhack.dk/bornhack-2026/teams/orga/join/
Django Version: 4.2.21
Python Executable: /usr/local/bin/uwsgi-3.11
Python Version: 3.11.14
Python Path: ['.', '', '/usr/local/lib/python311.zip', '/usr/local/lib/python3.11', '/usr/local/lib/python3.11/lib-dynload', '/usr/local/virtualenv/lib/python3.11/site-packages']
Server time: Sat, 06 Dec 2025 10:03:05 +0100
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.gis',
'django.contrib.humanize',
'colorfield',
'channels',
'corsheaders',
'profiles',
'camps',
'shop',
'news',
'utils',
'villages',
'program',
'info',
'sponsors',
'ircbot',
'teams',
'people',
'tickets',
'backoffice',
'events',
'rideshare',
'tokens',
'feedback',
'economy',
'wishlist',
'facilities',
'phonebook',
'maps',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.mfa',
'django_otp',
'django_otp.plugins.otp_totp',
'django_otp.plugins.otp_static',
'django_bootstrap5',
'reversion',
'leaflet',
'oauth2_provider',
'taggit',
'django_tables2',
'django_filters']
Installed Middleware:
['django_prometheus.middleware.PrometheusBeforeMiddleware',
'utils.middleware.NeverVaryTilesMiddleware',
'django.middleware.gzip.GZipMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'allauth.account.middleware.AccountMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django_otp.middleware.OTPMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'utils.middleware.RedirectExceptionMiddleware',
'camps.middleware.RequestCampMiddleware',
'oauth2_provider.middleware.OAuth2TokenMiddleware',
'oauth2_provider.middleware.OAuth2ExtraTokenMiddleware',
'django_prometheus.middleware.PrometheusAfterMiddleware']
Traceback (most recent call last):
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/contrib/auth/mixins.py", line 73, in dispatch
return super().dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/views/generic/base.py", line 143, in dispatch
return handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/views/generic/edit.py", line 208, in post
return super().post(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/views/generic/edit.py", line 153, in post
return self.form_valid(form)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/www/django/src/teams/views/members.py", line 71, in form_valid
TeamMember.objects.create(team=self.get_object(), user=self.request.user)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/db/models/query.py", line 658, in create
obj.save(force_insert=True, using=self.db)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/www/django/src/utils/models.py", line 104, in save
super().save(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/www/django/src/utils/models.py", line 61, in save
super().save(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/db/models/base.py", line 814, in save
self.save_base(
^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/db/models/base.py", line 892, in save_base
post_save.send(
^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/dispatch/dispatcher.py", line 176, in send
return [
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/dispatch/dispatcher.py", line 177, in <listcomp>
(receiver, receiver(signal=self, sender=sender, **named))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/www/django/src/teams/signal_handlers.py", line 26, in teammember_saved
if not add_new_membership_email(instance):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/www/django/src/teams/email.py", line 60, in add_new_membership_email
return add_outgoing_email(
File "/usr/local/www/django/src/utils/email.py", line 121, in add_outgoing_email
email = OutgoingEmail.objects.create(
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/virtualenv/lib/python3.11/site-packages/django/db/models/query.py", line 658, in create
obj.save(force_insert=True, using=self.db)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/www/django/src/utils/models.py", line 52, in save
self.clean()
^^^^^^^^^^^^
File "/usr/local/www/django/src/utils/models.py", line 172, in clean
raise ValidationError(
^
Exception Type: ValidationError at /bornhack-2026/teams/orga/join/
Exception Value: {'recipient': ['either to_recipient, bcc_recipient or cc_recipient required.']}
Raised during: teams.views.members.TeamJoinView
Request information:
USER: 125ce075-2008-4796-8f46-31fb89d6d7a4
GET: No GET data
Metadata
Metadata
Assignees
Labels
No labels