Skip to content

Commit 8547432

Browse files
committed
Updated the api_new_meeting_registration() endpoint to set all provided fields correctly. Fixes a bug that left some fields unset.
- Legacy-Id: 17957
1 parent 61f0172 commit 8547432

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

ietf/api/views.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ def err(code, text):
133133
# reg_type (In Person, Remote, Hackathon Only)
134134
# ticket_type (full_week, one_day, student)
135135
#
136-
data = {}
136+
data = {'attended': False, }
137137
missing_fields = []
138138
for item in fields:
139139
value = request.POST.get(item, None)
@@ -158,7 +158,12 @@ def err(code, text):
158158
else:
159159
object, created = MeetingRegistration.objects.get_or_create(meeting_id=meeting.pk, email=email)
160160
try:
161-
MeetingRegistration.objects.filter(id=object.id).update(**data)
161+
# Set attributes not already in the object
162+
for key in set(data.keys())-set(['apikey', 'meeting', 'email']):
163+
setattr(object, key, data.get(key))
164+
person = Person.objects.filter(email__address=email)
165+
if person.exists():
166+
object.person = person.first()
162167
object.save()
163168
except ValueError as e:
164169
return err(400, "Unexpected POST data: %s" % e)
@@ -171,4 +176,3 @@ def err(code, text):
171176
return HttpResponse(response, status=202, content_type='text/plain')
172177
else:
173178
return HttpResponse(status=405)
174-

0 commit comments

Comments
 (0)