Merge pull request #3287 from betagouv/improve-publish-draft
Improve publish draft
This commit is contained in:
commit
feb340697a
16 changed files with 63 additions and 42 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)"
|
||||
|
|
|
@ -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}" }
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 <strong>archivée</strong> et n’est donc plus accessible par le public.
|
||||
- elsif @procedure.publiee?
|
||||
Cette démarche est <strong>publiée</strong>, 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 <strong>lien complet</strong> 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 <strong>en test</strong>,
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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') }
|
||||
|
|
|
@ -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 ?" } %>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue