@@ -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