def edit_player(request, id): player = get_object_or_404(Player, pk=id) if request.method == "POST": form = PlayerForm(request.POST, request.FILES, instance=player) if form.is_valid(): player = form.save(False) player.save() messages.success( request, "You have edited " + player.name + ' ' + player.last_name + "!") return redirect('get_team', player.team_id) else: messages.error(request, 'Please correct the errors below.') else: form = PlayerForm(instance=player) if request.user.is_superuser: form.fields['team'].queryset = Team.objects.all() else: form.fields['team'].queryset = Team.objects.filter( id=request.user.profile.team_id) | Team.objects.filter( name="Unassigned") return render( request, 'form.html', { 'form': form, 'cancelview': "get_team", 'cancelid': player.team.id, 'heading_text': 'You are editing ' + player.name + ' ' + player.last_name, 'button_text': 'Save Player', })
def new_player(request): if request.method == "POST": form = PlayerForm(request.POST) if form.is_valid(): player = form.save(commit=False) player.save() messages.success( request, "You have added " + player.name + " " + player.last_name + " to " + player.team.name + " Team!") return redirect('get_team', player.team_id) else: messages.error(request, 'Please correct the errors below.') else: form = PlayerForm() if request.user.is_superuser: form.fields['team'].queryset = Team.objects.all() else: form.fields["team"].queryset = Team.objects.filter( id=request.user.profile.team_id) return render( request, 'form.html', { 'form': form, 'heading_text': 'You are creating a new player!', 'button_text': 'Save Player', })
def new_player(request): if request.method == 'POST': pf = PlayerForm(request.POST) if pf.is_valid(): new_p = pf.save(commit=False) new_p.balance = STARTING_BALANCE new_p.save() return redirect('bank.views.player', new_p.id) else: pf = PlayerForm() return render(request, "new_player.html", {'form': pf})
def create(request): if request.POST: form = PlayerForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/players/') else: form = PlayerForm() args = {} args.update(csrf(request)) args['form'] = form return render_to_response('players/create.html', args)
def edit(request, player_id): if player_id: player = Player.objects.get(id=player_id) if request.method == "POST": form = PlayerForm(request.POST, instance=player) if form.is_valid(): form.save() return HttpResponseRedirect('/players/') else: form = PlayerForm(instance=player) args = {} args.update(csrf(request)) args['form'] = form args['player'] = player return render_to_response('players/edit.html', args)
def register(request): uform = UserForm(request.POST or None) form = PlayerForm(request.POST or None) if uform.is_valid() and form.is_valid(): dj_user = uform.save() player = form.save(commit=False) player.user = dj_user prof = Profile() prof.save() player.profile = prof player.save() #authenticate user #dj_user = authenticate(username=uform.cleaned_data['username'], # password=uform.cleaned_data['password'], # ) #login(request, dj_user) #success sends to map and the questions.. return redirect(reverse('login')) #register invalid.. go back to register (test registration errors!! probably fix css for errors) return render(request, 'registration/register.html', context={ 'form': form, 'uform': uform })
def put(self, request): player = Player() data = json.loads(request.body) if data.get("project"): data["project"] = AdviserProject.objects.get(id=data["project"]) player_form = PlayerForm(data) if not player_form.is_valid(): return HttpResponseBadRequest("Invalid input data. Please edit and try again.") player.set(data) return HttpResponse(status=201)
def player_view(game_name, player_name): """Player Page""" #rebuild class instance from SQL request game_archive = GameArchive.query.filter_by(game_name=game_name) game = Game.unarchive(game_archive) #make forms player_form = PlayerForm() swap_form = SwapLettersForm() #validation for play submission if player_name != game.player_order[0]: pass elif player_form.validate_on_submit(): #parse tile positions tile_pos = [(int(r), int(c)) for r, c in zip(player_form.rows.data.split(','), player_form.cols.data.split(','))] #play word played_word = game.players[player_name].play_word( word=player_form.word_play.data, tile_pos=tile_pos) #place tiles coords = game.board.place_tiles(played_word) #score word game.score_word(coords, player_name) #draw letters game.tilebag.draw_letters(game.players[player_name]) #increment turn list game.player_order.append(game.player_order.pop(0)) #update database game.archive(db, archive=game_archive) elif swap_form.validate_on_submit(): #swap_letter game.tilebag.swap_letter(game.players[player_name], swap_form.letter.data) #increment turn list game.player_order.append(game.player_order.pop(0)) #update database game.archive(db, archive=game_archive) #first render the JS d3_rack = render_template( 'js/player.js', square=2 * s, letter_rack=game.players[player_name].letter_rack, num_letters=len(game.players[player_name].letter_rack)) return render_template('player.html', submit_form=player_form, swap_form=swap_form, name=player_name, your_turn=player_name == game.player_order[0], d3_rack=d3_rack)
def player_view(game_name, player_name): """Player Page""" #make SQL request game_archive = GameArchive.query.filter_by(game_name=game_name) #rebuild class instance game = unpack_game(game_archive) #make submit form player_form = PlayerForm() #make swap letter form swap_form = SwapLettersForm() #validation for play submission if player_form.validate_on_submit(): #parse tile positions tile_pos = [(int(r), int(c)) for r, c in zip(player_form.rows.data.split(','), player_form.cols.data.split(','))] #play word played_word = game.players[player_name].play_word( word=player_form.word_play.data, tile_pos=tile_pos) #place tiles game.board.place_tiles(played_word) #draw letters game.tilebag.draw_letters(game.players[player_name]) #update database update_game(game, game_archive) elif swap_form.validate_on_submit(): #swap_letter game.tilebag.swap_letter(game.players[player_name], swap_form.letter.data) #update database update_game(game, game_archive) return render_template('player.html', submit_form=player_form, swap_form=swap_form, letter_rack=game.players[player_name].letter_rack, num_letters=len( game.players[player_name].letter_rack), name=player_name, square=2 * s)