Skip to content

Commit bca3bf6

Browse files
authored
Allow event blank and fix 500 bug (#3832)
* Allow event blank and fix 500 bug * Fixes 500 on survey template
1 parent 84c2f53 commit bca3bf6

File tree

3 files changed

+33
-5
lines changed

3 files changed

+33
-5
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Generated by Django 4.2.16 on 2025-04-17 13:42
2+
3+
import django.db.models.deletion
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
("events", "0043_alter_registration_presence_and_more"),
11+
("surveys", "0015_alter_survey_options"),
12+
]
13+
14+
operations = [
15+
migrations.AlterField(
16+
model_name="survey",
17+
name="event",
18+
field=models.OneToOneField(
19+
blank=True,
20+
null=True,
21+
on_delete=django.db.models.deletion.CASCADE,
22+
to="events.event",
23+
),
24+
),
25+
]

lego/apps/surveys/models.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ class Survey(BasisModel):
3030
max_length=30, choices=EVENT_TYPES, null=True, blank=True, unique=False
3131
)
3232
is_template = models.BooleanField(default=False, null=False)
33-
event = models.OneToOneField("events.Event", on_delete=models.CASCADE, null=True)
33+
event = models.OneToOneField(
34+
"events.Event", on_delete=models.CASCADE, null=True, blank=True
35+
)
3436
sent = models.BooleanField(default=False)
3537
token = models.CharField(
3638
max_length=64, default=None, unique=True, null=True, blank=True

lego/apps/surveys/permissions.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def has_perm(
6161
survey = queryset.get(id=survey_pk)
6262
except queryset.model.DoesNotExist:
6363
survey = None
64-
if survey and user:
64+
if survey and user and survey.event:
6565
user_attended_event = survey.event.registrations.filter(
6666
user=user.id, presence=PRESENCE_CHOICES.PRESENT
6767
).exists()
@@ -126,9 +126,10 @@ def has_perm(
126126

127127
survey_pk = view.kwargs["survey_pk"]
128128
survey = Survey.objects.get(id=survey_pk)
129-
user_attended_event = survey.event.registrations.filter(
130-
user=user.id, presence=PRESENCE_CHOICES.PRESENT
131-
).exists()
129+
if survey.event:
130+
user_attended_event = survey.event.registrations.filter(
131+
user=user.id, presence=PRESENCE_CHOICES.PRESENT
132+
).exists()
132133

133134
if is_survey_admin:
134135
return True

0 commit comments

Comments
 (0)