Merge pull request #3256 from betagouv/fix_2612_show_mandatory_steps

Fix 2612 show mandatory steps
This commit is contained in:
Pierre de La Morinerie 2019-01-09 16:36:40 +01:00 committed by GitHub
commit 98be3d8186
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 46 additions and 7 deletions

View file

@ -58,6 +58,10 @@ h5 span {
.progress-bar-warning {
background-color: #E4594F;
}
.missing-steps {
color: #FFA500;
}
}
.procedure-list-element:hover {

View file

@ -190,6 +190,12 @@
}
}
.lien-demarche {
p.alert {
margin-bottom: 8px;
}
}
.button-navbar-action:hover {
color: $light-blue;
}

View file

@ -218,6 +218,8 @@ class Procedure < ApplicationRecord
procedure.service = self.service.clone_and_assign_to_administrateur(admin)
end
admin.gestionnaire.assign_to_procedure(procedure)
procedure
end
@ -360,6 +362,20 @@ class Procedure < ApplicationRecord
end
end
def missing_steps
result = []
if service.nil?
result << :service
end
if gestionnaires.empty?
result << :instructeurs
end
result
end
private
def claim_path_ownership!(path)

View file

@ -47,7 +47,7 @@
.alert.alert-info
Cette démarche a été publiée, certains éléments ne peuvent plus être modifiés.
%div
.lien-demarche
%h3 Lien démarche
%div{ style: 'margin-top: 30px;' }
- if @procedure.archivee?
@ -72,5 +72,15 @@
= link_to("un service", services_path(procedure_id: @procedure))
\.
- else
.alert.alert-info
Cette démarche na pas encore de lien, et nest donc pas accessible par le public.
- if @procedure.missing_steps.include?(:service)
%p.alert.alert-danger
Vous devez renseigner les coordonnées de votre Service administratif avant de pouvoir publier votre démarche.
= link_to 'Cliquez ici.', (current_administrateur.services.present? ? url_for(services_path(procedure_id: @procedure.id)) : url_for(new_service_path(procedure_id: @procedure.id)))
- if @procedure.missing_steps.include?(:instructeurs)
%p.alert.alert-danger
Vous devez affecter des instructeurs avant de pouvoir publier votre démarche.
= link_to 'Cliquez ici.', admin_procedure_instructeurs_path(@procedure)
%p.alert.alert-info
Cette démarche na pas encore de lien, et nest pas accessible par le public.

View file

@ -20,11 +20,15 @@
%a#onglet-services{ href: current_administrateur.services.present? ? url_for(services_path(procedure_id: @procedure.id)) : url_for(new_service_path(procedure_id: @procedure.id)) }
.procedure-list-element
Services
Service
- if @procedure.missing_steps.include?(:service)
%p.missing-steps (à compléter)
%a#onglet-instructeurs{ href: url_for(admin_procedure_instructeurs_path(@procedure)) }
.procedure-list-element{ class: ('active' if active == 'Instructeurs') }
Instructeurs
- if @procedure.missing_steps.include?(:instructeurs)
%p.missing-steps (à compléter)
- if !@procedure.locked?
%a#onglet-champs{ href: url_for(admin_procedure_types_de_champ_path(@procedure)) }

View file

@ -361,6 +361,7 @@ describe Procedure do
subject { @procedure }
it { expect(subject.parent_procedure).to eq(procedure) }
it { expect(subject.gestionnaires.pluck(:email)).to eq([administrateur.email]) }
it 'should duplicate specific objects with different id' do
expect(subject.id).not_to eq(procedure.id)
@ -430,8 +431,6 @@ describe Procedure do
it 'should not duplicate specific related objects' do
expect(subject.dossiers).to eq([])
expect(subject.gestionnaires).to eq([])
expect(subject.assign_to).to eq([])
end
describe 'should not duplicate lien_notice' do

View file

@ -34,7 +34,7 @@ describe 'admin/procedures/show.html.haml', type: :view do
end
describe 'procedure link is not present' do
it { expect(rendered).to have_content('Cette démarche na pas encore de lien, et nest donc pas accessible par le public.') }
it { expect(rendered).to have_content('Cette démarche na pas encore de lien, et nest pas accessible par le public.') }
end
end
end