retrait de page html redondantes, ajout de la modification des username et affichage des userrname au lieu des noms complets
This commit is contained in:
+23
-17
@@ -66,7 +66,7 @@ def list_users():
|
||||
flash('Only the president can manage users.', 'danger')
|
||||
return redirect(url_for('main.dashboard'))
|
||||
|
||||
users = User.query.order_by(User.role, User.full_name).all()
|
||||
users = User.query.order_by(User.role, User.username).all()
|
||||
return render_template('pages/users.html', users=users, roles=ROLES)
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ def edit_user(user_id):
|
||||
user.password_hash = hash_password(password)
|
||||
|
||||
db.session.commit()
|
||||
flash(f'User {user.full_name} updated successfully!', 'success')
|
||||
flash(f'User {user.username} updated successfully!', 'success')
|
||||
return redirect(url_for('users.list_users'))
|
||||
|
||||
user_gamertags = {gt.game: {'gamertag': gt.gamertag, 'platform': gt.platform} for gt in user.gamertags}
|
||||
@@ -207,7 +207,7 @@ def delete_user(user_id):
|
||||
|
||||
db.session.delete(user)
|
||||
db.session.commit()
|
||||
flash(f'User {user.full_name} has been removed.', 'success')
|
||||
flash(f'User {user.username} has been removed.', 'success')
|
||||
return redirect(url_for('users.list_users'))
|
||||
|
||||
|
||||
@@ -292,6 +292,7 @@ def edit_profile():
|
||||
Response: Edit form or redirect to profile.
|
||||
"""
|
||||
if request.method == 'POST':
|
||||
username = request.form.get('username')
|
||||
full_name = request.form.get('full_name')
|
||||
email = request.form.get('email')
|
||||
phone = request.form.get('phone')
|
||||
@@ -301,10 +302,15 @@ def edit_profile():
|
||||
discord_user_id = request.form.get('discord_user_id', '').strip()
|
||||
league_os_profile = request.form.get('league_os_profile', '').strip()
|
||||
|
||||
if username != current_user.username and User.query.filter_by(username=username).first():
|
||||
flash('Username already taken.', 'danger')
|
||||
return render_template('pages/edit_profile.html', user=current_user, esport_games=ESPORT_GAMES, game_platforms=GAME_PLATFORMS, user_gamertags={gt.game: {'gamertag': gt.gamertag, 'platform': gt.platform} for gt in current_user.gamertags})
|
||||
|
||||
if email != current_user.email and User.query.filter_by(email=email).first():
|
||||
flash('Email already in use.', 'danger')
|
||||
return render_template('pages/edit_profile.html', user=current_user, esport_games=ESPORT_GAMES, game_platforms=GAME_PLATFORMS)
|
||||
return render_template('pages/edit_profile.html', user=current_user, esport_games=ESPORT_GAMES, game_platforms=GAME_PLATFORMS, user_gamertags={gt.game: {'gamertag': gt.gamertag, 'platform': gt.platform} for gt in current_user.gamertags})
|
||||
|
||||
current_user.username = username
|
||||
current_user.full_name = full_name
|
||||
current_user.email = email
|
||||
current_user.phone = phone
|
||||
@@ -358,13 +364,13 @@ def get_disponibilities():
|
||||
if not current_user.can_manage_teams() and not current_user.can_schedule_matches():
|
||||
return jsonify({'error': 'Unauthorized'}), 403
|
||||
|
||||
players = User.query.filter_by(role='player', is_active_account=True).order_by(User.full_name).all()
|
||||
players = User.query.filter_by(role='player', is_active_account=True).order_by(User.username).all()
|
||||
result = {}
|
||||
|
||||
for player in players:
|
||||
disponibilities = list(player.disponibilities)
|
||||
result[player.id] = {
|
||||
'full_name': player.full_name,
|
||||
'username': player.username,
|
||||
'disponibilities': [
|
||||
{
|
||||
'id': d.id,
|
||||
@@ -671,7 +677,7 @@ def upload_contract():
|
||||
# Generate unique filename
|
||||
original_filename = secure_filename(file.filename)
|
||||
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
|
||||
stored_filename = f"{secure_filename(player.full_name)}_{timestamp}_{original_filename}"
|
||||
stored_filename = f"{secure_filename(player.username)}_{timestamp}_{original_filename}"
|
||||
stored_filename = stored_filename.replace(' ', '_')
|
||||
|
||||
# Save file
|
||||
@@ -691,7 +697,7 @@ def upload_contract():
|
||||
db.session.add(contract)
|
||||
db.session.commit()
|
||||
|
||||
flash(f'Contract uploaded successfully for {player.full_name}!', 'success')
|
||||
flash(f'Contract uploaded successfully for {player.username}!', 'success')
|
||||
return redirect(url_for('users.list_contracts'))
|
||||
|
||||
return render_template('pages/upload_contract.html', players=players)
|
||||
@@ -955,13 +961,13 @@ def one_on_one():
|
||||
|
||||
# Send Discord notification
|
||||
send_discord_notification(
|
||||
player_name=current_user.full_name,
|
||||
player_name=current_user.username,
|
||||
points=points,
|
||||
date_str=date_str,
|
||||
start_time_str=start_time_str,
|
||||
end_time_str=end_time_str,
|
||||
team_name=org_team.name if org_team else None,
|
||||
coach_name=coach.full_name,
|
||||
coach_name=coach.username,
|
||||
coach_discord=coach.discord_username,
|
||||
coach_discord_id=coach.discord_user_id,
|
||||
request_id=request_obj.id
|
||||
@@ -1207,7 +1213,7 @@ def manage_personal_notes():
|
||||
players = []
|
||||
if org_team:
|
||||
player_ids = [tp.player_id for tp in TeamPlayer.query.filter_by(org_team_id=org_team.id).all()]
|
||||
players = User.query.filter(User.id.in_(player_ids)).order_by(User.full_name).all() if player_ids else []
|
||||
players = User.query.filter(User.id.in_(player_ids)).order_by(User.username).all() if player_ids else []
|
||||
|
||||
if request.method == 'POST':
|
||||
player_id = request.form.get('player_id', type=int)
|
||||
@@ -1264,7 +1270,7 @@ def notes_dashboard():
|
||||
players = []
|
||||
if org_team:
|
||||
player_ids = [tp.player_id for tp in TeamPlayer.query.filter_by(org_team_id=org_team.id).all()]
|
||||
players = User.query.filter(User.id.in_(player_ids)).order_by(User.full_name).all() if player_ids else []
|
||||
players = User.query.filter(User.id.in_(player_ids)).order_by(User.username).all() if player_ids else []
|
||||
|
||||
# Get existing team notes
|
||||
team_notes = []
|
||||
@@ -1361,9 +1367,9 @@ def add_personal_note():
|
||||
org_team = OrgTeam.query.filter_by(coach_id=current_user.id).first()
|
||||
if org_team:
|
||||
player_ids = [tp.player_id for tp in TeamPlayer.query.filter_by(org_team_id=org_team.id).all()]
|
||||
players = User.query.filter(User.id.in_(player_ids)).order_by(User.full_name).all() if player_ids else []
|
||||
players = User.query.filter(User.id.in_(player_ids)).order_by(User.username).all() if player_ids else []
|
||||
elif current_user.role in ['president', 'manager']:
|
||||
players = User.query.filter_by(role='player').order_by(User.full_name).all()
|
||||
players = User.query.filter_by(role='player').order_by(User.username).all()
|
||||
|
||||
# Get available matches and tryouts for context
|
||||
matches = []
|
||||
@@ -1483,7 +1489,7 @@ def add_note_from_match(match_id):
|
||||
participants = MatchParticipant.query.filter_by(match_id=match_id).all()
|
||||
participant_ids = [p.player_id for p in participants]
|
||||
|
||||
players = User.query.filter(User.id.in_(participant_ids)).order_by(User.full_name).all() if participant_ids else []
|
||||
players = User.query.filter(User.id.in_(participant_ids)).order_by(User.username).all() if participant_ids else []
|
||||
|
||||
# Get team notes for context
|
||||
team_notes = []
|
||||
@@ -1553,9 +1559,9 @@ def add_note_from_tryout(tryout_id):
|
||||
# If coach, filter to only their team players; otherwise include all
|
||||
if org_team:
|
||||
team_player_ids = [tp.player_id for tp in TeamPlayer.query.filter_by(org_team_id=org_team.id).all()]
|
||||
players = User.query.filter(User.id.in_(player_ids), User.id.in_(team_player_ids)).order_by(User.full_name).all()
|
||||
players = User.query.filter(User.id.in_(player_ids), User.id.in_(team_player_ids)).order_by(User.username).all()
|
||||
else:
|
||||
players = User.query.filter(User.id.in_(player_ids)).order_by(User.full_name).all()
|
||||
players = User.query.filter(User.id.in_(player_ids)).order_by(User.username).all()
|
||||
|
||||
# Get team notes for context
|
||||
team_notes = []
|
||||
|
||||
Reference in New Issue
Block a user