diff --git a/app/controllers/manager/procedures_controller.rb b/app/controllers/manager/procedures_controller.rb index eb9d3c6ef..51a8c9324 100644 --- a/app/controllers/manager/procedures_controller.rb +++ b/app/controllers/manager/procedures_controller.rb @@ -47,12 +47,22 @@ module Manager end def add_administrateur - administrateur = Administrateur.by_email(current_super_admin.email) + add_self = params[:email].blank? + administrateur_email = add_self ? current_super_admin.email : params[:email] + administrateur = Administrateur.by_email(administrateur_email) if administrateur - AdministrateursProcedure.create(procedure: procedure, administrateur: administrateur, manager: true) - flash[:notice] = "L’administrateur \"#{administrateur.email}\" est ajouté à la démarche pour la journée." + AdministrateursProcedure.create(procedure: procedure, administrateur: administrateur, manager: add_self) + if add_self + flash[:notice] = "L’administrateur \"#{administrateur_email}\" est ajouté à la démarche pour la journée." + else + flash[:notice] = "L’administrateur \"#{administrateur_email}\" est ajouté à la démarche." + end else - flash[:alert] = "Vous n’êtes pas connecté en tant qu’administrateur." + if add_self + flash[:alert] = "Vous n’êtes pas connecté en tant qu’administrateur." + else + flash[:alert] = "L’administrateur \"#{administrateur_email}\" est introuvable." + end end redirect_to manager_procedure_path(procedure) end diff --git a/app/views/manager/procedures/show.html.erb b/app/views/manager/procedures/show.html.erb index 492b787d7..044289967 100644 --- a/app/views/manager/procedures/show.html.erb +++ b/app/views/manager/procedures/show.html.erb @@ -64,6 +64,10 @@ as well as a link to its edit page.
<%= render_field attribute, page: page %> <% if attribute.name == 'administrateurs' %> + <%= form_tag(add_administrateur_manager_procedure_path(procedure), style: 'margin-top: 1rem;') do %> + <%= email_field_tag(:email, '', placeholder: 'Email', autocapitalize: 'off', autocorrect: 'off', spellcheck: 'false', style: 'margin-bottom: 1rem;width:24rem;') %> + + <% end %> <% if procedure.administrateurs.find { |admin| admin.email == current_super_admin.email } %>

Vous êtes déjà administrateur sur cette démarche

<% else %>