Merge pull request #9672 from demarches-simplifiees/add-confirmation-page-for-procedure-publication-ldu

[admin] Ajout d'une page de confirmation après la publication d'une procédure - mise en avant de l'URL à partager
This commit is contained in:
Lisa Durand 2023-11-16 11:08:54 +00:00 committed by GitHub
commit b782bcdd2b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 63 additions and 25 deletions

View file

@ -3,7 +3,7 @@ module Administrateurs
layout 'all', only: [:all, :administrateurs]
respond_to :html, :xlsx
before_action :retrieve_procedure, only: [:champs, :annotations, :modifications, :edit, :zones, :monavis, :update_monavis, :jeton, :update_jeton, :publication, :publish, :transfert, :close, :allow_expert_review, :allow_expert_messaging, :experts_require_administrateur_invitation, :reset_draft]
before_action :retrieve_procedure, only: [:champs, :annotations, :modifications, :edit, :zones, :monavis, :update_monavis, :jeton, :update_jeton, :publication, :publish, :transfert, :close, :confirmation, :allow_expert_review, :allow_expert_messaging, :experts_require_administrateur_invitation, :reset_draft, :publish_revision]
before_action :draft_valid?, only: [:apercu]
after_action :reset_procedure, only: [:update]
@ -284,18 +284,10 @@ module Administrateurs
def publish
@procedure.assign_attributes(publish_params)
@procedure.publish_or_reopen!(current_administrateur)
if @procedure.draft_changed?
if @procedure.close?
if @procedure.publish_or_reopen!(current_administrateur)
@procedure.publish_revision!
flash.notice = "Démarche publiée"
end
else
@procedure.publish_revision!
flash.notice = "Nouvelle version de la démarche publiée"
end
elsif @procedure.publish_or_reopen!(current_administrateur)
flash.notice = "Démarche publiée"
@procedure.publish_revision!
end
if params[:old_procedure].present? && @procedure.errors.empty?
@ -307,7 +299,7 @@ module Administrateurs
.update!(replaced_by_procedure: @procedure)
end
redirect_to admin_procedure_path(@procedure)
redirect_to admin_procedure_confirmation_path(@procedure)
rescue ActiveRecord::RecordInvalid
flash.alert = @procedure.errors.full_messages
redirect_to admin_procedure_publication_path(@procedure)
@ -319,6 +311,13 @@ module Administrateurs
redirect_to admin_procedure_path(@procedure)
end
def publish_revision
@procedure.publish_revision!
flash.notice = "Nouvelle version de la démarche publiée"
redirect_to admin_procedure_path(@procedure)
end
def transfert
end
@ -326,6 +325,9 @@ module Administrateurs
@published_procedures = current_administrateur.procedures.publiees.to_h { |p| ["#{p.libelle} (#{p.id})", p.id] }
end
def confirmation
end
def allow_expert_review
@procedure.update!(allow_expert_review: !@procedure.allow_expert_review)
flash.notice = @procedure.allow_expert_review? ? "Avis externes activés" : "Avis externes désactivés"

View file

@ -0,0 +1,23 @@
= render partial: 'administrateurs/breadcrumbs',
locals: { steps: [['Démarches', admin_procedures_back_path(@procedure)],
[@procedure.libelle.truncate_words(10), admin_procedure_path(@procedure)],
['Confirmation']] }
.fr-container
.fr-grid-row
.fr-col-12.fr-col-offset-md-2.fr-col-md-8
%h1= t('administrateurs.procedures.publication.confirmation')
= render Dsfr::CalloutComponent.new(title: nil) do |c|
- c.with_body do
%p= t('administrateurs.procedures.publication.share_link')
%p
%strong= commencer_url(@procedure.path)
= render Dsfr::CopyButtonComponent.new(text: commencer_url(@procedure.path), title: t("administrateurs.procedures.publication.copy_url"))
%ul.fr-mt-2w.fr-btns-group.fr-btns-group--inline
%li= link_to t('administrateurs.procedures.publication.back_to_procedure'), admin_procedure_path(id: @procedure), class: 'fr-btn'
%li= link_to t('administrateurs.procedures.publication.new_procedure'), new_from_existing_admin_procedures_path, class: 'fr-btn fr-btn--secondary'
.text-center
= image_tag('landing/hero/dematerialiser.svg', "aria-hidden": true)

View file

@ -37,7 +37,10 @@
- c.bottom do
%ul.fr-mt-2w.fr-btns-group.fr-btns-group--inline
%li= button_to 'Publier les modifications', admin_procedure_publication_path(@procedure), class: 'fr-btn', id: 'publish-procedure-link', data: { disable_with: "Publication..." }, disabled: !@procedure.draft_revision.valid?, method: :get
- if @procedure.publiee?
%li= button_to 'Publier les modifications', admin_procedure_publish_revision_path(@procedure), class: 'fr-btn', id: 'publish-procedure-link', data: { disable_with: "Publication...", confirm: 'Êtes-vous sûr de vouloir publier les modifications ?' }, disabled: !@procedure.draft_revision.valid?, method: :put
- else
%li= button_to 'Publier les modifications', admin_procedure_publication_path(@procedure), class: 'fr-btn', id: 'publish-procedure-link', data: { disable_with: "Publication..." }, disabled: !@procedure.draft_revision.valid?, method: :get
%li= button_to "Réinitialiser les modifications", admin_procedure_reset_draft_path(@procedure), class: 'fr-btn fr-btn--secondary fr-mr-2w', data: { confirm: 'Êtes-vous sûr de vouloir réinitialiser les modifications ?' }, method: :put
- if !@procedure.procedure_expires_when_termine_enabled?