This commit is contained in:
Kara Diaby 2022-04-21 10:20:14 +02:00
parent c24b24c3a5
commit 95bdc4a22a
10 changed files with 73 additions and 58 deletions

View file

@ -5,37 +5,44 @@
html: { class: 'form' } do |f| html: { class: 'form' } do |f|
= f.label :routing_criteria_name do = f.label :routing_criteria_name do
Libellé du routage = t('.routing.title')
%p.notice Ce texte apparaitra sur le formulaire usager comme le libellé dune liste %p.notice
= f.text_field :routing_criteria_name, placeholder: 'ex. Votre ville', required: true = t('.routing.notice')
= f.submit 'Renommer', class: 'button primary send' = f.text_field :routing_criteria_name, placeholder: t('.add_a_group.placeholder'), required: true
= f.submit t('.button.rename'), class: 'button primary send'
.card .card
.card-title Gestion des Groupes .card-title
= t('.group_management.title')
= form_for :groupe_instructeur, html: { class: 'form' } do |f| = form_for :groupe_instructeur, html: { class: 'form' } do |f|
= f.label :label do = f.label :label do
Ajouter un groupe = t('.add_a_group.title')
%p.notice Ce groupe sera un choix de la liste « #{procedure.routing_criteria_name} » . %p.notice
= f.text_field :label, placeholder: 'ex. Ville de Bordeaux', required: true = t('.add_a_group.notice', routing_criteria_name: procedure.routing_criteria_name)
= f.submit 'Ajouter le groupe', class: "button primary send" = f.text_field :label, placeholder: t('.add_a_group.placeholder'), required: true
= f.submit t('.button.add_group'), class: "button primary send"
- csv_max_size = Administrateurs::GroupeInstructeursController::CSV_MAX_SIZE - csv_max_size = Administrateurs::GroupeInstructeursController::CSV_MAX_SIZE
- if procedure.publiee? - if procedure.publiee?
= form_tag import_admin_procedure_groupe_instructeurs_path(procedure), method: :post, multipart: true, class: "mt-4 form" do = form_tag import_admin_procedure_groupe_instructeurs_path(procedure), method: :post, multipart: true, class: "mt-4 form" do
= label_tag "Importer par fichier CSV" = label_tag t('.csv_import.title')
%p.notice Le fichier csv doit comporter 2 colonnes (Groupe, Email) et être séparé par des virgules. L'import n'écrase pas les groupes et les instructeurs existants. %p.notice
%p.notice Le poids du fichier doit être inférieur à #{number_to_human_size(csv_max_size)} = t('.csv_import.notice_1')
%p.mt-2.mb-2= link_to "Télécharger l'exemple de fichier CSV", "/csv/#{I18n.locale}/import-groupe-test.csv" %p.notice
= t('.csv_import.notice_2', csv_max_size: number_to_human_size(csv_max_size))
%p.mt-2.mb-2= link_to t('.csv_import.download_exemple'), "/csv/#{I18n.locale}/import-groupe-test.csv"
= file_field_tag :group_csv_file, required: true, accept: 'text/csv', size: "1" = file_field_tag :group_csv_file, required: true, accept: 'text/csv', size: "1"
= submit_tag "Importer le fichier", class: 'button primary send', data: { disable_with: "Envoi..." } = submit_tag t('.csv_import.import_file'), class: 'button primary send', data: { disable_with: "Envoi..." }
- else - else
%p.mt-4.form.bold.mb-2.text-lg Importer par fichier CSV %p.mt-4.form.bold.mb-2.text-lg
%p.notice Limport dinstructeurs par fichier CSV est disponible une fois la démarche publiée = t('.csv_import.title')
%p.notice
= t('.csv_import.import_file_procedure_not_published')
%table.table.mt-2 %table.table.mt-2
%thead %thead
%tr %tr
// i18n-tasks-use t('.existing_groupe')
%th{ colspan: 2 }= t(".existing_groupe", count: groupes_instructeurs.total_count) %th{ colspan: 2 }= t(".existing_groupe", count: groupes_instructeurs.total_count)
%th %th
- if groupe_instructeurs_count > 1 - if groupe_instructeurs_count > 1
@ -44,18 +51,18 @@
- groupes_instructeurs.each do |group| - groupes_instructeurs.each do |group|
%tr %tr
%td= group.label %td= group.label
%td.actions= link_to "voir", admin_procedure_groupe_instructeur_path(procedure, group) %td.actions= link_to t('.view'), admin_procedure_groupe_instructeur_path(procedure, group)
- if groupes_instructeurs.many? - if groupes_instructeurs.many?
- if group.dossiers.empty? - if group.dossiers.empty?
%td.actions %td.actions
= link_to admin_procedure_groupe_instructeur_path(procedure, group), { method: :delete, class: 'button', data: { confirm: "Êtes-vous sûr de vouloir supprimer le groupe « #{group.label} » ?" }} do = link_to admin_procedure_groupe_instructeur_path(procedure, group), { method: :delete, class: 'button', data: { confirm: t('.group_management.delete_confirmation', group_name: group.label) }} do
%span.icon.delete %span.icon.delete
supprimer ce groupe = t('.group_management.delete')
- else - else
%td.actions %td.actions
= link_to reaffecter_dossiers_admin_procedure_groupe_instructeur_path(procedure, group), class: 'button', title:'Réaffecter les dossiers à un autre groupe afin de pouvoir le supprimer' do = link_to reaffecter_dossiers_admin_procedure_groupe_instructeur_path(procedure, group), class: 'button', title: t('.group_management.move_folders_confirmation') do
%span.icon.follow %span.icon.follow
déplacer les dossiers = t('.group_management.move_folders')
= paginate groupes_instructeurs = paginate groupes_instructeurs

