app: rename new_administrateur
to administrateurs
This commit is contained in:
parent
5736521f52
commit
184a401182
97 changed files with 155 additions and 158 deletions
110
app/views/administrateurs/procedures/_informations.html.haml
Normal file
110
app/views/administrateurs/procedures/_informations.html.haml
Normal file
|
@ -0,0 +1,110 @@
|
|||
- if @procedure.locked?
|
||||
.card.warning
|
||||
.card-title Cette démarche est publiée.
|
||||
Certains éléments de la description ne sont plus modifiables.
|
||||
|
||||
= f.label :libelle do
|
||||
Titre de la démarche
|
||||
%span.mandatory *
|
||||
= f.text_field :libelle, class: 'form-control', placeholder: 'Titre'
|
||||
|
||||
= f.label :description do
|
||||
Description
|
||||
%span.mandatory *
|
||||
= f.text_area :description, rows: '6', placeholder: 'Description de la démarche, destinataires, etc. ', class: 'form-control'
|
||||
|
||||
%h3.header-subsection Logo de la démarche
|
||||
= image_upload_and_render f, @procedure.logo
|
||||
|
||||
%h3.header-subsection Conservation des données
|
||||
= f.label :duree_conservation_dossiers_dans_ds do
|
||||
Sur #{APPLICATION_NAME}
|
||||
%span.mandatory *
|
||||
|
||||
%p.notice (durée en mois après le début de l’instruction)
|
||||
= f.number_field :duree_conservation_dossiers_dans_ds, class: 'form-control', placeholder: '6', required: true
|
||||
|
||||
- if @procedure.created_at.present?
|
||||
= f.label :lien_site_web do
|
||||
Où les usagers trouveront-ils le lien vers la démarche ?
|
||||
= f.text_field :lien_site_web, class: 'form-control', placeholder: 'https://exemple.gouv.fr/ma_demarche'
|
||||
|
||||
%h3.header-subsection
|
||||
Cadre juridique
|
||||
%span.mandatory *
|
||||
|
||||
%p.notice
|
||||
Le cadre juridique justifie le droit de collecter les données demandées dans votre démarche auprès des usagers. Par exemple :
|
||||
%br
|
||||
• Texte de loi (loi, décret, circulaire, arrêté…)
|
||||
%br
|
||||
• Texte juridique (statuts, délibération, décision du conseil d’administration…)
|
||||
%br
|
||||
= link_to("En savoir plus avec cette vidéo de 5 minutes", CADRE_JURIDIQUE_URL, target: "_blank", rel: "noopener")
|
||||
|
||||
%p.notice
|
||||
Vous pouvez saisir un lien web vers ce texte, ou l’importer depuis un fichier.
|
||||
|
||||
= f.label :cadre_juridique, 'Lien vers le texte'
|
||||
= f.text_field :cadre_juridique, class: 'form-control', placeholder: 'https://www.legifrance.gouv.fr/'
|
||||
|
||||
= f.label :deliberation, 'Importer le texte'
|
||||
= text_upload_and_render f, @procedure.deliberation
|
||||
|
||||
%h3.header-subsection Notice explicative de la démarche
|
||||
|
||||
%p.notice
|
||||
Une notice explicative est un document destiné à guider l’usager dans sa démarche. C’est un document que vous avez élaboré et qui peut prendre la forme d’un fichier doc, d’un pdf ou encore de diapositives. Le bouton pour télécharger cette notice apparaît en haut du formulaire pour l’usager.
|
||||
|
||||
= f.label :notice, 'Notice'
|
||||
%p.notice
|
||||
Formats acceptés : .doc, .odt, .pdf, .ppt, .pptx
|
||||
- notice = @procedure.notice
|
||||
= text_upload_and_render f, @procedure.notice
|
||||
|
||||
- if !@procedure.locked?
|
||||
%h3.header-subsection À qui s’adresse ma démarche ?
|
||||
.radios.vertical
|
||||
= f.label :for_individual, value: true do
|
||||
= f.radio_button :for_individual, true
|
||||
Ma démarche s’adresse à un particulier
|
||||
%p.notice En choisissant cette option, l’usager devra renseigner son nom et prénom avant d’accéder au formulaire
|
||||
|
||||
= f.label :for_individual, value: false do
|
||||
= f.radio_button :for_individual, false
|
||||
Ma démarche s’adresse à une personne morale
|
||||
%p.notice
|
||||
En choisissant cette option, l’usager devra renseigner son n° SIRET.<br>Grâce à l’API Entreprise, les informations sur la personne morale (raison sociale, adresse du siège, etc.) seront automatiquement renseignées.
|
||||
|
||||
%p.explication
|
||||
Si votre démarche s’adresse indifféremment à une personne morale ou un particulier, choisissez l'option « Particuliers ». Vous pourrez ajouter un champ SIRET directement dans le formulaire.
|
||||
|
||||
%details.procedure-form__options-details
|
||||
%summary.procedure-form__options-summary
|
||||
%h3.header-subsection Options avancées
|
||||
|
||||
- if feature_enabled?(:administrateur_web_hook)
|
||||
= f.label :web_hook_url do
|
||||
Lien de rappel HTTP (webhook)
|
||||
%p.notice
|
||||
Vous pouvez définir un lien de rappel HTTP (aussi appelé webhook) pour notifier un service tiers du changement de l'état d’un dossier de cette démarche sur #{APPLICATION_NAME}.
|
||||
= link_to("Consulter la documentation du webhook", WEBHOOK_DOC_URL, target: "_blank", rel: "noopener")
|
||||
= f.text_field :web_hook_url, class: 'form-control', placeholder: 'https://callback.exemple.fr/'
|
||||
|
||||
= f.label :auto_archive_on do
|
||||
Date limite de dépôt des dossiers
|
||||
%p.notice
|
||||
Si une date est définie, aucun dossier ne pourra plus être déposé ou modifié après cette limite.
|
||||
%p.notice
|
||||
Le
|
||||
- value = @procedure.auto_archive_on ? @procedure.auto_archive_on - 1.day : nil
|
||||
= f.date_field :auto_archive_on, id: 'auto_archive_on', value: value
|
||||
#{procedure_auto_archive_time(@procedure)}.
|
||||
|
||||
= f.label :declarative_with_state do
|
||||
Démarche déclarative
|
||||
%p.notice
|
||||
Par défaut, un dossier déposé peut être complété ou corrigé par le demandeur jusqu'à sa mise en instruction.<br>
|
||||
Dans une démarche déclarative, une fois déposé, un dossier ne peut plus être modifié.
|
||||
Soit il passe immédiatement « en instruction » pour être traité soit il est immédiatement « accepté ».
|
||||
= f.select :declarative_with_state, Procedure.declarative_attributes_for_select, { include_blank: 'Non' }, class: 'form-control'
|
15
app/views/administrateurs/procedures/_monavis.html.haml
Normal file
15
app/views/administrateurs/procedures/_monavis.html.haml
Normal file
|
@ -0,0 +1,15 @@
|
|||
%p.explication
|
||||
Proposez aux usagers de donner un avis sur votre démarche. Pour ce faire, vous devez précédemment aller sur «
|
||||
%a{ :href => "https://monavis.numerique.gouv.fr" } https://monavis.numerique.gouv.fr
|
||||
», créer un compte, et référencer là démarche que vous venez de publier.
|
||||
%br
|
||||
%br
|
||||
Vous pouvez
|
||||
%a{ :href => DOC_INTEGRATION_MONAVIS_URL } consulter notre tutoriel complet
|
||||
pour intégrer le bouton « MonAvis » sur #{APPLICATION_NAME}.
|
||||
%br
|
||||
%br
|
||||
Une fois en possession du code généré sur le site MonAvis, vous pouvez le coller dans le champ ci-dessous :
|
||||
|
||||
= f.label :monavis_embed, "Mon avis"
|
||||
= f.text_area :monavis_embed, rows: '6', placeholder: '<a href="https://monavis.numerique.gouv.fr/Demarches/123456?&view-mode=formulaire-avis&nd_mode=en-ligne-enti%C3%A8rement&nd_source=button&key=cd4a872d4"><img src="https://monavis.numerique.gouv.fr/monavis-static/bouton-bleu.png" alt="Je donne mon avis" title="Je donne mon avis sur cette démarche" /></a>', class: 'form-control'
|
|
@ -0,0 +1,13 @@
|
|||
= form_tag admin_procedure_transfer_path(procedure_id: @procedure.id), method: :post, class: 'form' do
|
||||
.card
|
||||
%h2.card-title
|
||||
Envoyer une copie de cette démarche à un autre administrateur
|
||||
%p.mb-4
|
||||
Cette fonctionnalité vous permet de d’envoyer une copie de votre démarche à un autre administrateur.
|
||||
|
||||
%div
|
||||
= text_field_tag :email_admin, '', { class: 'form-control',
|
||||
type: 'email',
|
||||
placeholder: 'Email administrateur cible' }
|
||||
|
||||
= submit_tag "Envoyer à l'administrateur", class: 'button primary'
|
|
@ -0,0 +1,65 @@
|
|||
- procedures.each do |procedure|
|
||||
.card
|
||||
.admin-procedures-list-row.infos.flex
|
||||
- if procedure.logo.present?
|
||||
= image_tag procedure.logo, alt: procedure.libelle, width: '100'
|
||||
.flex.column.ml-1
|
||||
.card-title
|
||||
= link_to procedure.libelle, admin_procedure_path(procedure), style: 'color: black;'
|
||||
= link_to(procedure_lien(procedure), procedure_lien(procedure), class: 'mb-1')
|
||||
|
||||
.admin-procedures-list-timestamps
|
||||
%p.notice N° #{procedure.id}
|
||||
%p.notice créée le #{procedure.created_at.strftime('%d/%m/%Y')}
|
||||
- if procedure.published_at.present?
|
||||
%p.notice publiée le #{procedure.published_at.strftime('%d/%m/%Y')}
|
||||
- if procedure.closed_at.present?
|
||||
%p.notice archivée le #{procedure.closed_at.strftime('%d/%m/%Y')}
|
||||
|
||||
.admin-procedures-list-row.actions.flex.justify-between
|
||||
%div
|
||||
- if procedure.routee?
|
||||
%span.icon.person
|
||||
%span.badge.baseline= procedure.groupe_instructeurs.count
|
||||
- else
|
||||
%span.icon.person
|
||||
%span.badge.baseline= procedure.instructeurs.count
|
||||
|
||||
%span.icon.folder
|
||||
%span.badge.baseline= procedure.dossiers.count
|
||||
|
||||
%div
|
||||
= link_to admin_procedure_path(procedure), class: 'button mr-1 edit-procedure' do
|
||||
%span.icon.edit
|
||||
Modifier
|
||||
.dropdown
|
||||
.button.dropdown-button.procedures-actions-btn{ 'aria-expanded' => 'false', 'aria-controls' => 'actions-menu' }
|
||||
Actions
|
||||
#actions-menu.dropdown-content.fade-in-down
|
||||
%ul.dropdown-items.pl-0
|
||||
- if !procedure.close?
|
||||
%li
|
||||
= link_to sanitize_url(procedure.brouillon? ? commencer_test_url(path: procedure.path) : commencer_url(path: procedure.path)), target: :blank, rel: :noopener do
|
||||
%span.icon.in-progress
|
||||
.dropdown-description
|
||||
%h4 Tester
|
||||
|
||||
%li
|
||||
= link_to admin_procedure_clone_path(procedure.id), class: 'clone-btn', data: { method: :put } do
|
||||
%span.icon.new-folder
|
||||
.dropdown-description
|
||||
%h4 Cloner
|
||||
|
||||
- if procedure.publiee?
|
||||
%li
|
||||
= link_to admin_procedure_archive_path(procedure_id: procedure.id), method: :put, data: { confirm: "Voulez-vous vraiment clore la démarche ? \nLes dossiers en cours pourront être instruits, mais aucun nouveau dossier ne pourra plus être déposé.", disable_with: "Archivage..."} do
|
||||
%span.icon.archive
|
||||
.dropdown-description
|
||||
%h4 Clore
|
||||
|
||||
- if procedure.brouillon?
|
||||
%li
|
||||
= link_to admin_procedure_path(procedure), method: :delete, data: { confirm: "Voulez-vous vraiment supprimer la démarche ? \nToute suppression est définitive et s'appliquera aux éventuels autres administrateurs de cette démarche !" } do
|
||||
%span.icon.refuse
|
||||
.dropdown-description
|
||||
%h4 Supprimer
|
|
@ -0,0 +1,34 @@
|
|||
.card.mb-4
|
||||
%h2.card-title Publiez votre démarche
|
||||
= form_tag admin_procedure_publish_path(procedure_id: procedure.id), method: :put, class: 'form' do
|
||||
- if procedure.draft_changed?
|
||||
%p.mb-4 Publiez une nouvelle version de votre démarche. Les modifications suivantes seront appliquées :
|
||||
= render partial: 'revision_changes', locals: { changes: procedure.revision_changes }
|
||||
- else
|
||||
%p.mb-4 Publiez votre démarche, et partagez la à vos usagers. Aucune modification ne sera possible.
|
||||
%p Personnalisez le lien public de la démarche pour en faciliter l’accès (<strong>obligatoire pour publier votre démarche</strong>) :
|
||||
%p.empty-text
|
||||
= commencer_url(path: '')
|
||||
= text_field_tag(:path, procedure.path,
|
||||
id: 'procedure_path',
|
||||
label: 'Adresse de diffusion',
|
||||
placeholder: 'chemin-de-la-démarche',
|
||||
required: true,
|
||||
class: 'form',
|
||||
pattern: '^[a-z0-9_-]{3,200}$',
|
||||
title: "De 3 à 200 caractères; minuscules, chiffres et tiret seulement",
|
||||
autocomplete: 'off',
|
||||
style: 'width: 300px; display: inline;')
|
||||
.text-info.mb-4
|
||||
Attention, diffusez toujours le <strong>lien complet</strong> affiché ci-dessus, et non pas un lien générique vers #{APPLICATION_NAME}. Ne dites pas non plus aux usagers de se rendre sur le site générique #{APPLICATION_NAME}, donnez-leur toujours le lien complet.
|
||||
%h2.card-title Diffusion de la démarche
|
||||
%p Où les utilisateurs trouveront-ils le lien de la démarche ? Typiquement, il s’agit d’une page de votre site web.
|
||||
%p.center
|
||||
= text_field_tag(:lien_site_web, procedure.lien_site_web,
|
||||
required: true,
|
||||
class: 'form-control',
|
||||
autocomplete: 'off',
|
||||
placeholder: 'https://exemple.gouv.fr/ma_demarche')
|
||||
|
||||
.flex.justify-end
|
||||
= submit_tag procedure_publish_label(procedure, :submit), { class: "button primary", id: 'publish' }
|
|
@ -0,0 +1,63 @@
|
|||
%ul.revision-changes
|
||||
- changes.each do |change|
|
||||
- postfix = change[:private] ? '_private' : ''
|
||||
- case change[:op]
|
||||
- when :add
|
||||
%li.mb-1= t("add#{postfix}", label: change[:label], scope: [:administrateurs, :revision_changes])
|
||||
- when :remove
|
||||
%li.mb-1= t("remove#{postfix}", label: change[:label], scope: [:administrateurs, :revision_changes])
|
||||
- when :update
|
||||
- case change[:attribute]
|
||||
- when :libelle
|
||||
%li.mb-1= t("update_libelle#{postfix}", label: change[:label], to: change[:to], scope: [:administrateurs, :revision_changes])
|
||||
- when :type_champ
|
||||
%li.mb-1= t("update_type_champ#{postfix}", label: change[:label], to: t("activerecord.attributes.type_de_champ.type_champs.#{change[:to]}"), scope: [:administrateurs, :revision_changes])
|
||||
- when :description
|
||||
%li.mb-1= t("update_description#{postfix}", label: change[:label], to: change[:to], scope: [:administrateurs, :revision_changes])
|
||||
- when :drop_down_secondary_libelle
|
||||
%li.mb-1= t("update_drop_down_secondary_libelle#{postfix}", label: change[:label], to: change[:to], scope: [:administrateurs, :revision_changes])
|
||||
- when :drop_down_secondary_description
|
||||
%li.mb-1= t("update_drop_down_secondary_description#{postfix}", label: change[:label], to: change[:to], scope: [:administrateurs, :revision_changes])
|
||||
- when :mandatory
|
||||
- if change[:from] == false
|
||||
-# i18n-tasks-use t('administrateurs.revision_changes.update_mandatory.enabled')
|
||||
-# i18n-tasks-use t('administrateurs.revision_changes.update_mandatory_private.enabled')
|
||||
%li.mb-1= t("administrateurs.revision_changes.update_mandatory#{postfix}.enabled", label: change[:label])
|
||||
- else
|
||||
-# i18n-tasks-use t('administrateurs.revision_changes.update_mandatory.disabled')
|
||||
-# i18n-tasks-use t('administrateurs.revision_changes.update_mandatory_private.disabled')
|
||||
%li.mb-1= t("administrateurs.revision_changes.update_mandatory#{postfix}.disabled", label: change[:label])
|
||||
- when :piece_justificative_template
|
||||
-# i18n-tasks-use t('administrateurs.revision_changes.update_piece_justificative_template')
|
||||
-# i18n-tasks-use t('administrateurs.revision_changes.update_piece_justificative_template_private')
|
||||
%li.mb-1= t("administrateurs.revision_changes.update_piece_justificative_template#{postfix}", label: change[:label])
|
||||
- when :drop_down_options
|
||||
- added = change[:to].sort - change[:from].sort
|
||||
- removed = change[:from].sort - change[:to].sort
|
||||
%li.mb-1
|
||||
= t("update_drop_down_options#{postfix}", scope: [:administrateurs, :revision_changes], label: change[:label])
|
||||
%ul
|
||||
- if added.present?
|
||||
%li= t(:add_option, scope: [:administrateurs, :revision_changes], items: added.map{ |term| "« #{term.strip} »" }.join(", "))
|
||||
- if removed.present?
|
||||
%li= t(:remove_option, scope: [:administrateurs, :revision_changes], items: removed.map{ |term| "« #{term.strip} »" }.join(", "))
|
||||
- when :drop_down_other
|
||||
- if change[:from] == false
|
||||
%li.mb-1= t("administrateurs.revision_changes.update_drop_down_other#{postfix}.enabled", label: change[:label])
|
||||
- else
|
||||
%li.mb-1= t("administrateurs.revision_changes.update_drop_down_other#{postfix}.disabled", label: change[:label])
|
||||
- when :carte_layers
|
||||
- added = change[:to].sort - change[:from].sort
|
||||
- removed = change[:from].sort - change[:to].sort
|
||||
%li.mb-1
|
||||
= t("update_carte_layers#{postfix}", scope: [:administrateurs, :revision_changes], label: change[:label])
|
||||
%ul
|
||||
- if added.present?
|
||||
%li= t(:add_option, scope: [:administrateurs, :revision_changes], items: added.map{ |term| "« #{t(term, scope: [:administrateurs, :carte_layers])} »" }.join(", "))
|
||||
- if removed.present?
|
||||
%li= t(:remove_option, scope: [:administrateurs, :revision_changes], items: removed.map{ |term| "« #{t(term, scope: [:administrateurs, :carte_layers])} »" }.join(", "))
|
||||
- move_changes, move_private_changes = changes.filter { |change| change[:op] == :move }.partition { |change| !change[:private] }
|
||||
- if move_changes.size != 0
|
||||
%li.mb-1= t(:move, scope: [:administrateurs, :revision_changes], count: move_changes.size)
|
||||
- if move_private_changes.size != 0
|
||||
%li.mb-1= t(:move_private, scope: [:administrateurs, :revision_changes], count: move_private_changes.size)
|
10
app/views/administrateurs/procedures/annotations.html.haml
Normal file
10
app/views/administrateurs/procedures/annotations.html.haml
Normal file
|
@ -0,0 +1,10 @@
|
|||
= render partial: 'administrateurs/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||
'Configuration des annotations privées'], preview: true }
|
||||
|
||||
.container
|
||||
%h1 Configuration des annotations privées
|
||||
%br
|
||||
|
||||
= react_component("TypesDeChampEditor", types_de_champ_private_data(@procedure))
|
22
app/views/administrateurs/procedures/apercu.html.haml
Normal file
22
app/views/administrateurs/procedures/apercu.html.haml
Normal file
|
@ -0,0 +1,22 @@
|
|||
.dossiers-headers.sub-header
|
||||
.container
|
||||
%h1.page-title Prévisualisation de la démarche « #{@dossier.procedure.libelle} »
|
||||
|
||||
%ul.tabs
|
||||
= tab_item('le dossier',
|
||||
apercu_admin_procedure_path(@dossier.procedure, tab: 'dossier'),
|
||||
active: @tab == 'dossier')
|
||||
- if @dossier.champs_private.size > 0
|
||||
= tab_item('les annotations privées',
|
||||
apercu_admin_procedure_path(@dossier.procedure, tab: 'annotations-privees'),
|
||||
active: @tab == 'annotations-privees')
|
||||
|
||||
- if @tab == 'dossier'
|
||||
= render partial: "shared/dossiers/edit", locals: { dossier: @dossier, apercu: true }
|
||||
- else
|
||||
.container
|
||||
= form_for @dossier, url: '', method: :get, html: { class: 'form' } do |f|
|
||||
= f.fields_for :champs_private, @dossier.champs_private do |champ_form|
|
||||
- champ = champ_form.object
|
||||
= render partial: "shared/dossiers/editable_champs/editable_champ",
|
||||
locals: { champ: champ, form: champ_form }
|
10
app/views/administrateurs/procedures/champs.html.haml
Normal file
10
app/views/administrateurs/procedures/champs.html.haml
Normal file
|
@ -0,0 +1,10 @@
|
|||
= render partial: 'administrateurs/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||
'Configuration des champs'], preview: true }
|
||||
|
||||
.container
|
||||
%h1 Configuration des champs
|
||||
%br
|
||||
|
||||
= react_component("TypesDeChampEditor", types_de_champ_data(@procedure))
|
27
app/views/administrateurs/procedures/edit.html.haml
Normal file
27
app/views/administrateurs/procedures/edit.html.haml
Normal file
|
@ -0,0 +1,27 @@
|
|||
- content_for(:root_class, 'scroll-margins-for-sticky-footer')
|
||||
|
||||
= render partial: 'administrateurs/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||
'Description'] }
|
||||
.procedure-form
|
||||
.procedure-form__columns.container
|
||||
= form_for @procedure,
|
||||
url: url_for({ controller: 'administrateurs/procedures', action: :update, id: @procedure.id }),
|
||||
multipart: true,
|
||||
html: { class: 'form procedure-form__column--form' } do |f|
|
||||
|
||||
%h1.page-title Description
|
||||
|
||||
= render partial: 'administrateurs/procedures/informations', locals: { f: f }
|
||||
|
||||
.procedure-form__actions.sticky--bottom
|
||||
.actions-right
|
||||
= link_to 'Annuler', admin_procedure_path(id: @procedure), class: 'button', data: { confirm: 'Êtes-vous sûr de vouloir annuler les modifications effectuées ?'}
|
||||
= f.button 'Enregistrer', class: 'button primary send'
|
||||
|
||||
.procedure-form__column--preview
|
||||
.procedure-form__preview.sticky--top
|
||||
%h3.procedure-form__preview-title Aperçu
|
||||
.procedure-preview
|
||||
= render partial: 'shared/procedure_description', locals: { procedure: @procedure }
|
22
app/views/administrateurs/procedures/index.html.haml
Normal file
22
app/views/administrateurs/procedures/index.html.haml
Normal file
|
@ -0,0 +1,22 @@
|
|||
.sub-header
|
||||
.procedure-admin-listing-container
|
||||
= link_to "Nouvelle Démarche", new_from_existing_admin_procedures_path, id: 'new-procedure', class: 'button primary'
|
||||
.container
|
||||
|
||||
%ul.tabs
|
||||
= tab_item(t('pluralize.published', count: @procedures_publiees.count), admin_procedures_path(statut: 'publiees'), active: @statut == 'publiees', badge: number_with_html_delimiter(@procedures_publiees_count))
|
||||
= tab_item('En test', admin_procedures_path(statut: 'brouillons'), active: @statut == 'brouillons', badge: number_with_html_delimiter(@procedures_draft_count))
|
||||
= tab_item(t('pluralize.closed', count: @procedures_closed.count), admin_procedures_path(statut: 'archivees'), active: @statut == 'archivees', badge: number_with_html_delimiter(@procedures_closed_count))
|
||||
|
||||
.container#procedures{ data: { item_count: @statut === "publiees" ? @procedures_publiees_count : @statut === "brouillons" ? @procedures_draft_count : @procedures_closed_count } }
|
||||
- if @statut === "publiees"
|
||||
= render partial: "procedures_list", locals: { procedures: @procedures_publiees }
|
||||
= paginate @procedures_publiees
|
||||
|
||||
- if @statut === "brouillons"
|
||||
= render partial: "procedures_list", locals: { procedures: @procedures_draft }
|
||||
= paginate @procedures_draft
|
||||
|
||||
- if @statut === "archivees"
|
||||
= render partial: "procedures_list", locals: { procedures: @procedures_closed }
|
||||
= paginate @procedures_closed
|
24
app/views/administrateurs/procedures/jeton.html.haml
Normal file
24
app/views/administrateurs/procedures/jeton.html.haml
Normal file
|
@ -0,0 +1,24 @@
|
|||
= render partial: 'administrateurs/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||
'Jeton'] }
|
||||
|
||||
.container
|
||||
%h1.page-title
|
||||
Configurer le jeton API Entreprise
|
||||
|
||||
.container
|
||||
%h1
|
||||
= form_with model: @procedure, url: url_for({ controller: 'administrateurs/procedures', action: :update_jeton }), html: { class: 'form' } do |f|
|
||||
%p.explication
|
||||
Démarches Simplifiées utilise
|
||||
= link_to 'API Entreprise', "https://entreprise.api.gouv.fr/"
|
||||
qui permet de récupérer les informations administratives des entreprises et des associations.
|
||||
Si votre démarche nécessite des autorisations spécifiques que Démarches Simplifiées n’a pas par défaut, merci de renseigner ici le jeton
|
||||
= link_to 'API Entreprise', "https://entreprise.api.gouv.fr/demander_un_acces/"
|
||||
propre à votre démarche.
|
||||
|
||||
= f.label :api_entreprise_token, "Jeton"
|
||||
= f.password_field :api_entreprise_token, value: @procedure.read_attribute(:api_entreprise_token), class: 'form-control'
|
||||
.text-right
|
||||
= f.button 'Enregistrer', class: 'button primary send'
|
15
app/views/administrateurs/procedures/monavis.html.haml
Normal file
15
app/views/administrateurs/procedures/monavis.html.haml
Normal file
|
@ -0,0 +1,15 @@
|
|||
= render partial: 'administrateurs/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||
'MonAvis'] }
|
||||
|
||||
.container
|
||||
%h1.page-title
|
||||
Insérer un lien vers « MonAvis »
|
||||
|
||||
.container
|
||||
%h1
|
||||
= form_for @procedure, url: url_for({ controller: 'administrateurs/procedures', action: :update_monavis }), multipart: true, html: { class: 'form' } do |f|
|
||||
= render partial: 'monavis', locals: { f: f }
|
||||
.text-right
|
||||
= f.button 'Enregistrer', class: 'button primary send'
|
27
app/views/administrateurs/procedures/new.html.haml
Normal file
27
app/views/administrateurs/procedures/new.html.haml
Normal file
|
@ -0,0 +1,27 @@
|
|||
- content_for(:root_class, 'scroll-margins-for-sticky-footer')
|
||||
|
||||
= render partial: 'administrateurs/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
'Nouvelle'] }
|
||||
|
||||
.procedure-form
|
||||
.procedure-form__columns.container
|
||||
= form_for @procedure,
|
||||
url: url_for({ controller: 'administrateurs/procedures', action: :create, id: @procedure.id }),
|
||||
multipart: true,
|
||||
html: { class: 'form procedure-form__column--form' } do |f|
|
||||
|
||||
%h1.page-title Nouvelle démarche
|
||||
|
||||
= render partial: 'administrateurs/procedures/informations', locals: { f: f }
|
||||
|
||||
.procedure-form__actions.sticky--bottom
|
||||
.actions-right
|
||||
= link_to 'Annuler', admin_procedures_path, class: 'button', data: { confirm: 'Êtes-vous sûr de vouloir annuler la création de cette démarche ?'}
|
||||
= f.button 'Créer la démarche', class: 'button primary send'
|
||||
|
||||
.procedure-form__column--preview
|
||||
.procedure-form__preview.sticky--top
|
||||
%h3.procedure-form__preview-title Aperçu
|
||||
.procedure-preview
|
||||
= render partial: 'shared/procedure_description', locals: { procedure: @procedure }
|
|
@ -0,0 +1,59 @@
|
|||
.container
|
||||
- if current_administrateur.procedures.brouillons.count == 0
|
||||
.card.feedback
|
||||
.card-title
|
||||
Bienvenue,
|
||||
%br
|
||||
vous allez pouvoir créer une première démarche de test.
|
||||
Celle-ci sera visible uniquement par vous et ne sera publiée nulle part, alors pas de crainte à avoir.
|
||||
%br
|
||||
%br
|
||||
Besoin d’aide ?
|
||||
%br
|
||||
> Vous pouvez
|
||||
= link_to "visionner cette vidéo",
|
||||
"https://vimeo.com/261478872",
|
||||
target: "_blank"
|
||||
%br
|
||||
> Vous pouvez lire notre
|
||||
= link_to "documentation en ligne",
|
||||
ADMINISTRATEUR_TUTORIAL_URL,
|
||||
target: "_blank"
|
||||
|
||||
%br
|
||||
> Vous pouvez enfin
|
||||
= link_to "prendre un rendez-vous téléphonique avec nous",
|
||||
CALENDLY_URL,
|
||||
target: "_blank"
|
||||
|
||||
:javascript
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
$crisp.push(["do", "trigger:run", ["admin-signup"]]);
|
||||
});
|
||||
|
||||
|
||||
.form
|
||||
.send-wrapper
|
||||
%a#from-scratch.button.primary{ href: new_admin_procedure_path }
|
||||
Créer une nouvelle démarche de zéro
|
||||
|
||||
.card
|
||||
%h2.header-section
|
||||
Créer une nouvelle démarche à partir d’une démarche existante
|
||||
|
||||
%p.notice
|
||||
Pour rechercher dans cette liste, utilisez la fonction "Recherche" de votre navigateur (CTRL+F ou command+F)
|
||||
|
||||
%table.table.vertical.procedure-library-list
|
||||
- @grouped_procedures.each do |_, procedures|
|
||||
%tr
|
||||
%th
|
||||
= procedures.first.organisation_name
|
||||
- procedures.sort_by(&:id).each do |procedure|
|
||||
%tr
|
||||
%td
|
||||
= procedure.libelle
|
||||
%td.flex
|
||||
= link_to('Consulter', apercu_admin_procedure_path(id: procedure.id), target: "_blank", rel: "noopener", class: 'button small')
|
||||
= link_to('Cloner', admin_procedure_clone_path(procedure.id, from_new_from_existing: true), 'data-method' => :put, class: 'button small primary')
|
||||
= link_to('Contacter', "mailto:#{procedure.administrateurs.map(&:email) * ","}", class: 'button small')
|
91
app/views/administrateurs/procedures/publication.html.haml
Normal file
91
app/views/administrateurs/procedures/publication.html.haml
Normal file
|
@ -0,0 +1,91 @@
|
|||
|
||||
= render partial: 'administrateurs/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||
'Publication'] }
|
||||
.container
|
||||
.lien-demarche
|
||||
%h1
|
||||
- if @procedure.brouillon?
|
||||
Test et publication
|
||||
- else
|
||||
Publication
|
||||
%div{ style: 'margin-top: 30px;' }
|
||||
- if @procedure.close? || @procedure.depubliee?
|
||||
%p.mb-4 Cette démarche est <strong>close</strong> et n’est donc plus accessible par le public. Vous pouvez la réactiver :
|
||||
= render partial: 'publication_form', locals: { procedure: @procedure, administrateur: @current_administrateur }
|
||||
- elsif @procedure.draft_changed?
|
||||
%p.mb-4 Cette démarche est déjà <strong>publiée</strong>. Elle a été <strong>modifiée</strong> depuis sa publication. Vous pouvez publier les changements effectués dans une nouvelle version de cette démarche :
|
||||
= render partial: 'publication_form', locals: { procedure: @procedure, administrateur: @current_administrateur }
|
||||
- elsif @procedure.publiee?
|
||||
%p 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, sanitize_url(@procedure_lien), target: :blank, rel: :noopener, class: "mb-4"
|
||||
|
||||
%p.mb-4 Attention, diffusez toujours le <strong>lien complet</strong> affiché ci-dessus, et non pas un lien générique vers #{APPLICATION_NAME}. Ne dites pas non plus aux usagers de se rendre sur le site générique #{APPLICATION_NAME}, donnez-leur toujours le lien complet.
|
||||
- elsif @procedure.brouillon?
|
||||
- if @procedure.missing_steps.empty?
|
||||
%p
|
||||
Cette démarche est actuellement <strong>en test</strong>,
|
||||
pour y accéder vous pouvez utiliser le lien :
|
||||
= link_to @procedure_lien_test, sanitize_url(@procedure_lien_test), target: :blank, rel: :noopener
|
||||
%p.mb-4
|
||||
Toute personne ayant la connaissance de ce lien pourra ainsi remplir des dossiers de test sur votre démarche.
|
||||
|
||||
.card.mb-4
|
||||
%h2.card-title 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.mb-4.bold
|
||||
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.
|
||||
%p.center
|
||||
%iframe{ :src =>"https://player.vimeo.com/video/334463514?color=0069CC",:width =>"640",:height =>"360",:frameborder => "0" }
|
||||
|
||||
|
||||
.card
|
||||
%h2.card-title Prêt à publier ?
|
||||
%p
|
||||
À ce moment du processus de création, vous devez informer votre Délégué à la Protection des Données personnelles (DPD).
|
||||
%p
|
||||
(
|
||||
%a{ href:'https://www.cnil.fr/fr/protection-des-donnees-les-bons-reflexes', target:'_blank' }
|
||||
https://www.cnil.fr/fr/protection-des-donnees-les-bons-reflexes
|
||||
)
|
||||
%p
|
||||
Si votre démarche propose de collecter des données personnelles, vous devez informer votre DPD. Chaque organisme en a un.
|
||||
%p
|
||||
Ce dernier pourra vous aider dans la finalisation de votre démarche, et vous inviter à vous interroger sur les données collectées, et sur la pertinence de ces dernières.
|
||||
N'oubliez pas : toutes les démarches qui contiennent des données personnelles doivent être consignées dans un registre des traitements :
|
||||
%a{ href:'https://www.cnil.fr/fr/RGDP-le-registre-des-activites-de-traitement', target:'_blank' }
|
||||
https://www.cnil.fr/fr/RGDP-le-registre-des-activites-de-traitement
|
||||
%p.mb-4
|
||||
Comment faire :
|
||||
vous pouvez soit lui communiquer par email le lien vers la démarche en test, ou bien le nommer « administrateur ». Dans tous les cas, ne publiez votre démarche qu’après avoir eu son avis.
|
||||
|
||||
= render partial: 'publication_form', locals: { procedure: @procedure, administrateur: @current_administrateur }
|
||||
|
||||
- else
|
||||
.alert.alert-info
|
||||
Pour pouvoir tester cette démarche, vous devez d’abord lui affecter
|
||||
- if @procedure.missing_instructeurs?
|
||||
= link_to("des instructeurs", admin_procedure_groupe_instructeur_path(@procedure, @procedure.defaut_groupe_instructeur))
|
||||
- if @procedure.missing_instructeurs? && @procedure.service.nil?
|
||||
et
|
||||
- if @procedure.service.nil?
|
||||
= link_to("un service", admin_services_path(procedure_id: @procedure))
|
||||
\.
|
||||
- else
|
||||
- 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(admin_services_path(procedure_id: @procedure.id)) : url_for(new_admin_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_groupe_instructeur_path(@procedure, @procedure.defaut_groupe_instructeur)
|
||||
|
||||
%p.alert.alert-info
|
||||
Cette démarche n’a pas encore de lien, et n’est pas accessible par le public.
|
222
app/views/administrateurs/procedures/show.html.haml
Normal file
222
app/views/administrateurs/procedures/show.html.haml
Normal file
|
@ -0,0 +1,222 @@
|
|||
= render partial: 'administrateurs/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
"#{@procedure.libelle}", ],
|
||||
metadatas: ["Créée le #{@procedure.created_at.strftime('%d/%m/%Y')} - n° #{@procedure.id}", "#{@procedure.close? ? "Close le #{@procedure.closed_at.strftime('%d/%m/%Y')}" : @procedure.locked? ? "Publiée - #{procedure_lien(@procedure)}" : "Brouillon"}"] }
|
||||
|
||||
.container.procedure-admin-container
|
||||
= link_to apercu_admin_procedure_path(@procedure), target: "_blank", rel: "noopener", class: 'button', id: "preview-procedure" do
|
||||
%span.icon.preview
|
||||
Prévisualiser
|
||||
|
||||
- if @procedure.brouillon? || @procedure.draft_changed?
|
||||
= link_to sanitize_url(@procedure_lien_test), target: :blank, rel: :noopener, class: 'button' do
|
||||
%span.icon.in-progress
|
||||
Tester
|
||||
|
||||
- if @procedure.publiee? || @procedure.brouillon?
|
||||
= link_to admin_procedure_transfert_path(@procedure), class: 'button' do
|
||||
%span.icon.reply
|
||||
Envoyer une copie
|
||||
|
||||
- if !@procedure.publiee? && !@procedure.close? && !@procedure.depubliee?
|
||||
= link_to 'Publier', admin_procedure_publication_path(@procedure), class: 'button primary', id: 'publish-procedure-link', data: { disable_with: "Publication..." }
|
||||
|
||||
- if @procedure.close? || @procedure.depubliee?
|
||||
= link_to 'Réactiver', admin_procedure_publication_path(@procedure), class: 'button primary', id: 'publish-procedure-link', data: { disable_with: "Publication..." }
|
||||
|
||||
- if @procedure.locked? && !@procedure.close?
|
||||
= link_to admin_procedure_archive_path(procedure_id: @procedure.id), method: :put, class: 'button', id: "close-procedure-link", data: { confirm: "Voulez-vous vraiment clore la démarche ? \nLes dossiers en cours pourront être instruits, mais aucun nouveau dossier ne pourra plus être déposé.", disable_with: "Archivage..."} do
|
||||
%span.icon.archive
|
||||
Clore
|
||||
|
||||
- if @procedure.draft_changed?
|
||||
= link_to 'Publier les modifications', admin_procedure_publication_path(@procedure), class: 'button primary', id: 'publish-procedure-link', data: { disable_with: "Publication..." }
|
||||
|
||||
- if @procedure.draft_changed?
|
||||
.container
|
||||
.card.featured
|
||||
.card-title
|
||||
= t(:has_changes, scope: [:administrateurs, :revision_changes])
|
||||
= render partial: 'revision_changes', locals: { changes: @procedure.revision_changes }
|
||||
|
||||
.container
|
||||
%h2.procedure-admin-explanation Indispensable avant publication
|
||||
.procedure-grid
|
||||
= link_to edit_admin_procedure_path(@procedure), id: 'presentation', class: 'card-admin' do
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept Validé
|
||||
%div
|
||||
%p.card-admin-title Présentation
|
||||
%p.card-admin-subtitle Logo, nom, description
|
||||
%p.button Modifier
|
||||
|
||||
- if !@procedure.locked? || @procedure.feature_enabled?(:procedure_revisions)
|
||||
= link_to champs_admin_procedure_path(@procedure), class: 'card-admin' do
|
||||
- if @procedure.draft_types_de_champ.count > 0
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept Validé
|
||||
- else
|
||||
%div
|
||||
%span.icon.clock
|
||||
%p.card-admin-status-todo À faire
|
||||
%div
|
||||
%p.card-admin-title
|
||||
%span.badge.baseline= @procedure.draft_types_de_champ.count
|
||||
Champs du formulaire
|
||||
%p.card-admin-subtitle À remplir par les usagers
|
||||
%p.button Modifier
|
||||
|
||||
- if @procedure.service.present?
|
||||
- service_link = edit_admin_service_path(@procedure.service, procedure_id: @procedure.id)
|
||||
- service_button_text = 'Modifier'
|
||||
- elsif current_administrateur.services.present?
|
||||
- service_link = admin_services_path(procedure_id: @procedure.id)
|
||||
- service_button_text = 'Choisir'
|
||||
- else
|
||||
- service_link = new_admin_service_path(procedure_id: @procedure.id)
|
||||
- service_button_text = 'Remplir'
|
||||
|
||||
= link_to service_link, class: 'card-admin' do
|
||||
- if @procedure.service_id.present?
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept Validé
|
||||
- else
|
||||
%div
|
||||
%span.icon.clock
|
||||
%p.card-admin-status-todo À faire
|
||||
%div
|
||||
%p.card-admin-title Service
|
||||
%p.card-admin-subtitle
|
||||
- if @procedure.service_id.present?
|
||||
= @procedure.service.nom
|
||||
- else
|
||||
Choix du service administratif
|
||||
%p.button= service_button_text
|
||||
|
||||
= link_to admin_procedure_administrateurs_path(@procedure), id: 'administrateurs', class: 'card-admin' do
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept Validé
|
||||
%div
|
||||
%p.card-admin-title
|
||||
%span.badge.baseline= @procedure.administrateurs.count
|
||||
#{"Administrateur".pluralize(@procedure.administrateurs.count)}
|
||||
%p.card-admin-subtitle Gestion de la démarche
|
||||
%p.button Modifier
|
||||
|
||||
= link_to admin_procedure_groupe_instructeurs_path(@procedure), id: 'groupe-instructeurs', class: 'card-admin' do
|
||||
- if @procedure.routee? || @procedure.instructeurs.count > 1
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept Validé
|
||||
- else
|
||||
%div
|
||||
%span.icon.clock
|
||||
%p.card-admin-status-todo À faire
|
||||
%div
|
||||
%p.card-admin-title
|
||||
- if @procedure.routee?
|
||||
%span.badge.baseline= @procedure.groupe_instructeurs.count
|
||||
- else
|
||||
%span.badge.baseline= @procedure.instructeurs.count
|
||||
|
||||
= @procedure.routee? ? "Groupe Instructeurs" : "#{"Instructeur".pluralize(@procedure.instructeurs.count)}"
|
||||
%p.card-admin-subtitle Suivi des dossiers
|
||||
%p.button Modifier
|
||||
|
||||
%h2.procedure-admin-explanation Pour aller plus loin
|
||||
.procedure-grid
|
||||
|
||||
= link_to edit_admin_procedure_attestation_template_path(@procedure), class: 'card-admin' do
|
||||
- if @procedure.attestation_template.present? && @procedure.attestation_template.activated
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept Activée
|
||||
- else
|
||||
%div
|
||||
%span.icon.clock
|
||||
%p.card-admin-status-todo Désactivée
|
||||
%div
|
||||
%p.card-admin-title Attestation
|
||||
%p.card-admin-subtitle Délivrance automatique pour les dossiers acceptés
|
||||
%p.button Modifier
|
||||
|
||||
= link_to admin_procedure_experts_path(@procedure), class: 'card-admin' do
|
||||
%div
|
||||
%span.icon.preview
|
||||
%p.card-admin-status-todo À configurer
|
||||
%div
|
||||
%p.card-admin-title Avis externes
|
||||
%p.card-admin-subtitle Gérer les avis des experts invités
|
||||
%p.button Modifier
|
||||
|
||||
|
||||
= link_to admin_procedure_mail_templates_path(@procedure), class: 'card-admin' do
|
||||
%div
|
||||
%span.icon.clock
|
||||
%p.card-admin-status-todo À configurer
|
||||
%div
|
||||
%p.card-admin-title Configuration des emails
|
||||
%p.card-admin-subtitle Notifications automatiques
|
||||
%p.button Modifier
|
||||
|
||||
- if !@procedure.locked? || @procedure.feature_enabled?(:procedure_revisions)
|
||||
= link_to annotations_admin_procedure_path(@procedure), class: 'card-admin' do
|
||||
- if @procedure.draft_types_de_champ_private.present?
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept Validé
|
||||
- else
|
||||
%div
|
||||
%span.icon.clock
|
||||
%p.card-admin-status-todo À configurer
|
||||
%div
|
||||
%p.card-admin-title Annotations privées
|
||||
%p.card-admin-subtitle Champs à remplir par l’administration
|
||||
%p.button Modifier
|
||||
|
||||
= link_to jeton_admin_procedure_path(@procedure), class: 'card-admin' do
|
||||
- if @procedure.api_entreprise_token.present?
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept Validé
|
||||
- else
|
||||
%div
|
||||
%span.icon.clock
|
||||
%p.card-admin-status-todo À configurer
|
||||
%div
|
||||
%p.card-admin-title Jeton Entreprise
|
||||
%p.card-admin-subtitle Configurer le jeton API entreprise
|
||||
%p.button Modifier
|
||||
|
||||
- if feature_enabled?(:api_particulier)
|
||||
= link_to admin_procedure_api_particulier_path(@procedure), class: 'card-admin', id: 'api-particulier' do
|
||||
- if @procedure.api_particulier_token.present?
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept= t('.ready')
|
||||
- else
|
||||
%div
|
||||
%span.icon.clock
|
||||
%p.card-admin-status-todo= t('.needs_configuration')
|
||||
%div
|
||||
%p.card-admin-title= Procedure.human_attribute_name(:api_particulier_token)
|
||||
%p.card-admin-subtitle= t('.configure_api_particulier_token')
|
||||
%p.button= t('views.shared.actions.edit')
|
||||
|
||||
= link_to monavis_admin_procedure_path(@procedure), class: 'card-admin' do
|
||||
- if @procedure.monavis_embed.present?
|
||||
%div
|
||||
%span.icon.accept
|
||||
%p.card-admin-status-accept Validé
|
||||
- else
|
||||
%div
|
||||
%span.icon.clock
|
||||
%p.card-admin-status-todo À configurer
|
||||
%div
|
||||
%p.card-admin-title MonAvis
|
||||
%p.card-admin-subtitle Avis des usagers sur votre démarche
|
||||
%p.button Modifier
|
6
app/views/administrateurs/procedures/transfert.html.haml
Normal file
6
app/views/administrateurs/procedures/transfert.html.haml
Normal file
|
@ -0,0 +1,6 @@
|
|||
= render partial: 'administrateurs/breadcrumbs',
|
||||
locals: { steps: [link_to('Démarches', admin_procedures_path),
|
||||
link_to(@procedure.libelle, admin_procedure_path(@procedure)),
|
||||
'Transfert'] }
|
||||
.container
|
||||
= render partial: 'procedure_transfert'
|
Loading…
Add table
Add a link
Reference in a new issue