Beispiel #1
0
def index(request):
    games = Game.objects.all()

    if request.method == 'POST':
        new_game = Game()
        form = GameForm(request.POST, instance=new_game)
        if form.is_valid():
            try:
                form.save()
                new_game.add_player(request.user, True)
            except Exception:
                new_game.delete()
                messages.error(request, "Usted ya pertenece a otra partida")
                return render(request, "truco/index.html", {
                    'games': games,
                    'form': form,
                })

            messages.success(request, "Partida creada exitosamente")
            return HttpResponseRedirect(
                reverse('truco:room', args=(new_game.id, )))
        else:
            messages.error(request, "Error al crear partida")
    else:
        form = GameForm()

    return render(request, "truco/index.html", {'games': games, 'form': form})
Beispiel #2
0
def new(request):
    game_form = GameForm(request.user)
    screenshot_form = formset_factory(ScreenshotForm, extra=4, min_num=4, max_num=8)
    
    if request.method == "POST":
        game_form = GameForm(request.user, request.POST, request.FILES)
        screenshot_form = screenshot_form(request.POST, request.FILES)
        
        if game_form.is_valid():
            game = game_form.save()
            
            if screenshot_form.is_valid():
                for scf in screenshot_form:
                    action = scf.save(commit=False)
                    if not action.image:
                        continue
                    action.game = game
                    action.save()
                messages.add_message(request, messages.SUCCESS, "New game has been added successfully.")
                return redirect(reverse('games_index'))
            else:
                game.delete()
                messages.add_message(request, messages.ERROR, "Add new game failed. Check your screenshots.")
        else:
            messages.add_message(request, messages.ERROR, "Add new game failed. Check your game data.")
            
    data = {'game_form': game_form, 'screenshot_form': screenshot_form}
    return render(request, 'games/new.html', data)
Beispiel #3
0
 def get(self, request):
     form = GameForm(request.GET)
     if form.is_valid():
         game = form.get_game()
         return self.render_to_response({"game": [game]})
     else:
         return self.render_to_response({"request_error": form.errors, "game": []})
Beispiel #4
0
 def get(self, request):
     form = GameForm(request.GET)
     if form.is_valid():
         game = form.get_game()
         return self.render_to_response({"game": [game]})
     else:
         return self.render_to_response({
             "request_error": form.errors,
             "game": []
         })
Beispiel #5
0
def add_game(request):
    user = request.user
    old_game = user.get_current_game()
    
    if old_game:
        return redirect('main:index')
        
    form = GameForm(request.POST or None)

    if form.is_valid():
        game = form.save()
        game.generate_map()
        game.add_user(request.user)
        return redirect('main:index')

    return dict(form=form)
Beispiel #6
0
def _edit(request, game_id):
	if game_id == None:
		game = None 
	else:
		game = get_object_or_404(GameInfoModel, pk=game_id)

	if request.POST:
		form = GameForm(request.POST, instance=game) # this line is gonna be iffy
		if form.is_valid():
			game = form.save()
			return HttpResponseRedirect(reverse('featured_games-list'))
	else:
		form = GameForm(instance=game)

	return render(request, "featured_games/edit.html", {
		"chunk_size": settings.CHUNK_SIZE,
		"form": form,	
	})
Beispiel #7
0
def game_create_direct(request, timeframe_id, location_id):
    timeframe = get_object_or_404(Timeframe, pk=timeframe_id)
    location = get_object_or_404(Location, pk=location_id)

    if request.method == 'POST':
        form = GameForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('tournament_saved')
    else:
        form = GameForm(initial={
            'time': timeframe,
            'location': location,

        })

    return render(request, 'habatu/game_form.html', {
        'form': form,
    })
Beispiel #8
0
def _edit(request, game_id):
	"""
	Edit or create a game
	"""
	if game_id == None:
		game = None
	else:
		game = get_object_or_404(Game, pk=game_id)

	if request.method == "POST":
		form = GameForm(request.POST, instance=game)
		if form.is_valid():
			form.save(user=request.user)
			return HttpResponseRedirect(reverse("games-detail", args=(file.pk,)))
	else:
		form = GameForm(instance=game)

	return render(request, 'games/edit.html', {
		"game": game,	
		"form": form,	
	})