Merge pull request #6548 from tchak/feat-add-admin-from-manager

feat(manager): bring back add administrateur
This commit is contained in:
Paul Chavard 2021-10-19 13:21:29 +02:00 committed by GitHub
commit 8616a06937
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 4 deletions

View file

@ -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] = "Ladministrateur \"#{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] = "Ladministrateur \"#{administrateur_email}\" est ajouté à la démarche pour la journée."
else
flash[:notice] = "Ladministrateur \"#{administrateur_email}\" est ajouté à la démarche."
end
else
if add_self
flash[:alert] = "Vous nêtes pas connecté en tant quadministrateur."
else
flash[:alert] = "Ladministrateur \"#{administrateur_email}\" est introuvable."
end
end
redirect_to manager_procedure_path(procedure)
end

View file

@ -64,6 +64,10 @@ as well as a link to its edit page.
<dd class="attribute-data attribute-data--<%=attribute.html_class%>">
<%= 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;') %>
<button>Ajouter un administrateur</button>
<% end %>
<% if procedure.administrateurs.find { |admin| admin.email == current_super_admin.email } %>
<p style="margin-top: 20px;">Vous êtes déjà administrateur sur cette démarche</p>
<% else %>