diff --git a/app/controllers/new_gestionnaire/procedures_controller.rb b/app/controllers/new_gestionnaire/procedures_controller.rb
index f32fb176a..80237e092 100644
--- a/app/controllers/new_gestionnaire/procedures_controller.rb
+++ b/app/controllers/new_gestionnaire/procedures_controller.rb
@@ -6,7 +6,7 @@ module NewGestionnaire
ITEMS_PER_PAGE = 25
def index
- @procedures = current_gestionnaire.visible_procedures.order(archived_at: :desc, published_at: :desc)
+ @procedures = current_gestionnaire.visible_procedures.order(archived_at: :desc, published_at: :desc, created_at: :desc)
dossiers = current_gestionnaire.dossiers
@dossiers_count_per_procedure = dossiers.all_state.group(:procedure_id).reorder(nil).count
diff --git a/app/helpers/procedure_helper.rb b/app/helpers/procedure_helper.rb
index f00f6ebed..bdedf9416 100644
--- a/app/helpers/procedure_helper.rb
+++ b/app/helpers/procedure_helper.rb
@@ -10,7 +10,7 @@ module ProcedureHelper
end
def procedure_libelle(procedure)
- parts = procedure.brouillon? ? [content_tag(:span, 'démarche non publiée', class: 'badge')] : []
+ parts = procedure.brouillon? ? [content_tag(:span, 'démarche en test', class: 'badge')] : []
parts << procedure.libelle
safe_join(parts, ' ')
end
diff --git a/app/models/procedure.rb b/app/models/procedure.rb
index eac04c11a..b79d5ad47 100644
--- a/app/models/procedure.rb
+++ b/app/models/procedure.rb
@@ -68,6 +68,7 @@ class Procedure < ApplicationRecord
before_save :update_juridique_required
before_save :update_durees_conservation_required
+ before_create :ensure_path_exists
include AASM
@@ -452,4 +453,12 @@ class Procedure < ApplicationRecord
times.percentile(p).ceil
end
end
+
+ def ensure_path_exists
+ if Flipflop.publish_draft?
+ if self.path.nil?
+ self.path = SecureRandom.uuid
+ end
+ end
+ end
end
diff --git a/app/views/admin/procedures/_informations.html.haml b/app/views/admin/procedures/_informations.html.haml
index 460f04211..fecb2936c 100644
--- a/app/views/admin/procedures/_informations.html.haml
+++ b/app/views/admin/procedures/_informations.html.haml
@@ -11,20 +11,6 @@
= f.text_area :description, rows: '6', placeholder: 'Description du projet', class: 'form-control'
- if !@procedure.locked?
- - if Flipflop.publish_draft?
- .form-group
- %h4 Lien public*
- .procedure-lien
- %span.prefix
- = commencer_test_url(path: '')
- = f.text_field :path, value: @path, class: 'form-control', data: { remote: true, debounce: true, url: admin_procedures_available_path, params: { id: @procedure.id }.to_query(:procedure) }
- %p.unavailable-path-message.text-warning
- - if @availability != Procedure::PATH_AVAILABLE
- = render partial: 'unavailable', locals: { availability: @availability }
- %p.help-block
- %i.fa.fa-info-circle
- Afin de faciliter l’accès à la démarche, vous êtes invité à personnaliser l’adresse d'accès public. C'est ce lien qu'il va falloir communiquer aux usagers souhaitant faire la démarche.
-
.form-group
%h4 Conservation des données
= f.label :duree_conservation_dossiers_dans_ds, "Sur demarches-simplifiees.fr* (durée en mois après le début de l’instruction)"
diff --git a/app/views/admin/procedures/_onglets.html.haml b/app/views/admin/procedures/_onglets.html.haml
index bede00304..c741591cc 100644
--- a/app/views/admin/procedures/_onglets.html.haml
+++ b/app/views/admin/procedures/_onglets.html.haml
@@ -3,7 +3,10 @@
%li{ class: @draft_class }
%a{ :href => "#{url_for :admin_procedures_draft}" }
%h5.text-primary
- Brouillons
+ - if Flipflop.publish_draft?
+ En test
+ - else
+ Brouillons
%li{ class: @active_class }
%a{ :href => "#{url_for :admin_procedures}" }
diff --git a/app/views/admin/procedures/_unavailable.html.haml b/app/views/admin/procedures/_unavailable.html.haml
index fd285d23a..d3c2ce71d 100644
--- a/app/views/admin/procedures/_unavailable.html.haml
+++ b/app/views/admin/procedures/_unavailable.html.haml
@@ -4,7 +4,7 @@
%br
Si vous voulez l’utiliser, l’ancienne démarche sera archivée lors de la publication de la démarche (plus accessible du public).
- when Procedure::PATH_NOT_AVAILABLE_BROUILLON
- Un brouillon de démarche existe déjà avec ce lien.
+ Une démarche en test existe déjà avec ce lien.
- when Procedure::PATH_NOT_AVAILABLE
Ce lien est déjà utilisé par une démarche.
%br
diff --git a/app/views/admin/procedures/show.html.haml b/app/views/admin/procedures/show.html.haml
index bf313f716..34408d6a7 100644
--- a/app/views/admin/procedures/show.html.haml
+++ b/app/views/admin/procedures/show.html.haml
@@ -42,25 +42,45 @@
%i.fa.fa-remove
Annuler
- - if @procedure.locked?
- #procedure_locked
- .alert.alert-info
- Cette démarche a été publiée, certains éléments ne peuvent plus être modifiés.
-
.lien-demarche
- %h3 Lien démarche
+ %h3
+ - if @procedure.brouillon_avec_lien?
+ Test et publication
+ - else
+ Publication
%div{ style: 'margin-top: 30px;' }
- if @procedure.archivee?
- .alert.alert-info
- Cette démarche est archivée et n’est donc pas accessible par le public.
+ Cette démarche est archivée et n’est donc plus accessible par le public.
- elsif @procedure.publiee?
+ Cette démarche est publiée, certains éléments ne peuvent plus être modifiés.
+ Pour y accéder vous pouvez utiliser le lien :
= link_to procedure_lien(@procedure), sanitize_url(procedure_lien(@procedure)), target: :blank
%br
%br
Attention, diffusez toujours le lien complet affiché ci-dessus, et non pas un lien générique vers demarches-simplifiees.fr. Ne dites pas non plus aux usagers de se rendre sur le site générique demarches-simplifiees.fr, donnez-leur toujours le lien complet.
- elsif @procedure.brouillon_avec_lien?
- if @procedure.gestionnaires.present? && @procedure.service.present?
- = link_to procedure_lien(@procedure), sanitize_url(procedure_lien(@procedure)), target: :blank
+ %p
+ Cette démarche est actuellement en test,
+ pour y accéder vous pouvez utiliser le lien :
+ = link_to procedure_lien(@procedure), sanitize_url(procedure_lien(@procedure)), target: :blank
+ %p
+ Tout personne ayant la connaissance de ce lien pourra ainsi remplir des dossiers sur votre démarche.
+ %br
+
+ %h4 Ce que vous pouvez faire lorsque vous êtes en test
+ %p
+ Profitez de la phase de test pour tester la saisie de dossiers, ainsi que toutes les fonctionnalités associées (instruction, emails automatiques, attestations, etc.).
+ %p
+ Vous pouvez effectuer toutes les modifications que vous souhaitez sur votre démarche pendant cette phase de test.
+ %p
+ Les dossiers qui seront remplis pendant la phase de test seront automatiquement supprimés lors de la modification ou la publication de votre démarche.
+ %br
+
+ %h4 Ce qui se passe lorsque vous passez en publication
+ %p
+ Une fois que vous êtes prêt à publier définitivement votre démarche, cliquez sur le bouton "Publier" pour choisir le lien définitif de votre démarche, les modifications sur la démarches ne seront alors plus possibles.
+
- else
.alert.alert-info
Pour pouvoir tester cette démarche, vous devez d’abord lui affecter
diff --git a/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_index.html.haml b/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_index.html.haml
index 133d5c02f..bdf47c5e3 100644
--- a/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_index.html.haml
+++ b/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_index.html.haml
@@ -11,13 +11,16 @@
#procedure-list
%a#draft-procedures{ :href => "#{url_for :admin_procedures_draft}" }
.procedure-list-element{ class: @draft_class }
- Brouillons
+ - if Flipflop.publish_draft?
+ En test
+ - else
+ Brouillons
.badge.progress-bar-default
= current_administrateur.procedures.brouillons.count
%a#active-procedures{ :href => "#{url_for :admin_procedures}" }
.procedure-list-element{ class: @active_class }
- Actives
+ Publiées
.badge.progress-bar-success
= current_administrateur.procedures.publiees.count
diff --git a/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_navbar.html.haml b/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_navbar.html.haml
index d7afc9660..b0eb644ad 100644
--- a/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_navbar.html.haml
+++ b/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_navbar.html.haml
@@ -12,7 +12,10 @@
#procedure-list
%a#onglet-infos{ href: url_for(admin_procedure_path(@procedure)) }
.procedure-list-element{ class: ('active' if active == 'Informations') }
- Publication
+ - if @procedure.brouillon_avec_lien?
+ Test et publication
+ - else
+ Publication
%a#onglet-description{ href: url_for(edit_admin_procedure_path(@procedure)) }
.procedure-list-element{ class: ('active' if active == 'Description') }
diff --git a/app/views/manager/procedures/show.html.erb b/app/views/manager/procedures/show.html.erb
index 8985c02a0..e4a00a4d3 100644
--- a/app/views/manager/procedures/show.html.erb
+++ b/app/views/manager/procedures/show.html.erb
@@ -38,7 +38,7 @@ as well as a link to its edit page.
<% end %>
<% if procedure.publiee? && procedure.dossiers.empty? %>
- <%= link_to 'passer en brouillon', draft_manager_procedure_path(procedure), method: :post, class: 'button' %>
+ <%= link_to 'repasser en test', draft_manager_procedure_path(procedure), method: :post, class: 'button' %>
<% end %>
<%= link_to 'supprimer la démarche', hide_manager_procedure_path(procedure), method: :post, class: 'button', data: { confirm: "Confirmez-vous la suppression de la démarche ?" } %>
diff --git a/app/views/new_gestionnaire/dossiers/_header.html.haml b/app/views/new_gestionnaire/dossiers/_header.html.haml
index 3928b531d..0079325fa 100644
--- a/app/views/new_gestionnaire/dossiers/_header.html.haml
+++ b/app/views/new_gestionnaire/dossiers/_header.html.haml
@@ -3,7 +3,10 @@
.flex.justify-between
%ul.breadcrumbs
%li
- = link_to dossier.procedure.libelle.truncate_words(10), gestionnaire_procedure_path(dossier.procedure), title: dossier.procedure.libelle
+ = link_to gestionnaire_procedure_path(dossier.procedure), title: dossier.procedure.libelle do
+ - if dossier.procedure.brouillon?
+ %span.badge démarche en test
+ = dossier.procedure.libelle.truncate_words(10)
%li
= "Dossier nº #{dossier.id}"
.mixed-buttons-bar
diff --git a/spec/controllers/admin/procedures_controller_spec.rb b/spec/controllers/admin/procedures_controller_spec.rb
index 3c114208f..bad0c5be6 100644
--- a/spec/controllers/admin/procedures_controller_spec.rb
+++ b/spec/controllers/admin/procedures_controller_spec.rb
@@ -723,7 +723,7 @@ describe Admin::ProceduresController, type: :controller do
let(:path) { procedure_owned.path }
it {
- expect(response.body).to include('Un brouillon de démarche existe déjà avec ce lien.')
+ expect(response.body).to include('Une démarche en test existe déjà avec ce lien.')
}
end
diff --git a/spec/features/admin/procedure_creation_spec.rb b/spec/features/admin/procedure_creation_spec.rb
index 2b3047510..646382773 100644
--- a/spec/features/admin/procedure_creation_spec.rb
+++ b/spec/features/admin/procedure_creation_spec.rb
@@ -150,7 +150,7 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
find('#publish-procedure').click
within '#publish-modal' do
- expect(page).to have_field('procedure_path', with: 'lien-de-la-procedure')
+ expect(page).to have_field('procedure_path')
click_on 'publish'
end
diff --git a/spec/features/admin/procedure_spec_helper.rb b/spec/features/admin/procedure_spec_helper.rb
index 0154e9609..b9708d3a4 100644
--- a/spec/features/admin/procedure_spec_helper.rb
+++ b/spec/features/admin/procedure_spec_helper.rb
@@ -2,9 +2,6 @@ module ProcedureSpecHelper
def fill_in_dummy_procedure_details(fill_path: true)
fill_in 'procedure_libelle', with: 'libelle de la procedure'
fill_in 'procedure_description', with: 'description de la procedure'
- if fill_path
- fill_in 'procedure_path', with: 'lien-de-la-procedure'
- end
fill_in 'procedure_cadre_juridique', with: 'cadre juridique'
fill_in 'procedure_duree_conservation_dossiers_dans_ds', with: '3'
fill_in 'procedure_duree_conservation_dossiers_hors_ds', with: '6'
diff --git a/spec/features/admin/procedure_update_spec.rb b/spec/features/admin/procedure_update_spec.rb
index 68f9b3df4..b80714274 100644
--- a/spec/features/admin/procedure_update_spec.rb
+++ b/spec/features/admin/procedure_update_spec.rb
@@ -26,21 +26,18 @@ feature 'Administrateurs can edit procedures', js: true do
administrateur: administrateur)
end
- scenario 'the administrator can edit the libelle and the path' do
+ scenario 'the administrator can edit the libelle' do
visit admin_procedures_draft_path
click_on procedure.libelle
click_on 'Description'
expect(page).to have_field('procedure_libelle', with: procedure.libelle)
- expect(page).to have_field('procedure_path', with: procedure.path)
fill_in('procedure_libelle', with: 'Ma petite démarche')
- fill_in('procedure_path', with: 'nouveau-lien-demarche')
click_on 'Enregistrer'
expect(page).to have_field('procedure_libelle', with: 'Ma petite démarche')
- expect(page).to have_field('procedure_path', with: 'nouveau-lien-demarche')
end
end
diff --git a/spec/views/admin/procedures/show.html.haml_spec.rb b/spec/views/admin/procedures/show.html.haml_spec.rb
index ea89b49b4..d645c0881 100644
--- a/spec/views/admin/procedures/show.html.haml_spec.rb
+++ b/spec/views/admin/procedures/show.html.haml_spec.rb
@@ -72,7 +72,7 @@ describe 'admin/procedures/show.html.haml', type: :view do
end
describe 'procedure link is present' do
- it { expect(rendered).to have_content('Cette démarche est archivée et n’est donc pas accessible par le public.') }
+ it { expect(rendered).to have_content('Cette démarche est archivée et n’est donc plus accessible par le public.') }
end
end
end