def create(request): if request.method == 'POST': gf = GameForm(request.POST) if gf.is_valid(): users = gf.cleaned_data['users'] g = Game() g.save() for user in users: p = Player.objects.create(user=user, game=g, points=0) p = Player.objects.create(user=request.user, game=g, points=0) topics = Topic.objects.filter(deleted=False).order_by('?') for topic in topics: game_topic = GameTopic.objects.create(topic=topic, game=g) #create turn turn = Turn.objects.create(game=g, num=1, judge=request.user) g.current_turn = turn g.save() return HttpResponseRedirect(reverse('game', kwargs={'game_id':g.id})) else: gf = GameForm() try: fb_profile = FacebookSession.objects.get(user=request.user) except FacebookSession.DoesNotExist: raise Http404 user_friends_list, user_friends_queryset, only_fb_friends_list = get_friends_list(fb_profile) gf.fields["users"].queryset = user_friends_queryset template_context = {'gf': gf, 'user_friends_list':user_friends_list, 'fb_friends_list':only_fb_friends_list} return render_to_response('create_game.html', template_context, context_instance=RequestContext(request))