Merge pull request #4801 from betagouv/4797-impossible-ajouter-administrateur-dans-manager
- permet d'ajouter de nouveau un administrateur depuis le manager - permet de nouveau de rechercher un administrateur depuis le manager
This commit is contained in:
commit
bcd92f5956
3 changed files with 36 additions and 7 deletions
|
@ -16,7 +16,7 @@ class AdministrateurDashboard < Administrate::BaseDashboard
|
||||||
registration_state: Field::String.with_options(searchable: false),
|
registration_state: Field::String.with_options(searchable: false),
|
||||||
current_sign_in_at: Field::DateTime,
|
current_sign_in_at: Field::DateTime,
|
||||||
features: FeaturesField,
|
features: FeaturesField,
|
||||||
email: Field::Email
|
email: Field::Email.with_options(searchable: false)
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
# COLLECTION_ATTRIBUTES
|
# COLLECTION_ATTRIBUTES
|
||||||
|
|
13
app/views/manager/administrateurs/_form.html.haml
Normal file
13
app/views/manager/administrateurs/_form.html.haml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
= form_for([namespace, Administrateur.new(user: User.new)], html: { class: "form" }) do |f|
|
||||||
|
- if page.resource.errors.any?
|
||||||
|
#error_explanation
|
||||||
|
%h2
|
||||||
|
= t("administrate.form.errors", pluralized_errors: pluralize(page.resource.errors.count, t("administrate.form.error")), resource_name: display_resource_name(page.resource_name))
|
||||||
|
%ul
|
||||||
|
- page.resource.errors.full_messages.each do |message|
|
||||||
|
%li.flash-error= message
|
||||||
|
- page.attributes.each do |attribute|
|
||||||
|
%div{ :class => "field-unit field-unit--#{attribute.html_class}" }
|
||||||
|
= render_field attribute, f: f
|
||||||
|
.form-actions
|
||||||
|
= f.submit
|
|
@ -1,14 +1,22 @@
|
||||||
describe Manager::AdministrateursController, type: :controller do
|
describe Manager::AdministrateursController, type: :controller do
|
||||||
let(:administration) { create(:administration) }
|
let(:administration) { create(:administration) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
sign_in administration
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'GET #new' do
|
||||||
|
render_views
|
||||||
|
it 'displays form to create a new admin' do
|
||||||
|
get :new
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe 'POST #create' do
|
describe 'POST #create' do
|
||||||
let(:email) { 'plop@plop.com' }
|
let(:email) { 'plop@plop.com' }
|
||||||
let(:password) { 'démarches-simplifiées-pwd' }
|
let(:password) { 'démarches-simplifiées-pwd' }
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in administration
|
|
||||||
end
|
|
||||||
|
|
||||||
subject { post :create, params: { administrateur: { email: email } } }
|
subject { post :create, params: { administrateur: { email: email } } }
|
||||||
|
|
||||||
context 'when email and password are correct' do
|
context 'when email and password are correct' do
|
||||||
|
@ -35,8 +43,6 @@ describe Manager::AdministrateursController, type: :controller do
|
||||||
describe '#delete' do
|
describe '#delete' do
|
||||||
let!(:admin) { create(:administrateur) }
|
let!(:admin) { create(:administrateur) }
|
||||||
|
|
||||||
before { sign_in administration }
|
|
||||||
|
|
||||||
subject { delete :delete, params: { id: admin.id } }
|
subject { delete :delete, params: { id: admin.id } }
|
||||||
|
|
||||||
it 'deletes the admin' do
|
it 'deletes the admin' do
|
||||||
|
@ -45,4 +51,14 @@ describe Manager::AdministrateursController, type: :controller do
|
||||||
expect(Administrateur.find_by(id: admin.id)).to be_nil
|
expect(Administrateur.find_by(id: admin.id)).to be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '#index' do
|
||||||
|
render_views
|
||||||
|
let(:admin) { create(:administrateur) }
|
||||||
|
|
||||||
|
it 'searches admin by email' do
|
||||||
|
get :index, params: { search: admin.email }
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue