This commit is contained in:
Kara Diaby 2022-04-13 15:44:29 +02:00
parent 900b8f7be6
commit 3f2ef985c7
18 changed files with 84 additions and 53 deletions

View file

@ -35,7 +35,9 @@
- if p.close?
.procedure-status
%span.label Close
%span.label
= t('helpers.procedure.close')
- elsif p.depubliee?
.procedure-status
%span.label Dépubliée
%span.label
= t('helpers.procedure.unpublished')

View file

@ -19,23 +19,23 @@
%ul
- notifications_summary = current_instructeur.notifications_for_dossier(dossier)
= dynamic_tab_item('Demande',
= dynamic_tab_item(t('views.instructeurs.dossiers.tab_steps.request'),
instructeur_dossier_path(dossier.procedure, dossier),
notification: notifications_summary[:demande])
= dynamic_tab_item('Annotations privées',
= dynamic_tab_item(t('views.instructeurs.dossiers.tab_steps.private_annotations'),
annotations_privees_instructeur_dossier_path(dossier.procedure, dossier),
notification: notifications_summary[:annotations_privees])
= dynamic_tab_item('Avis externes',
= dynamic_tab_item(t('views.instructeurs.dossiers.tab_steps.external_opinion'),
avis_instructeur_dossier_path(dossier.procedure, dossier),
notification: notifications_summary[:avis])
= dynamic_tab_item('Messagerie',
= dynamic_tab_item(t('views.instructeurs.dossiers.tab_steps.messaging'),
messagerie_instructeur_dossier_path(dossier.procedure, dossier),
notification: notifications_summary[:messagerie])
= dynamic_tab_item('Personnes impliquées',
= dynamic_tab_item(t('views.instructeurs.dossiers.tab_steps.involved_persons'),
personnes_impliquees_instructeur_dossier_path(dossier.procedure, dossier))
.container

View file

@ -35,8 +35,8 @@
- if dossier_is_followed
= link_to unfollow_instructeur_dossier_path(procedure_id, dossier_id), method: :patch, class: 'button' do
%span.icon.unfollow>
Ne plus suivre
= t('views.instructeurs.dossiers.stop_follow')
- else
= link_to follow_instructeur_dossier_path(procedure_id, dossier_id), method: :patch, class: 'button' do
%span.icon.follow>
Suivre le dossier
= t('views.instructeurs.dossiers.follow_file')

View file

@ -8,6 +8,10 @@
- export = item[:export]
%li
- if export.nil?
// i18n-tasks-use t('.everything_csv_html')
// i18n-tasks-use t('.everything_xlsx_html')
// i18n-tasks-use t('.everything_ods_html')
// i18n-tasks-use t('.everything_zip_html')
= link_to t(".everything_#{format}_html"), download_export_instructeur_procedure_path(procedure, statut: statut, export_format: format), remote: true
- elsif export.ready?
= link_to t(".everything_ready_html", export_time: time_ago_in_words(export.updated_at), export_format: ".#{format}"), export.file.service_url, target: "_blank", rel: "noopener"

View file

@ -1,16 +1,16 @@
%span.dropdown
%button.button.dropdown-button{ 'aria-expanded' => 'false', 'aria-controls' => 'filter-menu' }
Filtrer
= t('views.instructeurs.dossiers.filters.title')
#filter-menu.dropdown-content.left-aligned.fade-in-down
= form_tag add_filter_instructeur_procedure_path(procedure), method: :post, class: 'dropdown-form large' do
= label_tag :field, "Colonne"
= label_tag :field, t('views.instructeurs.dossiers.filters.column')
= select_tag :field, options_for_select(displayed_fields_options)
%br
= label_tag :value, "Valeur"
= label_tag :value, t('views.instructeurs.dossiers.filters.value')
= text_field_tag :value, nil, maxlength: ProcedurePresentation::FILTERS_VALUE_MAX_LENGTH
= hidden_field_tag :statut, statut
%br
= submit_tag "Ajouter le filtre", class: 'button'
= submit_tag t('views.instructeurs.dossiers.filters.add_filter'), class: 'button'
- current_filters.group_by { |filter| filter['table'] }.each_with_index do |(table, filters), i|
- if i > 0

View file

@ -1,6 +1,6 @@
%span.dropdown
%button.button.dropdown-button{ 'aria-expanded' => 'false', 'aria-controls' => 'download-menu' }
Télécharger tous les dossiers
= t('.download')
#download-menu.dropdown-content.fade-in-down{ style: 'width: 450px' }
%ul.dropdown-items
- exports_list(exports).each do |item|
@ -9,14 +9,26 @@
- export = item[:export]
%li
- if export.nil?
= link_to t("#{time_span_type}_#{format}_html", scope: [:instructeurs, :procedure, :export_stale]), download_export_instructeur_procedure_path(procedure, time_span_type: time_span_type, export_format: format), remote: true
// i18n-tasks-use t('.everything_csv_html')
// i18n-tasks-use t('.monthly_csv_html')
// i18n-tasks-use t('.everything_xlsx_html')
// i18n-tasks-use t('.monthly_xlsx_html')
// i18n-tasks-use t('.everything_ods_html')
// i18n-tasks-use t('.monthly_ods_html')
= link_to t(".#{time_span_type}_#{format}_html"), download_export_instructeur_procedure_path(procedure, time_span_type: time_span_type, export_format: format), remote: true
- elsif export.ready?
= link_to t("export_#{time_span_type}_ready_html", export_time: time_ago_in_words(export.updated_at), export_format: ".#{format}", scope: [:instructeurs, :procedure]), export.file.service_url, target: "_blank", rel: "noopener"
// i18n-tasks-use t('.export_everything_ready_html')
// i18n-tasks-use t('.export_monthly_ready_html')
= link_to t(".export_#{time_span_type}_ready_html", export_time: time_ago_in_words(export.updated_at), export_format: ".#{format}"), export.file.service_url, target: "_blank", rel: "noopener"
- if export.old?
= button_to download_export_instructeur_procedure_path(procedure, export_format: format, time_span_type: time_span_type, force_export: true), class: "button small", style: "padding-right: 2px", title: t("#{time_span_type}_short", export_format: ".#{format}", scope: [:instructeurs, :procedure, :export_stale]), remote: true, method: :get, params: { export_format: format, time_span_type: time_span_type, force_export: true } do
// i18n-tasks-use t('.everything_short')
// i18n-tasks-use t('.monthly_short')
= button_to download_export_instructeur_procedure_path(procedure, export_format: format, time_span_type: time_span_type, force_export: true), class: "button small", style: "padding-right: 2px", title: t(".#{time_span_type}_short", export_format: ".#{format}"), remote: true, method: :get, params: { export_format: format, time_span_type: time_span_type, force_export: true } do
.icon.retry
- else
%span{ 'data-export-poll-url': download_export_instructeur_procedure_path(procedure, export_format: format, time_span_type: time_span_type, no_progress_notification: true) }
= t("export_#{time_span_type}_pending_html", export_time: time_ago_in_words(export.created_at), export_format: ".#{format}", scope: [:instructeurs, :procedure])
// i18n-tasks-use t('.export_everything_pending_html')
// i18n-tasks-use t('.export_monthly_pending_html')
= t(".export_#{time_span_type}_pending_html", export_time: time_ago_in_words(export.created_at), export_format: ".#{format}")
%li
= link_to t(:download_archive, scope: [:instructeurs, :procedure]), instructeur_archives_path(procedure)
= link_to t(".download_archive"), instructeur_archives_path(procedure)

View file

@ -1,19 +1,19 @@
.procedure-header
%h1= procedure_libelle procedure
= link_to 'gestion des notifications', email_notifications_instructeur_procedure_path(procedure), class: 'header-link'
= link_to t('instructeurs.dossiers.header.banner.notification_management'), email_notifications_instructeur_procedure_path(procedure), class: 'header-link'
|
= link_to 'statistiques', stats_instructeur_procedure_path(procedure), class: 'header-link'
= link_to t('instructeurs.dossiers.header.banner.statistics'), stats_instructeur_procedure_path(procedure), class: 'header-link'
- if procedure.instructeurs_self_management?
|
- if can_manage_groupe_instructeurs?(procedure)
= link_to 'instructeurs', admin_procedure_groupe_instructeurs_path(procedure), class: 'header-link'
= link_to t('instructeurs.dossiers.header.banner.instructeurs'), admin_procedure_groupe_instructeurs_path(procedure), class: 'header-link'
- elsif procedure.routee?
= link_to 'instructeurs', instructeur_groupes_path(procedure), class: 'header-link'
= link_to t('instructeurs.dossiers.header.banner.instructeurs'), instructeur_groupes_path(procedure), class: 'header-link'
- else
= link_to 'instructeurs', instructeur_groupe_path(procedure, procedure.defaut_groupe_instructeur), class: 'header-link'
= link_to t('instructeurs.dossiers.header.banner.instructeurs'), instructeur_groupe_path(procedure, procedure.defaut_groupe_instructeur), class: 'header-link'
- if can_send_groupe_message?(procedure)
|
= link_to 'contacter les usagers (brouillon)', email_usagers_instructeur_procedure_path(procedure), class: 'header-link'
= link_to t('instructeurs.dossiers.header.banner.contact_users'), email_usagers_instructeur_procedure_path(procedure), class: 'header-link'

View file

@ -15,7 +15,7 @@
.stats-number
= number_with_html_delimiter(a_suivre_count)
.stats-legend
à suivre
= t('instructeurs.dossiers.labels.to_follow')
%li
%object
= link_to(instructeur_procedure_path(p, statut: 'suivis')) do

View file

@ -1,6 +1,6 @@
- if procedures.length > 1
.tab-title
%span
Synthèse des dossiers
= t('views.instructeurs.dossiers.dossier_synthesis')
- all_dossiers_counts.each_with_index do |(label, dossier_count)|
%span.badge.procedure-synthese-badge= number_with_html_delimiter(dossier_count) + ' ' + label

View file

@ -1,6 +1,6 @@
%nav.tabs.mt-3
%ul
= tab_item('à suivre',
= tab_item(t('views.instructeurs.dossiers.tab_steps.to_follow'),
instructeur_procedure_path(procedure, statut: 'a-suivre'),
active: statut == 'a-suivre',
badge: number_with_html_delimiter(a_suivre_count))
@ -17,7 +17,7 @@
badge: number_with_html_delimiter(traites_count),
notification: has_termine_notifications)
= tab_item('au total',
= tab_item(t('views.instructeurs.dossiers.tab_steps.total'),
instructeur_procedure_path(procedure, statut: 'tous'),
active: statut == 'tous',
badge: number_with_html_delimiter(tous_count))

View file

@ -27,18 +27,23 @@
.container
- if @statut == 'a-suivre'
%p.explication-onglet Aucun instructeur nest affecté au suivi de ces dossiers. Soyez le premier !
%p.explication-onglet
= t('views.instructeurs.dossiers.tab_explainations.a_suivre')
- if @statut == 'suivis'
%p.explication-onglet Les dossiers qui sont dans cet onglet sont uniquement ceux que vous suivez. Vous pouvez échanger avec le demandeur jusqu'à pouvoir les accepter, les refuser ou les classer sans suite.
%p.explication-onglet
= t('views.instructeurs.dossiers.tab_explainations.suivis')
- if @statut == 'traites'
%p.explication-onglet Les dossiers dans cet onglet sont terminés : ils ont été acceptés, refusés ou classés sans suite.
%p.explication-onglet
= t('views.instructeurs.dossiers.tab_explainations.traites')
- if @statut == 'tous'
%p.explication-onglet Tous les dossiers qui ont été déposés sur cette démarche, quel que soit le statut.
%p.explication-onglet
= t('views.instructeurs.dossiers.tab_explainations.tous')
- if @statut == 'supprimes_recemment'
%p.explication-onglet Tous les dossiers terminés et supprimés par les instructeurs sur cette démarche
%p.explication-onglet
= t('views.instructeurs.dossiers.tab_explainations.supprimes_recemment')
- if @statut == 'archives'
%p.explication-onglet
Les dossiers de cet onglet sont archivés : vous ne pouvez plus y répondre, et les demandeurs ne peuvent plus les modifier.
= t('views.instructeurs.dossiers.tab_explainations.archives')
%br
Ces dossiers seront supprimés lorsque leur délai de conservation dans Démarches-simplifiées
- if @procedure.duree_conservation_dossiers_dans_ds
@ -50,8 +55,8 @@
%span.icon.delete
Afficher les dossiers supprimés
- if @statut == 'expirant'
%p.explication-onglet Les dossiers n'expireront pas avant la période de conservation des données.
%p.explication-onglet
= t('views.instructeurs.dossiers.tab_explainations.expirant')
- if @filtered_sorted_paginated_ids.present? || @current_filters.count > 0
- pagination = paginate @filtered_sorted_paginated_ids
= pagination
@ -80,7 +85,7 @@
%th.action-col.follow-col
%span.dropdown
%button.button.dropdown-button{ 'aria-expanded' => 'false', 'aria-controls' => 'custom-menu' }
Personnaliser
= t('views.instructeurs.dossiers.personalize')
#custom-menu.dropdown-content.fade-in-down
= form_tag update_displayed_fields_instructeur_procedure_path(@procedure), method: :patch, class: 'dropdown-form large columns-form' do
= hidden_field_tag :values, nil
@ -92,7 +97,7 @@
group: '.columns-form',
name: 'values')
= submit_tag "Enregistrer", class: 'button'
= submit_tag t('views.instructeurs.dossiers.save'), class: 'button'
%tbody
- @projected_dossiers.each do |p|
@ -142,4 +147,5 @@
= pagination
- else
%h2.empty-text Aucun dossier
%h2.empty-text
= t('views.instructeurs.dossiers.no_file')

View file

@ -23,7 +23,7 @@
%ul.header-tabs
- if current_instructeur.procedures.any?
%li
= active_link_to "Démarches", instructeur_procedures_path, active: ['dossiers','procedures'].include?(controller_name), class: 'tab-link'
= active_link_to t('utils.procedure'), instructeur_procedures_path, active: ['dossiers','procedures'].include?(controller_name), class: 'tab-link'
- if current_instructeur.user.expert && current_expert.avis_summary[:total] > 0
= render partial: 'layouts/header/avis_tab', locals: { current_expert: current_expert }
@ -31,7 +31,7 @@
%ul.header-tabs
- if current_expert.user.instructeur && current_instructeur.procedures.any?
%li
= active_link_to "Démarches", instructeur_procedures_path, active: ['dossiers','procedures'].include?(controller_name), class: 'tab-link'
= active_link_to t('utils.procedure'), instructeur_procedures_path, active: ['dossiers','procedures'].include?(controller_name), class: 'tab-link'
- if current_expert.avis_summary[:total] > 0
= render partial: 'layouts/header/avis_tab', locals: { current_expert: current_expert }

View file

@ -1,5 +1,5 @@
.header-search{ role: 'search' }
= form_tag "#{search_endpoint}", method: :get, class: "form" do
= text_field_tag "q", "#{@search_terms if @search_terms.present?}", placeholder: "Rechercher un dossier", title: "Rechercher un dossier"
%button{ title: "Rechercher" }
= text_field_tag "q", "#{@search_terms if @search_terms.present?}", placeholder: t('views.users.dossiers.search.search_file'), title: t('views.users.dossiers.search.search_file')
%button{ title: t('views.users.dossiers.search.search_file') }
= image_tag "icons/search-blue.svg", alt: 'Rechercher', 'aria-hidden':'true', width: 24, height: 24, loading: 'lazy'

View file

@ -1,15 +1,19 @@
%table.table.vertical.dossier-champs
%tbody
%tr
%td.libelle Civilité :
%td.libelle
= t('views.users.dossiers.identite.civility')
%td= individual.gender
%tr
%td.libelle Prénom :
%td.libelle
= t('views.users.dossiers.identite.first_name')
%td= individual.prenom
%tr
%td.libelle Nom :
%td.libelle
= t('views.users.dossiers.identite.last_name')
%td= individual.nom
- if individual.birthdate.present?
%tr
%td.libelle Date de naissance :
%td.libelle
= t('views.users.dossiers.identite.birthdate')
%td= try_format_date(individual.birthdate)

View file

@ -1,5 +1,6 @@
.dropdown.help-dropdown
%button.button.primary.dropdown-button{ 'aria-expanded' => 'false', 'aria-controls' => 'help-menu' } Aide
%button.button.primary.dropdown-button{ 'aria-expanded' => 'false', 'aria-controls' => 'help-menu' }
= t('help')
#help-menu.dropdown-content.fade-in-down
%ul.dropdown-items
- title = dossier.brouillon? ? "Besoin daide pour remplir votre dossier ?" : "Une question sur votre dossier ?"

View file

@ -1,5 +1,6 @@
.dropdown.help-dropdown
%button.button.primary.dropdown-button{ 'aria-expanded' => 'false', 'aria-controls' => 'help-menu' } Aide
%button.button.primary.dropdown-button{ 'aria-expanded' => 'false', 'aria-controls' => 'help-menu' }
= t('help')
#help-menu.dropdown-content.fade-in-down
%ul.dropdown-items
= render partial: 'shared/help/dropdown_items/faq_item'

View file

@ -1,5 +1,6 @@
.dropdown.help-dropdown
%button.button.primary.dropdown-button{ 'aria-expanded' => 'false', 'aria-controls' => 'help-menu' } Aide
%button.button.primary.dropdown-button{ 'aria-expanded' => 'false', 'aria-controls' => 'help-menu' }
= t('help')
#help-menu.dropdown-content.fade-in-down
%ul.dropdown-items
- if procedure.service.present?

View file

@ -7,8 +7,8 @@
%p.autosave-status.succeeded
%span.autosave-icon.icon.accept
%span.autosave-label
Brouillon enregistré
= link_to 'En savoir plus', FAQ_AUTOSAVE_URL, target: '_blank', rel: 'noopener', class: 'autosave-more-infos'
= t('views.users.dossiers.autosave.autosave_confirmation')
= link_to t('views.users.dossiers.autosave.more_information'), FAQ_AUTOSAVE_URL, target: '_blank', rel: 'noopener', class: 'autosave-more-infos'
%p.autosave-status.failed
%span.autosave-icon ⚠️