def submit(self, request): ''' Submits this form to create the given game. ''' members = GameMember.filterByGame(self.cleaned_data['game_id']) them = None me = None for m in members: if str(m.user_id) == request.user.pk: me = m if str(m.user_id) == self.cleaned_data['user_id']: them = m if them and me: break if them: raise GameMemberAlreadyExists() if not me: raise PermissionDenied() member = GameMember.fromMap(self.cleaned_data) member.save() return GameMemberSerializer(member).data