diff --git a/app/controllers/ribs_controller.rb b/app/controllers/ribs_controller.rb index 96234dd97..7c28729dc 100644 --- a/app/controllers/ribs_controller.rb +++ b/app/controllers/ribs_controller.rb @@ -51,7 +51,7 @@ def destroy def missing @ribs = @classe - .students + .active_students .without_ribs .map { |student| Rib.new(student: student, owner_type: :personal, name: student.full_name) } end diff --git a/app/facades/classe_facade.rb b/app/facades/classe_facade.rb index 23a670e3f..f64f23319 100644 --- a/app/facades/classe_facade.rb +++ b/app/facades/classe_facade.rb @@ -10,13 +10,18 @@ def nb_pending_pfmps end def nb_can_transition_to_validated_pfmps - @nb_can_transition_to_validated_pfmps ||= @classe.pfmps.in_state(:completed) + @nb_can_transition_to_validated_pfmps ||= @classe.pfmps + .in_state(:completed) .filter { |pfmp| pfmp.can_transition_to?(:validated) } .count end def nb_missing_ribs - @nb_missing_ribs ||= @classe.students.without_ribs.count + @nb_missing_ribs ||= @classe.active_students.without_ribs.count + end + + def any_active_schoolings? + @any_active_schoolings ||= @classe.active_students.any? end def schoolings diff --git a/app/views/classes/show.html.haml b/app/views/classes/show.html.haml index 0c7fac17b..d436634a8 100644 --- a/app/views/classes/show.html.haml +++ b/app/views/classes/show.html.haml @@ -3,8 +3,9 @@ .actions.fr-btns-group.fr-btns-group--inline - if @classe_facade.nb_missing_ribs > 0 = link_to @classe_facade.missing_ribs_button_text, missing_school_year_class_ribs_path(selected_school_year, @classe), class: 'fr-btn fr-btn--primary' - - = link_to 'Saisir une PFMP pour toute la classe', bulk_pfmp_school_year_class_path(selected_school_year, @classe), class: 'fr-btn fr-btn--primary' + + - if @classe_facade.any_active_schoolings? + = link_to 'Saisir une PFMP pour toute la classe', bulk_pfmp_school_year_class_path(selected_school_year, @classe), class: 'fr-btn fr-btn--primary' .actions.fr-btns-group.fr-btns-group--inline - if @classe_facade.nb_pending_pfmps > 0 diff --git "a/features/1_gestion_des_scolarit\303\251s.feature" "b/features/1_gestion_des_scolarit\303\251s.feature" index 26c44327b..34250d2a3 100644 --- "a/features/1_gestion_des_scolarit\303\251s.feature" +++ "b/features/1_gestion_des_scolarit\303\251s.feature" @@ -14,8 +14,9 @@ Fonctionnalité: Gestion des scolarités de l'élève Et que je clique sur "Confirmer le retrait de l'élève de la classe" Alors la page contient "L'élève Jean Dupuis a bien été retiré de la classe 1MELEC" Et je peux voir dans le tableau "Élèves retirés manuellement de la classe" - | Élèves (1) | Réintégration de l'élève dans la classe | + | Élèves (1) | Réintégration de l'élève dans la classe | | Dupuis Jean | Réintégrer Jean Dupuis dans la classe 1MELEC | + Et la page contient "Saisir 9 coordonnées bancaires" Quand je consulte le profil de "Jean Dupuis" dans la classe de "1MELEC" Alors la page contient "Retiré(e) manuellement de la classe" Quand je consulte la classe "1MELEC" diff --git a/features/anciens_eleves.feature b/features/anciens_eleves.feature index 838e88ca1..9f92d4883 100644 --- a/features/anciens_eleves.feature +++ b/features/anciens_eleves.feature @@ -64,6 +64,7 @@ Fonctionnalité: Les anciens élèves sont inclus à part dans l'interface Alors je peux voir dans le tableau "Élèves sortis de la classe" | Élèves (1) | Décisions d'attribution | Coordonnées Bancaires (1/1) | PFMPs (0) | | Dupuis Jean | | Saisies | | + Et la page contient "Saisir 9 coordonnées bancaires" Scénario: Le personnel peut créer une PFMP pour un ancien élève Quand je consulte la classe de "1MELEC"