").children().fadeOut(5000)
<% end %>
-$('#liste_champ').html("<%= escape_javascript(render partial: 'admin/types_de_champ/form', locals: { procedure: @procedure, types_de_champ: @types_de_champ } ) %>");
-on_change_type_de_champ_select ();
\ No newline at end of file
+$('#liste-champ').html("<%= escape_javascript(render partial: 'admin/types_de_champ/form', locals: { procedure: @procedure, types_de_champ: @types_de_champ } ) %>");
+on_change_type_de_champ_select ();
diff --git a/app/views/administrateurs/sessions/new.html.haml b/app/views/administrateurs/sessions/new.html.haml
index 7ebe37ba9..1a480db6f 100644
--- a/app/views/administrateurs/sessions/new.html.haml
+++ b/app/views/administrateurs/sessions/new.html.haml
@@ -1,4 +1,4 @@
-#form_login
+#form-login
%br
= image_tag(image_url(LOGO_NAME))
%br
@@ -7,7 +7,7 @@
%br
%br
- #new_user
+ #new-user
= form_for @administrateur, url: { controller: 'administrateurs/sessions', action: :create } do |f|
%h4
= f.label :email
diff --git a/app/views/backoffice/dossiers/_list.html.haml b/app/views/backoffice/dossiers/_list.html.haml
index 1aebea3ba..3316aa0c8 100644
--- a/app/views/backoffice/dossiers/_list.html.haml
+++ b/app/views/backoffice/dossiers/_list.html.haml
@@ -1,4 +1,4 @@
-%table#dossiers_list.table
+%table#dossiers-list.table
%thead
- if smart_listing.name.to_s == 'follow_dossiers'
%th.col-xs-1.center
diff --git a/app/views/backoffice/dossiers/_pref_list.html.haml b/app/views/backoffice/dossiers/_pref_list.html.haml
index b92e4a41c..31d6c1fed 100644
--- a/app/views/backoffice/dossiers/_pref_list.html.haml
+++ b/app/views/backoffice/dossiers/_pref_list.html.haml
@@ -1,4 +1,4 @@
-%button#pref_list_dossier_close_action.btn.btn-danger.btn-xs.fixed-right
+%button#pref-list-dossier-close-action.btn.btn-danger.btn-xs.fixed-right
%i.fa.fa-close
%h3
= t('dynamics.backoffice.pref_list.title')
diff --git a/app/views/backoffice/dossiers/_pref_list.js.erb b/app/views/backoffice/dossiers/_pref_list.js.erb
index e15e3f068..00a569dd4 100644
--- a/app/views/backoffice/dossiers/_pref_list.js.erb
+++ b/app/views/backoffice/dossiers/_pref_list.js.erb
@@ -9,6 +9,6 @@ $.ajax({
url: '/backoffice/preference_list_dossier/reload_pref_list?procedure_id=<%= @procedure_id %>',
async: true
}).done(function (data) {
- $("#pref_list_menu").html(data);
+ $("#pref-list-menu").html(data);
pref_list_dossier_actions();
});
diff --git a/app/views/backoffice/dossiers/_state_description.html.haml b/app/views/backoffice/dossiers/_state_description.html.haml
index b7d58ceea..345b3fecf 100644
--- a/app/views/backoffice/dossiers/_state_description.html.haml
+++ b/app/views/backoffice/dossiers/_state_description.html.haml
@@ -5,17 +5,18 @@
.col-md-1.col-lg-1.col-sm-1.col-xs-1.col-sm-1.col-xs-1
.fa.fa-info-circle.text-info{ style: 'font-size: 2em; margin-top: 20%;' }
.col-xs-11
- - if dossiers_list_facade.liste == 'nouveaux'
+ - case dossiers_list_facade.liste
+ - when 'nouveaux'
Tous les dossiers présents dans cette liste sont ceux qui
%b
n'ont jamais été ouvert par votre service.
Il attende une première lecture et intervention de votre part.
- - elsif dossiers_list_facade.liste == 'a_traiter'
+ - when 'a_traiter'
Tous les dossiers présents dans cette liste sont ceux qui sont
%b
en cours de construction avec l'usager.
Ils ne sont pas figés et ne sont donc pas complets.
- - elsif dossiers_list_facade.liste == 'fige'
+ - when 'fige'
Tous les dossiers présents dans cette liste ont été déclarés
%b
complets
@@ -23,14 +24,14 @@
%b
plus modifiables par l'usager.
Ils attendent donc leurs dépots officiels qui doit être effectué par l'usager.
- - elsif dossiers_list_facade.liste == 'deposes'
+ - when 'deposes'
Tous les dossiers présents dans cette liste ont été
%b
officiellement déposé par l'usager pour examen.
Il faut donc que vous confirmiez par "accusé de réception" la bonne réception de toutes les informations et documents demandés avant examen final.
- - elsif dossiers_list_facade.liste == 'a_instruire'
+ - when 'a_instruire'
Tous les dossiers présents dans cette liste sont à instruire. Ceux sont tous les dossiers
%b
qui ont reçu bonne réception.
- - elsif dossiers_list_facade.liste == 'termine'
+ - when 'termine'
Tous les dossiers présents dans cette liste sont considérés comme cloturé car ils ont tous reçu un verdict final qui peut être "Validé", "Refusé" ou "Sans suite".
diff --git a/app/views/backoffice/dossiers/formulaire_private.js.erb b/app/views/backoffice/dossiers/formulaire_private.js.erb
index a4a9f595b..44b5a576a 100644
--- a/app/views/backoffice/dossiers/formulaire_private.js.erb
+++ b/app/views/backoffice/dossiers/formulaire_private.js.erb
@@ -1,4 +1,4 @@
<% flash.each do |type, message| %>
-$("#flash_message").html("
").children().fadeOut(5000)
<% end %>
<% flash.clear %>
diff --git a/app/views/backoffice/dossiers/index.html.haml b/app/views/backoffice/dossiers/index.html.haml
index f10570616..54d14c648 100644
--- a/app/views/backoffice/dossiers/index.html.haml
+++ b/app/views/backoffice/dossiers/index.html.haml
@@ -1,8 +1,8 @@
-#backoffice_index
- #pref_list_menu
+#backoffice-index
+ #pref-list-menu
= render partial: 'backoffice/dossiers/pref_list'
- .default_data_block
+ .default-data-block
.row.show-block#new_dossiers
.header
.col-xs-10.title
@@ -24,7 +24,7 @@
.col-xs-3
= link_to 'Terminés', '?liste=termine', class: 'text-success', style: "text-decoration: #{@facade_data_view.liste == 'termine'? 'underline' : ''}"
- .default_data_block.default_visible
+ .default-data-block.default_visible
.row.show-block#follow_dossiers
.header
.col-xs-10.title
@@ -36,7 +36,7 @@
.body
= smart_listing_render :follow_dossiers
- .default_data_block
+ .default-data-block
.row.show-block#all_dossiers
.header
.col-xs-10.title
@@ -50,7 +50,7 @@
- if @archived_dossiers
- .default_data_block
+ .default-data-block
.row.show-block#archived_dossiers
.header
.col-xs-10.title
diff --git a/app/views/backoffice/dossiers/search.html.haml b/app/views/backoffice/dossiers/search.html.haml
index 34ffd639d..6a17e254c 100644
--- a/app/views/backoffice/dossiers/search.html.haml
+++ b/app/views/backoffice/dossiers/search.html.haml
@@ -1,8 +1,8 @@
-#backoffice_search
- #pref_list_menu
+#backoffice-search
+ #pref-list-menu
= render partial: 'backoffice/dossiers/pref_list'
- .default_data_block.default_visible
+ .default-data-block.default_visible
.row.show-block#new_dossiers
.header
.col-lg-10.col-md-10.col-sm-10.col-xs-10.title
diff --git a/app/views/backoffice/dossiers/show.html.haml b/app/views/backoffice/dossiers/show.html.haml
index be9e5d17d..de5a91238 100644
--- a/app/views/backoffice/dossiers/show.html.haml
+++ b/app/views/backoffice/dossiers/show.html.haml
@@ -1,2 +1,2 @@
-#backoffice_dossier_show.col-xs-12
+#backoffice-dossier-show.col-xs-12
= render partial: "dossiers/dossier_show"
diff --git a/app/views/cgu/index.html.haml b/app/views/cgu/index.html.haml
index 7f2116cd0..779d6ff83 100644
--- a/app/views/cgu/index.html.haml
+++ b/app/views/cgu/index.html.haml
@@ -35,7 +35,7 @@
%br/
Code APE 6202A
%br/
- N° TVA : FR 22 424 761 419
+ Nº TVA : FR 22 424 761 419
%br/
Siège social : 2 rue Kellermann - 59100 Roubaix - France.
%br
@@ -61,7 +61,7 @@
Déclaration CNIL
%p Le SGMAP a procédé à la déclaration CNIL de TPS. Celle-ci porte le numéro "1986658 v 0" à la date du 30 août 2016. Néanmoins les administrations devront procéder à une déclaration complémentaire auprès de la CNIL si les données du formulaire qu’elles ont produit comportent des données de la nature suivante :
%ul
- %li N° de sécurité sociale,
+ %li Nº de sécurité sociale,
%li Infractions, condamnations, mesures de sécurité,
%li
%a{ :href => "https://www.declaration.cnil.fr/declarations/declaration/donneesSensibles_DN.display.action" } Opinions philosophiques, politiques, religieuses, syndicales, vie sexuelle, données de santé, origine raciale.
@@ -77,10 +77,10 @@
Traitement des données à caractère personnel
%h4 Données personnelles :
%p
- En application de la loi n°78-17 Informatique et Libertés du 6 janvier 1978, vous disposez d'un droit d'accès, de rectification, de modification et de suppression concernant les données qui vous concernent. Vous pouvez exercer ce droit à travers la rubrique
+ En application de la loi nº 78-17 Informatique et Libertés du 6 janvier 1978, vous disposez d'un droit d'accès, de rectification, de modification et de suppression concernant les données qui vous concernent. Vous pouvez exercer ce droit à travers la rubrique
%a{ :href => "http://www.faire-simple.gouv.fr/contact" } Contact
%h4 Données de connexion :
- %p Conformément à la loi n°2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique, certaines données de connexion sont conservées par le service aux fins de protection contre les intrusions et de poursuites judiciaires le cas échéant. Ces données sont conservées pendant un an.
+ %p Conformément à la loi nº 2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique, certaines données de connexion sont conservées par le service aux fins de protection contre les intrusions et de poursuites judiciaires le cas échéant. Ces données sont conservées pendant un an.
%br
%h3#entreprise_information
diff --git a/app/views/dossiers/_dossier_show.html.haml b/app/views/dossiers/_dossier_show.html.haml
index be5f83190..2a96ccc76 100644
--- a/app/views/dossiers/_dossier_show.html.haml
+++ b/app/views/dossiers/_dossier_show.html.haml
@@ -1,7 +1,7 @@
= render partial: 'dossiers/messagerie', locals: { dossier_facade: @facade }
- if @facade.procedure.individual_with_siret
- .default_data_block
+ .default-data-block
.row.show-block.infos
.header
.col-xs-8.title-no-expanse
@@ -13,7 +13,7 @@
Renseigner un SIRET
- unless @facade.entreprise.nil?
- .default_data_block
+ .default-data-block
.row.show-block.infos#infos_entreprise
.header
.col-xs-12.title
@@ -23,8 +23,8 @@
.body.display-block-on-print
= render partial: '/dossiers/infos_entreprise'
-.default_data_block.default_visible
- .row.show-block.infos#infos_dossier
+.default-data-block.default_visible
+ .row.show-block.infos#infos-dossiers
.header
.col-xs-10.title
.carret-right
@@ -35,7 +35,7 @@
= render partial: '/dossiers/infos_dossier'
- if @facade.dossier.procedure.module_api_carto.use_api_carto
- .default_data_block.default_visible.no-page-break-inside
+ .default-data-block.default_visible.no-page-break-inside
.row.show-block#carto
.header
.col-xs-10.title
@@ -53,7 +53,7 @@
- if @current_gestionnaire && gestionnaire_signed_in? && @champs_private.count > 0
- .default_data_block.default_visible
+ .default-data-block.default_visible
.row.show-block#private-fields
.header
.col-xs-10.title
diff --git a/app/views/dossiers/_download_dossiers.html.haml b/app/views/dossiers/_download_dossiers.html.haml
index 369bd4327..26abe6925 100644
--- a/app/views/dossiers/_download_dossiers.html.haml
+++ b/app/views/dossiers/_download_dossiers.html.haml
@@ -1,5 +1,5 @@
.dropdown.pull-right#download-menu
- %a.dropdown-toggle.button_navbar{ type: :button, 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false }
+ %a.dropdown-toggle.button-navbar{ type: :button, 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false }
%i.fa.fa-download
Télécharger tous les dossiers
%span.caret
diff --git a/app/views/dossiers/_edit_pieces_jointes.html.haml b/app/views/dossiers/_edit_pieces_jointes.html.haml
index 61a8dc794..3584221a3 100644
--- a/app/views/dossiers/_edit_pieces_jointes.html.haml
+++ b/app/views/dossiers/_edit_pieces_jointes.html.haml
@@ -2,7 +2,7 @@
- if user_signed_in? && (@facade.dossier.owner?(current_user.email) || @facade.dossier.invite_by_user?(current_user.email))
- if @facade.procedure.cerfa_flag? || @facade.dossier.types_de_piece_justificative.size > 0
.col-lg-4.col-md-4.col-sm-4.col-xs-4.action
- %a#maj_pj.action{ "data-target" => "#UploadPJmodal",
+ %a#maj_pj.action{ "data-target" => "#upload-pj-modal",
"data-toggle" => "modal",
:type => "button",
style: 'margin-bottom: 15px; margin-top: -30px;' }
diff --git a/app/views/dossiers/_infos_dossier.html.haml b/app/views/dossiers/_infos_dossier.html.haml
index 954aa6856..15a1aa744 100644
--- a/app/views/dossiers/_infos_dossier.html.haml
+++ b/app/views/dossiers/_infos_dossier.html.haml
@@ -39,11 +39,13 @@
.col-xs-5.depositaire-info{ id: "champ-#{champ.id}-value" }
- unless champ.decorate.value.blank?
- if champ.type_champ == 'dossier_link'
- - dossier = Dossier.find_by(id: champ.decorate.value)
- - if dossier && gestionnaire_signed_in?
- = link_to(dossier.procedure.libelle, backoffice_dossier_path(champ.decorate.value), target: '_blank')
+ - dossier = Dossier.includes(:procedure).find_by(id: champ.decorate.value)
+ - if dossier
+ = link_to("Dossier #{dossier.id}", backoffice_dossier_path(champ.decorate.value), target: '_blank')
+ %br
+ = dossier.text_summary
- else
- = dossier.nil? ? 'pas de dossier associé' : dossier.procedure.libelle
+ Pas de dossier associé
- else
= champ.decorate.value.html_safe
@@ -62,7 +64,7 @@
.col-xs-4.dossier-title= t('utils.pieces').upcase
.col-xs-4.split-hr
- .col-xs-12#pieces_justificatives.margin-bot-40
+ .col-xs-12#pieces-justificatives.margin-bot-40
.row
- if @facade.procedure.cerfa_flag?
.col-xs-12#piece_justificative_0
@@ -74,7 +76,7 @@
%a{ href: "#{@facade.dossier.cerfa.last.content_url}", target: '_blank' } Consulter
%span{ style: 'margin-left: 12px;' }
\-
- = link_to "", class: "historique", "data-toggle" => "modal", "data-target" => "#PJmodal", :type => "button", "data-modal_title" => 'formulaires', "data-modal_index" => 'cerfa' do
+ = link_to "", class: "historique", "data-toggle" => "modal", "data-target" => "#pj-modal", :type => "button", "data-modal_title" => 'formulaires', "data-modal_index" => 'cerfa' do
%span.fa.fa-clock-o
- else
Pièce non fournie
@@ -94,7 +96,7 @@
%span{ style: 'margin-left: 12px;' }
\-
- if @facade.dossier.pieces_justificatives.where(type_de_piece_justificative_id: type_de_piece_justificative.id).count > 1
- = link_to "", class: "historique", "data-toggle" => "modal", "data-target" => "#PJmodal", :type => "button", "data-modal_title" => 'formulaires', "data-modal_index" => "type_de_pj_#{type_de_piece_justificative.id}" do
+ = link_to "", class: "historique", "data-toggle" => "modal", "data-target" => "#pj-modal", :type => "button", "data-modal_title" => 'formulaires', "data-modal_index" => "type_de_pj_#{type_de_piece_justificative.id}" do
%span.fa.fa-clock-o
- else
Pièce non fournie
@@ -104,7 +106,7 @@
- if @facade.procedure.cerfa_flag? || @facade.dossier.types_de_piece_justificative.size > 0
.row
.col-xs-4
- %a#maj_pj.action{ "data-target" => "#UploadPJmodal", "data-toggle" => "modal", :type => "button" }
+ %a#maj_pj.action{ "data-target" => "#upload-pj-modal", "data-toggle" => "modal", :type => "button" }
.col-xs-4.action
Modifier les documents
%br
@@ -112,7 +114,7 @@
.col-xs-4
- if gestionnaire_signed_in?
- #PJmodal.modal.fade{ "aria-labelledby" => "myModalLabel", :role => "dialog", :tabindex => "-1" }
+ #pj-modal.modal.fade{ "aria-labelledby" => "myModalLabel", :role => "dialog", :tabindex => "-1" }
.modal-dialog.modal-lg{ :role => "document" }
.modal-content
.modal-header
@@ -120,7 +122,7 @@
%span{ "aria-hidden" => "true" } ×
%h4#myModalLabel.modal-title
Historique des
- %span#PJmodal_title
+ %span#pj-modal-title
.modal-body
%table.table
%thead
@@ -130,7 +132,7 @@
Date d'envoi
%th
Lien
- %thead.tr_content#cerfa
+ %thead.tr-content#cerfa
- if @facade.procedure.cerfa_flag?
- if @facade.dossier.cerfa_available?
- @facade.cerfas_ordered.each do |cerfa|
@@ -142,7 +144,7 @@
%td.col-md-6.col-sm-6.col-xs-6.col-lg-4
= link_to 'Récupérer', cerfa.content_url, { target: :blank }
- @facade.dossier.types_de_piece_justificative.each do |type_de_piece_justificative|
- %tbody.tr_content{ id: "type_de_pj_#{type_de_piece_justificative.id}" }
+ %tbody.tr-content{ id: "type_de_pj_#{type_de_piece_justificative.id}" }
- @facade.dossier.retrieve_all_piece_justificative_by_type(type_de_piece_justificative.id).each do |piece_justificative|
%tr
%td.col-md-6.col-sm-6.col-xs-6.col-lg-4
diff --git a/app/views/dossiers/_infos_pieces_jointes.html.haml b/app/views/dossiers/_infos_pieces_jointes.html.haml
index 78d1df89f..05faa1417 100644
--- a/app/views/dossiers/_infos_pieces_jointes.html.haml
+++ b/app/views/dossiers/_infos_pieces_jointes.html.haml
@@ -1,4 +1,4 @@
-#pieces_justificatives
+#pieces-justificatives
.row
- if @facade.procedure.cerfa_flag?
.col-xs-12#piece_justificative_0
@@ -11,7 +11,7 @@
%span{ style: 'margin-left: 12px;' }
\-
%a.btn.fa.fa-timer{ style: 'color: black; padding-top: 0;',
- "data-target" => "#PJmodal",
+ "data-target" => "#pj-modal",
"data-toggle" => "modal",
:type => "button",
"data-modal_title" => 'formulaires',
@@ -37,7 +37,7 @@
%span{ style: 'margin-left: 12px;' }
\-
%a.btn.fa.fa-timer{ style: 'color: black; padding-top: 0;',
- "data-target" => "#PJmodal",
+ "data-target" => "#pj-modal",
"data-toggle" => "modal",
:type => "button",
"data-modal_title" => type_de_piece_justificative.libelle,
diff --git a/app/views/dossiers/_messagerie.html.haml b/app/views/dossiers/_messagerie.html.haml
index eb8b59324..ca223136d 100644
--- a/app/views/dossiers/_messagerie.html.haml
+++ b/app/views/dossiers/_messagerie.html.haml
@@ -1,4 +1,4 @@
-.default_data_block{ style: 'margin-top: 40px;' }
+.default-data-block{ style: 'margin-top: 40px;' }
.row.show-block.clearfix#messages
.header
.col-xs-10.title
diff --git a/app/views/dossiers/_pieces_justificatives.html.haml b/app/views/dossiers/_pieces_justificatives.html.haml
index f547b1a4d..74d837d30 100644
--- a/app/views/dossiers/_pieces_justificatives.html.haml
+++ b/app/views/dossiers/_pieces_justificatives.html.haml
@@ -1,4 +1,4 @@
-#pieces_justificatives
+#pieces-justificatives
%table.table
- if @facade.procedure.cerfa_flag?
%tr{ id: "piece_justificative_0" }
@@ -10,7 +10,7 @@
%span{ style: 'margin-left: 12px;' }
\-
%a.btn.fa.fa-timer{ style: 'color: black; padding-top: 0;',
- "data-target" => "#PJmodal",
+ "data-target" => "#pj-modal",
"data-toggle" => "modal",
:type => "button",
"data-modal_title" => 'formulaires',
@@ -33,7 +33,7 @@
%span{ style: 'margin-left: 12px;' }
\-
%a.btn.fa.fa-timer{ style: 'color: black; padding-top: 0;',
- "data-target" => "#PJmodal",
+ "data-target" => "#pj-modal",
"data-toggle" => "modal",
:type => "button",
"data-modal_title" => type_de_piece_justificative.libelle,
diff --git a/app/views/dossiers/_show.html.haml b/app/views/dossiers/_show.html.haml
index 61ab17978..a63cafa14 100644
--- a/app/views/dossiers/_show.html.haml
+++ b/app/views/dossiers/_show.html.haml
@@ -1,9 +1,9 @@
-#users_siret_index
+#users-siret-index
.row.etape.etape_1
= render partial: '/dossiers/etapes/etape1'
- .row.etape.etape_2
+ .row.etape.etape-2
= render partial: '/dossiers/etapes/etape2'
-# - if @facade.procedure.module_api_carto.use_api_carto?
diff --git a/app/views/dossiers/add_siret.js.erb b/app/views/dossiers/add_siret.js.erb
index 72bb92d20..fe0cdc53c 100644
--- a/app/views/dossiers/add_siret.js.erb
+++ b/app/views/dossiers/add_siret.js.erb
@@ -1,6 +1,6 @@
<% if flash.empty? %>
-$('.row.etape.etape_2').hide(300, render_new_siret);
-$('.row.etape.etape_2').slideDown(400, the_terms);
+$('.row.etape.etape-2').hide(300, render_new_siret);
+$('.row.etape.etape-2').slideDown(400, the_terms);
<% else %>
error_form_siret('<%= invalid_siret %>');
<% end %>
@@ -8,5 +8,5 @@ error_form_siret('<%= invalid_siret %>');
<% flash.clear %>
function render_new_siret(){
- $('.row.etape.etape_2').html("<%= escape_javascript(render partial: '/dossiers/etapes/etape_2/entreprise', locals: { facade: @facade } ) %>");
+ $('.row.etape.etape-2').html("<%= escape_javascript(render partial: '/dossiers/etapes/etape_2/entreprise', locals: { facade: @facade } ) %>");
}
\ No newline at end of file
diff --git a/app/views/dossiers/etapes/_etape1.html.haml b/app/views/dossiers/etapes/_etape1.html.haml
index 5e1d46dbc..036cdce6b 100644
--- a/app/views/dossiers/etapes/_etape1.html.haml
+++ b/app/views/dossiers/etapes/_etape1.html.haml
@@ -9,10 +9,10 @@
#logo_procedure.flag
= image_tag( @facade.procedure.decorate.logo_img )
-.etape.etapes_informations.col-xs-9
+.etape.etapes-informations.col-xs-9
.row
.col-xs-12.padding-left-30
- %h2#titre_procedure.text-info
+ %h2#titre-procedure.text-info
= @facade.procedure.libelle
%p#description_procedure{ style: 'width: 95%;', class: (@facade.entreprise.nil? ? '' : 'mask') }
diff --git a/app/views/dossiers/etapes/_etape3.html.haml b/app/views/dossiers/etapes/_etape3.html.haml
index a163bbe81..4a0e54e99 100644
--- a/app/views/dossiers/etapes/_etape3.html.haml
+++ b/app/views/dossiers/etapes/_etape3.html.haml
@@ -1,6 +1,6 @@
-.etape.etapes_menu.col-xs-3
+.etape.etapes-menu.col-xs-3
%h3
Ma zone d'intervention
-.etape.etapes_informations.col-xs-9
+.etape.etapes-informations.col-xs-9
.row
diff --git a/app/views/dossiers/etapes/_etape4.html.haml b/app/views/dossiers/etapes/_etape4.html.haml
index 68a4c0fc4..70456b83f 100644
--- a/app/views/dossiers/etapes/_etape4.html.haml
+++ b/app/views/dossiers/etapes/_etape4.html.haml
@@ -1,6 +1,6 @@
-.etape.etapes_menu.col-xs-3
+.etape.etapes-menu.col-xs-3
%h3
Mon dossier
-.etape.etapes_informations.col-xs-9
+.etape.etapes-informations.col-xs-9
.row
diff --git a/app/views/dossiers/etapes/etape_2/_entreprise.html.haml b/app/views/dossiers/etapes/etape_2/_entreprise.html.haml
index c817a95a9..7e6e6f05c 100644
--- a/app/views/dossiers/etapes/etape_2/_entreprise.html.haml
+++ b/app/views/dossiers/etapes/etape_2/_entreprise.html.haml
@@ -1,4 +1,4 @@
-.etape.etapes_menu.col-xs-3
+.etape.etapes-menu.col-xs-3
%h3
Mes informations
%br
@@ -12,21 +12,21 @@
= f.submit 'Changer de SIRET', class: %w(btn btn-xs btn-primary)
-.etape.etapes_informations.col-xs-9
+.etape.etapes-informations.col-xs-9
.row
- if @facade.entreprise.nil?
#new_siret{ style: 'margin-left: 20%; margin-top: 5%;' }
= form_for @facade.dossier, html: { class: 'form-inline' }, url: users_dossier_siret_informations_path(dossier_id: @facade.dossier.id), method: :post, remote: true do |f|
.form-group.form-group-lg
- = f.text_field :siret, class: "form-control", placeholder: "Entrez votre Siret", value: @siret
+ = f.text_field :siret, id: "dossier-siret", class: "form-control", placeholder: "Entrez votre Siret", value: @siret
= f.hidden_field :dossier_id, value: @facade.dossier.id
= f.submit 'Valider', class: %w(btn btn-lg btn-success), id: 'submit-siret', data: { disable_with: "Recherche en cours ..." }
- else
%br
- #recap_info_entreprise
+ #recap-info-entreprise
= render partial: '/dossiers/infos_entreprise'
- %p#insee_infogreffe{ style: 'color: grey; float: right;' }
+ %p#insee-infogreffe{ style: 'color: grey; float: right;' }
%i
Informations récupérées auprès de l'INSEE et d'INFOGREFFE
diff --git a/app/views/dossiers/etapes/etape_2/_individual.html.haml b/app/views/dossiers/etapes/etape_2/_individual.html.haml
index 2e2298c33..ce87a50fc 100644
--- a/app/views/dossiers/etapes/etape_2/_individual.html.haml
+++ b/app/views/dossiers/etapes/etape_2/_individual.html.haml
@@ -5,7 +5,7 @@
%br
vous concernant.
-.etape.etapes_informations.col-xs-9
+.etape.etapes-informations.col-xs-9
= form_for @facade.dossier, url: { controller: '/users/dossiers', action: :update } do |f|
.row
.col-xs-12.padding-left-30
diff --git a/app/views/dossiers/new_siret.js.erb b/app/views/dossiers/new_siret.js.erb
index dcb6ce2b2..a84df50d7 100644
--- a/app/views/dossiers/new_siret.js.erb
+++ b/app/views/dossiers/new_siret.js.erb
@@ -1,6 +1,6 @@
<% if flash.empty? %>
-$('.row.etape.etape_2').hide(300, render_new_siret);
-$('.row.etape.etape_2').slideDown(400, the_terms);
+$('.row.etape.etape-2').hide(300, render_new_siret);
+$('.row.etape.etape-2').slideDown(400, the_terms);
toggle_etape_1();
<% else %>
error_form_siret('<%= invalid_siret %>');
@@ -9,5 +9,5 @@ error_form_siret('<%= invalid_siret %>');
<% flash.clear %>
function render_new_siret(){
- $('.row.etape.etape_2').html("<%= escape_javascript(render partial: '/dossiers/etapes/etape2', locals: { facade: @facade } ) %>");
+ $('.row.etape.etape-2').html("<%= escape_javascript(render partial: '/dossiers/etapes/etape2', locals: { facade: @facade } ) %>");
}
\ No newline at end of file
diff --git a/app/views/france_connect/particulier/check_email.html.haml b/app/views/france_connect/particulier/check_email.html.haml
index da4efd5be..9922adda2 100644
--- a/app/views/france_connect/particulier/check_email.html.haml
+++ b/app/views/france_connect/particulier/check_email.html.haml
@@ -12,7 +12,7 @@
Afin d'associer ce compte à votre identifiant France Connect, merci de saisir votre mot de passe TPS.
%br
.center
- #france_connect_particulier_email
+ #france-connect-particulier-email
= form_for @user, url: { controller: 'france_connect/particulier', action: :check_email }, method: :post do |f|
.form-group.form-group-lg
= f.text_field :email_france_connect, class: "form-control", readonly: 'readonly'
diff --git a/app/views/france_connect/particulier/new.html.haml b/app/views/france_connect/particulier/new.html.haml
index 22f6c8e72..ddb7a5b0b 100644
--- a/app/views/france_connect/particulier/new.html.haml
+++ b/app/views/france_connect/particulier/new.html.haml
@@ -23,7 +23,7 @@
%br
.center
- #france_connect_particulier_email
+ #france-connect-particulier-email
= form_for @user, url: { controller: 'france_connect/particulier', action: :check_email }, method: :post do |f|
.form-group.form-group-lg
= f.text_field :email_france_connect, class: "form-control", placeholder: "Entrez votre email"
diff --git a/app/views/gestionnaires/passwords/edit.html.haml b/app/views/gestionnaires/passwords/edit.html.haml
index 13888a958..64acc3d70 100644
--- a/app/views/gestionnaires/passwords/edit.html.haml
+++ b/app/views/gestionnaires/passwords/edit.html.haml
@@ -1,13 +1,13 @@
= devise_error_messages!
-#form_login
+#form-login
= image_tag(image_url(LOGO_NAME))
%br
%h2#gestionnaire_login Changement de mot de passe
%br
%br
- #new_user
+ #new-user
= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
= f.hidden_field :reset_password_token
%h4
diff --git a/app/views/gestionnaires/passwords/new.html.haml b/app/views/gestionnaires/passwords/new.html.haml
index 5cb58e0b1..63b9cf09c 100644
--- a/app/views/gestionnaires/passwords/new.html.haml
+++ b/app/views/gestionnaires/passwords/new.html.haml
@@ -1,14 +1,14 @@
= devise_error_messages!
%br
-#form_login
+#form-login
= image_tag(image_url(LOGO_NAME))
%br
%h2#gestionnaire_login Mot de passe oublié
%br
%br
- #new_user
+ #new-user
= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
%h4
= f.label :email
diff --git a/app/views/gestionnaires/sessions/new.html.haml b/app/views/gestionnaires/sessions/new.html.haml
index 051112da6..005803443 100644
--- a/app/views/gestionnaires/sessions/new.html.haml
+++ b/app/views/gestionnaires/sessions/new.html.haml
@@ -1,4 +1,4 @@
-#form_login
+#form-login
%br
= image_tag(image_url(LOGO_NAME))
%br
@@ -6,7 +6,7 @@
%br
%br
- #new_user
+ #new-user
= form_for @gestionnaire, url: gestionnaire_session_path, method: :post do |f|
%h4
= f.label :email
diff --git a/app/views/layouts/_flash_messages.html.haml b/app/views/layouts/_flash_messages.html.haml
index 2ed1b4013..a661dcdbd 100644
--- a/app/views/layouts/_flash_messages.html.haml
+++ b/app/views/layouts/_flash_messages.html.haml
@@ -4,4 +4,4 @@
= flash.notice
- if flash.alert
.alert.alert-danger
- = flash.alert
+ = flash.alert.html_safe
diff --git a/app/views/layouts/_navbar.html.haml b/app/views/layouts/_navbar.html.haml
index 226fa8396..d3d3e9db5 100644
--- a/app/views/layouts/_navbar.html.haml
+++ b/app/views/layouts/_navbar.html.haml
@@ -1,5 +1,5 @@
.col-xs-2
- %a#title_navbar{ href: '/' }
+ %a#title-navbar{ href: '/' }
.row#home
.col-lg-6.no-padding
= image_tag('marianne_small.png', class: 'logo')
diff --git a/app/views/layouts/_new_footer.html.haml b/app/views/layouts/_new_footer.html.haml
new file mode 100644
index 000000000..806541020
--- /dev/null
+++ b/app/views/layouts/_new_footer.html.haml
@@ -0,0 +1,35 @@
+.footer
+ .footer-inner-content
+ %ul.footer-columns
+ %li.footer-column
+ %ul.footer-logos
+ %li
+ = link_to image_tag("footer/logo-rf.svg",
+ :class => "footer-logo footer-logo-rf"),
+ "http://www.gouvernement.fr/"
+ %li
+ = link_to image_tag("footer/logo-beta-gouv-fr.svg",
+ :class => "footer-logo footer-logo-beta-gouv-fr"),
+ "https://beta.gouv.fr/"
+
+ %li.footer-column
+ %ul.footer-links
+ %li.footer-link
+ = link_to "SGMAP", "http://www.modernisation.gouv.fr/le-sgmap", :class => "footer-link"
+ %li.footer-link
+ = link_to "Nouveautés", "https://github.com/sgmap/tps/releases", :class => "footer-link"
+ %li.footer-link
+ = link_to "Statistiques", stats_path, :class => "footer-link"
+ %li.footer-link
+ = link_to "Accès ancienne plateforme de test", "https://tps-dev.apientreprise.fr/", :class => "footer-link"
+
+ %li.footer-column
+ %ul.footer-links
+ %li.footer-link
+ = link_to "Contact",
+ "mailto:#{t('dynamics.contact_email')}",
+ :class => "footer-link"
+ %li.footer-link
+ = link_to "Mentions légales", cgu_path, :class => "footer-link"
+ %li.footer-link
+ = link_to "CGU", cgu_path, :class => "footer-link"
diff --git a/app/views/layouts/_new_header.haml b/app/views/layouts/_new_header.haml
new file mode 100644
index 000000000..1f9049ce7
--- /dev/null
+++ b/app/views/layouts/_new_header.haml
@@ -0,0 +1,7 @@
+.new-header
+ .header-inner-content
+ %img{ src: image_url("header/logo-tps.svg"), class: "header-logo pull-left" }
+
+ = link_to "Connexion", new_user_session_path, :class => "header-login-button pull-right"
+
+ .clear-fix
diff --git a/app/views/layouts/_notifications_alert.html.haml b/app/views/layouts/_notifications_alert.html.haml
index 372fe7497..99c4a4682 100644
--- a/app/views/layouts/_notifications_alert.html.haml
+++ b/app/views/layouts/_notifications_alert.html.haml
@@ -1 +1 @@
-#notification_alert.alert.alert-success
+#notification-alert.alert.alert-success
diff --git a/app/views/layouts/_support_navigator_banner.html.haml b/app/views/layouts/_support_navigator_banner.html.haml
index 8f892a3b8..ff3485071 100644
--- a/app/views/layouts/_support_navigator_banner.html.haml
+++ b/app/views/layouts/_support_navigator_banner.html.haml
@@ -1,5 +1,5 @@
- unless BrowserService.recommended_browser?
- #support_navigator_banner.row
+ #support-navigator-banner.row
.col-xs-12
= BROWSER.value.name
= BROWSER.value.version
diff --git a/app/views/layouts/_switch_devise_profile_module.html.haml b/app/views/layouts/_switch_devise_profile_module.html.haml
index 53d3f2134..6b718ca0a 100644
--- a/app/views/layouts/_switch_devise_profile_module.html.haml
+++ b/app/views/layouts/_switch_devise_profile_module.html.haml
@@ -1,5 +1,5 @@
- if SwitchDeviseProfileService.new(warden).multiple_devise_profile_connect?
- #switch_menu.dropdown.dropup
+ #switch-menu.dropdown.dropup
%button.btn.btn-default.dropdown-toggle{ type: :button, 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false }
%i.fa.fa-toggle-on
%span.caret
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 053d04646..225169964 100644
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -6,6 +6,10 @@
= t('dynamics.page_title')
%meta{ 'http-equiv' => "X-UA-Compatible", :content => "IE=edge" }
+ = favicon_link_tag(image_url("favicons/16x16.png"), type: "image/png", sizes: "16x16")
+ = favicon_link_tag(image_url("favicons/32x32.png"), type: "image/png", sizes: "32x32")
+ = favicon_link_tag(image_url("favicons/96x96.png"), type: "image/png", sizes: "96x96")
+
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
= stylesheet_link_tag 'print', media: 'print', 'data-turbolinks-track' => true
= javascript_include_tag 'application', 'data-turbolinks-track' => true
@@ -14,7 +18,7 @@
= action_cable_meta_tag
%body
= render partial: 'layouts/support_navigator_banner'
- #beta{ class: (Rails.env == 'production' ? '' : 'beta_staging') }
+ #beta{ class: (Rails.env == 'production' ? '' : 'beta-staging') }
- if Rails.env == 'production'
Beta
- else
@@ -45,7 +49,7 @@
- main_container_size = 12
= render partial: 'layouts/main_container', locals: { main_container_size: main_container_size }
- #mask_search
+ #mask-search
%h1
%i.fa.fa-times{ style: 'position: fixed; top: 10; right: 30; color: white;' }
diff --git a/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_index.html.haml b/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_index.html.haml
index 53fcb38c2..865c47868 100644
--- a/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_index.html.haml
+++ b/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_index.html.haml
@@ -8,21 +8,21 @@
%div#menu-block
.split-hr-left
- #procedure_list
+ #procedure-list
%a{ :href => "#{url_for :admin_procedures_draft}", id: "draft-procedures" }
- .procedure_list_element{ class: @draft_class }
+ .procedure-list-element{ class: @draft_class }
Brouillons
.badge.progress-bar-default
= current_administrateur.procedures.where(published: false, archived: false).count
%a{ :href => "#{url_for :admin_procedures}", id: "active-procedures" }
- .procedure_list_element{ class: @active_class }
+ .procedure-list-element{ class: @active_class }
Actives
.badge.progress-bar-success
= current_administrateur.procedures.where(published: true, archived: false).count
%a{ :href => "#{url_for :admin_procedures_archived}", id: "archived-procedures" }
- .procedure_list_element{ class: @archived_class }
+ .procedure-list-element{ class: @archived_class }
Archivées
.badge.progress-bar-purple
= current_administrateur.procedures.where(archived: true).count
diff --git a/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_navbar.html.haml b/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_navbar.html.haml
index 60036b2a5..e23c96832 100644
--- a/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_navbar.html.haml
+++ b/app/views/layouts/left_panels/_left_panel_admin_procedurescontroller_navbar.html.haml
@@ -9,40 +9,40 @@
%div#menu-block
.split-hr-left
- #procedure_list
+ #procedure-list
%a{ :href => "#{url_for admin_procedure_path(@procedure)}", id: 'onglet-infos' }
- .procedure_list_element{ class: ('active' if active == 'Informations') }
+ .procedure-list-element{ class: ('active' if active == 'Informations') }
Informations
%a{ :href => "#{url_for admin_procedure_accompagnateurs_path(@procedure)}", id: 'onglet-accompagnateurs' }
- .procedure_list_element{ class: ('active' if active == 'Accompagnateurs') }
+ .procedure-list-element{ class: ('active' if active == 'Accompagnateurs') }
= t('dynamics.admin.procedure.onglets.accompagnateurs')
%a{ :href => "#{url_for edit_admin_procedure_path(@procedure)}", id: 'onglet-description' }
- .procedure_list_element{ class: ('active' if active == 'Description') }
+ .procedure-list-element{ class: ('active' if active == 'Description') }
Description
- unless @procedure.locked?
%a{ :href => "#{url_for admin_procedure_types_de_champ_path(@procedure)}", id: 'onglet-champs' }
- .procedure_list_element{ class: ('active' if active == 'Champs') }
+ .procedure-list-element{ class: ('active' if active == 'Champs') }
Champs
- unless @procedure.locked?
%a{ :href => "#{url_for admin_procedure_pieces_justificatives_path(@procedure)}", id: 'onglet-pieces' }
- .procedure_list_element{ class: ('active' if active == 'Pieces') }
+ .procedure-list-element{ class: ('active' if active == 'Pieces') }
Pièces jointes
- unless @procedure.locked?
%a{ :href => "#{url_for admin_procedure_types_de_champ_private_path(@procedure)}", id: 'onglet-private-champs' }
- .procedure_list_element{ class: ('active' if active == 'Champs privés') }
+ .procedure-list-element{ class: ('active' if active == 'Champs privés') }
Champs privés
%a{ :href => "#{url_for admin_procedure_mail_templates_path(@procedure)}", id: 'onglet-inemailsfos' }
- .procedure_list_element{ class: ('active' if active == 'E-mails') }
+ .procedure-list-element{ class: ('active' if active == 'E-mails') }
E-mails
%a{ :href => "#{url_for admin_procedure_previsualisation_path(@procedure)}", id: 'onglet-preview' }
- .procedure_list_element{ class: ('active' if active == 'Prévisualisation') }
+ .procedure-list-element{ class: ('active' if active == 'Prévisualisation') }
Prévisualisation
.split-hr-left
diff --git a/app/views/layouts/left_panels/_left_panel_backoffice_dossierscontroller_index.html.haml b/app/views/layouts/left_panels/_left_panel_backoffice_dossierscontroller_index.html.haml
index cd378550c..5d6e6c9d7 100644
--- a/app/views/layouts/left_panels/_left_panel_backoffice_dossierscontroller_index.html.haml
+++ b/app/views/layouts/left_panels/_left_panel_backoffice_dossierscontroller_index.html.haml
@@ -1,44 +1,44 @@
-%div#first-block
+#first-block
.dossiers-en-cours
- .count= @facade_data_view.total_dossier_follow
+ .count= current_gestionnaire.dossiers_follow.count
.text SUIVIS
.nouveaux-dossiers
- .count= @facade_data_view.total_new_dossier
+ .count= current_gestionnaire.dossiers.nouveaux.count
.text NOUVEAUX
.nouvelles-notifications
- .count= @facade_data_view.dossiers_with_unread_notifications.count
+ .count= current_gestionnaire.dossiers_with_notifications_count
.text MODIFIÉS
-%div#action-block
+#action-block
-%div#menu-block
+#menu-block
.split-hr-left
#switch-buttons
#switch-procedures.active Procédures
#switch-notifications Notifications
-%div#infos-block
+#infos-block
.split-hr-left
- #procedure_list
- - @facade_data_view.gestionnaire_procedures_name_and_id_list.each do |procedure|
-
- = link_to backoffice_dossiers_procedure_path(procedure[:id]), { title: procedure[:libelle] } do
- .procedure_list_element{ class: ('active' if procedure[:id] == @facade_data_view.procedure.id rescue '') }
- = truncate(procedure[:libelle], length: 50)
- - total_new = @facade_data_view.new_dossier_number procedure[:id]
+ #procedure-list
+ - current_gestionnaire.procedures.by_libelle.each do |procedure|
+ = link_to backoffice_dossiers_procedure_path(procedure.id), { title: procedure.libelle } do
+ .procedure-list-element{ class: ('active' if procedure.id.to_s == params[:id]) }
+ = procedure.libelle.truncate(50)
+ - total_new = procedure.dossiers.nouveaux.count
- if total_new > 0
.badge.progress-bar-success{ title: 'Nouveaux dossiers' }
= total_new
- - if procedure[:unread_notifications] > 0
+ - unread_notif_count = procedure.notifications.unread.count
+ - if unread_notif_count > 0
.badge.progress-bar-warning{ title: 'Notifications' }
- = procedure[:unread_notifications]
- #notifications_list.hidden
- - if @facade_data_view.dossiers_with_unread_notifications.empty?
+ = unread_notif_count
+ #notifications-list.hidden
+ - if current_gestionnaire.notifications.empty?
.no-notification Aucune notification pour le moment.
- else
- - @facade_data_view.dossiers_with_unread_notifications.each do |dossier|
+ - current_gestionnaire.notifications.includes(:dossier).map(&:dossier).uniq.each do |dossier|
= link_to backoffice_dossier_path(dossier.id) do
.notification
- .dossier-index= "Dossier n°#{dossier.id}"
+ .dossier-index= "Dossier nº #{dossier.id}"
.updated-at-index= dossier.first_unread_notification.created_at.strftime('%d/%m %H:%M')
.count= dossier.unreaded_notifications.count
diff --git a/app/views/layouts/left_panels/_left_panel_cgucontroller_index.html.haml b/app/views/layouts/left_panels/_left_panel_cgucontroller_index.html.haml
index 1d386a756..6fce145f3 100644
--- a/app/views/layouts/left_panels/_left_panel_cgucontroller_index.html.haml
+++ b/app/views/layouts/left_panels/_left_panel_cgucontroller_index.html.haml
@@ -1,53 +1,53 @@
%div#cgu_menu_block
- #procedure_list{ style: 'margin-top: 0;' }
+ #procedure-list{ style: 'margin-top: 0;' }
= link_to cgu_path(:anchor => "editeur") do
- .procedure_list_element
+ .procedure-list-element
Editeur
= link_to cgu_path(:anchor => "ingenieurie_hebergement") do
- .procedure_list_element
+ .procedure-list-element
Ingénierie et hébergement informatique
= link_to cgu_path(:anchor => "object_website") do
- .procedure_list_element
+ .procedure-list-element
Object du site internet
= link_to cgu_path(:anchor => "acteurs") do
- .procedure_list_element
+ .procedure-list-element
Acteurs de TPS
= link_to cgu_path(:anchor => "CNIL") do
- .procedure_list_element
+ .procedure-list-element
Déclaration CNIL
= link_to cgu_path(:anchor => "data_collects") do
- .procedure_list_element
+ .procedure-list-element
Données collectées et responsabilité des organismes utilisateurs
= link_to cgu_path(:anchor => "individual_data") do
- .procedure_list_element
+ .procedure-list-element
Traitement des données à caractère personnel
= link_to cgu_path(:anchor => "entreprise_information") do
- .procedure_list_element
+ .procedure-list-element
Règles relatives aux informations sur les entreprises mises à disposibition
= link_to cgu_path(:anchor => "reproduction") do
- .procedure_list_element
+ .procedure-list-element
Droit de reproduction
= link_to cgu_path(:anchor => "propriete_intellectuelle") do
- .procedure_list_element
+ .procedure-list-element
Propriété intellectuelle
= link_to cgu_path(:anchor => "navigateurs") do
- .procedure_list_element
+ .procedure-list-element
Logiciels nécessaires à la consultation
= link_to cgu_path(:anchor => "conception") do
- .procedure_list_element
+ .procedure-list-element
Conception et Réalisation
- .procedure_list_element
+ .procedure-list-element
- .procedure_list_element
+ .procedure-list-element
diff --git a/app/views/layouts/left_panels/_left_panel_users_dossierscontroller_index.html.haml b/app/views/layouts/left_panels/_left_panel_users_dossierscontroller_index.html.haml
index 06d8817d7..70c8fb208 100644
--- a/app/views/layouts/left_panels/_left_panel_users_dossierscontroller_index.html.haml
+++ b/app/views/layouts/left_panels/_left_panel_users_dossierscontroller_index.html.haml
@@ -9,37 +9,37 @@
%div#menu-block
.split-hr-left
- #procedure_list
+ #procedure-list
- unless current_user.dossiers.count == 0
%a{ :href => "#{url_for users_dossiers_path(liste: 'brouillon')}", 'data-toggle' => :tooltip, title: 'Les dossiers jamais proposés à la relecture.' }
- .procedure_list_element{ class: @dossiers_list_facade.brouillon_class, id: 'brouillon' }
+ .procedure-list-element{ class: ('active' if @liste == 'brouillon'), id: 'brouillon' }
Brouillons
.badge.progress-bar-default
- = @dossiers_list_facade.brouillon_total
+ = @user_dossiers.brouillon.count
%a{ :href => "#{url_for users_dossiers_path(liste: 'a_traiter')}", 'data-toggle' => :tooltip, title: 'Les dossiers qui requièrent une action de votre part.' }
- .procedure_list_element{ class: @dossiers_list_facade.en_construction_class, id: 'a_traiter' }
+ .procedure-list-element{ class: ('active' if @liste == 'a_traiter'), id: 'a_traiter' }
En construction
.badge.progress-bar-danger
- = @dossiers_list_facade.en_construction_total
+ = @user_dossiers.en_construction.count
%a{ :href => "#{url_for users_dossiers_path(liste: 'en_instruction')}", 'data-toggle' => :tooltip, title: 'Les dossiers en cours d\'examen par l\'administration compétante.' }
- .procedure_list_element{ class: @dossiers_list_facade.en_instruction_class, id: 'en_instruction' }
+ .procedure-list-element{ class: ('active' if @liste == 'en_instruction'), id: 'en_instruction' }
En instruction
.badge.progress-bar-default
- = @dossiers_list_facade.en_instruction_total
+ = @user_dossiers.en_instruction.count
%a{ :href => "#{url_for users_dossiers_path(liste: 'termine')}", 'data-toggle' => :tooltip, title: 'Les dossiers cloturés qui peuvent être "Accepté", "Refusé" ou "Sans suite".' }
- .procedure_list_element{ class: @dossiers_list_facade.termine_class, id: 'termine' }
+ .procedure-list-element{ class: ('active' if @liste == 'termine'), id: 'termine' }
Terminé
.badge.progress-bar-success
- = @dossiers_list_facade.termine_total
+ = @user_dossiers.termine.count
%a{ :href => "#{url_for users_dossiers_path(liste: 'invite')}" }
- .procedure_list_element{ class: @dossiers_list_facade.invite_class, id: 'invite' }
+ .procedure-list-element{ class: ('active' if @liste == 'invite'), id: 'invite' }
Invitation
.badge.progress-bar-warning
- = @dossiers_list_facade.invite_total
+ = current_user.invites.count
.split-hr-left
diff --git a/app/views/layouts/left_panels/_search_area.html.haml b/app/views/layouts/left_panels/_search_area.html.haml
index c4a49ea26..6532566e1 100644
--- a/app/views/layouts/left_panels/_search_area.html.haml
+++ b/app/views/layouts/left_panels/_search_area.html.haml
@@ -1,7 +1,7 @@
-#search_area
+#search-area
= form_tag(backoffice_dossiers_search_url, method: :get) do
.input-group
= text_field_tag('q', "#{@search_terms unless @search_terms.nil?}", id: 'q', placeholder: "Recherchez parmi tous vos dossiers", class: 'form-control')
%span.input-group-btn
- %button.btn.btn-default{ id: 'search_button' }
+ %button.btn.btn-default{ id: 'search-button' }
%i.fa.fa-search
diff --git a/app/views/layouts/navbars/_navbar_backoffice_dossiers_procedurecontroller_index.html.haml b/app/views/layouts/navbars/_navbar_backoffice_dossiers_procedurecontroller_index.html.haml
index 64e5e776d..cc23e5ca2 100644
--- a/app/views/layouts/navbars/_navbar_backoffice_dossiers_procedurecontroller_index.html.haml
+++ b/app/views/layouts/navbars/_navbar_backoffice_dossiers_procedurecontroller_index.html.haml
@@ -3,7 +3,7 @@
.col-lg-3.col-md-3.col-sm-3.col-xs-3.options
.row
.col-lg-12.col-md-12.col-sm-12.col-xs-12
- %a.button_navbar#pref_list_dossier_open_action{ href: '#', type: :button, 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false }
+ %a.button-navbar#pref-list-dossier-open-action{ href: '#', type: :button, 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false }
%i.fa.fa-pencil
Modifier le tableau
%span.caret-right
diff --git a/app/views/layouts/navbars/_navbar_log_options.html.haml b/app/views/layouts/navbars/_navbar_log_options.html.haml
index 6d04a698a..467e9b443 100644
--- a/app/views/layouts/navbars/_navbar_log_options.html.haml
+++ b/app/views/layouts/navbars/_navbar_log_options.html.haml
@@ -1,15 +1,15 @@
- if user_signed_in?
- #sign_out.col-xs-2.no-padding
+ #sign-out.col-xs-2.no-padding
= render partial: 'users/login_banner'
= render partial: 'layouts/credentials'
- elsif gestionnaire_signed_in?
- #sign_out.col-xs-2.no-padding
+ #sign-out.col-xs-2.no-padding
= render partial: 'gestionnaires/login_banner'
= render partial: 'layouts/credentials'
- elsif administrateur_signed_in?
- #sign_out.col-xs-2.no-padding
+ #sign-out.col-xs-2.no-padding
= render partial: 'administrateurs/login_banner'
= render partial: 'layouts/credentials'
- else
- #sign_in.col-xs-2
+ #sign-in.col-xs-2
= link_to "Connexion", new_user_session_path, :class => 'btn btn-lg btn-primary'
diff --git a/app/views/layouts/new_application.html.haml b/app/views/layouts/new_application.html.haml
new file mode 100644
index 000000000..9908098f3
--- /dev/null
+++ b/app/views/layouts/new_application.html.haml
@@ -0,0 +1,41 @@
+%html
+ %head
+ %meta{ "http-equiv" => "Content-Type", :content => "text/html; charset=UTF-8" }
+ %meta{ "http-equiv" => "X-UA-Compatible", :content => "IE=edge" }
+ %meta{ :name => "turbolinks-cache-control", :content => "no-cache" }
+ = csrf_meta_tags
+ = action_cable_meta_tag
+
+ %title
+ = t("dynamics.page_title")
+
+ = favicon_link_tag(image_url("favicons/16x16.png"), type: "image/png", sizes: "16x16")
+ = favicon_link_tag(image_url("favicons/32x32.png"), type: "image/png", sizes: "32x32")
+ = favicon_link_tag(image_url("favicons/96x96.png"), type: "image/png", sizes: "96x96")
+
+ = stylesheet_link_tag "application", :media => "all", "data-turbolinks-track" => true
+ = stylesheet_link_tag "print", :media => "print", "data-turbolinks-track" => true
+
+ %body
+ = render :partial => "layouts/support_navigator_banner"
+ = render :partial => "layouts/ie_lt_10"
+ #beta{ class:(Rails.env == "production" ? "" : "beta_staging") }
+ - if Rails.env == "production"
+ Beta
+ - else
+ Env Test
+
+ = render partial: "layouts/new_header"
+ = render partial: "layouts/flash_messages"
+ = yield
+
+ = render :partial => "layouts/switch_devise_profile_module"
+ = render :partial => "layouts/notifications_alert"
+
+ = render partial: "layouts/new_footer"
+ = render partial: "layouts/google_analytics"
+
+ = javascript_include_tag "application", "data-turbolinks-track" => true
+ - if Rails.env == "test"
+ %script{ :type => "text/javascript" }
+ (typeof jQuery !== "undefined") && (jQuery.fx.off = true);
diff --git a/app/views/mails/closed_mail.html.haml b/app/views/mails/closed_mail.html.haml
index 636817517..ac3153c9a 100644
--- a/app/views/mails/closed_mail.html.haml
+++ b/app/views/mails/closed_mail.html.haml
@@ -1,7 +1,7 @@
Bonjour
%br
%br
-Votre dossier N°--numero_dossier-- a été accepté.
+Votre dossier nº --numero_dossier-- a été accepté.
%br
%br
A tout moment, vous pouvez consulter le contenu de vos dossiers et les éventuels commentaires de l'administration à cette adresse : --lien_dossier--
diff --git a/app/views/mails/initiated_mail.html.haml b/app/views/mails/initiated_mail.html.haml
index d1e0ab917..ce3ae6324 100644
--- a/app/views/mails/initiated_mail.html.haml
+++ b/app/views/mails/initiated_mail.html.haml
@@ -1,7 +1,7 @@
Bonjour
%br
%br
-Votre administration vous confirme la bonne réception de votre dossier n°--numero_dossier--.
+Votre administration vous confirme la bonne réception de votre dossier nº --numero_dossier--.
%br
%br
A tout moment, vous pouvez consulter le contenu de vos dossiers et les éventuels commentaires de l'administration à cette adresse : --lien_dossier--
diff --git a/app/views/mails/received_mail.html.haml b/app/views/mails/received_mail.html.haml
index bc0b64ffa..113139052 100644
--- a/app/views/mails/received_mail.html.haml
+++ b/app/views/mails/received_mail.html.haml
@@ -1,7 +1,7 @@
Bonjour
%br
%br
-Votre administration vous confirme la bonne réception de votre dossier n°--numero_dossier--. Celui-ci sera instruit dans le délai légal déclaré par votre interlocuteur.
+Votre administration vous confirme la bonne réception de votre dossier nº --numero_dossier--. Celui-ci sera instruit dans le délai légal déclaré par votre interlocuteur.
%br
%br
Bonne journée
diff --git a/app/views/mails/refused_mail.html.haml b/app/views/mails/refused_mail.html.haml
index d98bacab6..900942f26 100644
--- a/app/views/mails/refused_mail.html.haml
+++ b/app/views/mails/refused_mail.html.haml
@@ -1,7 +1,7 @@
Bonjour
%br
%br
-Votre dossier N°--numero_dossier-- a été refusé.
+Votre dossier nº --numero_dossier-- a été refusé.
%br
%br
Pour en savoir plus sur le motif du refus, vous pouvez consulter le contenu de vos dossiers et les éventuels commentaires de l'administration à cette adresse : --lien_dossier--
diff --git a/app/views/mails/without_continuation_mail.html.haml b/app/views/mails/without_continuation_mail.html.haml
index 5277c51a6..03ab071cc 100644
--- a/app/views/mails/without_continuation_mail.html.haml
+++ b/app/views/mails/without_continuation_mail.html.haml
@@ -1,7 +1,7 @@
Bonjour
%br
%br
-Votre dossier N°--numero_dossier-- a été classé sans suite.
+Votre dossier nº --numero_dossier-- a été classé sans suite.
%br
%br
Pour en savoir plus sur les raisons de ce classement sans suite, vous pouvez consulter le contenu de vos dossiers et les éventuels commentaires de l'administration à cette adresse : --lien_dossier--
diff --git a/app/views/root/landing.html.haml b/app/views/root/landing.html.haml
index 513517202..f49b66bb7 100644
--- a/app/views/root/landing.html.haml
+++ b/app/views/root/landing.html.haml
@@ -1,87 +1,141 @@
-#landing.max-size
- #title
- .center
- = image_tag 'logos/logo-tps.png', id: 'logo-tps'
- %h1.center
- TéléProcédure Simplifiée
+.landing
+ .landing-panel.hero-panel
+ .landing-panel-inner-content
+ .hero-text.pull-left
+ %p.hero-tagline
+ %em.hero-tagline-em Dématérialisez
+ %br
+ vos démarches administratives en quelques minutes
- .row
- .col-md-8.col-md-push-2.center
- %h3
- Dématérialisez n'importe quelle démarche administrative en quelques minutes,
- avec un outil
- %strong
- gratuit, simple, collaboratif et sûr
+ = link_to "Demander une démo",
+ "mailto:#{t("dynamics.contact_email")}?subject=Demande de démo TPS",
+ :class => "hero-button"
- %p.mt-1 Vous êtes intéressés ?
- %p= link_to 'Programmer une démo', "mailto:#{t('dynamics.contact_email')}?subject=Demande de démo TPS", target: '_blank', class: 'btn btn-danger btn-lg'
+ %p.hero-phone-cta
+ ou nous appeler au 01 40 15 68 49
-#landing_body.max-size
- .row#etapes.center
- #create_1.col-lg-3.col-md-3.col-sm-3.col-xs-3
- %img{ src: image_url('etapes/create_1.png') }
- %br
- %h4 Administration
- %h3.text-info Je construis ma démarche 100% en ligne
- #complet_2.col-lg-3.col-md-3.col-sm-3.col-xs-3
- %img{ src: image_url('etapes/complet_2.png') }
- %br
- %h4 Usager
- %h3.text-success Je remplis un dossier de manière simplifiée
- #message_3.col-lg-3.col-md-3.col-sm-3.col-xs-3
- %img{ src: image_url('etapes/message_3.png') }
- %br
- %h4 Usager
- %h3.text-warning Je dialogue avec mon administration en ligne
- #shared_4.col-lg-3.col-md-3.col-sm-3.col-xs-3
- %img{ src: image_url('etapes/shared_4.png') }
- %br
- %h4 Usager et Administrations
- %h3.text-danger
- J'invite des partenaires à co-construire le dossier
+ .hero-illustration.pull-right
+ %img{ :src => image_url("landing/hero/dematerialiser.svg") }
- .split-hr-left
+ .clearfix
- .row.demo_account.center
- .col-md-4.col-lg-4
- %h3.text-primary Acteurs publics
- %h4 Créez des démarches en ligne simplifiées et sécurisées.
- = link_to 'Démonstration', "#{@demo_environment_host}/administrateurs/sign_in/demo", { class: 'btn btn-lg btn-primary' }
+ .landing-panel.features-panel
+ .landing-panel-inner-content
+ %h2.landing-panel-title.features-panel-title Un outil dédié aux organismes publics
- .col-md-4.col-lg-4
- %h3.text-warning Agents et services
- %h4 Accompagnez et co-traitez les projets avec les usagers.
- = link_to 'Démonstration', "#{@demo_environment_host}/gestionnaires/sign_in/demo", { class: 'btn btn-lg btn-warning' }
+ %ul.features
+ %li.feature
+ %img.feature-image{ :src => image_url("landing/features/creer.svg") }
+ %p.feature-text
+ %em.feature-text-em Créer
+ %br
+ des procédures en ligne
+ %br
+ en toute simplicité
+ %li.feature
+ %img.feature-image{ :src => image_url("landing/features/gerer.svg") }
+ %p.feature-text
+ %em.feature-text-em Gérer
+ %br
+ les demandes des usagers
+ %br
+ sur la plateforme
+ %li.feature
+ %img.feature-image{ :src => image_url("landing/features/collaborer.svg") }
+ %p.feature-text
+ %em.feature-text-em Collaborer
+ %br
+ pour instruire les demandes
+ %br
+ à plusieurs
- .col-md-4.col-lg-4
- %h3.text-success Usagers
- %h4 Profitez de démarches simplifiées et d’échanges continus avec les services traitants.
- = link_to 'Démonstration', "#{@demo_environment_host}/users/sign_in/demo", { class: 'btn btn-lg btn-success' }
+ .landing-panel
+ .landing-panel-inner-content
+ %h2.landing-panel-title Ce que les utilisateurs pensent du service
- .split-hr-left
+ %ul.quotes
+ %li.quote
+ %img.quote-quotation-mark.pull-left{ :src => image_url("landing/testimonials/quotation-mark.svg") }
+ %p.quote-content.pull-right
+ TPS est un outil de dématérialisation adapté au dépôt de dossiers de demande d’inscription au registre des transporteurs routiers en Ile-de-France. Les échanges avec les usagers sont facilités, ce qui permet de réduire les délais d’instructions et de gagner en efficacité.
+ .clearfix
- .center
- .row
- #utilisateurs.col-xs-12.col-sm-12.col-md-12.col-lg-12
- %h4 Ils nous font confiance
+ %p.quote-author.pull-left
+ %span.quote-author-name Elodie Le Rhun
+ %br
+ Chef de bureau, DRIEA Ile-de-France
+ .clearfix
- Conseil Regional Ile de France, Politique de la ville du Pas de Calais (ensemble des administrations et collectivités territoriales concernées), DRIEA Ile de France
- %br
- Préfecture de la Martinique, DRIEE Ile de France, Ministère de l'Environnement, de l'Energie et de la Mer, MEEM, CCI Normandie, DGE, Assemblée permanente des chambres de métiers et de l'artisanat
+ %li.quote
+ %img.quote-quotation-mark.pull-left{ :src => image_url("landing/testimonials/quotation-mark.svg") }
+ %p.quote-content.pull-right
+ TPS c’est surtout l’assurance d’un dialogue en toute fluidité et en toute transparence entre les porteurs de projet et l’administration. Un service qui garantit une économie de temps et beaucoup moins de manipulations des dossiers.
+ .clearfix
- %br
- .row
- #partenaires.col-xs-12.col-sm-12.col-md-12.col-lg-12
- %h4 Ils travaillent avec nous
+ %p.quote-author.pull-left
+ %span.quote-author-name Nadja Briki
+ %br
+ Déléguée de la Préfète du Pas-de-Calais
+ .clearfix
- Insee, Infogreffe, Ministère de la Ville, de la Jeunesse et des Sports, IGN, DGFIP, CGET, France Connect, Open Streetmap, la BAN, api.gouv.fr, Euroquity - BPI, FNTP, Qualibat
+ - cache "numbers-panel", :expires_in => 3.hours do
+ .landing-panel.numbers-panel
+ .landing-panel-inner-content
+ %h2.landing-panel-title TPS en chiffres
+ %ul.numbers
+ %li.number
+ .number-value
+ = number_with_delimiter(Procedure.where(:published => true).count, :locale => :fr)
+ .number-label<
+ procédures
+ %br<>
+ dématérialisées
+ %li.number
+ .number-value
+ = number_with_delimiter(Dossier.where.not(:state => :draft).count, :locale => :fr)
+ .number-label<
+ dossiers
+ %br<>
+ déposés
+ %li.number
+ .number-value
+ = "#{number_with_delimiter(50, :locale => :fr)} %"
+ .number-label<
+ de réduction
+ %br<>
+ des délais de traitement
- .split-hr-left
+ .landing-panel.users-panel
+ .landing-panel-inner-content
+ %h2.landing-panel-title Ils nous font confiance
- #request_access.row.center
- .col-xs-12.col-sm-12.col-md-12.col-lg-12
- %h3 Envie de commencer à créer votre démarche ?
+ %ul.users
+ %li.user
+ %a{ :href => "http://www.developpement-durable.gouv.fr/", :target => "_blank " }
+ %img.user-image{ :src => image_url("landing/users/ministere-environnement.jpg") }
+ %li.user
+ %a{ :href => "https://www.iledefrance.fr/", :target => "_blank " }
+ %img.user-image{ :src => image_url("landing/users/region-idf.jpg") }
+ %li.user
+ %a{ :href => "http://www.artisanat.fr/", :target => "_blank " }
+ %img.user-image{ :src => image_url("landing/users/chambres-de-metiers.jpg") }
+ %li.user
+ %a{ :href => "http://www.cci.fr/", :target => "_blank " }
+ %img.user-image{ :src => image_url("landing/users/cci.jpg") }
+ %li.user
+ %a{ :href => "http://www.driea.ile-de-france.developpement-durable.gouv.fr/", :target => "_blank " }
+ %img.user-image{ :src => image_url("landing/users/driea-idf.jpg") }
- = link_to 'Demander un accès administrateur', 'https://tps.apientreprise.fr/users/dossiers/new?procedure_id=31', { class: 'btn btn-lg background-tps', target: '_blank' }
+ .landing-panel.cta-panel
+ .landing-panel-inner-content
+ .pull-right
+ = link_to "Demander une démo",
+ "mailto:#{t('dynamics.contact_email')}?subject=Demande de démo TPS",
+ :class => "cta-panel-button"
+ %p.cta-panel-phone-cta
+ ou nous appeler au 01 40 15 68 49
+ .pull-left
+ %h1.cta-panel-title Commencez à dématerialiser vos démarches
+ %p.cta-panel-explanation Nous vous accompagnons dans la prise en main de l’outil
+ .clearfix
- .split-hr-left
diff --git a/app/views/stats/index.html.haml b/app/views/stats/index.html.haml
index 42d6ea90c..88e596ab4 100644
--- a/app/views/stats/index.html.haml
+++ b/app/views/stats/index.html.haml
@@ -6,7 +6,7 @@
.stat-cards
- .stat-card.stat-card-half.pull-left
+ .card.stat-card.stat-card-half.pull-left
%ul.segmented-control.pull-right
%li.segmented-control-item.segmented-control-item-active{ :onclick => "TPS.toggleChart(event, '.cumulative-procedures-chart');" }
Cumul
@@ -23,7 +23,7 @@
= line_chart @procedures_30_days_flow,
:colors => ["rgba(61, 149, 236, 1)"]
- .stat-card.stat-card-half.pull-left
+ .card.stat-card.stat-card-half.pull-left
%ul.segmented-control.pull-right
%li.segmented-control-item.segmented-control-item-active{ :onclick => "TPS.toggleChart(event, '.cumulative-dossiers-chart');" }
Cumul
@@ -40,14 +40,14 @@
= line_chart @dossiers_30_days_flow,
:colors => ["rgba(61, 149, 236, 1)"]
- .stat-card.stat-card-half.big-number-card.pull-left
+ .card.stat-card.stat-card-half.big-number-card.pull-left
%span.big-number-card-title TOTAL DÉMARCHES DÉMATÉRIALISÉES
%span.big-number-card-number
- = @procedures_count
+ = number_with_delimiter(@procedures_count)
- .stat-card.stat-card-half.big-number-card.pull-left
+ .card.stat-card.stat-card-half.big-number-card.pull-left
%span.big-number-card-title TOTAL DOSSIERS DÉPOSÉS
%span.big-number-card-number
- = @dossiers_count
+ = number_with_delimiter(@dossiers_count)
.clearfix
diff --git a/app/views/users/carte/_map.html.haml b/app/views/users/carte/_map.html.haml
index 8915c35d0..80f1bbf36 100644
--- a/app/views/users/carte/_map.html.haml
+++ b/app/views/users/carte/_map.html.haml
@@ -1,12 +1,12 @@
-#carte_page.row
- #map{ class: dossier.procedure.module_api_carto.classes }
+#carte-page.row
+ .col-md-12.col-lg-12#map{ class: dossier.procedure.module_api_carto.classes }
- if dossier.procedure.module_api_carto.quartiers_prioritaires
- #qp.list
+ .col-md-9.col-lg-9#qp.col-md-3.col-lg-3.list
%h3.text-info Quartiers prioritaites
%ul
- if dossier.procedure.module_api_carto.cadastre
- #cadastre.list
+ .col-md-9.col-lg-9#cadastre.col-md-3.col-lg-3.list
%h3.text-warning Cadastres
%ul
diff --git a/app/views/users/carte/show.html.haml b/app/views/users/carte/show.html.haml
index de4a0505f..db8d0115e 100644
--- a/app/views/users/carte/show.html.haml
+++ b/app/views/users/carte/show.html.haml
@@ -1,4 +1,4 @@
-.row#carto_page
+.row#carto-page
.col-lg-12.col-md-12.col-sm-12.col-xs-12
%h2
Localisation
@@ -11,7 +11,7 @@
%i.fa.fa-pencil
Ajouter une zone
- %span#search_by_address{ style: 'margin-left: 20px;' }
+ %span#search-by-address{ style: 'margin-left: 20px;' }
%input.form-control{ type: :address, placeholder: 'Rechercher une adresse' }
%br
%br
diff --git a/app/views/users/description/_champs.html.haml b/app/views/users/description/_champs.html.haml
index d6c5184b7..ab43c5923 100644
--- a/app/views/users/description/_champs.html.haml
+++ b/app/views/users/description/_champs.html.haml
@@ -7,7 +7,7 @@
= render partial: render_partial_url, locals: { libelle: 'Dossier', order_place: -1, champs: @champs }
- @headers.each do |header|
.row
- %div{ class: "type_champ-#{header.type_champ}" }
+ %div{ class: "type-champ-#{header.type_champ.gsub('_', '-')}" }
= render partial: render_partial_url, locals: { libelle: header.libelle, order_place: header.order_place, champs: @champs }
- else
.row
diff --git a/app/views/users/description/_pieces_justificatives.html.haml b/app/views/users/description/_pieces_justificatives.html.haml
index e3a109ba9..bb6604478 100644
--- a/app/views/users/description/_pieces_justificatives.html.haml
+++ b/app/views/users/description/_pieces_justificatives.html.haml
@@ -18,24 +18,24 @@
- else
%input{ type: 'file', name: 'cerfa_pdf', id: 'cerfa_pdf', accept: PieceJustificative.accept_format, :max_file_size => 6.megabytes }
- - dossier.types_de_piece_justificative.order('order_place ASC').each do |type_de_piece_justificative|
+ - dossier.types_de_piece_justificative.order('order_place ASC').each do |tpj|
%tr
%th.piece-libelle
- = type_de_piece_justificative.libelle
+ = tpj.mandatory ? tpj.libelle + ' *' : tpj.libelle
%td
- - unless type_de_piece_justificative.lien_demarche.blank?
+ - unless tpj.lien_demarche.blank?
%em
Récupérer le formulaire vierge pour mon dossier :
- = link_to "Télécharger", type_de_piece_justificative.lien_demarche, target: :blank
+ = link_to "Télécharger", tpj.lien_demarche, target: :blank
%td
- - if type_de_piece_justificative.api_entreprise
- %span.text-success{ id: "piece_justificative_#{type_de_piece_justificative.id}" } Nous l'avons récupéré pour vous.
+ - if tpj.api_entreprise
+ %span.text-success{ id: "piece_justificative_#{tpj.id}" } Nous l'avons récupéré pour vous.
- else
- - if dossier.retrieve_last_piece_justificative_by_type(type_de_piece_justificative.id).nil?
- = file_field_tag "piece_justificative_#{type_de_piece_justificative.id}", accept: PieceJustificative.accept_format, :max_file_size => 6.megabytes
+ - if dossier.retrieve_last_piece_justificative_by_type(tpj.id).nil?
+ = file_field_tag "piece_justificative_#{tpj.id}", accept: PieceJustificative.accept_format, :max_file_size => 6.megabytes
- else
%span.btn.btn-sm.btn-file.btn-success
Modifier
- = file_field_tag "piece_justificative_#{type_de_piece_justificative.id}", accept: PieceJustificative.accept_format, :max_file_size => 6.megabytes
+ = file_field_tag "piece_justificative_#{tpj.id}", accept: PieceJustificative.accept_format, :max_file_size => 6.megabytes
diff --git a/app/views/users/description/_show.html.haml b/app/views/users/description/_show.html.haml
index 627773625..d83503308 100644
--- a/app/views/users/description/_show.html.haml
+++ b/app/views/users/description/_show.html.haml
@@ -1,4 +1,4 @@
-.container#description_page
+.container#description-page
- unless @dossier.procedure.lien_notice.blank?
#lien_notice_panel.row{ style: 'width: 280px; position: fixed; background-color: white; right: 5%; top: 80px; z-index: 200;' }
.panel.panel-info{ style: 'margin-bottom: 0;' }
@@ -17,7 +17,7 @@
-# TODO use form_for
= form_tag(url_for({ controller: 'users/description', action: :update, dossier_id: @dossier.id }), class: 'form', method: 'POST', multipart: true) do
- unless @champs.nil?
- #liste_champs
+ #liste-champs
= render partial: 'users/description/champs', locals: { private: false }
- if !@procedure.lien_demarche.blank? || @procedure.cerfa_flag || @dossier.types_de_piece_justificative.size > 0
diff --git a/app/views/users/description/champs/_dossier_link.html.haml b/app/views/users/description/champs/_dossier_link.html.haml
index 41d6f0526..c29f2745c 100644
--- a/app/views/users/description/champs/_dossier_link.html.haml
+++ b/app/views/users/description/champs/_dossier_link.html.haml
@@ -1,11 +1,11 @@
- dossier = Dossier.find_by(id: champ.value)
-- show_procedure_libelle = dossier ? true : false
-- show_warning = !show_procedure_libelle && champ.value.present?
-- procedure_libelle = dossier.nil? ? '' : dossier.procedure.libelle
+- show_text_summary = dossier.present?
+- show_warning = !show_text_summary && champ.value.present?
+- text_summary = dossier.try(:text_summary)
.dossier-link
%input.form-control{ name: "champs['#{ champ.id }']",
- placeholder: champ.libelle,
+ placeholder: "Numéro de dossier",
id: "champs_#{ champ.id }",
value: champ.value,
type: 'number',
@@ -13,9 +13,8 @@
'data-type' => 'dossier-link' }
.help-block
- %p.text-info{ style: show_procedure_libelle ? nil : 'display: none;' }
- ce dossier répond à la procédure :
- %br
- %span.procedureLibelle= procedure_libelle
+ %p.text-info{ style: show_text_summary ? nil : 'display: none;' }
+ %span.dossier-text-summary= text_summary
+
%p.text-warning{ style: show_warning ? nil : 'display: none;' }
- ce dossier est inconnu
+ Ce dossier est inconnu
diff --git a/app/views/users/description/champs/_header_section.html.haml b/app/views/users/description/champs/_header_section.html.haml
index 410563165..b75094c2a 100644
--- a/app/views/users/description/champs/_header_section.html.haml
+++ b/app/views/users/description/champs/_header_section.html.haml
@@ -1,4 +1,4 @@
-.default_data_block.default_visible
+.default-data-block.default_visible
.row.show-block.infos
.header
.col-xs-12.title
diff --git a/app/views/users/description/champs/_render_list_champs.html.haml b/app/views/users/description/champs/_render_list_champs.html.haml
index 0d1f91f76..01c395d33 100644
--- a/app/views/users/description/champs/_render_list_champs.html.haml
+++ b/app/views/users/description/champs/_render_list_champs.html.haml
@@ -11,40 +11,41 @@
- if champ.mandatory?
*
- - if champ.type_champ == 'textarea'
+ - case champ.type_champ
+ - when 'textarea'
= render partial: 'users/description/champs/textarea', locals: { champ: champ }
- - elsif champ.type_champ == 'checkbox'
+ - when 'checkbox'
= render partial: 'users/description/champs/checkbox', locals: { champ: champ }
- - elsif champ.type_champ == 'civilite'
+ - when 'civilite'
= render partial: 'users/description/champs/civilite', locals: { champ: champ }
- - elsif champ.type_champ == 'datetime'
+ - when 'datetime'
= render partial: 'users/description/champs/datetime', locals: { champ: champ }
- - elsif champ.type_champ == 'yes_no'
+ - when 'yes_no'
= render partial: 'users/description/champs/yes_no', locals: { champ: champ }
- - elsif %w(drop_down_list multiple_drop_down_list).include?(champ.type_champ)
+ - when 'drop_down_list', 'multiple_drop_down_list'
= render partial: 'users/description/champs/drop_down_list', locals: { champ: champ }
- - elsif champ.type_champ == 'pays'
+ - when 'pays'
= render partial: 'users/description/champs/pays', locals: { champ: champ }
- - elsif champ.type_champ == 'regions'
+ - when 'regions'
= render partial: 'users/description/champs/regions', locals: { champ: champ }
- - elsif champ.type_champ == 'engagement'
+ - when 'engagement'
= render partial: 'users/description/champs/engagement', locals: { champ: champ }
- - elsif champ.type_champ == 'departements'
+ - when 'departements'
= render partial: 'users/description/champs/departements', locals: { champ: champ }
- - elsif champ.type_champ == 'dossier_link'
+ - when 'dossier_link'
= render partial: 'users/description/champs/dossier_link', locals: { champ: champ }
- - elsif champ.type_champ == 'explication'
+ - when 'explication'
- else
%input.form-control{ name: "champs['#{champ.id}']",
diff --git a/app/views/users/dossiers/_list.html.haml b/app/views/users/dossiers/_list.html.haml
index 89d902533..969e680f2 100644
--- a/app/views/users/dossiers/_list.html.haml
+++ b/app/views/users/dossiers/_list.html.haml
@@ -1,5 +1,5 @@
- unless smart_listing.empty?
- %table#dossiers_list.table
+ %table#dossiers-list.table
%thead
%th#sort-id.col-md-1.col-lg-1.col-sm-1.col-xs-1= smart_listing.sortable 'Numéro', 'id'
%th#sort-libelle.col-xs-5= smart_listing.sortable 'Procédure', 'procedure.libelle'
diff --git a/app/views/users/dossiers/_state_description.html.haml b/app/views/users/dossiers/_state_description.html.haml
index 52d13cab2..da1abe824 100644
--- a/app/views/users/dossiers/_state_description.html.haml
+++ b/app/views/users/dossiers/_state_description.html.haml
@@ -5,33 +5,34 @@
.col-md-1.col-lg-1.col-sm-1.col-xs-1
.fa.fa-info-circle.text-info{ style: 'font-size: 2em; margin-top: 20%;' }
.col-xs-11
- - if dossiers_list_facade.liste == 'brouillon'
+ - case liste
+ - when 'brouillon'
Les dossiers présents dans cette liste
%b
n'ont pas encore été soumis aux services instructeurs.
Ils ne sont visibles que par vous.
- - elsif dossiers_list_facade.liste == 'nouveaux'
+ - when 'nouveaux'
Les dossiers présents dans cette liste
%b
n'ont pas encore été ouverts
par les services instructeurs. Une notification vous sera envoyée quand votre demande aura été étudiée.
- - elsif dossiers_list_facade.liste == 'a_traiter'
+ - when 'a_traiter'
Les dossiers présents dans cette liste sont
%b
visibles par les services instructeurs.
%br
Ces dossiers ne sont pas encore figés et peuvent être modifiés à souhait.
- - elsif dossiers_list_facade.liste == 'en_attente'
+ - when 'en_attente'
Les dossiers présents dans cette liste sont
%b
en cours de relecture par les services instructeurs.
Il reviendra vers vous si des informations ou documents sont manquants pour le futur examen de votre dossier.
- - elsif dossiers_list_facade.liste == 'valides'
+ - when 'valides'
Les dossiers présents dans cette liste ont été
%b
relus et considérés comme complets
pour examen par les services instructeurs. Ceux-ci ne peuvent maintenant plus être modifiés. Il faut que vous procédiez à leur dépôt afin qu'une décision finale soit rendue.
- - elsif dossiers_list_facade.liste == 'en_instruction'
+ - when 'en_instruction'
Les dossiers présents dans cette liste sont
%b
en cours de réception
@@ -39,12 +40,12 @@
%b
en cours d'examen
par les services instructeurs. Une notification vous sera envoyée une fois qu'une décision aura été rendue.
- - elsif dossiers_list_facade.liste == 'termine'
+ - when 'termine'
Les dossiers présents dans cette liste sont ceux qui ont été instruits et pour lesquels
%b
une décision finale a été rendue.
Ils peuvent posséder trois états différents : Accepté, Refusé ou Sans Suite.
- - elsif dossiers_list_facade.liste == 'invite'
+ - when 'invite'
Les dossiers présents dans cette liste sont ceux
%b
auxquels vous avez été invités
diff --git a/app/views/users/dossiers/add_siret/show.html.haml b/app/views/users/dossiers/add_siret/show.html.haml
index 9cf12e4a3..134d78a16 100644
--- a/app/views/users/dossiers/add_siret/show.html.haml
+++ b/app/views/users/dossiers/add_siret/show.html.haml
@@ -1,2 +1,2 @@
-.row.etape.etape_2
+.row.etape.etape-2
= render partial: 'dossiers/etapes/etape_2/entreprise'
diff --git a/app/views/users/dossiers/index.html.haml b/app/views/users/dossiers/index.html.haml
index 3811c1ed8..77f085261 100644
--- a/app/views/users/dossiers/index.html.haml
+++ b/app/views/users/dossiers/index.html.haml
@@ -1,5 +1,5 @@
-#users_index
- .default_data_block.default_visible
+#users-index
+ .default-data-block.default_visible
.row.show-block#new_dossiers
.header
.col-lg-10.col-md-10.col-sm-10.col-xs-10.title
@@ -12,4 +12,4 @@
.body
= smart_listing_render :dossiers
- = render partial: 'state_description', locals: { dossiers_list_facade: @dossiers_list_facade }
+ = render partial: 'state_description', locals: { liste: @liste }
diff --git a/app/views/users/passwords/edit.html.haml b/app/views/users/passwords/edit.html.haml
index 2e6a246f4..d1688e75c 100644
--- a/app/views/users/passwords/edit.html.haml
+++ b/app/views/users/passwords/edit.html.haml
@@ -28,7 +28,7 @@
= devise_error_messages!
-#form_login
+#form-login
.flag
= image_tag(image_url(LOGO_NAME))
%br
@@ -36,7 +36,7 @@
%br
%br
- #new_user
+ #new-user
= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
= f.hidden_field :reset_password_token
%h4
diff --git a/app/views/users/passwords/new.html.haml b/app/views/users/passwords/new.html.haml
index 8a62b7652..fa5410532 100644
--- a/app/views/users/passwords/new.html.haml
+++ b/app/views/users/passwords/new.html.haml
@@ -29,7 +29,7 @@
= devise_error_messages!
%br
-#form_login
+#form-login
.flag
= image_tag(image_url(LOGO_NAME))
%br
@@ -37,7 +37,7 @@
%br
%br
- #new_user
+ #new-user
= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
%h4
= f.label :email
diff --git a/app/views/users/recapitulatif/_modal_upload_pj.html.haml b/app/views/users/recapitulatif/_modal_upload_pj.html.haml
index 63c3e5322..58adcae3f 100644
--- a/app/views/users/recapitulatif/_modal_upload_pj.html.haml
+++ b/app/views/users/recapitulatif/_modal_upload_pj.html.haml
@@ -1,4 +1,4 @@
-#UploadPJmodal.modal.fade{ "aria-labelledby" => "myModalLabel", :role => "dialog", :tabindex => "-1" }
+#upload-pj-modal.modal.fade{ "aria-labelledby" => "myModalLabel", :role => "dialog", :tabindex => "-1" }
.modal-dialog{ :role => "document" }
.modal-content
- @dossier = @facade.dossier
diff --git a/app/views/users/recapitulatif/show.html.haml b/app/views/users/recapitulatif/show.html.haml
index 672ab5867..f04ac5a43 100644
--- a/app/views/users/recapitulatif/show.html.haml
+++ b/app/views/users/recapitulatif/show.html.haml
@@ -1,2 +1,2 @@
-.col-lg-12.col-md-12.col-sm-12.col-xs-12#users_recapitulatif_dossier_show
+.col-lg-12.col-md-12.col-sm-12.col-xs-12#users-recapitulatif-dossier-show
= render partial: "dossiers/dossier_show"
diff --git a/app/views/users/registrations/new.html.haml b/app/views/users/registrations/new.html.haml
index 82da47322..a81def70b 100644
--- a/app/views/users/registrations/new.html.haml
+++ b/app/views/users/registrations/new.html.haml
@@ -28,7 +28,7 @@
= devise_error_messages!
-#form_login
+#form-login
%br
.flag
= image_tag(image_url(LOGO_NAME))
@@ -37,7 +37,7 @@
%br
%br
- #new_user
+ #new-user
= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
%h4
= f.label :email
diff --git a/app/views/users/sessions/_resume_procedure.html.haml b/app/views/users/sessions/_resume_procedure.html.haml
index 236bf7a10..bf385234e 100644
--- a/app/views/users/sessions/_resume_procedure.html.haml
+++ b/app/views/users/sessions/_resume_procedure.html.haml
@@ -10,7 +10,7 @@
#logo_procedure.flag
= image_tag( @dossier.procedure.decorate.logo_img )
- %h2#titre_procedure.text-info
+ %h2#titre-procedure.text-info
= @dossier.procedure.libelle
%p.procedure-description
= h @dossier.procedure.description.html_safe
diff --git a/app/views/users/sessions/new.html.haml b/app/views/users/sessions/new.html.haml
index add5365c3..51ba7cda6 100644
--- a/app/views/users/sessions/new.html.haml
+++ b/app/views/users/sessions/new.html.haml
@@ -1,11 +1,11 @@
-#form_login.user_connexion_page
+#form-login.user_connexion_page
%br
= render partial: 'users/sessions/resume_procedure'
- %h2#login_user
+ %h2#login-user
= t('dynamics.users.connexion_title')
- %a.btn_fc#btn_fcp{ href: '/france_connect/particulier' }
+ %a.btn-fc#btn-fcp{ href: '/france_connect/particulier' }
= image_tag 'franceconnect_logo.png'
%br
@@ -15,13 +15,14 @@
%hr
.text-left
- = simple_form_for @user, url: user_session_path do |f|
- = f.input :email
- = f.input :password, label: 'Mot de passe', input_html: { value: @user.password }
- - if devise_mapping.rememberable?
- = f.input :remember_me, as: :boolean, label: 'Se souvenir de moi'
- .text-center
- = f.submit "Se connecter", class: 'btn btn-primary'
+ #new-user
+ = simple_form_for @user, url: user_session_path do |f|
+ = f.input :email
+ = f.input :password, label: 'Mot de passe', input_html: { value: @user.password }
+ - if devise_mapping.rememberable?
+ = f.input :remember_me, as: :boolean, label: 'Se souvenir de moi'
+ .text-center
+ = f.submit "Se connecter", class: 'btn btn-primary'
- if @user.email != DemoEmails[:gestionnaire] && @user.email != DemoEmails[:admin]
= render "users/shared/links"
diff --git a/app/views/users/siret/_pro.html.haml b/app/views/users/siret/_pro.html.haml
index 34fe7aaaf..b5686009e 100644
--- a/app/views/users/siret/_pro.html.haml
+++ b/app/views/users/siret/_pro.html.haml
@@ -2,7 +2,7 @@
.flag
= image_tag(image_url(LOGO_NAME))
%br
- %h2#titre_procedure.text-info
+ %h2#titre-procedure.text-info
= @procedure.libelle
%p
diff --git a/app/views/users/siret/index.html.haml b/app/views/users/siret/index.html.haml
index a56f21779..c189ce64e 100644
--- a/app/views/users/siret/index.html.haml
+++ b/app/views/users/siret/index.html.haml
@@ -1,3 +1,3 @@
-.container.center#users_siret_index
+.container.center#users-siret-index
.row
= render partial: 'pro'
diff --git a/config/application.rb b/config/application.rb
index b3c5dc10c..1c82112d2 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -23,6 +23,8 @@ module TPS
config.autoload_paths += %W(#{config.root}/lib #{config.root}/app/validators #{config.root}/app/facades)
config.assets.paths << Rails.root.join('app', 'assets', 'javascript')
+ config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
+ config.assets.precompile += %w(.woff)
if Rails.env.production?
URL = "https://tps.apientreprise.fr/"
diff --git a/config/deploy.rb b/config/deploy.rb
index f03e38682..eae817ea8 100644
--- a/config/deploy.rb
+++ b/config/deploy.rb
@@ -11,7 +11,7 @@ require 'mina/rbenv' # for rbenv support. (http://rbenv.org)
# branch - Branch name to deploy. (needed by mina/git)
ENV['to'] ||= "staging"
-raise "Bad to=#{+ENV['to']}" unless ["staging", "production", "tps_v2"].include?(ENV['to'])
+raise "Bad to=#{+ENV['to']}" unless ["staging", "production"].include?(ENV['to'])
raise "missing domain, run with 'rake deploy domain=37.187.154.237'" if ENV['domain'].nil?
@@ -24,7 +24,8 @@ set :port, 2200
set :deploy_to, '/var/www/tps_dev'
-if ENV["to"] == "staging"
+case ENV["to"]
+when "staging"
if ENV['branch'].nil?
set :branch, 'staging'
else
@@ -33,7 +34,7 @@ if ENV["to"] == "staging"
set :deploy_to, '/var/www/tps_dev'
set :user, 'tps_dev' # Username in the server to SSH to.
appname = 'tps_dev'
-elsif ENV["to"] == "production"
+when "production"
if ENV['branch'].nil?
set :branch, 'master'
else
@@ -42,23 +43,10 @@ elsif ENV["to"] == "production"
set :deploy_to, '/var/www/tps'
set :user, 'tps' # Username in the server to SSH to.
appname = 'tps'
-elsif ENV["to"] == "tps_v2"
- if ENV['branch'].nil?
- set :branch, 'staging_v2'
- else
- set :branch, ENV['branch']
- end
- set :deploy_to, '/var/www/tps_v2'
- set :user, 'tps_v2' # Username in the server to SSH to.
- appname = 'tps_v2'
end
set :rails_env, ENV["to"]
-if ENV["to"] == "tps_v2"
- set :rails_env, "staging"
-end
-
# For system-wide RVM install.
# set :rvm_path, '/usr/local/rvm/bin/rvm'
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 79e0eed48..60eaafedd 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -55,7 +55,7 @@ Rails.application.configure do
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
# Use a different cache store in production.
- # config.cache_store = :mem_cache_store
+ config.cache_store = :memory_store
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
# config.action_controller.asset_host = 'http://assets.example.com'
diff --git a/config/locales/dynamics/fr.yml b/config/locales/dynamics/fr.yml
index 72c3aa0f2..9846ccec1 100644
--- a/config/locales/dynamics/fr.yml
+++ b/config/locales/dynamics/fr.yml
@@ -23,7 +23,7 @@ fr:
dossiers:
depositaite: "Dépositaire"
- numéro: 'Dossier n°'
+ numéro: 'Dossier nº '
followers:
title: "Personnes suivant l'activité de ce dossier"
empty: "Aucune personne ne suit ce dossier"
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 5f8a4ad9e..d67a7166c 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -37,13 +37,53 @@ fr:
first: Premier
number:
- currency:
- format:
- unit: '€'
- delimiter: ' '
- separator: ','
- precision: 2
- format: '%n %u'
+ currency:
+ format:
+ delimiter: " "
+ format: "%n %u"
+ precision: 2
+ separator: ","
+ significant: false
+ strip_insignificant_zeros: false
+ unit: "€"
+ format:
+ delimiter: " "
+ precision: 3
+ separator: ","
+ significant: false
+ strip_insignificant_zeros: false
+ human:
+ decimal_units:
+ format: "%n %u"
+ units:
+ billion: milliard
+ million: million
+ quadrillion: million de milliards
+ thousand: millier
+ trillion: billion
+ unit: ''
+ format:
+ delimiter: ''
+ precision: 3
+ significant: true
+ strip_insignificant_zeros: true
+ storage_units:
+ format: "%n %u"
+ units:
+ byte:
+ one: octet
+ other: octets
+ gb: Go
+ kb: ko
+ mb: Mo
+ tb: To
+ percentage:
+ format:
+ delimiter: ''
+ format: "%n%"
+ precision:
+ format:
+ delimiter: ''
activerecord:
errors:
models:
@@ -149,6 +189,59 @@ fr:
extension_white_list_error: "Le format de fichier de la pièce jointe n'est pas valide."
procedure_archived: "Cette démarche en ligne a été fermée, il n'est plus possible de déposer de dossier."
+ date:
+ abbr_day_names:
+ - dim
+ - lun
+ - mar
+ - mer
+ - jeu
+ - ven
+ - sam
+ abbr_month_names:
+ -
+ - jan.
+ - fév.
+ - mar.
+ - avr.
+ - mai
+ - juin
+ - juil.
+ - août
+ - sept.
+ - oct.
+ - nov.
+ - déc.
+ day_names:
+ - dimanche
+ - lundi
+ - mardi
+ - mercredi
+ - jeudi
+ - vendredi
+ - samedi
+ formats:
+ default: "%d/%m/%Y"
+ short: "%e %b"
+ long: "%e %B %Y"
+ month_names:
+ -
+ - janvier
+ - février
+ - mars
+ - avril
+ - mai
+ - juin
+ - juillet
+ - août
+ - septembre
+ - octobre
+ - novembre
+ - décembre
+ order:
+ - :day
+ - :month
+ - :year
datetime:
distance_in_words:
about_x_hours:
diff --git a/config/locales/models/procedure_path/fr.yml b/config/locales/models/procedure_path/fr.yml
new file mode 100644
index 000000000..a17306b90
--- /dev/null
+++ b/config/locales/models/procedure_path/fr.yml
@@ -0,0 +1,8 @@
+fr:
+ activerecord:
+ errors:
+ models:
+ procedure_path:
+ attributes:
+ path:
+ format: Ce lien n'est pas valide. Il doit comporter au moins 3 caractères, au plus 50 caractères et seuls les caractères a-z, 0-9, '_' et '-' sont autorisés.
diff --git a/config/routes.rb b/config/routes.rb
index 6f0d9edad..16b0b090a 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -95,7 +95,7 @@ Rails.application.routes.draw do
post '/siret_informations' => 'dossiers#siret_informations'
put '/change_siret' => 'dossiers#change_siret'
- get 'procedure_libelle' => 'dossiers#procedure_libelle'
+ get 'text_summary' => 'dossiers#text_summary'
end
resource :dossiers
end
diff --git a/db/migrate/20160901082824_initiated_all_received_mail_for_procedure.rb b/db/migrate/20160901082824_initiated_all_received_mail_for_procedure.rb
index 225745646..89e5f03cd 100644
--- a/db/migrate/20160901082824_initiated_all_received_mail_for_procedure.rb
+++ b/db/migrate/20160901082824_initiated_all_received_mail_for_procedure.rb
@@ -11,11 +11,11 @@ class InitiatedAllReceivedMailForProcedure < ActiveRecord::Migration
before_save :default_values
def default_values
- self.object ||= "[TPS] Accusé de réception pour votre dossier n°--numero_dossier--"
+ self.object ||= "[TPS] Accusé de réception pour votre dossier nº --numero_dossier--"
self.body ||= "Bonjour,
- Votre administration vous confirme la bonne réception de votre dossier n°--numero_dossier-- complet. Celui-ci sera instruit dans le délais légal déclaré par votre interlocuteur.
+ Votre administration vous confirme la bonne réception de votre dossier nº--numero_dossier-- complet. Celui-ci sera instruit dans le délais légal déclaré par votre interlocuteur.
En vous souhaitant une bonne journée,
diff --git a/db/migrate/20170328142700_add_mandatory_column_to_types_de_piece_justificative.rb b/db/migrate/20170328142700_add_mandatory_column_to_types_de_piece_justificative.rb
new file mode 100644
index 000000000..46f603b62
--- /dev/null
+++ b/db/migrate/20170328142700_add_mandatory_column_to_types_de_piece_justificative.rb
@@ -0,0 +1,5 @@
+class AddMandatoryColumnToTypesDePieceJustificative < ActiveRecord::Migration[5.0]
+ def change
+ add_column :types_de_piece_justificative, :mandatory, :boolean, default: false
+ end
+end
diff --git a/db/migrate/20170414095411_remove_field_limit_for_procedure_paths.rb b/db/migrate/20170414095411_remove_field_limit_for_procedure_paths.rb
new file mode 100644
index 000000000..9de4f3a0b
--- /dev/null
+++ b/db/migrate/20170414095411_remove_field_limit_for_procedure_paths.rb
@@ -0,0 +1,5 @@
+class RemoveFieldLimitForProcedurePaths < ActiveRecord::Migration[5.0]
+ def change
+ change_column :procedure_paths, :path, :string, limit: nil, null: true, unique: true, index: true
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 0ff0aa06a..140dccaf6 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20170313140834) do
+ActiveRecord::Schema.define(version: 20170414095411) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -319,7 +319,7 @@ ActiveRecord::Schema.define(version: 20170313140834) do
end
create_table "procedure_paths", force: :cascade do |t|
- t.string "path", limit: 30
+ t.string "path"
t.integer "procedure_id"
t.integer "administrateur_id"
t.index ["path"], name: "index_procedure_paths_on_path", using: :btree
@@ -403,6 +403,7 @@ ActiveRecord::Schema.define(version: 20170313140834) do
t.integer "procedure_id"
t.integer "order_place"
t.string "lien_demarche"
+ t.boolean "mandatory", default: false
end
create_table "users", force: :cascade do |t|
diff --git a/doc/apipie_examples.json b/doc/apipie_examples.json
index e14456d96..7010bc322 100644
--- a/doc/apipie_examples.json
+++ b/doc/apipie_examples.json
@@ -45,6 +45,17 @@
"updated_at": "2008-09-01T08:05:00.000Z",
"archived": false,
"mandataire_social": false,
+ "state": "updated",
+ "simplified_state": "En construction",
+ "initiated_at": "2017-04-11T12:00:12.000Z",
+ "received_at": null,
+ "processed_at": null,
+ "accompagnateurs": [
+ "gestionnaire@apientreprise.fr"
+ ],
+ "invites": [
+ "nom@domaine.fr"
+ ],
"entreprise": {
"siren": "440117620",
"capital_social": 537100000,
@@ -174,4 +185,4 @@
"recorded": true
}
]
-}
\ No newline at end of file
+}
diff --git a/spec/controllers/api/v1/dossiers_controller_spec.rb b/spec/controllers/api/v1/dossiers_controller_spec.rb
index 463a644c1..be00999ee 100644
--- a/spec/controllers/api/v1/dossiers_controller_spec.rb
+++ b/spec/controllers/api/v1/dossiers_controller_spec.rb
@@ -115,7 +115,7 @@ describe API::V1::DossiersController do
let!(:dossier) { Timecop.freeze(date_creation) { create(:dossier, :with_entreprise, procedure: procedure) } }
let(:dossier_id) { dossier.id }
let(:body) { JSON.parse(retour.body, symbolize_names: true) }
- let(:field_list) { [:id, :created_at, :updated_at, :archived, :mandataire_social, :entreprise, :etablissement, :cerfa, :types_de_piece_justificative, :pieces_justificatives, :champs, :champs_private, :commentaires, :state] }
+ let(:field_list) { [:id, :created_at, :updated_at, :archived, :mandataire_social, :entreprise, :etablissement, :cerfa, :types_de_piece_justificative, :pieces_justificatives, :champs, :champs_private, :commentaires, :state, :simplified_state, :initiated_at, :processed_at, :received_at, :accompagnateurs, :invites] }
subject { body[:dossier] }
it 'return REST code 200', :show_in_doc do
diff --git a/spec/controllers/root_controller_spec.rb b/spec/controllers/root_controller_spec.rb
index 94e83fe2f..474f03dfd 100644
--- a/spec/controllers/root_controller_spec.rb
+++ b/spec/controllers/root_controller_spec.rb
@@ -33,7 +33,7 @@ describe RootController, type: :controller do
subject
end
- it { expect(response.body).to have_css('#landing') }
+ it { expect(response.body).to have_css('.landing') }
end
end
@@ -55,31 +55,7 @@ describe RootController, type: :controller do
subject
end
- it { expect(response.body).to have_css('#landing') }
-
- end
-
- context 'environment is not development' do
- render_views
-
- before do
- Rails.env.stub(:development? => false)
- subject
- end
-
- it { expect(response.body).to have_link('Démonstration', href: "https://tps-dev.apientreprise.fr#{ users_sign_in_demo_path }") }
-
- end
-
- context 'environment is development' do
- render_views
-
- before do
- Rails.env.stub(:development? => true)
- subject
- end
-
- it { expect(response.body).to have_link('Démonstration', href: users_sign_in_demo_path) }
+ it { expect(response.body).to have_css('.landing') }
end
diff --git a/spec/controllers/users/dossiers_controller_spec.rb b/spec/controllers/users/dossiers_controller_spec.rb
index 601b243bc..f479f6eb9 100644
--- a/spec/controllers/users/dossiers_controller_spec.rb
+++ b/spec/controllers/users/dossiers_controller_spec.rb
@@ -554,27 +554,27 @@ describe Users::DossiersController, type: :controller do
end
end
- describe 'Get #procedure_libelle' do
+ describe 'Get #text_summary' do
let!(:dossier) { create(:dossier, procedure: procedure) }
context 'when user is connected' do
before { sign_in user }
context 'when the dossier exist' do
- before { get :procedure_libelle, params: { dossier_id: dossier.id } }
+ before { get :text_summary, params: { dossier_id: dossier.id } }
it 'returns the procedure name' do
- expect(JSON.parse(response.body)).to eq('procedureLibelle' => procedure.libelle)
+ expect(JSON.parse(response.body)).to eq("textSummary" => "Dossier en brouillon répondant à la démarche #{procedure.libelle}, gérée par l'organisme #{procedure.organisation}")
end
end
context 'when the dossier does not exist' do
- before { get :procedure_libelle, params: { dossier_id: 666 } }
+ before { get :text_summary, params: { dossier_id: 666 } }
it { expect(response.code).to eq('404') }
end
end
context 'when user is not connected' do
- before { get :procedure_libelle, params: { dossier_id: dossier.id } }
+ before { get :text_summary, params: { dossier_id: dossier.id } }
it { expect(response.code).to eq('302') }
end
end
diff --git a/spec/facades/dossiers_list_facades_spec.rb b/spec/facades/dossiers_list_facades_spec.rb
index 455550a4a..8713df086 100644
--- a/spec/facades/dossiers_list_facades_spec.rb
+++ b/spec/facades/dossiers_list_facades_spec.rb
@@ -3,8 +3,8 @@ require 'spec_helper'
describe DossiersListFacades do
let(:gestionnaire) { create :gestionnaire }
- let(:procedure) { create :procedure }
- let(:procedure_2) { create :procedure, libelle: 'plop' }
+ let(:procedure) { create :procedure, libelle: 'Ma procédure' }
+ let(:procedure_2) { create :procedure, libelle: 'Ma seconde procédure' }
let!(:preference) { create :preference_list_dossier,
gestionnaire: gestionnaire,
@@ -48,14 +48,8 @@ describe DossiersListFacades do
it { expect(subject.size).to eq 2 }
- it { expect(subject.first[:id]).to eq procedure.id }
- it { expect(subject.first[:libelle]).to eq procedure.libelle }
- it { expect(subject.first[:unread_notifications]).to eq 0 }
-
-
- it { expect(subject.last[:id]).to eq procedure_2.id }
- it { expect(subject.last[:libelle]).to eq procedure_2.libelle }
- it { expect(subject.last[:unread_notifications]).to eq 0 }
+ it { expect(subject.first).to eq({ id: procedure.id, libelle: procedure.libelle, unread_notifications: 0 }) }
+ it { expect(subject.last).to eq({ id: procedure_2.id, libelle: procedure_2.libelle, unread_notifications: 0 }) }
end
describe '#active_filter?' do
diff --git a/spec/factories/dossier.rb b/spec/factories/dossier.rb
index 05e70525c..415e1d58d 100644
--- a/spec/factories/dossier.rb
+++ b/spec/factories/dossier.rb
@@ -47,6 +47,25 @@ FactoryGirl.define do
end
end
+ trait :archived do
+ archived true
+ end
+
+ trait :not_archived do
+ archived false
+ end
+
+ trait :with_dossier_link do
+ after(:create) do |dossier, _evaluator|
+ linked_dossier = create(:dossier)
+ type_de_champ = dossier.procedure.types_de_champ.find { |t| t.type_champ == 'dossier_link' }
+ champ = dossier.champs.find { |c| c.type_de_champ == type_de_champ }
+
+ champ.value = linked_dossier.id
+ champ.save!
+ end
+ end
+
trait :replied do
state 'replied'
end
diff --git a/spec/factories/individual.rb b/spec/factories/individual.rb
index c5924d57c..c4b7a1c52 100644
--- a/spec/factories/individual.rb
+++ b/spec/factories/individual.rb
@@ -1,5 +1,6 @@
FactoryGirl.define do
factory :individual do
+ gender 'M.'
nom 'Julien'
prenom 'Xavier'
birthdate '20/01/1991'
diff --git a/spec/factories/mail_templates.rb b/spec/factories/mail_templates.rb
index aac0d3615..2f3a72122 100644
--- a/spec/factories/mail_templates.rb
+++ b/spec/factories/mail_templates.rb
@@ -13,8 +13,8 @@ FactoryGirl.define do
end
trait :dossier_received do
- object "[TPS] Accusé de réception pour votre dossier n°--numero_dossier--"
- body "Votre administration vous confirme la bonne réception de votre dossier n°--numero_dossier--"
+ object "[TPS] Accusé de réception pour votre dossier nº --numero_dossier--"
+ body "Votre administration vous confirme la bonne réception de votre dossier nº --numero_dossier--"
type 'MailReceived'
end
end
diff --git a/spec/factories/procedure.rb b/spec/factories/procedure.rb
index 30da5d76d..f38629fc7 100644
--- a/spec/factories/procedure.rb
+++ b/spec/factories/procedure.rb
@@ -2,7 +2,7 @@ FactoryGirl.define do
sequence(:published_path) { |n| "fake_path#{n}" }
factory :procedure do
lien_demarche 'http://localhost'
- libelle 'Demande de subvention'
+ sequence(:libelle) { |n| "Procedure #{n}" }
description "Demande de subvention à l'intention des associations"
organisation "Orga SGMAP"
direction "direction SGMAP"
@@ -61,6 +61,14 @@ FactoryGirl.define do
end
end
+ trait :with_dossier_link do
+ after(:build) do |procedure, _evaluator|
+ type_de_champ = create(:type_de_champ_public, :type_dossier_link)
+
+ procedure.types_de_champ << type_de_champ
+ end
+ end
+
trait :with_two_type_de_piece_justificative do
after(:build) do |procedure, _evaluator|
rib = create(:type_de_piece_justificative, :rib, order_place: 1)
diff --git a/spec/factories/type_de_champ_public.rb b/spec/factories/type_de_champ_public.rb
index 3dad7603b..b1ef85016 100644
--- a/spec/factories/type_de_champ_public.rb
+++ b/spec/factories/type_de_champ_public.rb
@@ -9,5 +9,10 @@ FactoryGirl.define do
trait :checkbox do
type_champ 'checkbox'
end
+
+ trait :type_dossier_link do
+ libelle 'Référence autre dossier'
+ type_champ 'dossier_link'
+ end
end
end
diff --git a/spec/features/admin/connection_spec.rb b/spec/features/admin/connection_spec.rb
index 58b256be7..3966641c9 100644
--- a/spec/features/admin/connection_spec.rb
+++ b/spec/features/admin/connection_spec.rb
@@ -6,7 +6,7 @@ feature 'Administrator connection' do
visit new_administrateur_session_path
end
scenario 'administrator is on admin loggin page' do
- expect(page).to have_css('#form_login.user_connexion_page')
+ expect(page).to have_css('#form-login.user_connexion_page')
end
context "admin fills form and log in" do
@@ -25,18 +25,18 @@ feature 'Administrator connection' do
end
scenario 'it displays the menu' do
expect(page).to have_css('a#profile')
- expect(page).to have_css('#sign_out')
+ expect(page).to have_css('#sign-out')
expect(page).to have_css('a.fa-sign-out')
end
- context 'when clicking on sign_out' do
+ context 'when clicking on sign-out' do
before do
stub_request(:get, "https://api.github.com/repos/sgmap/tps/releases/latest").
to_return(:status => 200, :body => '{"tag_name": "plip", "body": "blabla", "published_at": "2016-02-09T16:46:47Z"}', :headers => {})
- page.find_by_id('sign_out').find('a.fa-sign-out').click
+ page.find_by_id('sign-out').find('a.fa-sign-out').click
end
scenario 'admin is redireted to home page' do
- expect(page).to have_css('#landing')
+ expect(page).to have_css('.landing')
end
end
context 'when clicking on profile' do
diff --git a/spec/features/admin/procedure_creation_spec.rb b/spec/features/admin/procedure_creation_spec.rb
index fbf76005a..8e14bd43a 100644
--- a/spec/features/admin/procedure_creation_spec.rb
+++ b/spec/features/admin/procedure_creation_spec.rb
@@ -92,7 +92,7 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
expect(page).to have_selector('#publish-procedure', visible: true)
page.find_by_id('publish-procedure').click
- expect(page.find_by_id('procedure_path')['value']).to eq('libelle_de_la_procedure')
+ expect(page.find_by_id('procedure_path')['value']).to eq('libelle-de-la-procedure')
page.find_by_id('publish').click
expect(page).to have_selector('.procedure-lien')
end
diff --git a/spec/features/backoffice/connection_spec.rb b/spec/features/backoffice/connection_spec.rb
index 419e14853..603546fb5 100644
--- a/spec/features/backoffice/connection_spec.rb
+++ b/spec/features/backoffice/connection_spec.rb
@@ -30,7 +30,7 @@ feature 'when gestionnaire come to /backoffice and is not authenticated' do
page.click_on 'Se connecter'
end
scenario 'he is redirected to /backoffice' do
- expect(page).to have_css('#backoffice_index')
+ expect(page).to have_css('#backoffice-index')
end
end
end
diff --git a/spec/features/backoffice/index_show_procedure_spec.rb b/spec/features/backoffice/index_show_procedure_spec.rb
index 33add73bd..d24910eca 100644
--- a/spec/features/backoffice/index_show_procedure_spec.rb
+++ b/spec/features/backoffice/index_show_procedure_spec.rb
@@ -22,28 +22,28 @@ feature 'As an Accompagnateur I can navigate and use each functionnality around
context 'On index' do
scenario 'Switching between procedures' do
- page.all('#procedure_list a').first.click
+ page.all('#procedure-list a').first.click
expect(page).to have_current_path(backoffice_dossiers_procedure_path(id: procedure_1.id.to_s), only_path: true)
expect(page.find('#all_dossiers .count').text).to eq('30 dossiers')
- page.all('#procedure_list a').last.click
+ page.all('#procedure-list a').last.click
expect(page).to have_current_path(backoffice_dossiers_procedure_path(id: procedure_2.id.to_s), only_path: true)
expect(page.find('#all_dossiers .count').text).to eq('22 dossiers')
end
scenario 'Searching with search bar', js: true do
- page.find_by_id('search_area').trigger('click')
+ page.find_by_id('search-area').trigger('click')
fill_in 'q', with: (procedure_1.dossiers.first.id + 14)
- page.find_by_id('search_button').click
+ page.find_by_id('search-button').click
page.find_by_id("tr_dossier_#{(procedure_1.dossiers.first.id + 14)}").click
expect(page).to have_current_path("/backoffice/dossiers/#{(procedure_1.dossiers.first.id + 14)}")
end
scenario 'Following dossier' do
- page.all('#procedure_list a').first.click
+ page.all('#procedure-list a').first.click
expect(page.all('#follow_dossiers .smart-listing')[0]['data-item-count']).to eq ("0")
page.find_by_id('all_dossiers').click
- expect(page.all('#dossiers_list a').first.text).to eq('Suivre')
- page.all('#dossiers_list a').first.click
+ expect(page.all('#dossiers-list a').first.text).to eq('Suivre')
+ page.all('#dossiers-list a').first.click
expect(page.all('#follow_dossiers .smart-listing')[0]['data-item-count']).to eq ("1")
end
diff --git a/spec/features/backoffice/lateral_page_pref_list_dossier_backoffice_spec.rb b/spec/features/backoffice/lateral_page_pref_list_dossier_backoffice_spec.rb
index 13c176b46..9a36bf116 100644
--- a/spec/features/backoffice/lateral_page_pref_list_dossier_backoffice_spec.rb
+++ b/spec/features/backoffice/lateral_page_pref_list_dossier_backoffice_spec.rb
@@ -17,20 +17,20 @@ feature 'usage of pref list dossier lateral panel', js: true do
context 'when user enter good credentials' do
scenario 'he is redirected to /backoffice' do
- expect(page).to have_css('#backoffice_index')
+ expect(page).to have_css('#backoffice-index')
end
scenario 'lateral panel is masked' do
- expect(page).to have_css('#pref_list_menu', visible: false)
+ expect(page).to have_css('#pref-list-menu', visible: false)
end
context 'when on click on pref list button' do
before do
- page.click_on 'pref_list_dossier_open_action'
+ page.click_on 'pref-list-dossier-open-action'
end
scenario 'lateral panel is appeared' do
- expect(page).to have_css('#pref_list_menu')
+ expect(page).to have_css('#pref-list-menu')
end
context 'when on click on add attribut button' do
@@ -65,12 +65,12 @@ feature 'usage of pref list dossier lateral panel', js: true do
context 'when on click on close pref list button' do
before do
- page.click_on 'pref_list_dossier_close_action'
+ page.click_on 'pref-list-dossier-close-action'
end
scenario 'lateral panel is masked' do
wait_for_ajax
- expect(page).to have_css('#pref_list_menu', visible: false)
+ expect(page).to have_css('#pref-list-menu', visible: false)
end
end
end
diff --git a/spec/features/backoffice/lateral_page_pref_list_dossier_by_procedure_backoffice_spec.rb b/spec/features/backoffice/lateral_page_pref_list_dossier_by_procedure_backoffice_spec.rb
index 0255d9a46..9ed134a75 100644
--- a/spec/features/backoffice/lateral_page_pref_list_dossier_by_procedure_backoffice_spec.rb
+++ b/spec/features/backoffice/lateral_page_pref_list_dossier_by_procedure_backoffice_spec.rb
@@ -17,7 +17,7 @@ feature 'usage of pref list dossier lateral panel by procedure', js: true do
context 'when user enter good credentials' do
scenario 'he is redirected to /backoffice/dossiers/' do
- expect(page).to have_css('#backoffice_index')
+ expect(page).to have_css('#backoffice-index')
end
describe 'user navigate to dossiers list by procedure' do
@@ -26,17 +26,17 @@ feature 'usage of pref list dossier lateral panel by procedure', js: true do
end
scenario 'lateral panel is masked' do
- expect(page).to have_css('#pref_list_menu', visible: false)
+ expect(page).to have_css('#pref-list-menu', visible: false)
end
context 'when on click on pref list button' do
before do
- page.click_on 'pref_list_dossier_open_action'
+ page.click_on 'pref-list-dossier-open-action'
end
scenario 'lateral panel is appeared' do
wait_for_ajax
- expect(page).to have_css('#pref_list_menu')
+ expect(page).to have_css('#pref-list-menu')
end
context 'when on click on add attribut specific at the procedure button' do
@@ -66,12 +66,12 @@ feature 'usage of pref list dossier lateral panel by procedure', js: true do
context 'when on click on close pref list button' do
before do
- page.click_on 'pref_list_dossier_close_action'
+ page.click_on 'pref-list-dossier-close-action'
end
scenario 'lateral panel is masked' do
wait_for_ajax
- expect(page).to have_css('#pref_list_menu', visible: false)
+ expect(page).to have_css('#pref-list-menu', visible: false)
end
end
end
diff --git a/spec/features/backoffice/navigate_to_dossier_spec.rb b/spec/features/backoffice/navigate_to_dossier_spec.rb
index b7f30467c..b9c2222fa 100644
--- a/spec/features/backoffice/navigate_to_dossier_spec.rb
+++ b/spec/features/backoffice/navigate_to_dossier_spec.rb
@@ -29,7 +29,7 @@ feature 'on backoffice page', js: true do
end
scenario 'it redirect to dossier page' do
- expect(page).to have_css('#backoffice_dossier_show')
+ expect(page).to have_css('#backoffice-dossier-show')
end
end
end
@@ -45,7 +45,7 @@ feature 'on backoffice page', js: true do
end
scenario 'it redirect to dossier page' do
- expect(page).to have_css('#backoffice_dossier_show')
+ expect(page).to have_css('#backoffice-dossier-show')
end
end
end
diff --git a/spec/features/backoffice/search_file_spec.rb b/spec/features/backoffice/search_file_spec.rb
index d91ea8bbf..dc6baeb85 100644
--- a/spec/features/backoffice/search_file_spec.rb
+++ b/spec/features/backoffice/search_file_spec.rb
@@ -18,10 +18,10 @@ feature 'search file on gestionnaire backoffice' do
visit backoffice_dossiers_url
page.find_by_id(:q).set terms
- page.find_by_id(:search_button).click
+ page.find_by_id("search-button").click
end
- it { expect(page).to have_css('#backoffice_search') }
+ it { expect(page).to have_css('#backoffice-search') }
context 'when terms input is empty' do
it { expect(page).to have_content('Aucun dossier') }
diff --git a/spec/features/description_page/upload_piece_justificative_spec.rb b/spec/features/description_page/upload_piece_justificative_spec.rb
index 4f999037c..bd8cffc8a 100644
--- a/spec/features/description_page/upload_piece_justificative_spec.rb
+++ b/spec/features/description_page/upload_piece_justificative_spec.rb
@@ -9,14 +9,14 @@ feature 'user is on description page' do
visit users_dossier_description_path dossier
- within('#new_user') do
+ within('#new-user') do
page.find_by_id('user_email').set dossier.user.email
page.find_by_id('user_password').set dossier.user.password
page.click_on 'Se connecter'
end
end
- it { expect(page).to have_css('#description_page') }
+ it { expect(page).to have_css('#description-page') }
context 'he fill description fields' do
before do
diff --git a/spec/features/france_connect/france_connect_particulier_spec.rb b/spec/features/france_connect/france_connect_particulier_spec.rb
index 01592e8af..1ed8ca15f 100644
--- a/spec/features/france_connect/france_connect_particulier_spec.rb
+++ b/spec/features/france_connect/france_connect_particulier_spec.rb
@@ -26,7 +26,7 @@ feature 'France Connect Particulier Connexion' do
end
scenario 'link to France Connect is present' do
- expect(page).to have_css('a#btn_fcp')
+ expect(page).to have_css('a#btn-fcp')
end
context 'and click on france connect link' do
@@ -49,7 +49,7 @@ feature 'France Connect Particulier Connexion' do
context 'when is the first connexion' do
before do
- page.find_by_id('btn_fcp').click
+ page.find_by_id('btn-fcp').click
end
scenario 'he is redirected to france connect particulier page' do
expect(page).to have_content('Nouvelle connexion')
@@ -70,7 +70,7 @@ feature 'France Connect Particulier Connexion' do
context 'when is not the first connexion' do
before do
create(:user, france_connect_information: france_connect_information)
- page.find_by_id('btn_fcp').click
+ page.find_by_id('btn-fcp').click
end
scenario 'he is redirected to user dossiers page' do
@@ -83,11 +83,11 @@ feature 'France Connect Particulier Connexion' do
before do
allow_any_instance_of(FranceConnectParticulierClient).to receive(:authorization_uri).and_return(france_connect_particulier_callback_path(code: code))
allow(FranceConnectService).to receive(:retrieve_user_informations_particulier) { raise Rack::OAuth2::Client::Error.new(500, error: 'Unknown') }
- page.find_by_id('btn_fcp').click
+ page.find_by_id('btn-fcp').click
end
scenario 'he is redirected to login page' do
- expect(page).to have_css('a#btn_fcp')
+ expect(page).to have_css('a#btn-fcp')
end
scenario 'error message is displayed' do
diff --git a/spec/features/users/complete_demande_spec.rb b/spec/features/users/complete_demande_spec.rb
index 6554a4004..2f1eb1d42 100644
--- a/spec/features/users/complete_demande_spec.rb
+++ b/spec/features/users/complete_demande_spec.rb
@@ -12,21 +12,21 @@ feature 'user path for dossier creation' do
end
scenario 'he is redirected on login page' do
- expect(page).to have_css('#login_user')
+ expect(page).to have_css('#login-user')
expect(page).to have_css('#logo_procedure')
- expect(page).to have_css('#titre_procedure')
+ expect(page).to have_css('#titre-procedure')
end
context 'user sign_in' do
before do
- within('#new_user') do
+ within('#new-user') do
page.find_by_id('user_email').set user.email
page.find_by_id('user_password').set user.password
page.click_on 'Se connecter'
end
end
scenario 'redirects to siret page' do
- expect(page).to have_css('#dossier_siret')
+ expect(page).to have_css('#dossier-siret')
end
context 'sets siret' do
before do
@@ -40,12 +40,12 @@ feature 'user path for dossier creation' do
stub_request(:get, "https://api-dev.apientreprise.fr/v1/associations/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 404, body: '')
- page.find_by_id('dossier_siret').set siret
+ page.find_by_id('dossier-siret').set siret
page.click_on 'Valider'
end
scenario 'user is on page recap info entreprise' do
- expect(page).to have_css('#recap_info_entreprise')
+ expect(page).to have_css('#recap-info-entreprise')
end
context 'when user would like change siret' do
@@ -54,7 +54,7 @@ feature 'user path for dossier creation' do
end
scenario 'redirects to siret page' do
- expect(page).to have_css('#dossier_siret')
+ expect(page).to have_css('#dossier-siret')
end
end
@@ -64,7 +64,7 @@ feature 'user path for dossier creation' do
page.find_by_id('etape_suivante').trigger('click')
end
scenario 'user is on description page' do
- expect(page).to have_css('#description_page')
+ expect(page).to have_css('#description-page')
end
context 'user fill and validate description page' do
before do
@@ -72,7 +72,7 @@ feature 'user path for dossier creation' do
page.find_by_id('suivant').trigger('click')
end
scenario 'user is on recap page' do
- expect(page).to have_css('#users_recapitulatif_dossier_show')
+ expect(page).to have_css('#users-recapitulatif-dossier-show')
end
end
end
diff --git a/spec/features/users/dossier_creation_spec.rb b/spec/features/users/dossier_creation_spec.rb
index 4adf0e190..34715a567 100644
--- a/spec/features/users/dossier_creation_spec.rb
+++ b/spec/features/users/dossier_creation_spec.rb
@@ -45,7 +45,7 @@ feature 'As a User I wanna create a dossier' do
login_as user, scope: :user
visit commencer_path(procedure_path: procedure_with_siret.path)
expect(page).to have_current_path(users_dossier_path(procedure_with_siret.dossiers.last.id.to_s), only_path: true)
- fill_in 'dossier_siret', with: siret
+ fill_in 'dossier-siret', with: siret
stub_request(:get, "https://api-dev.apientreprise.fr/v2/etablissements/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 200, body: File.read('spec/support/files/etablissement.json'))
stub_request(:get, "https://api-dev.apientreprise.fr/v2/entreprises/#{siren}?token=#{SIADETOKEN}")
@@ -54,9 +54,9 @@ feature 'As a User I wanna create a dossier' do
.to_return(status: 200, body: File.read('spec/support/files/exercices.json'))
stub_request(:get, "https://api-dev.apientreprise.fr/v1/associations/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 404, body: '')
- page.find_by_id('dossier_siret').set siret
+ page.find_by_id('dossier-siret').set siret
page.find_by_id('submit-siret').trigger('click')
- expect(page).to have_css('#recap_info_entreprise')
+ expect(page).to have_css('#recap-info-entreprise')
find(:css, "#dossier_autorisation_donnees[value='1']").set(true)
page.find_by_id('etape_suivante').trigger('click')
expect(page).to have_current_path(users_dossier_carte_path(procedure_with_siret.dossiers.last.id.to_s), only_path: true)
diff --git a/spec/features/users/dossier_edition_spec.rb b/spec/features/users/dossier_edition_spec.rb
index 4dc3ccee7..5aca700d9 100644
--- a/spec/features/users/dossier_edition_spec.rb
+++ b/spec/features/users/dossier_edition_spec.rb
@@ -3,8 +3,8 @@ require 'spec_helper'
feature 'As a User I want to edit a dossier I own' do
let(:user) { create(:user) }
- let(:procedure_for_individual) { create(:procedure, :published, :for_individual, :with_type_de_champ, :with_two_type_de_piece_justificative) }
- let!(:dossier) { create(:dossier, :with_entreprise, :for_individual, procedure: procedure_for_individual, user: user, autorisation_donnees: true, state: 'initiated') }
+ let(:procedure_for_individual) { create(:procedure, :published, :for_individual, :with_type_de_champ, :with_two_type_de_piece_justificative, :with_dossier_link) }
+ let!(:dossier) { create(:dossier, :with_entreprise, :for_individual, :with_dossier_link, procedure: procedure_for_individual, user: user, autorisation_donnees: true, state: 'initiated') }
before "Create dossier and visit root path" do
login_as user, scope: :user
@@ -14,7 +14,7 @@ feature 'As a User I want to edit a dossier I own' do
context 'After sign_in, I can navigate through dossiers indexes and edit a dossier' do
scenario 'After sign_in, I can see dossiers "à traiter" (default), and other indexes' do
- expect(page.find('#a_traiter')['class'] ).to eq('active procedure_list_element')
+ expect(page.find('#a_traiter')['class'] ).to eq('active procedure-list-element')
page.find_by_id('brouillon').click
page.find_by_id('a_traiter').click
page.find_by_id('en_instruction').click
@@ -23,7 +23,7 @@ feature 'As a User I want to edit a dossier I own' do
end
scenario 'Getting a dossier, I want to create a new message on', js: true do
- page.find_by_id('tr_dossier_' + Dossier.last.id.to_s).click
+ page.find_by_id('tr_dossier_' + dossier.id.to_s).click
expect(page).to have_current_path(users_dossier_recapitulatif_path(Dossier.first.id.to_s), only_path: true)
page.find_by_id('open-message').click
page.execute_script("$('#texte_commentaire').data('wysihtml5').editor.setValue('Contenu du nouveau message')")
@@ -34,12 +34,17 @@ feature 'As a User I want to edit a dossier I own' do
scenario 'On the same dossier, I want to edit informations', js: true do
page.find_by_id('tr_dossier_' + dossier.id.to_s).click
expect(page).to have_current_path(users_dossier_recapitulatif_path(dossier.id.to_s), only_path: true)
+
+ # Linked Dossier
+ linked_dossier_id = dossier.champs.find { |c| c.type_de_champ.type_champ == 'dossier_link' }.value
+ expect(page).to have_link("Dossier #{linked_dossier_id}")
+
page.find_by_id('maj_infos').trigger('click')
expect(page).to have_current_path(users_dossier_description_path(dossier.id.to_s), only_path: true)
- fill_in "champs_#{dossier.champs.first.id.to_s}", with: 'Contenu du champ 1'
+ fill_in "champs_#{dossier.champs.order(:id).first.id.to_s}", with: 'Contenu du champ 1'
page.find_by_id('modification_terminee').click
expect(page).to have_current_path(users_dossier_recapitulatif_path(dossier.id.to_s), only_path: true)
- expect(page.find("#champ-#{dossier.champs.first.id}-value").text).to eq('Contenu du champ 1')
+ expect(page.find("#champ-#{dossier.champs.order(:id).first.id}-value").text).to eq('Contenu du champ 1')
end
end
end
diff --git a/spec/features/users/dossier_index_spec.rb b/spec/features/users/dossier_index_spec.rb
index 4d6ec1464..913efcf79 100644
--- a/spec/features/users/dossier_index_spec.rb
+++ b/spec/features/users/dossier_index_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-xfeature 'As a User I want to sort and paginate dossiers', js: true do
+feature 'As a User I want to sort and paginate dossiers', js: true do
let(:user) { create(:user) }
let(:procedure_for_individual) { create(:procedure, :published, :for_individual) }
@@ -24,30 +24,30 @@ xfeature 'As a User I want to sort and paginate dossiers', js: true do
scenario 'Using sort' do
visit "/users/dossiers?dossiers_smart_listing[sort][id]=asc"
- expect(page.all(:css, '#dossiers_list tr')[1].text.split(" ").first).to eq(user.dossiers.first.id.to_s)
- expect(page.all(:css, '#dossiers_list tr')[2].text.split(" ").first).to eq(user.dossiers.second.id.to_s)
+ expect(page.all(:css, '#dossiers-list tr')[1].text.split(" ").first).to eq(user.dossiers.first.id.to_s)
+ expect(page.all(:css, '#dossiers-list tr')[2].text.split(" ").first).to eq(user.dossiers.second.id.to_s)
visit "/users/dossiers?dossiers_smart_listing[sort][id]=desc"
- expect(page.all(:css, '#dossiers_list tr')[1].text.split(" ").first).to eq((user.dossiers.first.id + 50).to_s)
- expect(page.all(:css, '#dossiers_list tr')[2].text.split(" ").first).to eq((user.dossiers.first.id + 49).to_s)
+ expect(page.all(:css, '#dossiers-list tr')[1].text.split(" ").first).to eq((user.dossiers.first.id + 50).to_s)
+ expect(page.all(:css, '#dossiers-list tr')[2].text.split(" ").first).to eq((user.dossiers.first.id + 49).to_s)
visit "/users/dossiers?dossiers_smart_listing[sort][id]=asc"
- expect(page.all(:css, '#dossiers_list tr')[1].text.split(" ").first).to eq(user.dossiers.first.id.to_s)
- expect(page.all(:css, '#dossiers_list tr')[2].text.split(" ").first).to eq(user.dossiers.second.id.to_s)
+ expect(page.all(:css, '#dossiers-list tr')[1].text.split(" ").first).to eq(user.dossiers.first.id.to_s)
+ expect(page.all(:css, '#dossiers-list tr')[2].text.split(" ").first).to eq(user.dossiers.second.id.to_s)
end
scenario 'Using pagination' do
visit "/users/dossiers?dossiers_smart_listing[sort][id]=asc"
- expect(page.all(:css, '#dossiers_list tr')[1].text.split(" ").first).to eq(user.dossiers.first.id.to_s)
+ expect(page.all(:css, '#dossiers-list tr')[1].text.split(" ").first).to eq(user.dossiers.first.id.to_s)
page.find('.next_page a').trigger('click')
wait_for_ajax
- expect(page.all(:css, '#dossiers_list tr')[1].text.split(" ").first).to eq((user.dossiers.first.id + 10).to_s)
+ expect(page.all(:css, '#dossiers-list tr')[1].text.split(" ").first).to eq((user.dossiers.first.id + 10).to_s)
page.find('.next_page a').trigger('click')
wait_for_ajax
- expect(page.all(:css, '#dossiers_list tr')[1].text.split(" ").first).to eq((user.dossiers.first.id + 20).to_s)
+ expect(page.all(:css, '#dossiers-list tr')[1].text.split(" ").first).to eq((user.dossiers.first.id + 20).to_s)
page.find('.prev a').trigger('click')
wait_for_ajax
page.find('.prev a').trigger('click')
wait_for_ajax
- expect(page.all(:css, '#dossiers_list tr')[1].text.split(" ").first).to eq((user.dossiers.first.id).to_s)
+ expect(page.all(:css, '#dossiers-list tr')[1].text.split(" ").first).to eq((user.dossiers.first.id).to_s)
end
end
diff --git a/spec/features/users/drawing_a_zone_with_freedraw_spec.rb b/spec/features/users/drawing_a_zone_with_freedraw_spec.rb
index 57633a08b..1ecc5a0ee 100644
--- a/spec/features/users/drawing_a_zone_with_freedraw_spec.rb
+++ b/spec/features/users/drawing_a_zone_with_freedraw_spec.rb
@@ -12,11 +12,11 @@ feature 'drawing a zone with freedraw' do
end
scenario 'he is redirected to login page' do
- expect(page).to have_css('#login_user')
+ expect(page).to have_css('#login-user')
end
scenario 'he logs in and he is redirected to carte page', vcr: { cassette_name: 'drawing_a_zone_with_freedraw_redirected_to_carte_page' } do
- within('#new_user') do
+ within('#new-user') do
page.find_by_id('user_email').set user.email
page.find_by_id('user_password').set user.password
page.click_on 'Se connecter'
@@ -45,7 +45,7 @@ feature 'drawing a zone with freedraw' do
let(:module_api_carto) { create(:module_api_carto) }
scenario 'he is redirect to user dossiers index' do
- expect(page).to have_css('#users_index')
+ expect(page).to have_css('#users-index')
end
scenario 'alert message is present' do
diff --git a/spec/features/users/list_dossiers_spec.rb b/spec/features/users/list_dossiers_spec.rb
index 1ae783994..7a5236f12 100644
--- a/spec/features/users/list_dossiers_spec.rb
+++ b/spec/features/users/list_dossiers_spec.rb
@@ -1,33 +1,37 @@
require 'spec_helper'
-feature 'user access to the list of his dossier' do
+describe 'user access to the list of his dossier' do
let(:user) { create(:user) }
let!(:last_updated_dossier) { create(:dossier, :with_entreprise, user: user, state: 'replied')}
let!(:dossier1) { create(:dossier, :with_entreprise, user: user, state: 'replied') }
let!(:dossier2) { create(:dossier, :with_entreprise) }
+ let!(:dossier_archived) { create(:dossier, :with_entreprise, user: user, state: 'replied') }
before do
- dossier1.update_column(:updated_at, "19/07/2052 15:35".to_time)
- dossier1.procedure.update_column(:libelle, 'PLOP')
- last_updated_dossier.procedure.update_column(:libelle, 'PLIP')
+ last_updated_dossier.update_column(:updated_at, "19/07/2052 15:35".to_time)
visit new_user_session_path
- within('#new_user') do
+ within('#new-user') do
page.find_by_id('user_email').set user.email
page.find_by_id('user_password').set user.password
page.click_on 'Se connecter'
end
end
- scenario 'the list of dossier is displayed' do
+
+ it 'the list of dossier is displayed' do
expect(page).to have_content(dossier1.procedure.libelle)
expect(page).not_to have_content(dossier2.procedure.libelle)
end
- scenario 'the list must be order by last updated' do
+ it 'the list must be order by last updated' do
expect(page.body).to match(/#{last_updated_dossier.procedure.libelle}.*#{dossier1.procedure.libelle}/m)
end
- scenario 'the state of dossier is displayed' do
+ it 'should list archived dossier' do
+ expect(page).to have_content(dossier_archived.procedure.libelle)
+ end
+
+ it 'the state of dossier is displayed' do
expect(page).to have_css("#dossier_#{dossier1.id}_state")
end
@@ -36,7 +40,7 @@ feature 'user access to the list of his dossier' do
page.find("#tr_dossier_#{dossier1.id}").click
end
scenario 'user is redirected to dossier page' do
- expect(page).to have_css('#users_recapitulatif_dossier_show')
+ expect(page).to have_css('#users-recapitulatif-dossier-show')
end
end
end
diff --git a/spec/features/users/onglets_link_spec.rb b/spec/features/users/onglets_link_spec.rb
index 7454df1e4..a3fef2dc3 100644
--- a/spec/features/users/onglets_link_spec.rb
+++ b/spec/features/users/onglets_link_spec.rb
@@ -27,7 +27,7 @@ feature 'on click on tabs button' do
end
scenario 'it redirect to users dossier termine' do
- expect(page).to have_css('#users_index')
+ expect(page).to have_css('#users-index')
end
end
@@ -38,7 +38,7 @@ feature 'on click on tabs button' do
end
scenario 'it redirect to users dossier termine' do
- expect(page).to have_css('#users_index')
+ expect(page).to have_css('#users-index')
end
end
@@ -49,7 +49,7 @@ feature 'on click on tabs button' do
end
scenario 'it redirect to users dossier termine' do
- expect(page).to have_css('#users_index')
+ expect(page).to have_css('#users-index')
end
end
@@ -60,7 +60,7 @@ feature 'on click on tabs button' do
end
scenario 'it redirect to users dossier invites' do
- expect(page).to have_css('#users_index')
+ expect(page).to have_css('#users-index')
end
end
end
diff --git a/spec/features/users/start_demande_spec.rb b/spec/features/users/start_demande_spec.rb
index e3b8014b0..a908412a8 100644
--- a/spec/features/users/start_demande_spec.rb
+++ b/spec/features/users/start_demande_spec.rb
@@ -11,11 +11,11 @@ feature 'user arrive on siret page' do
visit new_users_dossiers_path(procedure_id: procedure.id)
end
scenario 'he is redirected to login page' do
- expect(page).to have_css('#login_user')
+ expect(page).to have_css('#login-user')
end
context 'when he enter login information' do
before do
- within('#new_user') do
+ within('#new-user') do
page.find_by_id('user_email').set user.email
page.find_by_id('user_password').set user.password
page.click_on 'Se connecter'
@@ -35,12 +35,12 @@ feature 'user arrive on siret page' do
stub_request(:get, "https://api-dev.apientreprise.fr/v1/associations/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 404, body: '')
- page.find_by_id('dossier_siret').set siret
+ page.find_by_id('dossier-siret').set siret
page.click_on 'Valider'
end
scenario 'he is redirected to recap info entreprise page' do
wait_for_ajax
- expect(page).to have_css('#recap_info_entreprise')
+ expect(page).to have_css('#recap-info-entreprise')
end
end
end
diff --git a/spec/mailers/notification_mailer_spec.rb b/spec/mailers/notification_mailer_spec.rb
index 0f9aeba80..4c8f26fc1 100644
--- a/spec/mailers/notification_mailer_spec.rb
+++ b/spec/mailers/notification_mailer_spec.rb
@@ -19,6 +19,6 @@ RSpec.describe NotificationMailer, type: :mailer do
it { expect(subject.body).to match('Un nouveau message est disponible dans votre espace TPS.') }
it { expect(subject.body).to include("Pour le consulter, merci de vous rendre sur #{users_dossier_recapitulatif_url(dossier_id: dossier.id)}") }
- it { expect(subject.subject).to eq("Nouveau message pour votre dossier TPS N°#{dossier.id}") }
+ it { expect(subject.subject).to eq("Nouveau message pour votre dossier TPS nº #{dossier.id}") }
end
end
diff --git a/spec/models/concern/mail_template_concern_spec.rb b/spec/models/concern/mail_template_concern_spec.rb
index b82d78117..96f997ff4 100644
--- a/spec/models/concern/mail_template_concern_spec.rb
+++ b/spec/models/concern/mail_template_concern_spec.rb
@@ -8,7 +8,7 @@ describe MailTemplateConcern do
it 'works' do
initiated_mail.object = '[TPS] --numero_dossier-- --libelle_procedure-- --lien_dossier--'
expected =
- "[TPS] #{dossier.id} Demande de subvention " +
+ "[TPS] #{dossier.id} #{dossier.procedure.libelle} " +
"http://localhost:3000/users/dossiers/#{dossier.id}/recapitulatif"
expect(initiated_mail.object_for_dossier(dossier)).to eq(expected)
diff --git a/spec/models/dossier_spec.rb b/spec/models/dossier_spec.rb
index 63092998b..576949f7b 100644
--- a/spec/models/dossier_spec.rb
+++ b/spec/models/dossier_spec.rb
@@ -418,23 +418,23 @@ describe Dossier do
let(:procedure_admin) { create(:procedure, administrateur: admin) }
let(:procedure_admin_2) { create(:procedure, administrateur: admin_2) }
+ let!(:dossier) { create(:dossier, procedure: procedure_admin, state: 'draft') }
+ let!(:dossier2) { create(:dossier, procedure: procedure_admin, state: 'initiated') } #nouveaux
+ let!(:dossier3) { create(:dossier, procedure: procedure_admin, state: 'initiated') } #nouveaux
+ let!(:dossier4) { create(:dossier, procedure: procedure_admin, state: 'replied') } #en_attente
+ let!(:dossier5) { create(:dossier, procedure: procedure_admin, state: 'updated') } #a_traiter
+ let!(:dossier6) { create(:dossier, procedure: procedure_admin, state: 'received') } #a_instruire
+ let!(:dossier7) { create(:dossier, procedure: procedure_admin, state: 'received') } #a_instruire
+ let!(:dossier8) { create(:dossier, procedure: procedure_admin, state: 'closed') } #termine
+ let!(:dossier9) { create(:dossier, procedure: procedure_admin, state: 'refused') } #termine
+ let!(:dossier10) { create(:dossier, procedure: procedure_admin, state: 'without_continuation') } #termine
+ let!(:dossier11) { create(:dossier, procedure: procedure_admin_2, state: 'closed') } #termine
+ let!(:dossier12) { create(:dossier, procedure: procedure_admin, state: 'initiated', archived: true) } #a_traiter #archived
+ let!(:dossier13) { create(:dossier, procedure: procedure_admin, state: 'replied', archived: true) } #en_attente #archived
+ let!(:dossier14) { create(:dossier, procedure: procedure_admin, state: 'closed', archived: true) } #termine #archived
+
before do
create :assign_to, gestionnaire: gestionnaire, procedure: procedure_admin
-
- create(:dossier, procedure: procedure_admin, state: 'draft')
- create(:dossier, procedure: procedure_admin, state: 'initiated') #nouveaux
- create(:dossier, procedure: procedure_admin, state: 'initiated') #nouveaux
- create(:dossier, procedure: procedure_admin, state: 'replied') #en_attente
- create(:dossier, procedure: procedure_admin, state: 'updated') #a_traiter
- create(:dossier, procedure: procedure_admin, state: 'received') #a_instruire
- create(:dossier, procedure: procedure_admin, state: 'received') #a_instruire
- create(:dossier, procedure: procedure_admin, state: 'closed') #termine
- create(:dossier, procedure: procedure_admin, state: 'refused') #termine
- create(:dossier, procedure: procedure_admin, state: 'without_continuation') #termine
- create(:dossier, procedure: procedure_admin_2, state: 'closed') #termine
- create(:dossier, procedure: procedure_admin, state: 'initiated', archived: true) #a_traiter #archived
- create(:dossier, procedure: procedure_admin, state: 'replied', archived: true) #en_attente #archived
- create(:dossier, procedure: procedure_admin, state: 'closed', archived: true) #termine #archived
end
describe '#nouveaux' do
@@ -455,19 +455,13 @@ describe Dossier do
it { expect(subject.size).to eq(1) }
end
- describe '#a_instruire' do
- subject { gestionnaire.dossiers.a_instruire }
+ describe '#en_instruction' do
+ subject { gestionnaire.dossiers.en_instruction }
it { expect(subject.size).to eq(2) }
- end
-
- describe '#termine' do
- subject { gestionnaire.dossiers.termine }
-
- it { expect(subject.size).to eq(3) }
+ it { expect(subject).to include(dossier6, dossier7) }
end
end
-
end
describe '#cerfa_available?' do
@@ -546,45 +540,6 @@ describe Dossier do
it { expect(subject.count).to eq(EntrepriseSerializer.new(Entreprise.new).as_json.count + EtablissementSerializer.new(Etablissement.new).as_json.count) }
end
- describe '#export_default_columns' do
- let(:procedure) { create(:procedure) }
- let(:dossier) { create(:dossier, :with_entreprise, user: user, procedure: procedure) }
- subject { dossier.export_default_columns }
-
- it { expect(subject[:archived]).to eq('false') }
- it { expect(subject[:etablissement_siret]).to eq('44011762001530') }
- it { expect(subject[:etablissement_siege_social]).to eq('true') }
- it { expect(subject[:etablissement_naf]).to eq('4950Z') }
- it { expect(subject[:etablissement_libelle_naf]).to eq('Transports par conduites') }
- it { expect(subject[:etablissement_adresse]).to eq('GRTGAZ IMMEUBLE BORA 6 RUE RAOUL NORDLING 92270 BOIS COLOMBES') }
- it { expect(subject[:etablissement_numero_voie]).to eq('6') }
- it { expect(subject[:etablissement_type_voie]).to eq('RUE') }
- it { expect(subject[:etablissement_nom_voie]).to eq('RAOUL NORDLING') }
- it { expect(subject[:etablissement_complement_adresse]).to eq('IMMEUBLE BORA') }
- it { expect(subject[:etablissement_code_postal]).to eq('92270') }
- it { expect(subject[:etablissement_localite]).to eq('BOIS COLOMBES') }
- it { expect(subject[:etablissement_code_insee_localite]).to eq('92009') }
- it { expect(subject[:entreprise_siren]).to eq('440117620') }
- it { expect(subject[:entreprise_capital_social]).to eq('537100000') }
- it { expect(subject[:entreprise_numero_tva_intracommunautaire]).to eq('FR27440117620') }
- it { expect(subject[:entreprise_forme_juridique]).to eq("SA à conseil d'administration (s.a.i.)") }
- it { expect(subject[:entreprise_forme_juridique_code]).to eq('5599') }
- it { expect(subject[:entreprise_nom_commercial]).to eq('GRTGAZ') }
- it { expect(subject[:entreprise_raison_sociale]).to eq('GRTGAZ') }
- it { expect(subject[:entreprise_siret_siege_social]).to eq('44011762001530') }
- it { expect(subject[:entreprise_code_effectif_entreprise]).to eq('51') }
- it { expect(subject[:entreprise_date_creation]).to eq('Thu, 28 Jan 2016 10:16:29 UTC +00:0') }
- it { expect(subject[:entreprise_nom]).to be_nil }
- it { expect(subject[:entreprise_prenom]).to be_nil }
-
- context 'when dossier does not have enterprise' do
- let(:dossier) { create(:dossier, user: user, procedure: procedure) }
- subject { dossier.export_default_columns }
-
- it { expect(subject[:archived]).to eq('false') }
- end
- end
-
context 'when dossier is followed' do
let(:procedure) { create(:procedure, :with_type_de_champ) }
let(:gestionnaire) { create(:gestionnaire) }
@@ -598,7 +553,11 @@ describe Dossier do
subject { dossier.export_headers }
it { expect(subject).to include(:description) }
- it { expect(subject.count).to eq(DossierProcedureSerializer.new(dossier).attributes.count + dossier.procedure.types_de_champ.count + dossier.export_entreprise_data.count) }
+ it { expect(subject).to include(:individual_gender) }
+ it { expect(subject).to include(:individual_nom) }
+ it { expect(subject).to include(:individual_prenom) }
+ it { expect(subject).to include(:individual_birthdate) }
+ it { expect(subject.count).to eq(DossierTableExportSerializer.new(dossier).attributes.count + dossier.procedure.types_de_champ.count + dossier.export_entreprise_data.count) }
end
describe '#data_with_champs' do
@@ -613,8 +572,23 @@ describe Dossier do
it { expect(subject[6]).to eq(date1) }
it { expect(subject[7]).to eq(date2) }
it { expect(subject[8]).to eq(date3) }
- it { expect(subject[9]).to eq(dossier.followers_gestionnaires_emails) }
- it { expect(subject.count).to eq(DossierProcedureSerializer.new(dossier).attributes.count + dossier.procedure.types_de_champ.count + dossier.export_entreprise_data.count) }
+ it { expect(subject[9]).to be_a_kind_of(String) }
+ it { expect(subject[10]).to be_nil }
+ it { expect(subject[11]).to be_nil }
+ it { expect(subject[12]).to be_nil }
+ it { expect(subject[13]).to be_nil }
+ it { expect(subject.count).to eq(DossierTableExportSerializer.new(dossier).attributes.count + dossier.procedure.types_de_champ.count + dossier.export_entreprise_data.count) }
+
+ context 'dossier for individual' do
+ let(:dossier_with_individual) { create(:dossier, :for_individual, user: user, procedure: procedure) }
+
+ subject { dossier_with_individual.data_with_champs }
+
+ it { expect(subject[10]).to eq(dossier_with_individual.individual.gender) }
+ it { expect(subject[11]).to eq(dossier_with_individual.individual.prenom) }
+ it { expect(subject[12]).to eq(dossier_with_individual.individual.nom) }
+ it { expect(subject[13]).to eq(dossier_with_individual.individual.birthdate) }
+ end
end
describe "#full_data_string" do
@@ -631,6 +605,10 @@ describe Dossier do
dossier.processed_at,
gestionnaire.email,
nil,
+ nil,
+ nil,
+ nil,
+ nil,
"44011762001530",
"true",
"4950Z",
@@ -664,66 +642,6 @@ describe Dossier do
end
end
- describe '#Dossier.to_csv' do
- let!(:procedure) { create(:procedure) }
- let!(:dossier) { create(:dossier, :with_entreprise, user: user, procedure: procedure, ) }
-
- subject do
- dossier_hash = {}
- dossier_splitted = Dossier.to_csv.split("\n").map { |cell| cell.split(",") }
- index = 0
- dossier_splitted[0].each do |column|
- dossier_hash.store(column.to_sym, dossier_splitted[1][index])
- index = index + 1
- end
- dossier_hash
- end
-
- it { expect(subject[:archived]).to eq('false') }
- it { expect(subject[:etablissement_siret]).to eq('44011762001530') }
- it { expect(subject[:etablissement_siege_social]).to eq('true') }
- it { expect(subject[:etablissement_naf]).to eq('4950Z') }
- it { expect(subject[:etablissement_libelle_naf]).to eq('Transports par conduites') }
- it { expect(subject[:etablissement_adresse]).to eq('GRTGAZ IMMEUBLE BORA 6 RUE RAOUL NORDLING 92270 BOIS COLOMBES') }
- it { expect(subject[:etablissement_numero_voie]).to eq('6') }
- it { expect(subject[:etablissement_type_voie]).to eq('RUE') }
- it { expect(subject[:etablissement_nom_voie]).to eq('RAOUL NORDLING') }
- it { expect(subject[:etablissement_complement_adresse]).to eq('IMMEUBLE BORA') }
- it { expect(subject[:etablissement_code_postal]).to eq('92270') }
- it { expect(subject[:etablissement_localite]).to eq('BOIS COLOMBES') }
- it { expect(subject[:etablissement_code_insee_localite]).to eq('92009') }
- it { expect(subject[:entreprise_siren]).to eq('440117620') }
- it { expect(subject[:entreprise_capital_social]).to eq('537100000') }
- it { expect(subject[:entreprise_numero_tva_intracommunautaire]).to eq('FR27440117620') }
- it { expect(subject[:entreprise_forme_juridique]).to eq("SA à conseil d'administration (s.a.i.)") }
- it { expect(subject[:entreprise_forme_juridique_code]).to eq('5599') }
- it { expect(subject[:entreprise_nom_commercial]).to eq('GRTGAZ') }
- it { expect(subject[:entreprise_raison_sociale]).to eq('GRTGAZ') }
- it { expect(subject[:entreprise_siret_siege_social]).to eq('44011762001530') }
- it { expect(subject[:entreprise_code_effectif_entreprise]).to eq('51') }
- it { expect(subject[:entreprise_date_creation]).to eq('2016-01-28 10:16:29 UTC') }
- it { expect(subject[:entreprise_nom]).to be_nil }
- it { expect(subject[:entreprise_prenom]).to be_nil }
- end
-
- describe '#Dossier.to_xlsx' do
- let!(:procedure) { create(:procedure) }
- let!(:dossier) { create(:dossier, :with_entreprise, user: user, procedure: procedure) }
-
- subject { Dossier.to_xlsx }
-
- it { expect(subject).is_a?(String) }
- end
-
- describe '#Dossier.to_ods' do
- let!(:procedure) { create(:procedure) }
- let!(:dossier) { create(:dossier, :with_entreprise, user: user, procedure: procedure) }
-
- subject { Dossier.to_ods }
-
- it { expect(subject).is_a?(String) }
- end
-
describe '#reset!' do
let!(:dossier) { create :dossier, :with_entreprise, autorisation_donnees: true }
let!(:rna_information) { create :rna_information, entreprise: dossier.entreprise }
@@ -891,38 +809,24 @@ describe Dossier do
end
end
- describe '#followers_gestionnaires_emails' do
+ describe "#text_summary" do
+ let(:procedure) { create(:procedure, libelle: "Démarche", organisation: "Organisation") }
- context 'when there is no follower' do
- let(:dossier) { create(:dossier, follows: []) }
+ context 'when the dossier has been initiated' do
+ let(:dossier) { create :dossier, procedure: procedure, state: 'initiated', initiated_at: "31/12/2010".to_date }
- subject { dossier.followers_gestionnaires_emails }
+ subject { dossier.text_summary }
- it { is_expected.to eq "" }
+ it { is_expected.to eq("Dossier déposé le 31/12/2010, sur la démarche Démarche, gérée par l'organisme Organisation") }
end
- let(:gestionnaire) { create(:gestionnaire) }
- let(:follow) { create(:follow, gestionnaire: gestionnaire) }
+ context 'when the dossier has not been initiated' do
+ let(:dossier) { create :dossier, procedure: procedure, state: 'draft' }
- context 'when there is 1 follower' do
- let(:dossier) { create(:dossier, follows: [follow]) }
+ subject { dossier.text_summary }
- subject { dossier.followers_gestionnaires_emails }
-
- it { is_expected.to eq gestionnaire.email }
+ it { is_expected.to eq("Dossier en brouillon répondant à la démarche Démarche, gérée par l'organisme Organisation") }
end
-
- let(:gestionnaire2) { create :gestionnaire}
- let(:follow2) { create(:follow, gestionnaire: gestionnaire2) }
-
- context 'when there is 2 followers' do
- let(:dossier) { create(:dossier, follows: [follow, follow2]) }
-
- subject { dossier.followers_gestionnaires_emails }
-
- it { is_expected.to eq "#{gestionnaire.email} #{gestionnaire2.email}" }
- end
-
end
describe '#update_state_dates' do
diff --git a/spec/models/gestionnaire_spec.rb b/spec/models/gestionnaire_spec.rb
index 1d1ed1320..a9c88fa92 100644
--- a/spec/models/gestionnaire_spec.rb
+++ b/spec/models/gestionnaire_spec.rb
@@ -272,6 +272,37 @@ describe Gestionnaire, type: :model do
it { is_expected.to be_nil }
end
end
+ end
+ describe '#dossiers_with_notifications_count' do
+ subject { gestionnaire.dossiers_with_notifications_count }
+
+ context 'when there is no notifications' do
+ it { is_expected.to eq(0) }
+ end
+
+ context 'when there is one notification for one dossier' do
+ let(:notification){ create(:notification, already_read: false) }
+ let!(:follow){ create(:follow, dossier: notification.dossier, gestionnaire: gestionnaire) }
+
+ it { is_expected.to eq(1) }
+ end
+
+ context 'when there are many notifications for one dossier' do
+ let(:notification){ create(:notification, already_read: false) }
+ let(:notification2){ create(:notification, already_read: false, dossier: notification.dossier) }
+ let!(:follow){ create(:follow, dossier: notification.dossier, gestionnaire: gestionnaire) }
+
+ it { is_expected.to eq(1) }
+ end
+
+ context 'when there are many notifications for many dossiers' do
+ let(:notification){ create(:notification, already_read: false) }
+ let(:notification2){ create(:notification, already_read: false) }
+ let!(:follow){ create(:follow, dossier: notification.dossier, gestionnaire: gestionnaire) }
+ let!(:follow2){ create(:follow, dossier: notification2.dossier, gestionnaire: gestionnaire) }
+
+ it { is_expected.to eq(2) }
+ end
end
end
diff --git a/spec/models/preference_list_dossier_spec.rb b/spec/models/preference_list_dossier_spec.rb
index 76abc8441..c54163e12 100644
--- a/spec/models/preference_list_dossier_spec.rb
+++ b/spec/models/preference_list_dossier_spec.rb
@@ -26,7 +26,7 @@ describe PreferenceListDossier do
describe 'dossier_id' do
subject { super()[:dossier_id] }
- it { expect(subject[:libelle]).to eq 'N°' }
+ it { expect(subject[:libelle]).to eq 'Nº' }
it { expect(subject[:table]).to be_nil }
it { expect(subject[:attr]).to eq 'id' }
it { expect(subject[:attr_decorate]).to eq 'id' }
diff --git a/spec/models/procedure_path_spec.rb b/spec/models/procedure_path_spec.rb
index fa7ceb7d4..dfb268291 100644
--- a/spec/models/procedure_path_spec.rb
+++ b/spec/models/procedure_path_spec.rb
@@ -24,14 +24,26 @@ describe ProcedurePath do
let(:path) { '' }
it { expect{procedure_path}.to raise_error ActiveRecord::RecordInvalid }
end
- context 'when path is invalid' do
+ context 'when path contains spaces' do
let(:path) { 'Demande de subvention' }
it { expect{procedure_path}.to raise_error ActiveRecord::RecordInvalid }
end
- context 'when path is valid' do
- let(:path) { 'ma_super_procedure' }
+ context 'when path contains alphanumerics and underscores' do
+ let(:path) { 'ma_super_procedure_1' }
it { expect{procedure_path}.not_to raise_error }
end
+ context 'when path contains dashes' do
+ let(:path) { 'ma-super-procedure' }
+ it { expect{procedure_path}.not_to raise_error }
+ end
+ context 'when path is too long' do
+ let(:path) { 'ma-super-procedure-12345678901234567890123456789012345678901234567890' }
+ it { expect{procedure_path}.to raise_error ActiveRecord::RecordInvalid }
+ end
+ context 'when path is too short' do
+ let(:path) { 'pr' }
+ it { expect{procedure_path}.to raise_error ActiveRecord::RecordInvalid }
+ end
end
end
diff --git a/spec/models/procedure_spec.rb b/spec/models/procedure_spec.rb
index 6c4b16ba6..7a5717d99 100644
--- a/spec/models/procedure_spec.rb
+++ b/spec/models/procedure_spec.rb
@@ -284,4 +284,12 @@ describe Procedure do
it_behaves_like "export is empty"
end
end
+
+ describe '#default_path' do
+ let(:procedure){ create(:procedure, libelle: 'A long libelle with àccênts, blabla coucou hello un deux trois voila') }
+
+ subject { procedure.default_path }
+
+ it { is_expected.to eq('a-long-libelle-with-accents-blabla-coucou-hello-un') }
+ end
end
diff --git a/spec/serializers/dossier_table_export_serializer_spec.rb b/spec/serializers/dossier_table_export_serializer_spec.rb
new file mode 100644
index 000000000..3373ecbed
--- /dev/null
+++ b/spec/serializers/dossier_table_export_serializer_spec.rb
@@ -0,0 +1,34 @@
+require 'spec_helper'
+
+describe DossierTableExportSerializer do
+
+ describe '#emails_accompagnateurs' do
+
+ let(:gestionnaire){ create(:gestionnaire) }
+ let(:follow) { create(:follow, gestionnaire: gestionnaire) }
+
+ subject { DossierTableExportSerializer.new(dossier).emails_accompagnateurs }
+
+ context 'when there is no accompagnateurs' do
+ let(:dossier) { create(:dossier, follows: []) }
+
+ it { is_expected.to eq('') }
+ end
+
+ context 'when there one accompagnateur' do
+ let(:dossier) { create(:dossier, follows: [follow]) }
+
+ it { is_expected.to eq(gestionnaire.email) }
+ end
+
+ context 'when there is 2 followers' do
+ let(:gestionnaire2) { create :gestionnaire}
+ let(:follow2) { create(:follow, gestionnaire: gestionnaire2) }
+ let(:dossier) { create(:dossier, follows: [follow, follow2]) }
+
+ it { is_expected.to eq "#{gestionnaire.email} #{gestionnaire2.email}" }
+ end
+
+ end
+
+end
diff --git a/spec/services/champs_service_spec.rb b/spec/services/champs_service_spec.rb
index 4e8ce53a1..67f4c04d1 100644
--- a/spec/services/champs_service_spec.rb
+++ b/spec/services/champs_service_spec.rb
@@ -1,15 +1,15 @@
require 'spec_helper'
describe ChampsService do
- describe 'save_champs' do
- let!(:champ) { Champ.create(value: 'toto', type_de_champ: TypeDeChamp.new) }
- let!(:champ_mandatory_empty) { Champ.create(type_de_champ: TypeDeChamp.new(libelle: 'mandatory', mandatory: true)) }
- let!(:champ_datetime) do
- champ_datetime = TypeDeChamp.new(type_champ: 'datetime')
- Champ.create(type_de_champ: champ_datetime)
- end
- let!(:champs) { [champ, champ_mandatory_empty, champ_datetime] }
+ let!(:champ) { Champ.create(value: 'toto', type_de_champ: TypeDeChamp.new) }
+ let!(:champ_mandatory_empty) { Champ.create(type_de_champ: TypeDeChamp.new(libelle: 'mandatory', mandatory: true)) }
+ let!(:champ_datetime) do
+ champ_datetime = TypeDeChamp.new(type_champ: 'datetime')
+ Champ.create(type_de_champ: champ_datetime)
+ end
+ let!(:champs) { [champ, champ_mandatory_empty, champ_datetime] }
+ describe 'save_champs' do
before :each do
params_hash = {
champs: {
@@ -19,31 +19,22 @@ describe ChampsService do
time_hour: { "'#{champ_datetime.id}'" => '12' },
time_minute: { "'#{champ_datetime.id}'" => '24' }
}
- @errors = ChampsService.save_champs(champs, params_hash, check_mandatory)
+ ChampsService.save_champs(champs, params_hash)
champs.each(&:reload)
end
- context 'check_mandatory is true' do
- let(:check_mandatory) { true }
- it 'saves the changed champ' do
- expect(champ.value).to eq('yop')
- end
-
- it 'parses and save the date' do
- expect(champ_datetime.value).to eq('d 12:24')
- end
-
- it 'adds error for the missing mandatory champ' do
- expect(@errors).to match([{ message: 'Le champ mandatory doit être rempli.' }])
- end
+ it 'saves the changed champ' do
+ expect(champ.value).to eq('yop')
end
- context 'check_mandatory is false' do
- let(:check_mandatory) { false }
+ it 'parses and save the date' do
+ expect(champ_datetime.value).to eq('d 12:24')
+ end
+ end
- it 'does not add errors' do
- expect(@errors).to match([])
- end
+ describe 'build_error_message' do
+ it 'adds error for the missing mandatory champ' do
+ expect(ChampsService.build_error_messages(champs)).to match(['Le champ mandatory doit être rempli.'])
end
end
end
diff --git a/spec/services/dossiers_list_gestionnaire_service_spec.rb b/spec/services/dossiers_list_gestionnaire_service_spec.rb
index e568ae0da..d45293868 100644
--- a/spec/services/dossiers_list_gestionnaire_service_spec.rb
+++ b/spec/services/dossiers_list_gestionnaire_service_spec.rb
@@ -345,4 +345,36 @@ describe DossiersListGestionnaireService do
end
end
end
+
+ describe 'state filter methods' do
+ let!(:procedure) { create :procedure }
+ let!(:dossier) { create(:dossier, procedure: procedure, state: 'draft') }
+ let!(:dossier2) { create(:dossier, procedure: procedure, state: 'initiated') } #nouveaux
+ let!(:dossier3) { create(:dossier, procedure: procedure, state: 'initiated') } #nouveaux
+ let!(:dossier4) { create(:dossier, procedure: procedure, state: 'replied') } #en_attente
+ let!(:dossier5) { create(:dossier, procedure: procedure, state: 'updated') } #a_traiter
+ let!(:dossier6) { create(:dossier, procedure: procedure, state: 'received') } #a_instruire
+ let!(:dossier7) { create(:dossier, procedure: procedure, state: 'received') } #a_instruire
+ let!(:dossier8) { create(:dossier, procedure: procedure, state: 'closed') } #termine
+ let!(:dossier9) { create(:dossier, procedure: procedure, state: 'refused') } #termine
+ let!(:dossier10) { create(:dossier, procedure: procedure, state: 'without_continuation') } #termine
+ let!(:dossier11) { create(:dossier, procedure: procedure, state: 'closed') } #termine
+ let!(:dossier12) { create(:dossier, procedure: procedure, state: 'initiated', archived: true) } #a_traiter #archived
+ let!(:dossier13) { create(:dossier, procedure: procedure, state: 'replied', archived: true) } #en_attente #archived
+ let!(:dossier14) { create(:dossier, procedure: procedure, state: 'closed', archived: true) } #termine #archived
+
+ describe '#termine' do
+ subject { DossiersListGestionnaireService.new(gestionnaire, liste, procedure).termine }
+
+ it { expect(subject.size).to eq(4) }
+ it { expect(subject).to include(dossier8, dossier9, dossier10, dossier11) }
+ end
+
+ describe '#a_instruire' do
+ subject { DossiersListGestionnaireService.new(gestionnaire, liste, procedure).a_instruire }
+
+ it { expect(subject.size).to eq(2) }
+ it { expect(subject).to include(dossier6, dossier7) }
+ end
+ end
end
diff --git a/spec/services/notification_service_spec.rb b/spec/services/notification_service_spec.rb
index df7fe448b..6a6cc4762 100644
--- a/spec/services/notification_service_spec.rb
+++ b/spec/services/notification_service_spec.rb
@@ -22,8 +22,4 @@ describe NotificationService do
end
end
end
-
- describe 'text_for_notif' do
- pending
- end
end
diff --git a/spec/services/pieces_justificatives_service_spec.rb b/spec/services/pieces_justificatives_service_spec.rb
new file mode 100644
index 000000000..0e6704515
--- /dev/null
+++ b/spec/services/pieces_justificatives_service_spec.rb
@@ -0,0 +1,92 @@
+require 'spec_helper'
+
+describe PiecesJustificativesService do
+ let(:user) { create(:user) }
+ let(:safe_file) { true }
+
+ before :each do
+ allow(ClamavService).to receive(:safe_file?).and_return(safe_file)
+ end
+
+ let(:hash) { {} }
+ let!(:tpj_not_mandatory) do
+ TypeDePieceJustificative.create(libelle: 'not mandatory', mandatory: false)
+ end
+ let!(:tpj_mandatory) do
+ TypeDePieceJustificative.create(libelle: 'justificatif', mandatory: true)
+ end
+ let(:procedure) { Procedure.create(types_de_piece_justificative: tpjs) }
+ let(:dossier) { Dossier.create(procedure: procedure) }
+ let(:errors) { PiecesJustificativesService.upload!(dossier, user, hash) }
+ let(:tpjs) { [tpj_not_mandatory] }
+
+ describe 'self.upload!' do
+ context 'when no params are given' do
+ it { expect(errors).to eq([]) }
+ end
+
+ context 'when there is something wrong with file save' do
+ let(:hash) do
+ {
+ "piece_justificative_#{tpj_not_mandatory.id}" =>
+ double(path: '', original_filename: 'filename')
+ }
+ end
+
+ it { expect(errors).to match(["le fichier filename (not mandatory) n'a pas pu être sauvegardé"]) }
+ end
+
+ context 'when a virus is provided' do
+ let(:safe_file) { false }
+ let(:hash) do
+ {
+ "piece_justificative_#{tpj_not_mandatory.id}" =>
+ double(path: '', original_filename: 'bad_file')
+ }
+ end
+
+ it { expect(errors).to match(['bad_file : virus détecté']) }
+ end
+
+ context 'when a regular file is provided' do
+ let(:content) { double(path: '', original_filename: 'filename') }
+ let(:hash) do
+ {
+ "piece_justificative_#{tpj_not_mandatory.id}" =>
+ content
+ }
+ end
+
+ before :each do
+ expect(PiecesJustificativesService).to receive(:save_pj)
+ .with(content, dossier, tpj_not_mandatory, user)
+ .and_return(nil)
+ end
+
+ it 'is saved' do
+ expect(errors).to match([])
+ end
+ end
+ end
+
+ describe 'missing_pj_error_messages' do
+ let(:errors) { PiecesJustificativesService.missing_pj_error_messages(dossier) }
+ let(:tpjs) { [tpj_mandatory] }
+
+ context 'when no params are given' do
+ it { expect(errors).to match(['La pièce jointe justificatif doit être fournie.']) }
+ end
+
+ context 'when the piece justificative is provided' do
+ before :each do
+ # we are messing around piece_justificative
+ # because directly doubling carrierwave params seems complicated
+
+ piece_justificative_double = double(type_de_piece_justificative: tpj_mandatory)
+ expect(dossier).to receive(:pieces_justificatives).and_return([piece_justificative_double])
+ end
+
+ it { expect(errors).to match([]) }
+ end
+ end
+end
diff --git a/spec/services/render_partial_service_spec.rb b/spec/services/render_partial_service_spec.rb
index ea94d3d5a..a8eee209c 100644
--- a/spec/services/render_partial_service_spec.rb
+++ b/spec/services/render_partial_service_spec.rb
@@ -16,8 +16,4 @@ describe RenderPartialService do
it { is_expected.to eq 'layouts/left_panels/left_panel_'+controller.to_s.parameterize + '_' + method.to_s }
end
-
- describe 'left_panel_exist?' do
- pending
- end
end
diff --git a/spec/views/backoffice/dossiers/show.html.html_spec.rb b/spec/views/backoffice/dossiers/show.html.html_spec.rb
index 4003a65ef..865cb28ef 100644
--- a/spec/views/backoffice/dossiers/show.html.html_spec.rb
+++ b/spec/views/backoffice/dossiers/show.html.html_spec.rb
@@ -20,7 +20,7 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
it 'button Modifier les document est present' do
expect(rendered).not_to have_content('Modifier les documents')
- expect(rendered).not_to have_css('#UploadPJmodal')
+ expect(rendered).not_to have_css('#upload-pj-modal')
end
it 'enterprise informations are present' do
@@ -28,7 +28,7 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
end
it 'dossier informations are present' do
- expect(rendered).to have_selector('#infos_dossier')
+ expect(rendered).to have_selector('#infos-dossiers')
end
context 'edit link are present' do
diff --git a/spec/views/users/description/champs/_dossier_link.html.haml_spec.rb b/spec/views/users/description/champs/_dossier_link.html.haml_spec.rb
index a61f09532..970ab4a43 100644
--- a/spec/views/users/description/champs/_dossier_link.html.haml_spec.rb
+++ b/spec/views/users/description/champs/_dossier_link.html.haml_spec.rb
@@ -7,6 +7,14 @@ describe 'users/description/champs/dossier_link.html.haml', type: :view do
render 'users/description/champs/dossier_link.html.haml', champ: champ
end
+ context 'in all cases' do
+ let!(:champ) { create(:champ, type_de_champ: type_champ, value: nil) }
+
+ it 'should render an input for the dossier link' do
+ expect(rendered).to have_css("input[type=number][placeholder='Numéro de dossier']")
+ end
+ end
+
context 'When no dossier is provided' do
let!(:champ) { create(:champ, type_de_champ: type_champ, value: nil) }
diff --git a/spec/views/users/description/champs/_render_list_champs.html.haml_spec.rb b/spec/views/users/description/champs/_render_list_champs.html.haml_spec.rb
index 17ca6d9d3..b5a74ed58 100644
--- a/spec/views/users/description/champs/_render_list_champs.html.haml_spec.rb
+++ b/spec/views/users/description/champs/_render_list_champs.html.haml_spec.rb
@@ -33,7 +33,7 @@ describe 'users/description/champs/render_list_champs.html.haml', type: :view do
render 'users/description/champs/render_list_champs.html.haml', champs: Champ.all, order_place: 0
end
- it 'should render a number input with the right data-attribute' do
+ it 'should render the _dossier_link partial' do
expect(view).to render_template(partial: 'users/description/champs/_dossier_link',
locals: { champ: champ })
end
diff --git a/spec/views/users/recapitulatif/show.html.haml_spec.rb b/spec/views/users/recapitulatif/show.html.haml_spec.rb
index 3503fad53..ccef84120 100644
--- a/spec/views/users/recapitulatif/show.html.haml_spec.rb
+++ b/spec/views/users/recapitulatif/show.html.haml_spec.rb
@@ -17,19 +17,13 @@ describe 'users/recapitulatif/show.html.haml', type: :view do
end
it 'la section infos dossier est présente' do
- expect(rendered).to have_selector('#infos_dossier')
+ expect(rendered).to have_selector('#infos-dossiers')
end
it 'le flux de commentaire est présent' do
expect(rendered).to have_selector('#messages')
end
- it 'le numéro de dossier est présent' do
- pending 'move to test layout'
- expect(rendered).to have_selector('#dossier_id')
- expect(rendered).to have_content(dossier_id)
- end
-
describe 'les liens de modifications' do
context 'lien description' do
it 'le lien vers description est présent' do
@@ -73,7 +67,7 @@ describe 'users/recapitulatif/show.html.haml', type: :view do
it 'button Modifier les document est present' do
expect(rendered).to have_content('Modifier les documents')
- expect(rendered).to have_css('#UploadPJmodal')
+ expect(rendered).to have_css('#upload-pj-modal')
end
end
diff --git a/spec/views/users/sessions/new.html.haml_spec.rb b/spec/views/users/sessions/new.html.haml_spec.rb
index 6e1dbeec9..cc7880f45 100644
--- a/spec/views/users/sessions/new.html.haml_spec.rb
+++ b/spec/views/users/sessions/new.html.haml_spec.rb
@@ -18,8 +18,8 @@ describe 'users/sessions/new.html.haml', type: :view do
render
end
- it { expect(rendered).to have_selector('#form_login #logo_procedure') }
- it { expect(rendered).to have_selector('#form_login #titre_procedure') }
+ it { expect(rendered).to have_selector('#form-login #logo_procedure') }
+ it { expect(rendered).to have_selector('#form-login #titre-procedure') }
it { expect(rendered).to have_content(dossier.procedure.libelle) }
it { expect(rendered).to have_content(dossier.procedure.description) }
end
@@ -29,6 +29,6 @@ describe 'users/sessions/new.html.haml', type: :view do
render
end
- it { expect(rendered).to have_selector('#form_login #logo_tps') }
+ it { expect(rendered).to have_selector('#form-login #logo_tps') }
end
end
diff --git a/spec/views/users/siret/index.html.haml_spec.rb b/spec/views/users/siret/index.html.haml_spec.rb
index 49de45ecc..e489bec08 100644
--- a/spec/views/users/siret/index.html.haml_spec.rb
+++ b/spec/views/users/siret/index.html.haml_spec.rb
@@ -21,7 +21,7 @@ describe 'users/siret/index.html.haml', type: :view do
end
it 'le titre de la procédure' do
- expect(rendered).to have_selector('#titre_procedure')
+ expect(rendered).to have_selector('#titre-procedure')
end
context 'stockage de l\'ID de la procédure dans un champs hidden' do