Merge pull request #10768 from colinux/disable-admin-hide-instructeur-toggle

ETQ tech c'est finalement par le manager qui définit si le flag pour masquer l'email des instructeurs
This commit is contained in:
Colin Darie 2024-09-11 15:29:06 +00:00 committed by GitHub
commit b5c024cca5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 12 additions and 67 deletions

View file

@ -15,17 +15,6 @@
hint: "Lautogestion des instructeurs permet aux instructeurs de gérer eux-mêmes la liste des instructeurs de la démarche.#{ 'Nous recommandons de laisser lautogestion des instructeurs activée.' if @procedure.routing_enabled? }",
disabled: false)
%li
= form_for @procedure,
method: :patch,
url: update_hide_instructeurs_email_admin_procedure_groupe_instructeurs_path(@procedure),
data: { controller: 'autosubmit', turbo: 'true' } do |f|
= render Dsfr::ToggleComponent.new(form: f,
target: :hide_instructeurs_email,
title: "Anonymat des instructeurs",
hint: "Permet de cacher l'adresse mail des instructeurs aux usagers lors de leurs interactions par le biais de la messagerie. Cette option est à activer pour les démarches sensibles.",
disabled: false)
%hr
%p.fr-mt-2w Routage
%p.fr-mt-2w= t('.routing_configuration_notice_1')

View file

@ -320,13 +320,6 @@ module Administrateurs
notice: "Lautogestion des instructeurs est #{procedure.instructeurs_self_management_enabled? ? "activée" : "désactivée"}."
end
def update_hide_instructeurs_email
procedure.update!(hide_instructeurs_email_params)
redirect_to options_admin_procedure_groupe_instructeurs_path(procedure),
notice: "L'anonymisation des instructeurs est #{procedure.hide_instructeurs_email? ? "activée" : "désactivée"}."
end
def import
if procedure.publiee_or_close?
if !CSV_ACCEPTED_CONTENT_TYPES.include?(csv_file.content_type) && !CSV_ACCEPTED_CONTENT_TYPES.include?(marcel_content_type)

View file

@ -51,7 +51,8 @@ class ProcedureDashboard < Administrate::BaseDashboard
for_tiers_enabled: Field::Boolean,
replaced_by_procedure_id: Field::String,
tags: Field::Text,
template: Field::Boolean
template: Field::Boolean,
hide_instructeurs_email: Field::Boolean
}.freeze
# COLLECTION_ATTRIBUTES
@ -113,6 +114,7 @@ class ProcedureDashboard < Administrate::BaseDashboard
:estimated_duration_visible,
:piece_justificative_multiple,
:for_tiers_enabled,
:hide_instructeurs_email,
:replaced_by_procedure_id
].freeze
@ -126,6 +128,7 @@ class ProcedureDashboard < Administrate::BaseDashboard
:estimated_duration_visible,
:piece_justificative_multiple,
:for_tiers_enabled,
:hide_instructeurs_email,
:replaced_by_procedure_id
].freeze

View file

@ -672,7 +672,6 @@ Rails.application.routes.draw do
post 'create_simple_routing'
delete 'destroy_all_groups_but_defaut'
patch 'update_instructeurs_self_management_enabled'
patch 'update_hide_instructeurs_email'
post 'import'
get 'export_groupe_instructeurs'
end

View file

@ -14,30 +14,28 @@ namespace :after_party do
total_gates = gates.count
progress = ProgressReport.new(total_gates)
puts 'Collecte des démarches avec le feature flag'
rake_puts 'Collecte des démarches avec le feature flag'
procedure_ids = gates.ids
puts procedure_ids
procedure_ids = gates.pluck(:value).map { _1.split(";").last.to_i }
rake_puts procedure_ids.inspect
progress.finish
puts progress
puts "Mise à jour des #{procedure_ids.size} démarches"
update_progress = ProgressReport.new(procedure_ids.size)
Procedure.where(id: procedure_ids).in_batches(of: 500) do |batch|
# rubocop:disable DS/Unscoped
Procedure.unscoped.where(id: procedure_ids).in_batches(of: 500) do |batch|
batch.update_all(hide_instructeurs_email: true)
update_progress.inc(batch.size)
puts update_progress
end
# rubocop:enable DS/Unscoped
update_progress.finish
puts update_progress
puts "Suppression du feature flag '#{feature_name}'"
rake_puts "Suppression du feature flag '#{feature_name}'"
Flipper.remove(feature_name)
puts "Feature flag '#{feature_name}' supprimé avec succès"
rake_puts "Feature flag '#{feature_name}' supprimé avec succès"
AfterParty::TaskRecord
.create version: AfterParty::TaskRecorder.new(__FILE__).timestamp

View file

@ -995,41 +995,4 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
expect(gi_1_1.signature).to be_attached
end
end
describe '#update_hide_instructeurs_email' do
let(:administrateur) { administrateurs(:default_admin) }
let(:procedure) { create(:procedure, administrateurs: [administrateur]) }
before do
sign_in(administrateur.user)
end
context 'when activating hide_instructeurs_email' do
it 'updates the procedure and redirects with correct notice' do
patch :update_hide_instructeurs_email, params: {
procedure_id: procedure.id,
procedure: { hide_instructeurs_email: "1" }
}
expect(procedure.reload.hide_instructeurs_email).to be true
expect(response).to redirect_to(options_admin_procedure_groupe_instructeurs_path(procedure))
expect(flash[:notice]).to eq("L'anonymisation des instructeurs est activée.")
end
end
context 'when deactivating hide_instructeurs_email' do
let(:procedure) { create(:procedure, hide_instructeurs_email: true, administrateurs: [administrateur]) }
it 'updates the procedure and redirects with correct notice' do
patch :update_hide_instructeurs_email, params: {
procedure_id: procedure.id,
procedure: { hide_instructeurs_email: "0" }
}
expect(procedure.reload.hide_instructeurs_email).to be false
expect(response).to redirect_to(options_admin_procedure_groupe_instructeurs_path(procedure))
expect(flash[:notice]).to eq("L'anonymisation des instructeurs est désactivée.")
end
end
end
end