View file

@ -1,5 +1,6 @@
.card .card
.card-title Routage .card-title
= t('.title')
- if !procedure.routee? - if !procedure.routee?
%p.notice= t('.notice_html') %p.notice= t('.notice_html')

View file

@ -1,8 +1,8 @@
- if @procedure.routee? - if @procedure.routee?
= render partial: 'administrateurs/breadcrumbs', = render partial: 'administrateurs/breadcrumbs',
locals: { steps: [link_to('Démarches', admin_procedures_path), locals: { steps: [link_to(t('.procedures'), admin_procedures_path),
link_to(@procedure.libelle, admin_procedure_path(@procedure)), link_to(@procedure.libelle, admin_procedure_path(@procedure)),
'Groupes dinstructeurs'] } t('.instructors_group')] }
- else - else
= render partial: 'administrateurs/breadcrumbs', = render partial: 'administrateurs/breadcrumbs',
locals: { steps: [link_to('Démarches', admin_procedures_path), locals: { steps: [link_to('Démarches', admin_procedures_path),

View file

@ -10,7 +10,6 @@
.card-title Réaffectation des dossiers du groupe « #{@groupe_instructeur.label} » .card-title Réaffectation des dossiers du groupe « #{@groupe_instructeur.label} »
%p %p
Le groupe « #{@groupe_instructeur.label} » contient des dossiers. Afin de procéder à sa suppression, vous devez réaffecter ses dossiers à un autre groupe instructeur. Le groupe « #{@groupe_instructeur.label} » contient des dossiers. Afin de procéder à sa suppression, vous devez réaffecter ses dossiers à un autre groupe instructeur.
%table.table.mt-2 %table.table.mt-2
%thead %thead
%tr %tr

View file

@ -5,74 +5,75 @@
'Notifications'] } 'Notifications'] }
.container .container
%h1 Notifications par email %h1
= t('.title')
= form_for @assign_to, url: update_email_notifications_instructeur_procedure_path(@procedure), html: { class: 'form' } do |form| = form_for @assign_to, url: update_email_notifications_instructeur_procedure_path(@procedure), html: { class: 'form' } do |form|
.explication .explication
Configurez sur cette page les notifications que vous souhaitez recevoir par email pour cette démarche. = t('.subtitle')
= form.label :email_notification, "Recevoir une notification à chaque dossier déposé" = form.label :email_notification, t('.for_each_file_submitted.title')
%p.notice %p.notice
Cet email vous signale le dépôt dun nouveau dossier. = t('.for_each_file_submitted.notice_1')
%p.notice %p.notice
Il est envoyé à chaque fois qu'un usager dépose un dossier. = t('.for_each_file_submitted.notice_2')
.radios .radios
%label %label
= form.radio_button :instant_email_dossier_notifications_enabled, true = form.radio_button :instant_email_dossier_notifications_enabled, true
Oui = t('.utils.positive')
%label %label
= form.radio_button :instant_email_dossier_notifications_enabled, false = form.radio_button :instant_email_dossier_notifications_enabled, false
Non = t('.utils.negative')
= form.label :email_notification, "Recevoir une notification à chaque message déposé" = form.label :email_notification, t('.for_each_message_submitted.title')
%p.notice %p.notice
Cet email vous signale le dépôt dun nouveau message sur vos dossiers suivis. = t('.for_each_message_submitted.notice_1')
%p.notice %p.notice
Il est envoyé à chaque fois qu'un usager dépose un message. = t('.for_each_message_submitted.notice_2')
.radios .radios
%label %label
= form.radio_button :instant_email_message_notifications_enabled, true = form.radio_button :instant_email_message_notifications_enabled, true
Oui = t('.utils.positive')
%label %label
= form.radio_button :instant_email_message_notifications_enabled, false = form.radio_button :instant_email_message_notifications_enabled, false
Non = t('.utils.negative')
= form.label :email_notification, "Recevoir une notification quotidienne" = form.label :email_notification, t('.daily_notifications.title')
%p.notice %p.notice
Cet email vous signale le dépôt de nouveaux dossiers sur cette démarche, ou des changements sur vos dossiers suivis. = t('.daily_notifications.notice_1')
%p.notice %p.notice
Il est envoyé une fois par jour, du lundi au samedi, vers 10 h du matin. = t('.daily_notifications.notice_2')
.radios .radios
%label %label
= form.radio_button :daily_email_notifications_enabled, true = form.radio_button :daily_email_notifications_enabled, true
Oui = t('.utils.positive')
%label %label
= form.radio_button :daily_email_notifications_enabled, false = form.radio_button :daily_email_notifications_enabled, false
Non = t('.utils.negative')
= form.label :email_notification, "Recevoir un récapitulatif hebdomadaire" = form.label :email_notification, t('.hebdo_recap.title')
%p.notice %p.notice
Cet email récapitule lactivité de la semaine sur lensemble de vos démarches. = t('.hebdo_recap.notice_1')
%p.notice %p.notice
Il est envoyé chaque semaine le lundi matin. = t('.hebdo_recap.notice_2')
.radios .radios
%label %label
= form.radio_button :weekly_email_notifications_enabled, true = form.radio_button :weekly_email_notifications_enabled, true
Oui = t('.utils.positive')
%label %label
= form.radio_button :weekly_email_notifications_enabled, false = form.radio_button :weekly_email_notifications_enabled, false
Non = t('.utils.negative')
.send-wrapper .send-wrapper
= link_to "Revenir à la procédure", instructeur_procedure_path(@procedure), class: 'button mr-1' = link_to t('.buttons.back_to_procedure'), instructeur_procedure_path(@procedure), class: 'button mr-1'
= form.submit "Enregistrer", class: "button primary" = form.submit t('.buttons.save'), class: "button primary"

