2019-10-21 18:12:57 +02:00
- if @procedure.locked?
2023-06-21 12:24:45 +02:00
= render Dsfr::AlertComponent.new(state: :warning, title: "Cette démarche est publiée.", extra_class_names: 'fr-mb-2w') do |c|
- c.body do
%p
Certains éléments de la description ne sont plus modifiables.
2023-05-24 17:44:15 +02:00
= render Dsfr::InputComponent.new(form: f, attribute: :libelle, input_type: :text_field, opts: {})
= render Dsfr::InputComponent.new(form: f, attribute: :description, input_type: :text_area, opts: {})
= render Dsfr::InputComponent.new(form: f, attribute: :description_target_audience, input_type: :text_area, opts: {}, required: false)
2019-10-21 18:12:57 +02:00
2023-06-22 09:50:38 +02:00
= render Dsfr::InputComponent.new(form: f, attribute: :description_pj, input_type: :text_area, opts: {placeholder: t('activerecord.attributes.procedure.description_pj_placeholder')}, required: false)
2023-06-05 17:18:14 +02:00
= f.label :logo, 'Ajouter un logo de la démarche (facultatif)', class: 'fr-label'
2022-12-08 00:15:05 +01:00
= render Attachment::EditComponent.new(attached_file: @procedure.logo, view_as: :link)
2019-10-21 18:12:57 +02:00
2023-06-05 17:18:14 +02:00
= render Dsfr::CalloutComponent.new(title: "Conservation des données") do |c|
- c.with_body do
%p
= t(:notice, scope: [:administrateurs, :duree_conservation_dossiers_dans_ds])
- if f.object.duree_conservation_dossiers_dans_ds.to_i < Procedure::NEW_MAX_DUREE_CONSERVATION
%p
= t(:new_duration_constraint, scope: [:administrateurs, :duree_conservation_dossiers_dans_ds], new_duration_in_month: f.object.max_duree_conservation_dossiers_dans_ds)
2023-05-31 11:33:59 +02:00
.fr-input-group
2023-06-05 17:18:14 +02:00
= f.label :duree_conservation_dossiers_dans_ds, class: 'fr-label' do
Sur #{APPLICATION_NAME}
2023-10-02 15:43:14 +02:00
= render EditableChamp::AsteriskMandatoryComponent.new
2023-06-05 17:18:14 +02:00
2023-05-31 11:33:59 +02:00
= f.number_field :duree_conservation_dossiers_dans_ds, { class: 'fr-input', placeholder: '6', required: true, max: f.object.max_duree_conservation_dossiers_dans_ds }
2019-10-21 18:12:57 +02:00
2023-06-12 14:24:54 +02:00
- if @procedure.persisted?
2023-05-24 17:44:15 +02:00
= render Dsfr::InputComponent.new(form: f, attribute: :lien_site_web, input_type: :text_field, opts: {}, required: false)
2019-10-21 18:12:57 +02:00
2023-06-05 17:18:14 +02:00
= render Dsfr::CalloutComponent.new(title: "Cadre juridique") do |c|
- c.with_body do
%p
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 Vous pouvez saisir un lien web vers ce texte, ou l’ importer depuis un fichier.
2019-11-20 18:16:30 +01:00
2023-05-24 17:44:15 +02:00
= render Dsfr::InputComponent.new(form: f, attribute: :cadre_juridique, input_type: :text_field, opts: {})
2019-10-21 18:12:57 +02:00
2023-05-23 17:22:19 +02:00
= f.label :deliberation, 'Importer le texte', class: 'fr-label'
2022-12-08 00:15:05 +01:00
= render Attachment::EditComponent.new(attached_file: @procedure.deliberation, view_as: :download)
2019-10-21 18:12:57 +02:00
2023-06-05 17:18:14 +02:00
= render Dsfr::CalloutComponent.new(title: "RGPD") do |c|
- c.with_body do
%p Pour certaines démarches, veuillez indiquer soit le mail de contact de votre délégué à la protection des données, soit un lien web pointant vers les informations
2022-04-25 17:38:30 +02:00
2023-05-24 17:44:15 +02:00
= render Dsfr::InputComponent.new(form: f, attribute: :lien_dpo, input_type: :text_field, opts: {}, required: false)
2022-06-22 15:49:23 +02:00
2022-12-19 16:37:31 +01:00
- if Rails.application.config.ds_opendata_enabled
2023-06-05 17:18:14 +02:00
= render Dsfr::CalloutComponent.new(title: t(:opendata_header, scope: [:administrateurs, :informations])) do |c|
- c.with_body do
%p= t(:opendata_notice_html, scope: [:administrateurs, :informations])
.fr-input-group
= f.label :opendata, t(:opendata, scope: [:administrateurs, :informations]), class: 'fr-label'
%label.toggle-switch
= f.check_box :opendata, class: 'toggle-switch-checkbox'
%span.toggle-switch-control.round
%span.toggle-switch-label.on Oui
%span.toggle-switch-label.off Non
= render Dsfr::CalloutComponent.new(title: "Notice explicative de la démarche") do |c|
- c.with_body do
%p 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.
2019-10-21 18:12:57 +02:00
2023-05-23 17:22:19 +02:00
= f.label :notice, 'Notice', class: 'fr-label'
2023-06-05 17:18:14 +02:00
%p.fr-hint-text
2020-03-16 17:55:16 +01:00
Formats acceptés : .doc, .odt, .pdf, .ppt, .pptx
2022-12-08 00:15:05 +01:00
= render Attachment::EditComponent.new(attached_file: @procedure.notice, view_as: :download)
2019-10-21 18:12:57 +02:00
- if !@procedure.locked?
2023-06-05 17:18:14 +02:00
%h3.fr-h6 À qui s’ adresse ma démarche ?
2020-02-10 19:16:00 +01:00
.radios.vertical
2019-10-21 18:12:57 +02:00
= f.label :for_individual, value: true do
2020-02-10 19:16:00 +01:00
= f.radio_button :for_individual, true
2019-10-21 18:12:57 +02:00
Ma démarche s’ adresse à un particulier
2023-06-05 17:18:14 +02:00
%p.fr-hint-text En choisissant cette option, l’ usager devra renseigner son nom et prénom avant d’ accéder au formulaire
2019-10-21 18:12:57 +02:00
2023-05-23 17:22:19 +02:00
= f.label :for_individual, value: false, class: 'fr-label' do
2020-02-10 19:16:00 +01:00
= f.radio_button :for_individual, false
2019-10-21 18:12:57 +02:00
Ma démarche s’ adresse à une personne morale
2023-06-05 17:18:14 +02:00
%p.fr-hint-text
2020-02-10 19:16:00 +01:00
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.
2023-06-05 17:18:14 +02:00
.fr-highlight
%p
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.
2019-10-21 18:12:57 +02:00
2023-06-05 17:18:14 +02:00
= f.label :tags, 'Associez les tags à la démarche (facultatif)', class: 'fr-label'
%p.fr-hint-text Les tags sont des mots ou des expressions que vous attribuez aux démarches pour décrire leur contenu et pour les retrouver. Les tags sont partagés avec la communauté, ce qui vous permet de voir les tags attribués aux démarches créées par les autres administrateurs.
2023-03-08 11:27:31 +01:00
= hidden_field_tag 'procedure[tags]', JSON.generate(@procedure.tags)
2023-02-01 10:57:05 +01:00
= react_component("ComboMultiple",
2023-03-08 11:27:31 +01:00
id: "procedure_tags_combo",
2023-02-01 10:57:05 +01:00
options: Procedure.tags,
selected: @procedure.tags,
disabled: [],
label: 'Tags',
2023-05-31 17:04:21 +02:00
group: '.procedure_tags_combo',
2023-02-01 10:57:05 +01:00
name: 'tags',
describedby: 'procedure-tags',
acceptNewValues: true)
2022-10-20 11:51:37 +02:00
2019-10-21 18:12:57 +02:00
%details.procedure-form__options-details
%summary.procedure-form__options-summary
2023-06-05 17:18:14 +02:00
%h3.fr-h6 Options avancées
2019-09-24 16:38:58 +02:00
- if feature_enabled?(:administrateur_web_hook)
2023-05-23 17:22:19 +02:00
= f.label :web_hook_url, class: 'fr-label' do
2019-09-24 16:38:58 +02:00
Lien de rappel HTTP (webhook)
2023-06-05 17:18:14 +02:00
%p.fr-hint-text
2023-04-21 09:56:32 +02:00
Vous pouvez définir un lien de rappel HTTP (aussi appelé webhook) pour informer un service tiers du changement de l'état d’ un dossier de cette démarche sur #{APPLICATION_NAME}.
2019-11-20 18:16:30 +01:00
= link_to("Consulter la documentation du webhook", WEBHOOK_DOC_URL, target: "_blank", rel: "noopener")
2023-05-23 17:22:19 +02:00
= f.text_field :web_hook_url, class: 'fr-input', placeholder: 'https://callback.exemple.fr/'
2019-09-24 16:38:58 +02:00
2023-06-05 17:18:14 +02:00
= render Dsfr::CalloutComponent.new(title: "Date limite de dépôt des dossiers") do |c|
- c.with_body do
%p
Si une date est définie, aucun dossier ne pourra plus être déposé ou modifié après cette limite.
Les dossiers en construction passeront en instruction et la démarche sera clôturée.
= f.label :auto_archive_on, 'Mentionnez une date (facultatif)', class: 'fr-label fr-mb-2w'
2020-02-29 03:49:31 +01:00
%p.notice
Le
- value = @procedure.auto_archive_on ? @procedure.auto_archive_on - 1.day : nil
2023-07-17 10:41:38 +02:00
= f.date_field :auto_archive_on, id: 'auto_archive_on', class: 'fr-input', value: value
2020-05-27 18:04:22 +02:00
#{procedure_auto_archive_time(@procedure)}.
2019-12-04 12:06:51 +01:00
2023-06-05 17:18:14 +02:00
= render Dsfr::CalloutComponent.new(title: "Démarche déclarative") do |c|
- c.with_body do
%p
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.label :declarative_with_state, 'Mentionnez l’ état d’ avancement (facultatif)', class: 'fr-label fr-mb-2w'
2023-07-17 10:41:38 +02:00
= f.select :declarative_with_state, Procedure.declarative_attributes_for_select, { include_blank: 'Non' }, class: 'fr-select'
2022-11-08 11:39:34 +01:00
- if !@procedure.piece_justificative_multiple?
.fr-checkbox-group
= f.check_box :piece_justificative_multiple
= f.label :piece_justificative_multiple, class: 'fr-label' do
Champ “Pièce justificative” avec multiples fichiers
2023-06-05 17:18:14 +02:00
%p.fr-hint-text
2022-11-08 11:39:34 +01:00
Autorise les usagers à envoyer plusieurs fichiers pour les champs de type “Pièce justificative”. L'activation de cette option est irréversible et peut nécessiter des modifications si vous utilisez des systèmes automatisés pour traiter les dossiers.