diff --git a/project/airtableget.py b/project/airtableget.py index 9c29f9a..61f5f2d 100644 --- a/project/airtableget.py +++ b/project/airtableget.py @@ -101,6 +101,7 @@ def display_participants(): participants = fetch_api('participants') print("Participants: " + str(participants)) records = [] + for participant in participants.get_all(): records.append(participant) return render_template('participants/participants_list.html', records=records) @@ -240,7 +241,27 @@ def show_workshops(module_id): participants_presents = [ participant for participant in participants.get_all() if participant['id'] in modules.get(module_id)['fields']['Participants présents']] return render_template('/airtable/workshops/workshops.html', module = module, workshops = workshops, intervenants = intervenants, participants = participants_prevus, presents = participants_presents) - + +############## affichage des participants par module session d'un prof +@airtable_bp.route('/participants/module/', methods=['GET']) +@auth_required() +def display_module_participants(module_id, intervenant_id): + modules = fetch_api('modules') + # Authentifier l'utilisateur pour déterminer son rôle (professeur ou autre) + user = current_user() + + # Vérifier si l'utilisateur est un professeur + if user.role == 'prof': + module = modules.get(module_id,intervenant_id) + if module: + # Récupérer la liste des participants prévus pour ce module + participants = fetch_api('participants') + participants_prevus = [participants.get(participant_id)['fields']['Nom'] for participant_id in module['fields']['Participants prévus']] + + return render_template('module_participants.html', participants=participants_prevus) + else: + return "Accès non autorisé" + ######### Affichage de la fiche d'une séance @airtable_bp.route('/modules//workshops/', methods=['GET', 'POST'])