From 346229778f94c7bda740140f0d5a5bc9cac39856 Mon Sep 17 00:00:00 2001 From: cedrick2711 Date: Mon, 20 Jul 2026 17:41:22 -0400 Subject: [PATCH] =?UTF-8?q?Bug=20fix=20Ajout=20du=20statut=20rempla=C3=A7a?= =?UTF-8?q?nt=20pour=20les=20joueurs=20Possibilit=C3=A9=20d'ajouter/enleve?= =?UTF-8?q?r=20coach=20et=20manager=20des=20=C3=A9quipes=20les=20joueurs?= =?UTF-8?q?=20peuvent=20=C3=AAtre=20associ=C3=A9s=20=C3=A0=20plusieurs=20?= =?UTF-8?q?=C3=A9quipes=20au=20lieu=20d'une=20seule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/extensions.cpython-313.pyc | Bin 1513 -> 1513 bytes __pycache__/models.cpython-313.pyc | Bin 42672 -> 45623 bytes __pycache__/seed.cpython-313.pyc | Bin 27711 -> 28080 bytes instance/team_tryouts.db | Bin 167936 -> 167936 bytes models.py | 62 +++++++- routes/__pycache__/auth.cpython-313.pyc | Bin 7214 -> 7214 bytes .../__pycache__/evaluations.cpython-313.pyc | Bin 11097 -> 11156 bytes routes/__pycache__/main.cpython-313.pyc | Bin 9651 -> 9651 bytes routes/__pycache__/matches.cpython-313.pyc | Bin 34675 -> 34675 bytes routes/__pycache__/teams.cpython-313.pyc | Bin 14821 -> 19319 bytes routes/__pycache__/tryouts.cpython-313.pyc | Bin 27151 -> 27151 bytes routes/__pycache__/users.cpython-313.pyc | Bin 73461 -> 75135 bytes routes/evaluations.py | 5 +- routes/teams.py | 124 +++++++++++++-- routes/users.py | 45 ++++-- seed.py | 26 +-- templates/pages/evaluate_player.html | 2 +- templates/pages/teams.html | 148 +++++++++++++++--- 18 files changed, 343 insertions(+), 69 deletions(-) diff --git a/__pycache__/extensions.cpython-313.pyc b/__pycache__/extensions.cpython-313.pyc index a36f59a10426c13acf8e7b11e1d97a4ca2d4663d..4124b084a4ada0ffc05974a34121545e79c0441b 100644 GIT binary patch delta 19 ZcmaFK{gRvOGcPX}0}u#TZ{)hq3II7?1vdZy delta 19 ZcmaFK{gRvOGcPX}0}!~TZREPo3IIAG1yle4 diff --git a/__pycache__/models.cpython-313.pyc b/__pycache__/models.cpython-313.pyc index a023f1bf1f2a5e73ac25033578d3027e72e6b9aa..4fae20ea3aabecef60943e2fcc59890b60c53b8f 100644 GIT binary patch delta 7033 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 delta 5398 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 KNwBEr!hZn)pe!!{ diff --git a/__pycache__/seed.cpython-313.pyc b/__pycache__/seed.cpython-313.pyc index ffb56f6538bfd5df4f16097756c3e22617105977..cbc45310e6f238b1a3e93cd80df52d63e166ea7d 100644 GIT binary patch delta 6914 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 delta 6539 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 JNoh_>{wtTK|9Joa diff --git a/instance/team_tryouts.db b/instance/team_tryouts.db index 0d3440340897e7b56e2fec6bf3f763527a765d01..0fa567a3117882cda6df54a4b30a5275be6183b1 100644 GIT binary patch literal 167936 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 kS(%>|cDSgbVV`FOka*H@~#7(0H|eZ~n8@AFaGy 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 delta 1077 zcmZ9LOH30{6o%)v(`o60R|N|#rBtOI3|NC`d<3H4Ba)ctD5#81271xTOb5?QRT2|- zy3h??O%eOW;Xs#}zh(y-qTZA!RPfOfU*%r5qM zM||;ZCXo2=tYiZnYYrPE8PfUeEFnZ>=X?WI=KDtaM-QmyYznqIN{diZ$E=x(Nz0C{ zI#f6N9ayj`+yPE%tL(AZO;XiY;v0!!Qq=mhYOeK5y$k2?~#^L%(MK@sR)6{_N zY&e>eGMMUNbJ5+cEm#oNZ(Pyr84IWlIrcKTHIc+{vr)1gjo#3Witd!GvJD5TKcX2Q zc~$+}__RS(diDpZFA`B7>1D4wk4s0fZI%U+*=Eo5#@K9;GU>o;f_)&@DUVGukXK@51cda>wAGnQ$V9O%ce z_bicHast-hHNi+aE@iP`l69u%$Z2*rJwVR0rSwq7)3j+-PO8lt`T_;8c`*)PhpXZ4 zWq;v!gBUH;1Tj!p`E!W~t&_f$Kj(?iULtlYFZ(zYR9eJOg2eeHx>sqh7PgIvxx;wn z5yU8B3~>zM&2pSur({1D@=0!_eS&*#uztNQx2>ysN5&Hu5El_m2-LX#WKUs~4!jS$ zN$V+|a3y_yo|cQ?2@|Xf<6Rd6dWA0&tnSfGEcWvl96&2XZ}DV_-OD$1dn(0Or_&s3 zZT~3T=B2NzOZhz{c!-;)P*YMR@)VR^Ob`T7n7 zynhcIlv* delta 21 bcmey|$Mm_6iR&{jFBbz42&HZ0%4`P!P#y+L diff --git a/routes/__pycache__/teams.cpython-313.pyc b/routes/__pycache__/teams.cpython-313.pyc index ce9242a36ce6d400f123d1275a92d12217b22351..e06a1129fd1eb12f3783e0d9d47259c5444868f6 100644 GIT binary patch literal 19319 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 delta 4005 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 LjND~T6h{9G(jS?S diff --git a/routes/__pycache__/tryouts.cpython-313.pyc b/routes/__pycache__/tryouts.cpython-313.pyc index 399e6fbcc803a1c0a8019cb69d7a741237ccd2b4..af03231267f41268068f58f0e44704beec1d6794 100644 GIT binary patch delta 21 bcmeCb!q|U>k?S)rFBbz42v=|9V$A{oN@oS4 delta 21 bcmeCb!q|U>k?S)rFBbz4q^57=V$A{oOYa5X diff --git a/routes/__pycache__/users.cpython-313.pyc b/routes/__pycache__/users.cpython-313.pyc index 1ddb4ab764987c4608dfd4387874f5cdfaf1f14c..0f1cb05ddbd7738f1e25cef3e82b4a8f9df894cb 100644 GIT binary patch delta 15957 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 D8jy$F delta 14851 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 NT17tA@fOa{{|lcR&v^g< diff --git a/routes/evaluations.py b/routes/evaluations.py index 817df38..d11ed3a 100644 --- a/routes/evaluations.py +++ b/routes/evaluations.py @@ -6,7 +6,7 @@ This module handles player evaluation creation, management, and viewing. from flask import Blueprint, render_template, redirect, url_for, flash, request from flask_login import login_required, current_user from extensions import db -from models import User, Tryout, Evaluation, TryoutRegistration +from models import User, Tryout, Evaluation, TryoutRegistration, GAME_POSITIONS from sqlalchemy import func evaluations_bp = Blueprint('evaluations', __name__, url_prefix='/evaluations') @@ -178,7 +178,8 @@ def evaluate_player(tryout_id, player_id): tryout=tryout, player=player, existing_eval=existing_eval, - evaluators=evaluators) + evaluators=evaluators, + game_positions=GAME_POSITIONS) @evaluations_bp.route('//players') diff --git a/routes/teams.py b/routes/teams.py index 6b94204..ebd1ea5 100644 --- a/routes/teams.py +++ b/routes/teams.py @@ -3,10 +3,10 @@ This module handles CRUD operations for organization teams and player assignments. """ -from flask import Blueprint, render_template, redirect, url_for, flash, request +from flask import Blueprint, render_template, redirect, url_for, flash, request, jsonify from flask_login import login_required, current_user from extensions import db -from models import OrgTeam, User, Team, TeamMember, PersonalNote, TeamNote, Tryout +from models import OrgTeam, User, Team, TeamMember, PersonalNote, TeamNote, Tryout, TeamPlayer teams_bp = Blueprint('teams', __name__, url_prefix='/teams') @@ -35,8 +35,9 @@ def list_teams(): return redirect(url_for('main.dashboard')) coaches = User.query.filter_by(role='coach').order_by(User.full_name).all() + managers = User.query.filter_by(role='manager').order_by(User.full_name).all() all_players = User.query.filter_by(role='player').order_by(User.full_name).all() - return render_template('pages/teams.html', teams=teams, coaches=coaches, all_players=all_players, can_manage=can_manage) + return render_template('pages/teams.html', teams=teams, coaches=coaches, managers=managers, all_players=all_players, can_manage=can_manage) @teams_bp.route('/create', methods=['POST']) @@ -47,6 +48,7 @@ def create_team(): Args: name: Team name from form. coach_id: Optional coach assignment from form. + manager_id: Optional manager assignment from form. Returns: Response: Redirect to teams list with status message. @@ -57,6 +59,7 @@ def create_team(): name = request.form.get('name') coach_id = request.form.get('coach_id') + manager_id = request.form.get('manager_id') if not name: flash('Team name is required.', 'danger') @@ -70,6 +73,7 @@ def create_team(): team = OrgTeam( name=name, coach_id=int(coach_id) if coach_id else None, + manager_id=int(manager_id) if manager_id else None, created_by=current_user.id ) db.session.add(team) @@ -87,6 +91,7 @@ def edit_team(team_id): team_id: The ID of the team to edit. name: New team name from form. coach_id: New coach assignment from form. + manager_id: New manager assignment from form. Returns: Response: Redirect to teams list with status message. @@ -98,6 +103,7 @@ def edit_team(team_id): name = request.form.get('name') coach_id = request.form.get('coach_id') + manager_id = request.form.get('manager_id') if not name: flash('Team name is required.', 'danger') @@ -110,6 +116,7 @@ def edit_team(team_id): team.name = name team.coach_id = int(coach_id) if coach_id else None + team.manager_id = int(manager_id) if manager_id else None db.session.commit() flash(f'Team "{name}" updated successfully!', 'success') return redirect(url_for('teams.list_teams')) @@ -144,22 +151,71 @@ def delete_team(team_id): t.target_org_team_id = None db.session.commit() + # Remove all team_players associations + TeamPlayer.query.filter_by(org_team_id=team_id).delete() + db.session.commit() + db.session.delete(team) db.session.commit() flash(f'Team "{name}" deleted successfully.', 'success') return redirect(url_for('teams.list_teams')) +@teams_bp.route('//remove_coach', methods=['POST']) +@login_required +def remove_coach(team_id): + """Remove the coach from an organization team. + + Args: + team_id: The ID of the team. + + Returns: + Response: Redirect to teams list with status message. + """ + team = OrgTeam.query.get_or_404(team_id) + if not current_user.can_manage_this_org_team(team): + flash('Permission denied.', 'danger') + return redirect(url_for('teams.list_teams')) + + team.coach_id = None + db.session.commit() + flash(f'Coach removed from {team.name}.', 'success') + return redirect(url_for('teams.list_teams')) + + +@teams_bp.route('//remove_manager', methods=['POST']) +@login_required +def remove_manager(team_id): + """Remove the manager from an organization team. + + Args: + team_id: The ID of the team. + + Returns: + Response: Redirect to teams list with status message. + """ + team = OrgTeam.query.get_or_404(team_id) + if not current_user.can_manage_this_org_team(team): + flash('Permission denied.', 'danger') + return redirect(url_for('teams.list_teams')) + + team.manager_id = None + db.session.commit() + flash(f'Manager removed from {team.name}.', 'success') + return redirect(url_for('teams.list_teams')) + + @teams_bp.route('//add_player', methods=['POST']) @login_required def add_player(team_id): """Add a player to an organization team. - If player is already on another team, they will be moved. + Players can now be in multiple teams. Args: team_id: The ID of the team to add the player to. player_id: The ID of the player to add. + status: The player's status (starter or substitute). Returns: Response: Redirect to teams list with status message. @@ -169,7 +225,7 @@ def add_player(team_id): flash('Permission denied.', 'danger') return redirect(url_for('teams.list_teams')) player_id = request.form.get('player_id') - position = request.form.get('position', '') + status = request.form.get('status', 'starter') if not player_id: flash('Please select a player.', 'danger') @@ -180,15 +236,19 @@ def add_player(team_id): flash('Can only assign players to teams.', 'danger') return redirect(url_for('teams.list_teams')) - # If player already belongs to a different team, remove them first - if player.team_id and player.team_id != team_id: - old_team = OrgTeam.query.get(player.team_id) - flash(f'{player.full_name} was moved from {old_team.name} to {team.name}.', 'info') - elif player.team_id == team_id: + # Check if player is already on this team + existing = TeamPlayer.query.filter_by(player_id=player.id, org_team_id=team.id).first() + if existing: flash(f'{player.full_name} is already on {team.name}.', 'info') return redirect(url_for('teams.list_teams')) - player.team_id = team_id + # Add player to the team using TeamPlayer model (allows multiple teams) + tp = TeamPlayer( + player_id=player.id, + org_team_id=team.id, + status=status + ) + db.session.add(tp) db.session.commit() flash(f'{player.full_name} added to {team.name}!', 'success') return redirect(url_for('teams.list_teams')) @@ -213,16 +273,49 @@ def remove_player(team_id, player_id): player = User.query.get_or_404(player_id) - if player.team_id != team_id: + tp = TeamPlayer.query.filter_by(player_id=player_id, org_team_id=team_id).first() + if not tp: flash(f'{player.full_name} is not on {team.name}.', 'danger') return redirect(url_for('teams.list_teams')) - player.team_id = None + db.session.delete(tp) db.session.commit() flash(f'{player.full_name} removed from {team.name}.', 'success') return redirect(url_for('teams.list_teams')) +@teams_bp.route('//toggle_status/', methods=['POST']) +@login_required +def toggle_player_status(team_id, player_id): + """Toggle a player's status between starter and substitute. + + Args: + team_id: The ID of the team. + player_id: The ID of the player. + + Returns: + Response: JSON with new status. + """ + team = OrgTeam.query.get_or_404(team_id) + if not current_user.can_manage_this_org_team(team): + return jsonify({'error': 'Permission denied'}), 403 + + tp = TeamPlayer.query.filter_by(player_id=player_id, org_team_id=team_id).first() + if not tp: + return jsonify({'error': 'Player not found on this team'}), 404 + + # Toggle status + tp.status = 'substitute' if tp.status == 'starter' else 'starter' + db.session.commit() + + return jsonify({ + 'success': True, + 'player_id': player_id, + 'new_status': tp.status, + 'player_name': tp.player.full_name + }) + + # Note actions from team page @@ -284,7 +377,8 @@ def add_player_note(team_id, player_id): return redirect(url_for('teams.list_teams')) # Verify player belongs to this team - if player.team_id != team_id: + tp = TeamPlayer.query.filter_by(player_id=player_id, org_team_id=team_id).first() + if not tp: flash(f'{player.full_name} is not on {team.name}.', 'danger') return redirect(url_for('teams.list_teams')) @@ -300,4 +394,4 @@ def add_player_note(team_id, player_id): db.session.commit() flash(f'Note added for {player.full_name}!', 'success') - return redirect(url_for('teams.list_teams')) + return redirect(url_for('teams.list_teams')) \ No newline at end of file diff --git a/routes/users.py b/routes/users.py index 511f6de..94875b2 100644 --- a/routes/users.py +++ b/routes/users.py @@ -8,7 +8,7 @@ import os from flask import Blueprint, render_template, redirect, url_for, flash, request, jsonify, send_file from flask_login import login_required, current_user from extensions import db, hash_password -from models import User, ROLES, ESPORT_GAMES, PlayerDisponibility, UserGamertag, GAME_PLATFORMS, Contract, OrgTeam, CoachAvailability, TeamNote, PersonalNote, OneOnOneRequest, Match, Team, TeamMember, MatchParticipant, Tryout, TryoutRegistration +from models import User, ROLES, ESPORT_GAMES, PlayerDisponibility, UserGamertag, GAME_PLATFORMS, Contract, OrgTeam, CoachAvailability, TeamNote, PersonalNote, OneOnOneRequest, Match, Team, TeamMember, MatchParticipant, Tryout, TryoutRegistration, TeamPlayer from werkzeug.utils import secure_filename from datetime import datetime, timedelta, date as date_type import requests @@ -514,8 +514,8 @@ def can_manage_player_contract(user, player_id): if user.role == 'coach': org_team = OrgTeam.query.filter_by(coach_id=user.id).first() if org_team: - player = User.query.get(player_id) - if player and player.team_id == org_team.id: + tp = TeamPlayer.query.filter_by(player_id=player_id, org_team_id=org_team.id).first() + if tp: return True return False @@ -542,7 +542,8 @@ def list_contracts(): if current_user.role == 'coach': org_team = OrgTeam.query.filter_by(coach_id=current_user.id).first() if org_team: - players = User.query.filter_by(role='player', team_id=org_team.id).all() + 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)).all() if player_ids else [] else: # president or manager players = User.query.filter_by(role='player').all() @@ -571,7 +572,11 @@ def upload_contract(): # Get players this user can manage if current_user.role == 'coach': org_team = OrgTeam.query.filter_by(coach_id=current_user.id).first() - players = User.query.filter_by(role='player', team_id=org_team.id).all() if org_team else [] + 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)).all() if player_ids else [] + else: + players = [] else: players = User.query.filter_by(role='player').all() @@ -598,7 +603,8 @@ def upload_contract(): # Get player info for folder structure player = User.query.get_or_404(player_id) - team = OrgTeam.query.get(player.team_id) if player.team_id else None + player_teams = player.get_org_teams() + team = player_teams[0] if player_teams else None # Create team folder if team exists if team: @@ -621,7 +627,7 @@ def upload_contract(): # Create database record contract = Contract( player_id=player_id, - team_id=player.team_id, + team_id=team.id if team else None, uploaded_by_id=current_user.id, original_filename=original_filename, stored_filename=stored_filename, @@ -822,8 +828,9 @@ def one_on_one(): flash('Only players can request One on One sessions.', 'danger') return redirect(url_for('main.dashboard')) - # Get player's team and coach - org_team = OrgTeam.query.get(current_user.team_id) if current_user.team_id else None + # Get player's teams and coach (use the first team the player is on) + org_teams = current_user.get_org_teams() + org_team = org_teams[0] if org_teams else None coach = User.query.get(org_team.coach_id) if org_team and org_team.coach_id else None if not coach: @@ -1062,7 +1069,8 @@ def api_get_coach_availability(coach_id): return jsonify({'error': 'Unauthorized'}), 403 # Players can only view their own coach's availability - org_team = OrgTeam.query.get(current_user.team_id) if current_user.team_id else None + player_teams = current_user.get_org_teams() + org_team = player_teams[0] if player_teams else None if org_team and org_team.coach_id != coach_id: return jsonify({'error': 'Unauthorized'}), 403 @@ -1144,7 +1152,8 @@ def manage_personal_notes(): org_team = OrgTeam.query.filter_by(coach_id=current_user.id).first() players = [] if org_team: - players = User.query.filter_by(role='player', team_id=org_team.id).order_by(User.full_name).all() + 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 [] if request.method == 'POST': player_id = request.form.get('player_id', type=int) @@ -1200,7 +1209,8 @@ def notes_dashboard(): org_team = OrgTeam.query.filter_by(coach_id=current_user.id).first() players = [] if org_team: - players = User.query.filter_by(role='player', team_id=org_team.id).order_by(User.full_name).all() + 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 [] # Get existing team notes team_notes = [] @@ -1257,8 +1267,9 @@ def my_notes(): flash('Only players can view their notes.', 'danger') return redirect(url_for('main.dashboard')) - # Get player's team and coach - org_team = OrgTeam.query.get(current_user.team_id) if current_user.team_id else None + # Get player's teams and coach (use the first team the player is on) + player_teams = current_user.get_org_teams() + org_team = player_teams[0] if player_teams else None # Get all personal notes for this player with eager loading for relationships personal_notes = PersonalNote.query.filter_by(player_id=current_user.id).order_by(PersonalNote.created_at.desc()).all() @@ -1295,7 +1306,8 @@ def add_personal_note(): if current_user.role == 'coach': org_team = OrgTeam.query.filter_by(coach_id=current_user.id).first() if org_team: - players = User.query.filter_by(role='player', team_id=org_team.id).order_by(User.full_name).all() + 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 [] elif current_user.role in ['president', 'manager']: players = User.query.filter_by(role='player').order_by(User.full_name).all() @@ -1484,7 +1496,8 @@ def add_note_from_tryout(tryout_id): # If coach, filter to only their team players; otherwise include all if org_team: - players = User.query.filter(User.id.in_(player_ids), User.team_id == org_team.id).order_by(User.full_name).all() + 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() else: players = User.query.filter(User.id.in_(player_ids)).order_by(User.full_name).all() diff --git a/seed.py b/seed.py index 18bab11..f5d1604 100644 --- a/seed.py +++ b/seed.py @@ -6,7 +6,7 @@ users, tryouts, teams, evaluations, and player disponibilities. from sqlalchemy import text from extensions import db, hash_password -from models import User, Tryout, TryoutRegistration, Evaluation, Team, TeamMember, OrgTeam, PlayerDisponibility, UserGamertag, CoachAvailability, TeamNote, PersonalNote, Match, MatchParticipant +from models import User, Tryout, TryoutRegistration, Evaluation, Team, TeamMember, OrgTeam, PlayerDisponibility, UserGamertag, CoachAvailability, TeamNote, PersonalNote, Match, MatchParticipant, TeamPlayer from datetime import datetime, timedelta, time import random @@ -30,6 +30,7 @@ def seed_database(): db.session.execute(text('DELETE FROM player_disponibilities')) db.session.execute(text('DELETE FROM match_participants')) db.session.execute(text('DELETE FROM matches')) + db.session.execute(text('DELETE FROM team_players')) db.session.execute(text('DELETE FROM team_members')) db.session.execute(text('DELETE FROM teams')) db.session.execute(text('DELETE FROM evaluations')) @@ -323,19 +324,20 @@ def seed_database(): db.session.commit() print("[OK] Created 2 tryout-specific teams with player assignments") - # Assign players to organization teams + # Assign players to organization teams (using TeamPlayer for many-to-many) org_team_assignments = [ - (org_teams[0], players[0]), - (org_teams[0], players[1]), - (org_teams[0], players[2]), - (org_teams[1], players[3]), - (org_teams[1], players[4]), - (org_teams[1], players[5]), - (org_teams[2], players[6]), - (org_teams[2], players[7]), + (org_teams[0], players[0], 'starter'), + (org_teams[0], players[1], 'starter'), + (org_teams[0], players[2], 'substitute'), + (org_teams[1], players[3], 'starter'), + (org_teams[1], players[4], 'starter'), + (org_teams[1], players[5], 'substitute'), + (org_teams[2], players[6], 'starter'), + (org_teams[2], players[7], 'substitute'), ] - for org_team, player in org_team_assignments: - player.team_id = org_team.id + for org_team, player, status in org_team_assignments: + tp = TeamPlayer(player_id=player.id, org_team_id=org_team.id, status=status) + db.session.add(tp) db.session.commit() # Create sample disponibilities for players diff --git a/templates/pages/evaluate_player.html b/templates/pages/evaluate_player.html index 19069e1..da07645 100644 --- a/templates/pages/evaluate_player.html +++ b/templates/pages/evaluate_player.html @@ -100,7 +100,7 @@ - {% set positions = GAME_POSITIONS.get(tryout.game, []) %} + {% set positions = game_positions.get(tryout.game, []) %}
diff --git a/templates/pages/teams.html b/templates/pages/teams.html index 7bb67c7..780a5e0 100644 --- a/templates/pages/teams.html +++ b/templates/pages/teams.html @@ -21,11 +21,11 @@
-
+
-
+
+
+ + +
@@ -50,13 +59,36 @@

