def player_info(player_id): player = Player.execute_select({'id': player_id})[0] participant = Participant.execute_select({'player_id': player.id}, [('t.date_start', False)]) return render_template('player_info.html', player=player, participant=participant)
def process_player(self, row, city_id, rank_id): last_name, first_name = row[self.slices[self.indices['full_name']]].split(',') last_name = last_name.strip() first_name = first_name.strip() rating = row[self.slices[self.indices['rating']]].strip() rating = float(rating) if rating else None players = Player.execute_select({'last_name': last_name, 'first_name': first_name}) if len(players) == 1: return players[0].id players = [p for p in players if p.city.id == city_id] if len(players) == 1: return players[0].id players = [p for p in players if p.rank.id == rank_id] if len(players) == 1: return players[0].id player_data = { 'last_name': last_name, 'first_name': first_name, 'rating': rating, 'city_id': city_id, 'rank_id': rank_id, 'is_active': False, } return Player.execute_insert([player_data])[0]
def edit_player(player_id): if request.method == 'POST': update_data = dict(request.form) update_data['is_active'] = 'is_active' in update_data.keys() try: Player.execute_update(player_id, **update_data) flash('Дані гравця оновлені', 'isa_success') return redirect(url_for('.players')) except mysql.connector.Error as err: flash(err.msg, 'isa_error') return redirect(url_for('.player_info', player_id=player_id)) player = Player.execute_select({'id': player_id})[0] cities = City.select_attrs(['id', 'name']) ranks = Rank.select_attrs(['id', 'name']) national_ranks = NationalRank.select_attrs(['id', 'name']) form = '\n'.join([ '<div class="container">', f'<form action="/players/{player_id}/edit" method="post">', render_text_input_row("last_name", "Прізвище", player.last_name), render_text_input_row("first_name", "Ім'я", player.first_name), render_select_row('city_id', "Місто", cities, player.city.id), render_number_input_row('rating', "Рейтинг", '100', '3000', '0.001', player.rating), render_select_row('rank_id', "Ранг", ranks, player.rank.id), render_select_row('national_rank_id', "Розряд", national_ranks, player.national_rank.id), render_text_input_row("pin", "EGF PIN", player.pin), render_checkbox_row('is_active', "Активний", player.is_active), render_submit(), '</form>', '</div>', ]) return render_template('edit_player.html', player=player, form=form)
def players(): all_players = Player.execute_select() return render_template('player_list.html', players=all_players)
def index(): players = Player.execute_select()[:10] tournaments = Tournament.execute_select()[:10] return render_template('index.html', players=players, tournaments=tournaments)