[fix #2612] Admin: add missing steps to admin UI

This commit is contained in:
simon lehericey 2019-01-04 15:43:02 +01:00 committed by Pierre de La Morinerie
parent 8ca7eb1c54
commit a197285742
6 changed files with 43 additions and 6 deletions

View file

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

View file

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

View file

@ -362,6 +362,20 @@ class Procedure < ApplicationRecord
end end
end end
def missing_steps
result = []
if service.nil?
result << :service
end
if gestionnaires.empty?
result << :instructeurs
end
result
end
private private
def claim_path_ownership!(path) def claim_path_ownership!(path)

View file

@ -47,7 +47,7 @@
.alert.alert-info .alert.alert-info
Cette démarche a été publiée, certains éléments ne peuvent plus être modifiés. Cette démarche a été publiée, certains éléments ne peuvent plus être modifiés.
%div .lien-demarche
%h3 Lien démarche %h3 Lien démarche
%div{ style: 'margin-top: 30px;' } %div{ style: 'margin-top: 30px;' }
- if @procedure.archivee? - if @procedure.archivee?
@ -72,5 +72,15 @@
= link_to("un service", services_path(procedure_id: @procedure)) = link_to("un service", services_path(procedure_id: @procedure))
\. \.
- else - else
.alert.alert-info - 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 donc pas accessible par le public. Cette démarche na pas encore de lien, et nest donc 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)) } %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 .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)) } %a#onglet-instructeurs{ href: url_for(admin_procedure_instructeurs_path(@procedure)) }
.procedure-list-element{ class: ('active' if active == 'Instructeurs') } .procedure-list-element{ class: ('active' if active == 'Instructeurs') }
Instructeurs Instructeurs
- if @procedure.missing_steps.include?(:instructeurs)
%p.missing-steps (à compléter)
- if !@procedure.locked? - if !@procedure.locked?
%a#onglet-champs{ href: url_for(admin_procedure_types_de_champ_path(@procedure)) } %a#onglet-champs{ href: url_for(admin_procedure_types_de_champ_path(@procedure)) }

View file

@ -343,8 +343,7 @@ describe Procedure do
let!(:piece_justificative_1) { create(:type_de_piece_justificative, procedure: procedure, order_place: 1) } let!(:piece_justificative_1) { create(:type_de_piece_justificative, procedure: procedure, order_place: 1) }
let(:received_mail) { create(:received_mail) } let(:received_mail) { create(:received_mail) }
let(:from_library) { false } let(:from_library) { false }
let!(:administrateur) { procedure.administrateur } let(:administrateur) { procedure.administrateur }
let!(:gestionnaire) { create(:gestionnaire, email: administrateur.email) }
before do before do
@logo = File.open('spec/fixtures/files/white.png') @logo = File.open('spec/fixtures/files/white.png')
@ -362,7 +361,7 @@ describe Procedure do
subject { @procedure } subject { @procedure }
it { expect(subject.parent_procedure).to eq(procedure) } it { expect(subject.parent_procedure).to eq(procedure) }
it { expect(subject.gestionnaires).to eq([gestionnaire]) } it { expect(subject.gestionnaires.pluck(:email)).to eq([administrateur.email]) }
it 'should duplicate specific objects with different id' do it 'should duplicate specific objects with different id' do
expect(subject.id).not_to eq(procedure.id) expect(subject.id).not_to eq(procedure.id)