{{ team.name }}

- {% if team.coach %} - Coach: {{ team.coach.full_name }} - {% else %} - No coach assigned - {% endif %} +
+ {% if team.coach %} + Coach: {{ team.coach.full_name }} + {% if can_manage %} + + + + + {% endif %} + {% else %} + No coach assigned + {% endif %} + {% if team.manager %} + Manager: {{ team.manager.full_name }} + {% if can_manage %} +
+ + +
+ {% endif %} + {% else %} + No manager assigned + {% endif %} +
{% if can_manage %} -
@@ -79,6 +111,7 @@ Player + Status Position / Role Email Phone @@ -88,20 +121,34 @@ - {% for player in team.players %} + {% for entry in team.get_players_with_status() %}
-
{{ player.full_name[:2] | upper }}
- {{ player.full_name }} +
{{ entry.player.full_name[:2] | upper }}
+ {{ entry.player.full_name }}
- {{ player.role | capitalize }} - {{ player.email }} - {{ player.phone or '-' }} + + {% if can_manage_team %} + + {% else %} + + {{ entry.status | capitalize }} + + {% endif %} + + {{ entry.player.role | capitalize }} + {{ entry.player.email }} + {{ entry.player.phone or '-' }} {% if can_manage_team %} - + @@ -190,6 +241,15 @@ {% endfor %}
+
+ + +
@@ -208,24 +268,56 @@ function hideCreateForm() { document.getElementById('createTeamForm').classList.add('hidden'); } +function toggleStatus(btn) { + var teamId = btn.getAttribute('data-team-id'); + var playerId = btn.getAttribute('data-player-id'); + + fetch('/teams/' + teamId + '/toggle_status/' + playerId, { + method: 'POST', + headers: { + 'X-CSRFToken': '{{ csrf_token() }}', + 'Content-Type': 'application/json' + } + }) + .then(function(response) { return response.json(); }) + .then(function(data) { + if (data.success) { + btn.textContent = data.new_status.charAt(0).toUpperCase() + data.new_status.slice(1); + if (data.new_status === 'starter') { + btn.classList.remove('btn-warning'); + btn.classList.add('btn-success'); + } else { + btn.classList.remove('btn-success'); + btn.classList.add('btn-warning'); + } + } + }) + .catch(function(error) { + console.error('Error:', error); + }); +} + document.addEventListener('DOMContentLoaded', function() { document.querySelectorAll('.edit-team-btn').forEach(function(btn) { btn.addEventListener('click', function() { var teamId = this.getAttribute('data-team-id'); var teamName = this.getAttribute('data-team-name'); var coachId = this.getAttribute('data-coach-id'); + var managerId = this.getAttribute('data-manager-id'); document.getElementById('editTeamForm').action = '/teams/' + teamId + '/edit'; document.getElementById('edit_name').value = teamName; document.getElementById('edit_coach_id').value = coachId || ''; + document.getElementById('edit_manager_id').value = managerId || ''; document.getElementById('editTeamModal').classList.remove('hidden'); }); }); }); -function showEditForm(teamId, teamName, coachId) { +function showEditForm(teamId, teamName, coachId, managerId) { document.getElementById('editTeamForm').action = '/teams/' + teamId + '/edit'; document.getElementById('edit_name').value = teamName; document.getElementById('edit_coach_id').value = coachId || ''; + document.getElementById('edit_manager_id').value = managerId || ''; document.getElementById('editTeamModal').classList.remove('hidden'); } @@ -233,4 +325,22 @@ function hideEditForm() { document.getElementById('editTeamModal').classList.add('hidden'); } + {% endblock %} \ No newline at end of file