View file

@ -2,10 +2,12 @@
= render partial: 'administrateurs/breadcrumbs', = render partial: 'administrateurs/breadcrumbs',
locals: { steps: [link_to(@procedure.libelle, instructeur_procedure_path(@procedure)), locals: { steps: [link_to(@procedure.libelle, instructeur_procedure_path(@procedure)),
'Contacter les usagers (brouillon)'] } t('.contact_users')] }
.messagerie.container .messagerie.container
- if @email_usagers_dossiers.present? - if @email_usagers_dossiers.present?
%p.notice.mb-2.mt-4 Vous allez envoyer un message à #{pluralize(@dossiers_count, 'personne')} dont les dossiers sont en brouillon, dans les groupes instructeurs : #{@groupe_instructeurs.join(', ')}. %p.notice.mb-2.mt-4
= t('.notice', dossiers_count: pluralize(@dossiers_count, 'personne'), groupe_instructeurs: @groupe_instructeurs.join(', '))
= render partial: 'shared/dossiers/messages/form', locals: { commentaire: @commentaire, form_url: create_multiple_commentaire_instructeur_procedure_path(@procedure), disable_piece_jointe: true } = render partial: 'shared/dossiers/messages/form', locals: { commentaire: @commentaire, form_url: create_multiple_commentaire_instructeur_procedure_path(@procedure), disable_piece_jointe: true }
- if @bulk_messages.present? - if @bulk_messages.present?

View file

@ -3,6 +3,6 @@
= render partial: 'administrateurs/breadcrumbs', = render partial: 'administrateurs/breadcrumbs',
locals: { steps: [link_to(@procedure.libelle, instructeur_procedure_path(@procedure)), locals: { steps: [link_to(@procedure.libelle, instructeur_procedure_path(@procedure)),
'Statistiques'] } t('.title')] }
= render partial: 'shared/procedures/stats', locals: { title: title } = render partial: 'shared/procedures/stats', locals: { title: title }

View file

@ -39,7 +39,7 @@
- if nav_bar_profile == :user - if nav_bar_profile == :user
%ul.header-tabs %ul.header-tabs
%li %li
= active_link_to "Dossiers", dossiers_path, active: :inclusive, class: 'tab-link' = active_link_to t('.files'), dossiers_path, active: :inclusive, class: 'tab-link'
- if current_user.expert && current_expert.avis_summary[:total] > 0 - if current_user.expert && current_expert.avis_summary[:total] > 0
= render partial: 'layouts/header/avis_tab', locals: { current_expert: current_expert } = render partial: 'layouts/header/avis_tab', locals: { current_expert: current_expert }

View file

@ -2,5 +2,7 @@
= mail_to CONTACT_EMAIL do = mail_to CONTACT_EMAIL do
%span.icon.mail %span.icon.mail
.dropdown-description .dropdown-description
%span.help-dropdown-title Contact technique %span.help-dropdown-title
%p Envoyez nous un message à #{CONTACT_EMAIL}. = t('help_dropdown.technical_contact_title')
%p
= t('help_dropdown.technical_contact_description', contact_email: CONTACT_EMAIL)

View file

@ -2,5 +2,8 @@
= link_to FAQ_URL, target: "_blank", rel: "noopener" do = link_to FAQ_URL, target: "_blank", rel: "noopener" do
%span.icon.help %span.icon.help
.dropdown-description .dropdown-description
%span.help-dropdown-title Un problème avec le site ? %span.help-dropdown-title
%p Trouvez votre réponse dans laide en ligne. = t('help_dropdown.problem_title')
%p
= t('help_dropdown.problem_description')