diff --git a/Gemfile.lock b/Gemfile.lock index 0e6e5aeb8..b0ff0863a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -546,7 +546,7 @@ GEM httpclient json-jwt (>= 1.9.0) rack - rack-protection (2.0.1) + rack-protection (2.0.2) rack rack-test (1.0.0) rack (>= 1.0, < 3) @@ -684,10 +684,10 @@ GEM simple_form (4.0.0) actionpack (> 4) activemodel (> 4) - sinatra (2.0.1) + sinatra (2.0.2) mustermann (~> 1.0) rack (~> 2.0) - rack-protection (= 2.0.1) + rack-protection (= 2.0.2) tilt (~> 2.0) skylight (2.0.1) skylight-core (= 2.0.1) diff --git a/app/controllers/admin/gestionnaires_controller.rb b/app/controllers/admin/gestionnaires_controller.rb index 831dd6f38..f77c49fc0 100644 --- a/app/controllers/admin/gestionnaires_controller.rb +++ b/app/controllers/admin/gestionnaires_controller.rb @@ -52,7 +52,7 @@ class Admin::GestionnairesController < AdminController if User.exists?(email: @gestionnaire.email) GestionnaireMailer.user_to_gestionnaire(@gestionnaire.email).deliver_later else - User.create(email: email, password: password) + User.create(email: email, password: password, confirmed_at: DateTime.now) end flash.notice = 'Accompagnateur ajouté' else diff --git a/app/controllers/admin/procedures_controller.rb b/app/controllers/admin/procedures_controller.rb index 962943af1..60b0f034d 100644 --- a/app/controllers/admin/procedures_controller.rb +++ b/app/controllers/admin/procedures_controller.rb @@ -237,7 +237,7 @@ class Admin::ProceduresController < AdminController if @procedure&.locked? params.require(:procedure).permit(*editable_params) else - params.require(:procedure).permit(*editable_params, :lien_demarche, :cerfa_flag, :for_individual, :individual_with_siret, :ask_birthday, module_api_carto_attributes: [:id, :use_api_carto, :quartiers_prioritaires, :cadastre]).merge(administrateur_id: current_administrateur.id) + params.require(:procedure).permit(*editable_params, :duree_conservation_dossiers_dans_ds, :duree_conservation_dossiers_hors_ds, :lien_demarche, :cerfa_flag, :for_individual, :individual_with_siret, :ask_birthday, module_api_carto_attributes: [:id, :use_api_carto, :quartiers_prioritaires, :cadastre]).merge(administrateur_id: current_administrateur.id) end end diff --git a/app/controllers/manager/administrateurs_controller.rb b/app/controllers/manager/administrateurs_controller.rb index 0b5cb39b3..3f0a63438 100644 --- a/app/controllers/manager/administrateurs_controller.rb +++ b/app/controllers/manager/administrateurs_controller.rb @@ -14,7 +14,7 @@ module Manager end def reinvite - Administrateur.find_inactive_by_id(params[:id]).invite! + Administrateur.find_inactive_by_id(params[:id]).invite!(current_administration.id) flash.notice = "Invitation renvoyée" redirect_to manager_administrateur_path(params[:id]) end diff --git a/app/helpers/conservation_de_donnees_helper.rb b/app/helpers/conservation_de_donnees_helper.rb new file mode 100644 index 000000000..ff1d9bfc5 --- /dev/null +++ b/app/helpers/conservation_de_donnees_helper.rb @@ -0,0 +1,19 @@ +module ConservationDeDonneesHelper + def politiques_conservation_de_donnees(procedure) + [conservation_dans_ds(procedure), conservation_hors_ds(procedure)].compact + end + + private + + def conservation_dans_ds(procedure) + if procedure.duree_conservation_dossiers_dans_ds.present? + "dans demarches-simplifiees.fr #{procedure.duree_conservation_dossiers_dans_ds} mois après le début de l’instruction du dossier" + end + end + + def conservation_hors_ds(procedure) + if procedure.duree_conservation_dossiers_hors_ds.present? + "hors demarches-simplifiees.fr pendant #{procedure.duree_conservation_dossiers_hors_ds} mois" + end + end +end diff --git a/app/lib/biz_dev.rb b/app/lib/biz_dev.rb new file mode 100644 index 000000000..d4a50b4ff --- /dev/null +++ b/app/lib/biz_dev.rb @@ -0,0 +1,48 @@ +module BizDev + BIZ_DEV_MAPPING = { + 8 => + { + full_name: "Camille Garrigue", + pipedrive_id: 3189424 + }, + 9 => + { + full_name: "Philippe Vrignaud", + pipedrive_id: 2753338 + }, + 10 => + { + full_name: "Benjamin Doberset", + pipedrive_id: 4223834 + }, + 11 => + { + full_name: "Rédouane Bouchane", + pipedrive_id: 4438645 + } + } + + BIZ_DEV_IDS = BIZ_DEV_MAPPING.keys + + def self.full_name(administration_id) + id = ensure_proper_administration_id(administration_id) + + BIZ_DEV_MAPPING[id][:full_name] + end + + def self.pipedrive_id(administration_id) + id = ensure_proper_administration_id(administration_id) + + BIZ_DEV_MAPPING[id][:pipedrive_id] + end + + private + + def self.ensure_proper_administration_id(administration_id) + if administration_id.in?(BIZ_DEV_IDS) + administration_id + else + BIZ_DEV_IDS[administration_id % BIZ_DEV_IDS.length] + end + end +end diff --git a/app/mailers/administrateur_mailer.rb b/app/mailers/administrateur_mailer.rb index e102aaa1e..e41e9a88f 100644 --- a/app/mailers/administrateur_mailer.rb +++ b/app/mailers/administrateur_mailer.rb @@ -5,10 +5,10 @@ class AdministrateurMailer < ApplicationMailer @administrateur = administrateur @reset_password_token = reset_password_token @expiration_date = @administrateur.reset_password_sent_at + Devise.reset_password_within - subject = "demarches-simplifiees.fr - N'oubliez pas d'activer votre compte administrateur" + @subject = "N'oubliez pas d'activer votre compte administrateur" mail(to: administrateur.email, - subject: subject, + subject: @subject, reply_to: CONTACT_EMAIL) end end diff --git a/app/mailers/administration_mailer.rb b/app/mailers/administration_mailer.rb index 612087574..1c3442263 100644 --- a/app/mailers/administration_mailer.rb +++ b/app/mailers/administration_mailer.rb @@ -4,16 +4,17 @@ class AdministrationMailer < ApplicationMailer def new_admin_email(admin, administration) @admin = admin @administration = administration - subject = "Création d'un compte Admin demarches-simplifiees.fr" + subject = "Création d'un compte admininistrateur" mail(to: TECH_EMAIL, subject: subject) end - def invite_admin(admin, reset_password_token) + def invite_admin(admin, reset_password_token, administration_id) @reset_password_token = reset_password_token @admin = admin - subject = "demarches-simplifiees.fr - Activez votre compte administrateur" + @author_name = BizDev.full_name(administration_id) + subject = "Activez votre compte administrateur" mail(to: admin.email, subject: subject, @@ -21,7 +22,7 @@ class AdministrationMailer < ApplicationMailer end def refuse_admin(admin_email) - subject = "demarches-simplifiees.fr - Votre demande de compte a été refusée" + subject = "Votre demande de compte a été refusée" mail(to: admin_email, subject: subject, diff --git a/app/mailers/devise_user_mailer.rb b/app/mailers/devise_user_mailer.rb index 8141a48a0..ad280ed8b 100644 --- a/app/mailers/devise_user_mailer.rb +++ b/app/mailers/devise_user_mailer.rb @@ -1,6 +1,6 @@ class DeviseUserMailer < Devise::Mailer helper :application # gives access to all helpers defined within `application_helper`. include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url` - default template_path: 'devise/mailer' # to make sure that your mailer uses the devise views + default template_path: 'devise_mailer' # to make sure that your mailer uses the devise views layout 'mailers/layout' end diff --git a/app/mailers/gestionnaire_mailer.rb b/app/mailers/gestionnaire_mailer.rb index c95cbe860..230e87fb5 100644 --- a/app/mailers/gestionnaire_mailer.rb +++ b/app/mailers/gestionnaire_mailer.rb @@ -4,7 +4,7 @@ class GestionnaireMailer < ApplicationMailer def invite_gestionnaire(gestionnaire, reset_password_token) @reset_password_token = reset_password_token @gestionnaire = gestionnaire - subject = "demarches-simplifiees.fr - Activez votre compte accompagnateur" + subject = "Activez votre compte accompagnateur" mail(to: gestionnaire.email, subject: subject, @@ -12,17 +12,19 @@ class GestionnaireMailer < ApplicationMailer end def user_to_gestionnaire(email) - subject = "Vous avez été nommé accompagnateur sur demarches-simplifiees.fr" + @email = email + subject = "Vous avez été nommé accompagnateur" - send_mail(email, nil, subject) + mail(to: @email, subject: subject) end def last_week_overview(gestionnaire) + email = gestionnaire.email + @overview = gestionnaire.last_week_overview headers['X-mailjet-campaign'] = 'last_week_overview' - overview = gestionnaire.last_week_overview - subject = 'Vos activités sur demarches-simplifiees.fr' + @subject = 'Votre activité hebdomadaire' - send_mail(gestionnaire.email, overview, subject) + mail(to: email, subject: @subject) end def send_dossier(sender, dossier, recipient) @@ -32,17 +34,4 @@ class GestionnaireMailer < ApplicationMailer mail(to: recipient.email, subject: subject) end - - private - - def vars_mailer(email, args) - @args = args - @email = email - end - - def send_mail(email, args, subject) - vars_mailer email, args - - mail(to: email, subject: subject) - end end diff --git a/app/mailers/invite_mailer.rb b/app/mailers/invite_mailer.rb index 1b07d39ff..eff179b52 100644 --- a/app/mailers/invite_mailer.rb +++ b/app/mailers/invite_mailer.rb @@ -1,25 +1,24 @@ class InviteMailer < ApplicationMailer def invite_user(invite) - vars_mailer(invite) - subject = "demarches-simplifiees.fr - Participez à l'élaboration d'un dossier" + subject = "Participez à l'élaboration d'un dossier" - send_mail(invite.email, subject, invite.email_sender) if invite.user.present? + if invite.user.present? + send_mail(invite, subject, invite.email_sender) + end end def invite_guest(invite) - vars_mailer(invite) - subject = "Invitation - #{invite.email_sender} vous invite à consulter un dossier sur demarches-simplifiees.fr" + subject = "#{invite.email_sender} vous invite à consulter un dossier" - send_mail(invite.email, subject, invite.email_sender) + send_mail(invite, subject, invite.email_sender) end private - def vars_mailer(invite) + def send_mail(invite, subject, reply_to) @invite = invite - end + email = invite.email - def send_mail(email, subject, reply_to) mail(to: email, subject: subject, reply_to: reply_to) diff --git a/app/mailers/new_attestation_mailer.rb b/app/mailers/new_attestation_mailer.rb new file mode 100644 index 000000000..8a8e5edea --- /dev/null +++ b/app/mailers/new_attestation_mailer.rb @@ -0,0 +1,33 @@ +module Mailers + class NewAttestationMailer < ApplicationMailer + include Rails.application.routes.url_helpers + + def new_attestation(dossier) + to = dossier.user.email + subject = "Nouvelle attestation pour votre dossier nº #{dossier.id}" + + mail(to: to, subject: subject, body: body(dossier)) + end + + private + + def body(dossier) + <<~HEREDOC + Bonjour, + + Votre dossier nº #{dossier.id} (procédure "#{dossier.procedure.libelle}") a subi, à un moment, un "aller-retour" : + - Acceptation de votre dossier + - Passage en instruction du dossier car besoin de le modifier + - Seconde acceptation de votre dossier + + Suite à cette opération, l'attestation liée à votre dossier n'a pas été regénérée. + Ce problème est désormais reglé, votre nouvelle attestation est disponible à l'adresse suivante : + #{dossier_attestation_url(dossier)} + + Cordialement, + + L’équipe demarches-simplifiees.fr + HEREDOC + end + end +end diff --git a/app/mailers/notification_mailer.rb b/app/mailers/notification_mailer.rb index 6fc9d4dbd..74b79940b 100644 --- a/app/mailers/notification_mailer.rb +++ b/app/mailers/notification_mailer.rb @@ -1,12 +1,12 @@ class NotificationMailer < ApplicationMailer def new_answer(dossier) - subject = "Nouveau message pour votre dossier demarches-simplifiees.fr nº #{dossier.id}" + subject = "Nouveau message pour votre dossier nº #{dossier.id}" send_mail(dossier, subject) end def send_draft_notification(dossier) - subject = "Retrouvez votre brouillon pour la démarche : #{dossier.procedure.libelle}" + subject = "Retrouvez votre brouillon pour la démarche \"#{dossier.procedure.libelle}\"" send_mail(dossier, subject) end diff --git a/app/mailers/resend_attestation_mailer.rb b/app/mailers/resend_attestation_mailer.rb new file mode 100644 index 000000000..5997c12b9 --- /dev/null +++ b/app/mailers/resend_attestation_mailer.rb @@ -0,0 +1,29 @@ +module Mailers + class ResendAttestationMailer < ApplicationMailer + include Rails.application.routes.url_helpers + + def resend_attestation(dossier) + to = dossier.user.email + subject = "Nouvelle attestation pour votre dossier nº #{dossier.id}" + + mail(to: to, subject: subject, body: body(dossier)) + end + + private + + def body(dossier) + <<~HEREDOC + Bonjour, + + L'attestation de votre dossier nº #{dossier.id} (procédure "#{dossier.procedure.libelle}") a été modifiée. + + Votre nouvelle attestation est disponible à l'adresse suivante : + #{dossier_attestation_url(dossier)} + + Cordialement, + + L’équipe demarches-simplifiees.fr + HEREDOC + end + end +end diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 2f1ae9873..c0b8a7547 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -3,7 +3,7 @@ class UserMailer < ApplicationMailer def new_account_warning(user) @user = user - subject = "Création de compte" + @subject = "Demande de création de compte" mail(to: user.email, subject: subject) end diff --git a/app/models/administrateur.rb b/app/models/administrateur.rb index e4fd48ca8..37242cb4b 100644 --- a/app/models/administrateur.rb +++ b/app/models/administrateur.rb @@ -44,14 +44,14 @@ class Administrateur < ApplicationRecord end end - def invite! + def invite!(administration_id) if active? raise "Impossible d'inviter un utilisateur déjà actif !" end reset_password_token = set_reset_password_token - AdministrationMailer.invite_admin(self, reset_password_token).deliver_later + AdministrationMailer.invite_admin(self, reset_password_token, administration_id).deliver_later reset_password_token end diff --git a/app/models/administration.rb b/app/models/administration.rb index 2428749f3..ee601caa0 100644 --- a/app/models/administration.rb +++ b/app/models/administration.rb @@ -18,10 +18,11 @@ class Administration < ApplicationRecord if administrateur.save AdministrationMailer.new_admin_email(administrateur, self).deliver_later - administrateur.invite! + administrateur.invite!(id) User.create({ email: email, - password: password + password: password, + confirmed_at: DateTime.now }) end diff --git a/app/models/mails/closed_mail.rb b/app/models/mails/closed_mail.rb index a52b9e515..06449ac2c 100644 --- a/app/models/mails/closed_mail.rb +++ b/app/models/mails/closed_mail.rb @@ -12,9 +12,9 @@ module Mails def self.default_template_name_for_procedure(procedure) attestation_template = procedure.attestation_template if attestation_template&.activated? - "mails/closed_mail_with_attestation" + "notification_mailer/closed_mail_with_attestation" else - "mails/closed_mail" + "notification_mailer/closed_mail" end end end diff --git a/app/models/mails/initiated_mail.rb b/app/models/mails/initiated_mail.rb index 0bcac1da0..fda082018 100644 --- a/app/models/mails/initiated_mail.rb +++ b/app/models/mails/initiated_mail.rb @@ -5,7 +5,7 @@ module Mails belongs_to :procedure SLUG = "initiated_mail" - DEFAULT_TEMPLATE_NAME = "mails/initiated_mail" + DEFAULT_TEMPLATE_NAME = "notification_mailer/initiated_mail" DISPLAYED_NAME = 'Accusé de réception' DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a bien été reçu' DOSSIER_STATE = 'en_construction' diff --git a/app/models/mails/received_mail.rb b/app/models/mails/received_mail.rb index ca6163cbf..573e0e603 100644 --- a/app/models/mails/received_mail.rb +++ b/app/models/mails/received_mail.rb @@ -5,7 +5,7 @@ module Mails belongs_to :procedure SLUG = "received_mail" - DEFAULT_TEMPLATE_NAME = "mails/received_mail" + DEFAULT_TEMPLATE_NAME = "notification_mailer/received_mail" DISPLAYED_NAME = 'Accusé de passage en instruction' DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- va être instruit' DOSSIER_STATE = 'en_instruction' diff --git a/app/models/mails/refused_mail.rb b/app/models/mails/refused_mail.rb index aef42ee89..6e115d7b6 100644 --- a/app/models/mails/refused_mail.rb +++ b/app/models/mails/refused_mail.rb @@ -5,7 +5,7 @@ module Mails belongs_to :procedure SLUG = "refused_mail" - DEFAULT_TEMPLATE_NAME = "mails/refused_mail" + DEFAULT_TEMPLATE_NAME = "notification_mailer/refused_mail" DISPLAYED_NAME = 'Accusé de rejet du dossier' DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a été refusé' DOSSIER_STATE = 'refuse' diff --git a/app/models/mails/without_continuation_mail.rb b/app/models/mails/without_continuation_mail.rb index c7768d131..9eea33ff1 100644 --- a/app/models/mails/without_continuation_mail.rb +++ b/app/models/mails/without_continuation_mail.rb @@ -5,7 +5,7 @@ module Mails belongs_to :procedure SLUG = "without_continuation" - DEFAULT_TEMPLATE_NAME = "mails/without_continuation_mail" + DEFAULT_TEMPLATE_NAME = "notification_mailer/without_continuation_mail" DISPLAYED_NAME = 'Accusé de classement sans suite' DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a été classé sans suite' DOSSIER_STATE = 'sans_suite' diff --git a/app/models/procedure.rb b/app/models/procedure.rb index 62f7707fc..8a0e216a0 100644 --- a/app/models/procedure.rb +++ b/app/models/procedure.rb @@ -1,4 +1,6 @@ class Procedure < ApplicationRecord + MAX_DUREE_CONSERVATION = 36 + has_many :types_de_piece_justificative, -> { order "order_place ASC" }, dependent: :destroy has_many :types_de_champ, -> { public_only }, dependent: :destroy has_many :types_de_champ_private, -> { private_only }, class_name: 'TypeDeChamp', dependent: :destroy @@ -47,8 +49,14 @@ class Procedure < ApplicationRecord validates :libelle, presence: true, allow_blank: false, allow_nil: false validates :description, presence: true, allow_blank: false, allow_nil: false validate :check_juridique + # FIXME: remove duree_conservation_required flag once all procedures are converted to the new style + validates :duree_conservation_dossiers_dans_ds, allow_nil: false, numericality: { only_integer: true, greater_than_or_equal_to: 1, less_than_or_equal_to: MAX_DUREE_CONSERVATION }, if: :durees_conservation_required + validates :duree_conservation_dossiers_hors_ds, allow_nil: false, numericality: { only_integer: true, greater_than_or_equal_to: 0 }, if: :durees_conservation_required + validates :duree_conservation_dossiers_dans_ds, allow_nil: true, numericality: { only_integer: true, greater_than_or_equal_to: 1, less_than_or_equal_to: MAX_DUREE_CONSERVATION }, unless: :durees_conservation_required + validates :duree_conservation_dossiers_hors_ds, allow_nil: true, numericality: { only_integer: true, greater_than_or_equal_to: 0 }, unless: :durees_conservation_required before_save :update_juridique_required + before_save :update_durees_conservation_required include AASM @@ -376,4 +384,9 @@ class Procedure < ApplicationRecord 'column' => column } end + + def update_durees_conservation_required + self.durees_conservation_required ||= duree_conservation_dossiers_hors_ds.present? && duree_conservation_dossiers_dans_ds.present? + true + end end diff --git a/app/views/admin/procedures/_informations.html.haml b/app/views/admin/procedures/_informations.html.haml index 9187a4540..e78592f38 100644 --- a/app/views/admin/procedures/_informations.html.haml +++ b/app/views/admin/procedures/_informations.html.haml @@ -10,6 +10,15 @@ %h4 Description* = f.text_area :description, rows: '6', placeholder: 'Description du projet', class: 'form-control' +- if !@procedure.locked? + .form-group + %h4 Conservation des données + = f.label :duree_conservation_dossiers_dans_ds, "Sur demarches-simplifiees.fr* (durée en mois après le début de l’instruction)" + = f.number_field :duree_conservation_dossiers_dans_ds, class: 'form-control', placeholder: '6', required: true + + = f.label :duree_conservation_dossiers_hors_ds, "Hors demarches-simplifiees.fr* (durée en mois)" + = f.number_field :duree_conservation_dossiers_hors_ds, class: 'form-control', placeholder: '6', required: true + .form-group %h4 Lien site internet = f.text_field :lien_site_web, class: 'form-control', placeholder: 'https://www.exemple.fr/' diff --git a/app/views/admin/procedures/show.html.haml b/app/views/admin/procedures/show.html.haml index e26e40545..627515ffd 100644 --- a/app/views/admin/procedures/show.html.haml +++ b/app/views/admin/procedures/show.html.haml @@ -96,6 +96,15 @@ - procedure.types_de_piece_justificative.each do |piece_justificative| = piece_justificative.libelle %br + + - durees_de_conservation = politiques_conservation_de_donnees(procedure) + - if durees_de_conservation.present? + .row{ style: 'margin-right: 3%; margin-left: 3%;' } + .col-xs-6.col-md-3 + %h4.text-info Conservation des données + - durees_de_conservation.each do |text| + %p = text + %br %h3 = t('dynamics.admin.procedure.stats.title') diff --git a/app/views/administrateur_mailer/activate_before_expiration.haml b/app/views/administrateur_mailer/activate_before_expiration.haml index c44d0c9ff..6f60a52cc 100644 --- a/app/views/administrateur_mailer/activate_before_expiration.haml +++ b/app/views/administrateur_mailer/activate_before_expiration.haml @@ -1,17 +1,18 @@ -- content_for(:title, "N'oubliez pas d'activer votre compte") +- content_for(:title, @subject) -Bonjour, -%br -%br -Vous avez fait la demande d’un compte administrateur sur demarches-simplifiees.fr. -Votre compte a été créé mais reste inactif, il arrivera à expiration le #{@expiration_date.strftime("%d/%m/%Y")} -%br -%br -Afin d’activer votre compte, veuillez cliquer sur le lien ci-dessous : -= link_to(admin_activate_url(token: @reset_password_token), admin_activate_url(token: @reset_password_token)) -%br -%br -Nous restons à votre disposition si vous avez besoin d’accompagnement. -%br -%br -= render partial: "layouts/mailers/bizdev_signature" +%p + Bonjour, + +%p + Vous avez fait la demande d’un compte administrateur sur demarches-simplifiees.fr. + Votre compte a été créé mais reste inactif, il arrivera à expiration le #{@expiration_date.strftime("%d/%m/%Y")} + +%p + Afin d’activer votre compte, veuillez cliquer sur le lien ci-dessous : + = link_to(admin_activate_url(token: @reset_password_token), admin_activate_url(token: @reset_password_token)) + +%p + Nous restons à votre disposition si vous avez besoin d’accompagnement. + +%p + = render partial: "layouts/mailers/bizdev_signature", locals: { author_name: "Camille Garrigue" } diff --git a/app/views/administration_mailer/invite_admin.html.haml b/app/views/administration_mailer/invite_admin.html.haml index 49be915cd..1b0c515cf 100644 --- a/app/views/administration_mailer/invite_admin.html.haml +++ b/app/views/administration_mailer/invite_admin.html.haml @@ -1,22 +1,23 @@ - content_for(:title, 'Activation du compte administrateur') -Bonjour, -%br -%br -Je vous remercie de l’intérêt que vous portez à notre outil de dématérialisation de démarches. -%br -%br -Votre compte administrateur a été créé pour l'adresse email #{@admin.email}. Pour l’activer, je vous invite à cliquer sur le lien suivant : -= link_to(admin_activate_url(token: @reset_password_token), admin_activate_url(token: @reset_password_token)) -%br -%br -Afin de vous accompagner dans la découverte de demarches-simplifiees.fr, je vous propose de m’appeler pour faire un point sur vos besoins de dématérialisation. -%br -Vous pouvez me joindre au numéro suivant : 01 76 42 02 87. -%br -%br -Je vous invite également à consulter notre site de documentation qui regroupe l'ensemble des informations relatives à demarches-simplifiees.fr ainsi que des tutoriels d’utilisation : -= link_to(DOC_URL, DOC_URL) -%br -%br -= render partial: "layouts/mailers/bizdev_signature" +%p + Bonjour, + +%p + Je vous remercie de l’intérêt que vous portez à notre outil de dématérialisation de démarches. + +%p + Votre compte administrateur a été créé pour l'adresse email #{@admin.email}. Pour l’activer, je vous invite à cliquer sur le lien suivant : + = link_to(admin_activate_url(token: @reset_password_token), admin_activate_url(token: @reset_password_token)) + +%p + Afin de vous accompagner dans la découverte de demarches-simplifiees.fr, je vous propose de m’appeler pour faire un point sur vos besoins de dématérialisation. + %br + Vous pouvez me joindre au numéro suivant : 01 76 42 02 87. + +%p + Je vous invite également à consulter notre site de documentation qui regroupe l'ensemble des informations relatives à demarches-simplifiees.fr ainsi que des tutoriels d’utilisation : + = link_to(DOC_URL, DOC_URL) + +%p + = render partial: "layouts/mailers/bizdev_signature", locals: { author_name: @author_name } diff --git a/app/views/administration_mailer/new_admin_email.html.haml b/app/views/administration_mailer/new_admin_email.html.haml new file mode 100644 index 000000000..e3203d8e0 --- /dev/null +++ b/app/views/administration_mailer/new_admin_email.html.haml @@ -0,0 +1,21 @@ +%p + Un nouvel administrateur a été créé sur demarches-simplifiees.fr. + +%ul + %li + Plateforme : + = root_url + + %li + Email : + = @admin.email + + %li + Créateur : + = @administration.email + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/administration_mailer/new_admin_email.text.erb b/app/views/administration_mailer/new_admin_email.text.erb deleted file mode 100644 index 5aa89977d..000000000 --- a/app/views/administration_mailer/new_admin_email.text.erb +++ /dev/null @@ -1,11 +0,0 @@ -Un nouvel administrateur a été créé sur demarches-simplifiees.fr. - -Plateforme : <%= root_url %> - -Login : <%= @admin.email %> - -Créateur : <%= @administration.email %> - -Bonne journée, - -L'équipe demarches-simplifiees.fr diff --git a/app/views/administration_mailer/refuse_admin.html.haml b/app/views/administration_mailer/refuse_admin.html.haml index f68e5220d..7e3fc8475 100644 --- a/app/views/administration_mailer/refuse_admin.html.haml +++ b/app/views/administration_mailer/refuse_admin.html.haml @@ -1,17 +1,19 @@ - content_for(:title, 'Demande de création de compte refusée') -Bonjour, -%br -%br -Les comptes administrateurs sont destinés aux administrations publiques souhaitant mettre en place des démarches dématérialisées avec demarches-simplifiees.fr. Il ne semble pas que ce soit votre cas. -%br -%br -Pour les usagers qui souhaitent remplir une démarche, l’entrée dans demarches-simplifiees.fr se fait via un lien fourni par l’administration responsable, sur son propre site web. Ce lien vous permettra de créer un compte et de remplir le formulaire dans la foulée. -%br -%br -Si par contre vous rencontrez des problèmes lors de l'utilisation de demarches-simplifiees.fr en tant qu'usager, merci d'expliciter le problème rencontré. -%br -%br -Cordialement, -%br -L'équipe demarches-simplifiees.fr +%p + Bonjour, + +%p + Les comptes administrateurs sont destinés aux administrations publiques souhaitant mettre en place des démarches dématérialisées avec demarches-simplifiees.fr. Il ne semble pas que ce soit votre cas. + +%p + Pour les usagers qui souhaitent remplir une démarche, l’entrée dans demarches-simplifiees.fr se fait via un lien fourni par l’administration responsable, sur son propre site web. Ce lien vous permettra de créer un compte et de remplir le formulaire dans la foulée. + +%p + Si par contre vous rencontrez des problèmes lors de l'utilisation de demarches-simplifiees.fr en tant qu'usager, merci d'expliciter le problème rencontré. + +%p + Cordialement, + +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/avis_mailer/avis_invitation.html.haml b/app/views/avis_mailer/avis_invitation.html.haml index bc8d5ab2f..6bb33dba4 100644 --- a/app/views/avis_mailer/avis_invitation.html.haml +++ b/app/views/avis_mailer/avis_invitation.html.haml @@ -1,28 +1,29 @@ -%html - %body - %p - Bonjour, - %br - = "Vous avez été invité par #{@avis.claimant.email} à donner votre avis sur le dossier nº #{@avis.dossier.id} de la procédure : #{@avis.dossier.procedure.libelle}." - %br - Message de votre interlocuteur : +%p + Bonjour, - %p{ style: 'border: 1px solid grey' } - = @avis.introduction +%p + = "Vous avez été invité par #{@avis.claimant.email} à donner votre avis sur le dossier nº #{@avis.dossier.id} de la procédure \"#{@avis.dossier.procedure.libelle}\"." - - if @avis.gestionnaire.present? - %p - = link_to "Connectez-vous pour donner votre avis", gestionnaire_dossier_url(@avis.dossier.procedure, @avis.dossier) - - else - %p - = link_to "Inscrivez-vous pour donner votre avis", sign_up_gestionnaire_avis_url(@avis.id, @avis.email) +%p + Message de votre interlocuteur : + %br + %span{ style: 'font-style: italic;' } + = @avis.introduction - Bonne journée, - %br - %br - L'équipe demarches-simplifiees.fr - %br - %br - %hr - %br - Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. +- if @avis.gestionnaire.present? + %p + = link_to "Connectez-vous pour donner votre avis", gestionnaire_dossier_url(@avis.dossier.procedure, @avis.dossier) +- else + %p + = link_to "Inscrivez-vous pour donner votre avis", sign_up_gestionnaire_avis_url(@avis.id, @avis.email) + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr + +%hr + +%p + Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/devise/mailer/reset_password_instructions.html.erb b/app/views/devise/mailer/reset_password_instructions.html.erb deleted file mode 100644 index b9a92f9a2..000000000 --- a/app/views/devise/mailer/reset_password_instructions.html.erb +++ /dev/null @@ -1,11 +0,0 @@ -

Bonjour,

- -

Vous avez demandé à regénérer votre mot de passe sur demarches-simplifiees.fr. Pour ceci, merci de suivre le lien suivant :

- -

<%= link_to 'Changer mon mot de passe', edit_password_url(@resource, reset_password_token: @token) %> - <%= edit_password_url(@resource, reset_password_token: @token) %>

- -

Si vous n'avez pas effectué une telle demande, merci d'ignorer ce mail. Votre mot de passe ne sera pas changé.

- -

Bonne journée,

- -

L'équipe demarches-simplifiees.fr

diff --git a/app/views/devise/mailer/confirmation_instructions.html.haml b/app/views/devise_mailer/confirmation_instructions.html.haml similarity index 74% rename from app/views/devise/mailer/confirmation_instructions.html.haml rename to app/views/devise_mailer/confirmation_instructions.html.haml index afb564825..b3d5a08e3 100644 --- a/app/views/devise/mailer/confirmation_instructions.html.haml +++ b/app/views/devise_mailer/confirmation_instructions.html.haml @@ -1,10 +1,14 @@ - content_for(:title, 'Activez votre compte') -%p Bonjour #{@user.email}, +%p + Bonjour #{@user.email}, %p Pour activer votre compte sur demarches-simplifiees.fr, veuillez cliquer sur le lien suivant : = link_to(confirmation_url(@user, confirmation_token: @token), confirmation_url(@user, confirmation_token: @token)) -%p Bonne journée, -%p L'équipe demarches-simplifiees.fr +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/devise_mailer/reset_password_instructions.html.haml b/app/views/devise_mailer/reset_password_instructions.html.haml new file mode 100644 index 000000000..20cfbe0ee --- /dev/null +++ b/app/views/devise_mailer/reset_password_instructions.html.haml @@ -0,0 +1,16 @@ +%p + Bonjour, + +%p + Vous avez demandé à regénérer votre mot de passe sur demarches-simplifiees.fr. Pour ceci, merci de suivre le lien suivant : + %br + = link_to edit_password_url(@resource, reset_password_token: @token), edit_password_url(@resource, reset_password_token: @token) + +%p + Si vous n'avez pas effectué une telle demande, merci d'ignorer ce mail. Votre mot de passe ne sera pas changé. + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/dossier_mailer/notify_deletion_to_administration.html.haml b/app/views/dossier_mailer/notify_deletion_to_administration.html.haml index dc2705328..d187708cf 100644 --- a/app/views/dossier_mailer/notify_deletion_to_administration.html.haml +++ b/app/views/dossier_mailer/notify_deletion_to_administration.html.haml @@ -4,8 +4,9 @@ %p À la demande de l'usager le dossier n° #{@deleted_dossier.dossier_id} a été supprimé. -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/dossier_mailer/notify_deletion_to_user.html.haml b/app/views/dossier_mailer/notify_deletion_to_user.html.haml index 12845ce61..de9882264 100644 --- a/app/views/dossier_mailer/notify_deletion_to_user.html.haml +++ b/app/views/dossier_mailer/notify_deletion_to_user.html.haml @@ -5,8 +5,9 @@ %p Votre dossier n° #{@deleted_dossier.dossier_id} a bien été supprimé. Une trace anonyme de ce traitement sera conservée pour l’administration. -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/dossiers/_commentaires_files.html.haml b/app/views/dossiers/_commentaires_files.html.haml deleted file mode 100644 index f8414e4db..000000000 --- a/app/views/dossiers/_commentaires_files.html.haml +++ /dev/null @@ -1,22 +0,0 @@ -%h3 Fichiers des commentaires - -%br -- if @facade.commentaires_files.size > 0 - %table.table - %thead - %th.col-md-3.col-sm-3.col-xs-3 - Email - %th.col-md-2.col-sm-2.col-xs-2 - Date - %th.col-md-6.col-sm-6.col-xs-6 - Fichier - - - - @facade.commentaires_files.each do |file| - %tr - %td= file.user.nil? ? 'Accompagnateur' : file.user.email - %td= file.created_at.localtime - %td= link_to file.original_filename, file.content_url, style: 'color: green;', target: '_blank' -- else - %h4.text-primary - Pas de fichier dans le flux de commentaires. diff --git a/app/views/gestionnaire_mailer/invite_gestionnaire.html.haml b/app/views/gestionnaire_mailer/invite_gestionnaire.html.haml index 56d39d440..f8d4f77df 100644 --- a/app/views/gestionnaire_mailer/invite_gestionnaire.html.haml +++ b/app/views/gestionnaire_mailer/invite_gestionnaire.html.haml @@ -1,19 +1,21 @@ - content_for(:title, 'Activation de votre compte accompagnateur') -Bonjour, -%br -%br -Vous venez d'être nommé accompagnateur sur demarches-simplifiees.fr. -%br -Votre compte a été créé pour l'adresse email #{@gestionnaire.email}. Pour l’activer, je vous invite à cliquer sur le lien suivant :  -= link_to(gestionnaire_activate_url(token: @reset_password_token), gestionnaire_activate_url(token: @reset_password_token)) -%br -%br -Par ailleurs, notre site de documentation qui regroupe l'ensemble des informations relatives à demarches-simplifiees.fr ainsi que des tutoriels d’utilisation est à votre disposition :  -= link_to(DOC_URL, DOC_URL) -%br -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr +%p + Bonjour, + +%p + Vous venez d'être nommé accompagnateur sur demarches-simplifiees.fr. + +%p + Votre compte a été créé pour l'adresse email #{@gestionnaire.email}. Pour l’activer, je vous invite à cliquer sur le lien suivant :  + = link_to(gestionnaire_activate_url(token: @reset_password_token), gestionnaire_activate_url(token: @reset_password_token)) + +%p + Par ailleurs, notre site de documentation qui regroupe l'ensemble des informations relatives à demarches-simplifiees.fr ainsi que des tutoriels d’utilisation est à votre disposition :  + = link_to(DOC_URL, DOC_URL) + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/gestionnaire_mailer/last_week_overview.html.haml b/app/views/gestionnaire_mailer/last_week_overview.html.haml index 8b1b3c5d9..b564beb86 100644 --- a/app/views/gestionnaire_mailer/last_week_overview.html.haml +++ b/app/views/gestionnaire_mailer/last_week_overview.html.haml @@ -1,6 +1,6 @@ -- content_for(:title, 'Vos activités sur demarches-simplifiees.fr') +- content_for(:title, @subject) -- @args[:procedure_overviews].each_with_index do |procedure_overview, index| +- @overview[:procedure_overviews].each_with_index do |procedure_overview, index| %h2{ style: 'font-size: 20px; font-weight: 300; margin: 25px 0 5px;' } #{procedure_overview.procedure.libelle} @@ -42,5 +42,5 @@ - end.join(', ') = sanitize(old_dossiers_en_instruction, attributes: %w(href style)) - - if index != (@args[:procedure_overviews].count - 1) + - if index != (@overview[:procedure_overviews].count - 1) .spacer{ style: 'border-bottom: 1px solid #CCC; margin: 25px 0 30px;' } diff --git a/app/views/gestionnaire_mailer/send_dossier.text.erb b/app/views/gestionnaire_mailer/send_dossier.html.haml similarity index 70% rename from app/views/gestionnaire_mailer/send_dossier.text.erb rename to app/views/gestionnaire_mailer/send_dossier.html.haml index 74ffc71fa..a99d26064 100644 --- a/app/views/gestionnaire_mailer/send_dossier.text.erb +++ b/app/views/gestionnaire_mailer/send_dossier.html.haml @@ -1,9 +1,13 @@ -Bonjour, +%p + Bonjour, +%p <%= @sender.email %> vous a envoyé le dossier nº <%= @dossier.id %>, cliquez sur le lien ci-dessous pour y accéder : <%= gestionnaire_dossier_url(@dossier.procedure, @dossier) %> -Bonne journée, +%p + Bonne journée, -L'équipe demarches-simplifiees.fr +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/invite_mailer/invite_guest.html.haml b/app/views/invite_mailer/invite_guest.html.haml new file mode 100644 index 000000000..2bd76f10d --- /dev/null +++ b/app/views/invite_mailer/invite_guest.html.haml @@ -0,0 +1,22 @@ +%p + Bonjour, + +%p + L'utilisateur + = @invite.email_sender + souhaite que vous participiez à l'élaboration d'un dossier sur demarches-simplifiees.fr. + +%p + Cette plateforme permet à ses utilisateurs d'établir des dossiers 100 % en ligne et de dialoguer avec plusieurs interlocuteurs privilégiés avant d'instruire un dépot. + +%p + Afin de répondre à cette invitation, merci de vous inscrire avec l'adresse email + = @invite.email + sur + = "#{users_dossiers_invite_url(@invite.id)}?email=#{@invite.email}" + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/invite_mailer/invite_guest.text.erb b/app/views/invite_mailer/invite_guest.text.erb deleted file mode 100644 index 40e89a3e6..000000000 --- a/app/views/invite_mailer/invite_guest.text.erb +++ /dev/null @@ -1,11 +0,0 @@ -Bonjour, - -L'utilisateur <%= @invite.email_sender %> souhaite que vous participiez à l'élaboration d'un dossier sur demarches-simplifiees.fr. - -Cette plateforme permet à ses utilisateurs d'établir des dossiers 100 % en ligne et de dialoguer avec plusieurs interlocuteurs privilégiés avant d'instruire un dépot. - -Afin de répondre à cette invitation, merci de vous inscrire avec l'adresse email <%= @invite.email %> sur <%= users_dossiers_invite_url(@invite.id)+"?email=#{@invite.email}" %>. - -Bonne journée, - -L'équipe demarches-simplifiees.fr diff --git a/app/views/invite_mailer/invite_user.html.haml b/app/views/invite_mailer/invite_user.html.haml new file mode 100644 index 000000000..ebfdb9f8a --- /dev/null +++ b/app/views/invite_mailer/invite_user.html.haml @@ -0,0 +1,17 @@ +%p + Bonjour, + +%p + L'utilisateur + = @invite.email_sender + souhaite que vous participiez à l'élaboration d'un dossier sur demarches-simplifiees.fr. + +%p + Pour le consulter, merci de suivre ce lien : + = users_dossiers_invite_url(@invite.id) + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr diff --git a/app/views/invite_mailer/invite_user.text.erb b/app/views/invite_mailer/invite_user.text.erb deleted file mode 100644 index 1e606f854..000000000 --- a/app/views/invite_mailer/invite_user.text.erb +++ /dev/null @@ -1,9 +0,0 @@ -Bonjour, - -L'utilisateur <%= @invite.email_sender %> souhaite que vous participiez à l'élaboration d'un dossier sur demarches-simplifiees.fr. - -Pour le consulter, merci de suivre ce lien : <%= users_dossiers_invite_url(@invite.id) %> - -Bonne journée, - -L'équipe demarches-simplifiees.fr diff --git a/app/views/layouts/mailer.text.haml b/app/views/layouts/mailer.text.haml deleted file mode 100644 index 0a90f092c..000000000 --- a/app/views/layouts/mailer.text.haml +++ /dev/null @@ -1 +0,0 @@ -= yield diff --git a/app/views/layouts/mailers/_bizdev_signature.html.haml b/app/views/layouts/mailers/_bizdev_signature.html.haml index d9f078730..adff09cbb 100644 --- a/app/views/layouts/mailers/_bizdev_signature.html.haml +++ b/app/views/layouts/mailers/_bizdev_signature.html.haml @@ -1,7 +1,7 @@ Cordialement, %br %br -Camille Garrigue += author_name %br %br Équipe demarches-simplifiees.fr diff --git a/app/views/mails/closed_mail.html.haml b/app/views/mails/closed_mail.html.haml deleted file mode 100644 index d1d76739a..000000000 --- a/app/views/mails/closed_mail.html.haml +++ /dev/null @@ -1,19 +0,0 @@ -Bonjour, -%br -%br -Votre dossier nº --numéro du dossier-- a été accepté le --date de décision--. -%br -%br -A tout moment, vous pouvez consulter le contenu de vos dossiers et les éventuels commentaires de l'administration à cette adresse : --lien dossier-- -%br -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr -%br -%br -— -%br -%br -Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/mails/closed_mail_with_attestation.html.haml b/app/views/mails/closed_mail_with_attestation.html.haml deleted file mode 100644 index 069fb6e77..000000000 --- a/app/views/mails/closed_mail_with_attestation.html.haml +++ /dev/null @@ -1,22 +0,0 @@ -Bonjour, -%br -%br -Votre dossier nº --numéro du dossier-- a été accepté le --date de décision--. -%br -%br -Vous pouvez télécharger votre attestation à l'adresse suivante : --lien attestation-- -%br -%br -A tout moment, vous pouvez consulter le contenu de vos dossiers et les éventuels commentaires de l'administration à cette adresse : --lien dossier-- -%br -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées) -%br -%br -— -%br -%br -Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/mails/initiated_mail.html.haml b/app/views/mails/initiated_mail.html.haml deleted file mode 100644 index 3317332d5..000000000 --- a/app/views/mails/initiated_mail.html.haml +++ /dev/null @@ -1,19 +0,0 @@ -Bonjour, -%br -%br -Votre administration vous confirme la bonne réception de votre dossier nº --numéro du 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-- -%br -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr -%br -%br -— -%br -%br -Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/mails/received_mail.html.haml b/app/views/mails/received_mail.html.haml deleted file mode 100644 index ad4bdaf7b..000000000 --- a/app/views/mails/received_mail.html.haml +++ /dev/null @@ -1,16 +0,0 @@ -Bonjour, -%br -%br -Votre administration vous confirme la bonne réception de votre dossier nº --numéro du dossier--. Celui-ci sera instruit dans le délai légal déclaré par votre interlocuteur. -%br -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr -%br -%br -— -%br -%br -Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/mails/refused_mail.html.haml b/app/views/mails/refused_mail.html.haml deleted file mode 100644 index 0a113bacd..000000000 --- a/app/views/mails/refused_mail.html.haml +++ /dev/null @@ -1,19 +0,0 @@ -Bonjour, -%br -%br -Votre dossier nº --numéro du dossier-- a été refusé le --date de décision--. -%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-- -%br -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr -%br -%br -— -%br -%br -Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/mails/without_continuation_mail.html.haml b/app/views/mails/without_continuation_mail.html.haml deleted file mode 100644 index f13daa524..000000000 --- a/app/views/mails/without_continuation_mail.html.haml +++ /dev/null @@ -1,19 +0,0 @@ -Bonjour, -%br -%br -Votre dossier nº --numéro du dossier-- a été classé sans suite le --date de décision--. -%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-- -%br -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr -%br -%br -— -%br -%br -Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/notification_mailer/closed_mail.html.haml b/app/views/notification_mailer/closed_mail.html.haml new file mode 100644 index 000000000..9f4d08fc3 --- /dev/null +++ b/app/views/notification_mailer/closed_mail.html.haml @@ -0,0 +1,20 @@ +%p + Bonjour, + +%p + Votre dossier nº --numéro du dossier-- a été accepté le --date de décision--. + +%p + À tout moment, vous pouvez consulter votre dossier et les éventuels messages de l'administration à cette adresse : --lien dossier-- + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr + +%p + — + +%p + Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/notification_mailer/closed_mail_with_attestation.html.haml b/app/views/notification_mailer/closed_mail_with_attestation.html.haml new file mode 100644 index 000000000..2cec1ca59 --- /dev/null +++ b/app/views/notification_mailer/closed_mail_with_attestation.html.haml @@ -0,0 +1,23 @@ +%p + Bonjour, + +%p + Votre dossier nº --numéro du dossier-- a été accepté le --date de décision--. + +%p + Vous pouvez télécharger votre attestation à l'adresse suivante : --lien attestation-- + +%p + À tout moment, vous pouvez consulter votre dossier et les éventuels messages de l'administration à cette adresse : --lien dossier-- + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées) + +%p + — + +%p + Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/notification_mailer/initiated_mail.html.haml b/app/views/notification_mailer/initiated_mail.html.haml new file mode 100644 index 000000000..3d80a35bd --- /dev/null +++ b/app/views/notification_mailer/initiated_mail.html.haml @@ -0,0 +1,20 @@ +%p + Bonjour, + +%p + Votre administration vous confirme la bonne réception de votre dossier nº --numéro du dossier--. + +%p + À tout moment, vous pouvez consulter votre dossier et les éventuels messages de l'administration à cette adresse : --lien dossier-- + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr + +%p + — + +%p + Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/notification_mailer/new_answer.html.haml b/app/views/notification_mailer/new_answer.html.haml new file mode 100644 index 000000000..b1356e35c --- /dev/null +++ b/app/views/notification_mailer/new_answer.html.haml @@ -0,0 +1,21 @@ +%p + Bonjour, + +%p + Un nouveau message est disponible dans votre espace demarches-simplifiees.fr. + +%p + Pour le consulter, merci de vous rendre sur + = users_dossier_recapitulatif_url(dossier_id: @dossier.id) + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr + +%p + — + +%p + Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/notification_mailer/new_answer.text.erb b/app/views/notification_mailer/new_answer.text.erb deleted file mode 100644 index 5494f79c3..000000000 --- a/app/views/notification_mailer/new_answer.text.erb +++ /dev/null @@ -1,13 +0,0 @@ -Bonjour, - -Un nouveau message est disponible dans votre espace demarches-simplifiees.fr. - -Pour le consulter, merci de vous rendre sur <%=users_dossier_recapitulatif_url(dossier_id: @dossier.id)%> - -Bonne journée, - -L'équipe demarches-simplifiees.fr - -— - -Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/notification_mailer/received_mail.html.haml b/app/views/notification_mailer/received_mail.html.haml new file mode 100644 index 000000000..b6c43df50 --- /dev/null +++ b/app/views/notification_mailer/received_mail.html.haml @@ -0,0 +1,17 @@ +%p + Bonjour, + +%p + Votre administration vous confirme la bonne réception de votre dossier nº --numéro du dossier--. Celui-ci sera instruit dans le délai légal déclaré par votre interlocuteur. + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr + +%p + — + +%p + Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/notification_mailer/refused_mail.html.haml b/app/views/notification_mailer/refused_mail.html.haml new file mode 100644 index 000000000..dc198cead --- /dev/null +++ b/app/views/notification_mailer/refused_mail.html.haml @@ -0,0 +1,20 @@ +%p + Bonjour, + +%p + Votre dossier nº --numéro du dossier-- a été refusé le --date de décision--. + +%p + Pour en savoir plus sur le motif du refus, vous pouvez consulter votre dossier et les éventuels messages de l'administration à cette adresse : --lien dossier-- + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr + +%p + — + +%p + Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/notification_mailer/send_draft_notification.html.haml b/app/views/notification_mailer/send_draft_notification.html.haml index eeb5106ff..8ac77d5e0 100644 --- a/app/views/notification_mailer/send_draft_notification.html.haml +++ b/app/views/notification_mailer/send_draft_notification.html.haml @@ -1,19 +1,20 @@ -Bonjour, -%br -%br -Vous pouvez retrouver et compléter le brouillon que vous avez créé pour la démarche -%strong= @dossier.procedure.libelle -à l'adresse suivante : -= link_to users_dossiers_url(liste: 'brouillon'), users_dossiers_url(liste: 'brouillon'), target: '_blank' -%br -%br -Bonne journée, -%br -%br -L'équipe demarches-simplifiees.fr -%br -%br -— -%br -%br -Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. +%p + Bonjour, + +%p + Vous pouvez retrouver et compléter le brouillon que vous avez créé pour la démarche + %strong= @dossier.procedure.libelle + à l'adresse suivante : + = link_to users_dossiers_url(liste: 'brouillon'), users_dossiers_url(liste: 'brouillon'), target: '_blank' + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr + +%p + — + +%p + Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/notification_mailer/without_continuation_mail.html.haml b/app/views/notification_mailer/without_continuation_mail.html.haml new file mode 100644 index 000000000..ac98bc1a0 --- /dev/null +++ b/app/views/notification_mailer/without_continuation_mail.html.haml @@ -0,0 +1,20 @@ +%p + Bonjour, + +%p + Votre dossier nº --numéro du dossier-- a été classé sans suite le --date de décision--. + +%p + Pour en savoir plus sur les raisons de ce classement sans suite, vous pouvez consulter votre dossier et les éventuels messages de l'administration à cette adresse : --lien dossier-- + +%p + Bonne journée, + +%p + L'équipe demarches-simplifiees.fr + +%p + — + +%p + Merci de ne pas répondre à cet email. Postez directement vos questions dans votre dossier sur la plateforme. diff --git a/app/views/user_mailer/new_account_warning.html.haml b/app/views/user_mailer/new_account_warning.html.haml index 3127c3674..7efe59ab1 100644 --- a/app/views/user_mailer/new_account_warning.html.haml +++ b/app/views/user_mailer/new_account_warning.html.haml @@ -1,12 +1,16 @@ -- content_for(:title, 'Demande de création de compte') +- content_for(:title, @subject) %h1 Bonjour -%p Une demande de création de compte a été réalisée sur le site demarches-simplifiees.fr pour l'email #{@user.email}. +%p + Une demande de création de compte a été réalisée sur le site demarches-simplifiees.fr pour l'email #{@user.email}. + %p Votre compte existe déjà. Si vous souhaitez changer votre mot de passe, veuillez suivre les instructions à l'adresse suivante #{link_to(new_password_url(@user), new_password_url(@user))}. -%p Si vous n'êtes pas à l'origine de cette demande, vous pouvez ignorer ce mail. + +%p + Si vous n'êtes pas à l'origine de cette demande, vous pouvez ignorer ce mail. %p Cordialement, diff --git a/app/views/users/mailer/confirmation_instructions.html.erb b/app/views/users/mailer/confirmation_instructions.html.erb deleted file mode 100644 index dc55f64f6..000000000 --- a/app/views/users/mailer/confirmation_instructions.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

Welcome <%= @email %>!

- -

You can confirm your account email through the link below:

- -

<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %>

diff --git a/app/views/users/mailer/reset_password_instructions.html.erb b/app/views/users/mailer/reset_password_instructions.html.erb deleted file mode 100644 index f667dc12f..000000000 --- a/app/views/users/mailer/reset_password_instructions.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -

Hello <%= @resource.email %>!

- -

Someone has requested a link to change your password. You can do this through the link below.

- -

<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

- -

If you didn't request this, please ignore this email.

-

Your password won't change until you access the link above and create a new one.

diff --git a/app/views/users/mailer/unlock_instructions.html.erb b/app/views/users/mailer/unlock_instructions.html.erb deleted file mode 100644 index 41e148bf2..000000000 --- a/app/views/users/mailer/unlock_instructions.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -

Hello <%= @resource.email %>!

- -

Your account has been locked due to an excessive number of unsuccessful sign in attempts.

- -

Click the link below to unlock your account:

- -

<%= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token) %>

diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 3a2805004..5dede0967 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -88,6 +88,7 @@ fr: errors: messages: blank: "doit être rempli" + not_a_number: 'doit être un nombre' models: attestation_template: attributes: @@ -108,25 +109,20 @@ fr: email: invalid: invalide taken: déjà utilisé - blank: est vide password: too_short: ': Le mot de passe est trop court' - blank: ': Le mot de passe est vide' password_confirmation: confirmation: ': Les deux mots de passe ne correspondent pas' invite: attributes: email: - blank: est vide taken: ': Invitation déjà envoyée' gestionnaire: attributes: email: invalid: invalide taken: déjà utilisé - blank: est vide password: - blank: ': Le mot de passe est vide' too_short: ': Le mot de passe est trop court' devise: diff --git a/config/locales/models/procedure/fr.yml b/config/locales/models/procedure/fr.yml index ef28b30a9..9f6898e1d 100644 --- a/config/locales/models/procedure/fr.yml +++ b/config/locales/models/procedure/fr.yml @@ -3,17 +3,5 @@ fr: attributes: procedure: organisation: Organisme - errors: - models: - procedure: - attributes: - libelle: - blank: Attribut manquant - description: - blank: Attribut manquant - lien_demarche: - blank: Attribut manquant - organisation: - blank: Attribut manquant - 'cadre_juridique': - blank: Attribut manquant + duree_conservation_dossiers_dans_ds: Durée de conservation des dossiers sur demarches-simplifiees.fr + duree_conservation_dossiers_hors_ds: Durée de conservation des dossiers hors demarches-simplifiees.fr diff --git a/db/migrate/20180524201142_add_durees_conservation_required_to_procedure.rb b/db/migrate/20180524201142_add_durees_conservation_required_to_procedure.rb new file mode 100644 index 000000000..b63975aba --- /dev/null +++ b/db/migrate/20180524201142_add_durees_conservation_required_to_procedure.rb @@ -0,0 +1,5 @@ +class AddDureesConservationRequiredToProcedure < ActiveRecord::Migration[5.2] + def change + add_column :procedures, :durees_conservation_required, :boolean, default: true + end +end diff --git a/db/schema.rb b/db/schema.rb index 60d35fb86..e2471ac7a 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -483,6 +483,7 @@ ActiveRecord::Schema.define(version: 2018_06_01_084546) do t.integer "duree_conservation_dossiers_hors_ds" t.string "cadre_juridique" t.boolean "juridique_required", default: true + t.boolean "durees_conservation_required", default: true t.index ["hidden_at"], name: "index_procedures_on_hidden_at" t.index ["parent_procedure_id"], name: "index_procedures_on_parent_procedure_id" t.index ["service_id"], name: "index_procedures_on_service_id" diff --git a/lib/tasks/2018_05_24_optional_durees_conservation_for_legacy_procedures.rake b/lib/tasks/2018_05_24_optional_durees_conservation_for_legacy_procedures.rake new file mode 100644 index 000000000..a997e4458 --- /dev/null +++ b/lib/tasks/2018_05_24_optional_durees_conservation_for_legacy_procedures.rake @@ -0,0 +1,5 @@ +namespace :'2018_05_24_optional_durees_conservation_for_legacy_procedures' do + task set: :environment do + Procedure.all.update_all(durees_conservation_required: false) + end +end diff --git a/lib/tasks/2018_06_05_resend_attestations.rb b/lib/tasks/2018_06_05_resend_attestations.rb new file mode 100644 index 000000000..37f56b0b6 --- /dev/null +++ b/lib/tasks/2018_06_05_resend_attestations.rb @@ -0,0 +1,18 @@ +namespace :'2018_06_05_resend_attestation' do + task set: :environment do + procedure = Procedure.find(4247) + dossiers = procedure.dossiers.includes(:attestation).where(state: 'accepte').select do |d| + d.processed_at < procedure.attestation_template.updated_at + end + + dossiers.each do |dossier| + attestation = dossier.attestation + attestation.destroy + + dossier.attestation = dossier.build_attestation + + Mailers::ResendAttestationMailer.resend_attestation(dossier).deliver_later + puts "Email envoyé à #{email} pour le dossier #{dossier.id}" + end + end +end diff --git a/lib/tasks/2018_06_05_send_new_attestations.rake b/lib/tasks/2018_06_05_send_new_attestations.rake new file mode 100644 index 000000000..da3be3539 --- /dev/null +++ b/lib/tasks/2018_06_05_send_new_attestations.rake @@ -0,0 +1,44 @@ +namespace :'2018_06_05_send_new_attestation' do + task set: :environment do + ids = [ + 20982, + 21262, + 54914, + 59769, + 63747, + 59520, + 21496, + 13386, + 13371, + 14585, + 15307, + 17212, + 16037, + 60403, + 60400, + 20534, + 60123, + 16361, + 16359, + 57147, + 51979, + 49632, + 48628, + 48624, + 22077, + 41103 + ] + + dossiers = ids.map { |id| Dossier.Dossier.find_by(id: id) }.compact + + dossiers.each do |dossier| + attestation = dossier.attestation + attestation.destroy + + dossier.attestation = dossier.build_attestation + + Mailers::NewAttestationMailer.new_attestation(dossier).deliver_later + puts "Email envoyé à #{email} pour le dossier #{dossier.id}" + end + end +end diff --git a/spec/controllers/admin/procedures_controller_spec.rb b/spec/controllers/admin/procedures_controller_spec.rb index 900f5eaf2..58b11f98f 100644 --- a/spec/controllers/admin/procedures_controller_spec.rb +++ b/spec/controllers/admin/procedures_controller_spec.rb @@ -16,6 +16,8 @@ describe Admin::ProceduresController, type: :controller do let(:cadastre) { '0' } let(:cerfa_flag) { true } let(:cadre_juridique) { 'cadre juridique' } + let(:duree_conservation_dossiers_dans_ds) { 3 } + let(:duree_conservation_dossiers_hors_ds) { 6 } let(:procedure_params) { { @@ -26,6 +28,8 @@ describe Admin::ProceduresController, type: :controller do lien_demarche: lien_demarche, cerfa_flag: cerfa_flag, cadre_juridique: cadre_juridique, + duree_conservation_dossiers_dans_ds: duree_conservation_dossiers_dans_ds, + duree_conservation_dossiers_hors_ds: duree_conservation_dossiers_hors_ds, module_api_carto_attributes: { use_api_carto: use_api_carto, quartiers_prioritaires: quartiers_prioritaires, @@ -196,6 +200,8 @@ describe Admin::ProceduresController, type: :controller do it { expect(subject.direction).to eq(direction) } it { expect(subject.lien_demarche).to eq(lien_demarche) } it { expect(subject.administrateur_id).to eq(admin.id) } + it { expect(subject.duree_conservation_dossiers_dans_ds).to eq(duree_conservation_dossiers_dans_ds) } + it { expect(subject.duree_conservation_dossiers_hors_ds).to eq(duree_conservation_dossiers_hors_ds) } end describe 'procedure module api carto attributs in database' do @@ -267,6 +273,8 @@ describe Admin::ProceduresController, type: :controller do let(:lien_demarche) { 'http://plip.com' } let(:use_api_carto) { '1' } let(:cadastre) { '1' } + let(:duree_conservation_dossiers_dans_ds) { 7 } + let(:duree_conservation_dossiers_hors_ds) { 5 } describe 'procedure attributs in database' do subject { procedure } @@ -276,6 +284,8 @@ describe Admin::ProceduresController, type: :controller do it { expect(subject.organisation).to eq(organisation) } it { expect(subject.direction).to eq(direction) } it { expect(subject.lien_demarche).to eq(lien_demarche) } + it { expect(subject.duree_conservation_dossiers_dans_ds).to eq(duree_conservation_dossiers_dans_ds) } + it { expect(subject.duree_conservation_dossiers_hors_ds).to eq(duree_conservation_dossiers_hors_ds) } end describe 'procedure module api carto attributs in database' do diff --git a/spec/controllers/new_gestionnaire/avis_controller_spec.rb b/spec/controllers/new_gestionnaire/avis_controller_spec.rb index 1e429cc2a..cb7a76d54 100644 --- a/spec/controllers/new_gestionnaire/avis_controller_spec.rb +++ b/spec/controllers/new_gestionnaire/avis_controller_spec.rb @@ -276,7 +276,7 @@ describe NewGestionnaire::AvisController, type: :controller do it { expect(created_gestionnaire).to be_nil } it { is_expected.to redirect_to sign_up_gestionnaire_avis_path(avis_id, invited_email) } - it { expect(flash.alert).to eq(['Password : Le mot de passe est vide']) } + it { expect(flash.alert).to eq(['Password doit être rempli']) } end end end diff --git a/spec/factories/procedure.rb b/spec/factories/procedure.rb index 2ef30a635..b24fb1563 100644 --- a/spec/factories/procedure.rb +++ b/spec/factories/procedure.rb @@ -10,6 +10,8 @@ FactoryBot.define do published_at nil cerfa_flag false administrateur { create(:administrateur) } + duree_conservation_dossiers_dans_ds 3 + duree_conservation_dossiers_hors_ds 6 after(:build) do |procedure, _evaluator| if procedure.module_api_carto.nil? diff --git a/spec/features/admin/procedure_cloning_spec.rb b/spec/features/admin/procedure_cloning_spec.rb index bfa32d8c1..d085edd19 100644 --- a/spec/features/admin/procedure_cloning_spec.rb +++ b/spec/features/admin/procedure_cloning_spec.rb @@ -1,6 +1,9 @@ require 'spec_helper' +require 'features/admin/procedure_spec_helper' feature 'As an administrateur I wanna clone a procedure', js: true do + include ProcedureSpecHelper + let(:administrateur) { create(:administrateur) } before do @@ -12,9 +15,7 @@ feature 'As an administrateur I wanna clone a procedure', js: true do before 'Create procedure' do page.find_by_id('new-procedure').click page.find_by_id('from-scratch').click - fill_in 'procedure_libelle', with: 'libelle de la procedure' - page.execute_script("$('#procedure_description').val('description de la procedure')") - fill_in 'procedure_cadre_juridique', with: 'cadre juridique' + fill_in_dummy_procedure_details page.find_by_id('save-procedure').click end diff --git a/spec/features/admin/procedure_creation_spec.rb b/spec/features/admin/procedure_creation_spec.rb index 9528b1cd0..8845175bd 100644 --- a/spec/features/admin/procedure_creation_spec.rb +++ b/spec/features/admin/procedure_creation_spec.rb @@ -1,6 +1,9 @@ require 'spec_helper' +require 'features/admin/procedure_spec_helper' feature 'As an administrateur I wanna create a new procedure', js: true do + include ProcedureSpecHelper + let(:administrateur) { create(:administrateur) } before do @@ -35,11 +38,11 @@ feature 'As an administrateur I wanna create a new procedure', js: true do scenario 'Finding save button for new procedure, libelle, description and cadre_juridique required' do page.find_by_id('new-procedure').click page.find_by_id('from-scratch').click + fill_in 'procedure_duree_conservation_dossiers_dans_ds', with: '3' + fill_in 'procedure_duree_conservation_dossiers_hors_ds', with: '6' page.find_by_id('save-procedure').click page.find_by_id('flash_message').visible? - fill_in 'procedure_libelle', with: 'libelle de la procedure' - page.execute_script("$('#procedure_description').val('description de la procedure')") - fill_in 'procedure_cadre_juridique', with: 'cadre juridique' + fill_in_dummy_procedure_details page.find_by_id('save-procedure').click expect(page).to have_current_path(admin_procedure_types_de_champ_path(Procedure.first.id.to_s)) end @@ -49,9 +52,7 @@ feature 'As an administrateur I wanna create a new procedure', js: true do before 'Create procedure' do page.find_by_id('new-procedure').click page.find_by_id('from-scratch').click - fill_in 'procedure_libelle', with: 'libelle de la procedure' - page.execute_script("$('#procedure_description').val('description de la procedure')") - fill_in 'procedure_cadre_juridique', with: 'cadre juridique' + fill_in_dummy_procedure_details page.find_by_id('save-procedure').click procedure = Procedure.last diff --git a/spec/features/admin/procedure_spec_helper.rb b/spec/features/admin/procedure_spec_helper.rb new file mode 100644 index 000000000..78b9035f5 --- /dev/null +++ b/spec/features/admin/procedure_spec_helper.rb @@ -0,0 +1,9 @@ +module ProcedureSpecHelper + def fill_in_dummy_procedure_details + fill_in 'procedure_libelle', with: 'libelle de la procedure' + page.execute_script("$('#procedure_description').val('description de la procedure')") + fill_in 'procedure_cadre_juridique', with: 'cadre juridique' + fill_in 'procedure_duree_conservation_dossiers_dans_ds', with: '3' + fill_in 'procedure_duree_conservation_dossiers_hors_ds', with: '6' + end +end diff --git a/spec/helpers/conservation_de_donnees_helper_spec.rb b/spec/helpers/conservation_de_donnees_helper_spec.rb new file mode 100644 index 000000000..5303ffc1e --- /dev/null +++ b/spec/helpers/conservation_de_donnees_helper_spec.rb @@ -0,0 +1,37 @@ +require 'rails_helper' + +RSpec.describe ConservationDeDonneesHelper, type: :helper do + let(:procedure) { build(:procedure, duree_conservation_dossiers_dans_ds: dans_ds, duree_conservation_dossiers_hors_ds: hors_ds) } + + describe "politiques_conservation_de_donnees" do + subject { politiques_conservation_de_donnees(procedure) } + + context "when both retention times are set" do + let(:dans_ds) { 3 } + let(:hors_ds) { 6 } + + it { is_expected.to eq([ "dans demarches-simplifiees.fr 3 mois après le début de l’instruction du dossier", "hors demarches-simplifiees.fr pendant 6 mois" ]) } + end + + context "when only in-app retention time is set" do + let(:dans_ds) { 3 } + let(:hors_ds) { nil } + + it { is_expected.to eq([ "dans demarches-simplifiees.fr 3 mois après le début de l’instruction du dossier" ]) } + end + + context "when only out of app retention time is set" do + let(:dans_ds) { nil } + let(:hors_ds) { 6 } + + it { is_expected.to eq([ "hors demarches-simplifiees.fr pendant 6 mois" ]) } + end + + context "when the retention time is not set" do + let(:dans_ds) { nil } + let(:hors_ds) { nil } + + it { is_expected.to be_empty } + end + end +end diff --git a/spec/lib/biz_dev_spec.rb b/spec/lib/biz_dev_spec.rb new file mode 100644 index 000000000..e5a59ba5e --- /dev/null +++ b/spec/lib/biz_dev_spec.rb @@ -0,0 +1,40 @@ +require 'spec_helper' + +describe BizDev, lib: true do + let(:first_biz_dev_id) { BizDev::BIZ_DEV_IDS.first } + let(:non_biz_dev_id) { first_biz_dev_id - 1 } + + it { expect(BizDev::BIZ_DEV_MAPPING).not_to include(non_biz_dev_id) } + + describe '#full_name' do + subject { described_class.full_name(administration_id) } + + context 'when administration is a business developer' do + let(:administration_id) { first_biz_dev_id } + + it { is_expected.not_to be_empty } + end + + context 'when administration is not a business developer' do + let(:administration_id) { non_biz_dev_id } + + it { is_expected.not_to be_empty } + end + end + + describe '#pipedrive_id' do + subject { described_class.pipedrive_id(administration_id) } + + context 'when administration is a business developer' do + let(:administration_id) { first_biz_dev_id } + + it { is_expected.to be > 0 } + end + + context 'when administration is not a business developer' do + let(:administration_id) { non_biz_dev_id } + + it { is_expected.to be > 0 } + end + end +end diff --git a/spec/mailers/administration_mailer_spec.rb b/spec/mailers/administration_mailer_spec.rb new file mode 100644 index 000000000..cae8ceb43 --- /dev/null +++ b/spec/mailers/administration_mailer_spec.rb @@ -0,0 +1,36 @@ +RSpec.describe AdministrationMailer, type: :mailer do + describe '#new_admin_email' do + let(:admin) { create(:administrateur) } + let(:administration) { create(:administration) } + + subject { described_class.new_admin_email(admin, administration) } + + it { expect(subject.subject).not_to be_empty } + end + + describe '#invite_admin' do + let(:admin) { create(:administrateur) } + let(:token) { "Toc toc toc" } + let(:administration_id) { BizDev::BIZ_DEV_IDS.first } + + subject { described_class.invite_admin(admin, token, administration_id) } + + it { expect(subject.subject).not_to be_empty } + end + + describe '#refuse_amin' do + let(:mail) { "l33t-4dm1n@h4x0r.com" } + + subject { described_class.refuse_admin(mail) } + + it { expect(subject.subject).not_to be_empty } + end + + describe '#dubious_procedures' do + let(:procedures_and_type_de_champs) { [] } + + subject { described_class.dubious_procedures(procedures_and_type_de_champs) } + + it { expect(subject.subject).not_to be_empty } + end +end diff --git a/spec/mailers/avis_mailer_spec.rb b/spec/mailers/avis_mailer_spec.rb index 0d9820d32..69e12687f 100644 --- a/spec/mailers/avis_mailer_spec.rb +++ b/spec/mailers/avis_mailer_spec.rb @@ -7,7 +7,7 @@ RSpec.describe AvisMailer, type: :mailer do subject { described_class.avis_invitation(avis) } it { expect(subject.subject).to eq("Donnez votre avis sur le dossier nº #{avis.dossier.id} (#{avis.dossier.procedure.libelle})") } - it { expect(subject.body).to include("Vous avez été invité par #{avis.claimant.email} à donner votre avis sur le dossier nº #{avis.dossier.id} de la procédure : #{avis.dossier.procedure.libelle}.") } + it { expect(subject.body).to include("Vous avez été invité par #{avis.claimant.email} à donner votre avis sur le dossier nº #{avis.dossier.id} de la procédure "#{avis.dossier.procedure.libelle}".") } it { expect(subject.body).to include(avis.introduction) } end end diff --git a/spec/mailers/gestionnaire_mailer_spec.rb b/spec/mailers/gestionnaire_mailer_spec.rb index 1a55cf8c1..de9c17589 100644 --- a/spec/mailers/gestionnaire_mailer_spec.rb +++ b/spec/mailers/gestionnaire_mailer_spec.rb @@ -34,6 +34,6 @@ RSpec.describe GestionnaireMailer, type: :mailer do subject { described_class.last_week_overview(gestionnaire) } - it { expect(subject.body).to include('Vos activités') } + it { expect(subject.body).to include('Votre activité hebdomadaire') } end end diff --git a/spec/mailers/notification_mailer_spec.rb b/spec/mailers/notification_mailer_spec.rb index 37a579fa7..bd8d96902 100644 --- a/spec/mailers/notification_mailer_spec.rb +++ b/spec/mailers/notification_mailer_spec.rb @@ -57,7 +57,7 @@ RSpec.describe NotificationMailer, type: :mailer do subject(:subject) { described_class.new_answer(dossier) } it { expect(subject.body).to match('Un nouveau message est disponible dans votre espace demarches-simplifiees.fr.') } - 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 demarches-simplifiees.fr nº #{dossier.id}") } + it { expect(subject.body).to include(users_dossier_recapitulatif_url(dossier_id: dossier.id)) } + it { expect(subject.subject).to eq("Nouveau message pour votre dossier nº #{dossier.id}") } end end diff --git a/spec/mailers/previews/administration_mailer_preview.rb b/spec/mailers/previews/administration_mailer_preview.rb index a74761967..7e5633c31 100644 --- a/spec/mailers/previews/administration_mailer_preview.rb +++ b/spec/mailers/previews/administration_mailer_preview.rb @@ -8,7 +8,7 @@ class AdministrationMailerPreview < ActionMailer::Preview end def invite_admin - AdministrationMailer.invite_admin(Administrateur.last, "12345678") + AdministrationMailer.invite_admin(Administrateur.last, "12345678", 0) end def refuse_admin diff --git a/spec/models/administrateur_spec.rb b/spec/models/administrateur_spec.rb index cba312218..46eb0d920 100644 --- a/spec/models/administrateur_spec.rb +++ b/spec/models/administrateur_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' describe Administrateur, type: :model do + let(:administration) { create(:administration) } + describe 'assocations' do it { is_expected.to have_and_belong_to_many(:gestionnaires) } it { is_expected.to have_many(:procedures) } @@ -53,14 +55,14 @@ describe Administrateur, type: :model do describe '#find_inactive_by_token' do let(:administrateur) { create(:administration).invite_admin('paul@tps.fr') } - let(:reset_password_token) { administrateur.invite! } + let(:reset_password_token) { administrateur.invite!(administration.id) } it { expect(Administrateur.find_inactive_by_token(reset_password_token)).not_to be_nil } end describe '#reset_password' do let(:administrateur) { create(:administration).invite_admin('paul@tps.fr') } - let(:reset_password_token) { administrateur.invite! } + let(:reset_password_token) { administrateur.invite!(administration.id) } it { expect(Administrateur.reset_password(reset_password_token, '12345678').errors).to be_empty } it { expect(Administrateur.reset_password('123', '12345678').errors).not_to be_empty } diff --git a/spec/models/dossier_spec.rb b/spec/models/dossier_spec.rb index dac882796..f2d774417 100644 --- a/spec/models/dossier_spec.rb +++ b/spec/models/dossier_spec.rb @@ -591,7 +591,7 @@ describe Dossier do end.to change(ActionMailer::Base.deliveries, :size).from(0).to(1) mail = ActionMailer::Base.deliveries.last - expect(mail.subject).to eq("Retrouvez votre brouillon pour la démarche : #{procedure.libelle}") + expect(mail.subject).to eq("Retrouvez votre brouillon pour la démarche \"#{procedure.libelle}\"") end it "does not send an email when the dossier is created with a non brouillon state" do diff --git a/spec/models/invite_spec.rb b/spec/models/invite_spec.rb index 38799c399..66eb762b6 100644 --- a/spec/models/invite_spec.rb +++ b/spec/models/invite_spec.rb @@ -41,7 +41,7 @@ describe Invite do it do expect(invite.save).to be false - expect(invite.errors.full_messages).to eq(["Email est vide"]) + expect(invite.errors.full_messages).to eq(["Email doit être rempli"]) end end end diff --git a/spec/models/procedure_spec.rb b/spec/models/procedure_spec.rb index c09e823c1..7ff08b45c 100644 --- a/spec/models/procedure_spec.rb +++ b/spec/models/procedure_spec.rb @@ -199,6 +199,63 @@ describe Procedure do it { expect(procedure.valid?).to eq(true) } end + + shared_examples 'duree de conservation' do + context 'duree_conservation_required it true, the field gets validated' do + before { subject.durees_conservation_required = true } + + it { is_expected.not_to allow_value(nil).for(field_name) } + it { is_expected.not_to allow_value('').for(field_name) } + it { is_expected.not_to allow_value('trois').for(field_name) } + it { is_expected.to allow_value(3).for(field_name) } + end + + context 'duree_conservation_required is false, the field doesn’t get validated' do + before { subject.durees_conservation_required = false } + + it { is_expected.to allow_value(nil).for(field_name) } + it { is_expected.to allow_value('').for(field_name) } + it { is_expected.not_to allow_value('trois').for(field_name) } + it { is_expected.to allow_value(3).for(field_name) } + end + end + + describe 'duree de conservation dans ds' do + let(:field_name) { :duree_conservation_dossiers_dans_ds } + + it_behaves_like 'duree de conservation' + end + + describe 'duree de conservation hors ds' do + let(:field_name) { :duree_conservation_dossiers_hors_ds } + + it_behaves_like 'duree de conservation' + end + end + + describe '#duree_de_conservation_required' do + it 'automatically jumps to true once both durees de conservation have been set' do + p = build( + :procedure, + durees_conservation_required: false, + duree_conservation_dossiers_dans_ds: nil, + duree_conservation_dossiers_hors_ds: nil + ) + p.save + expect(p.durees_conservation_required).to be_falsey + + p.duree_conservation_dossiers_hors_ds = 3 + p.save + expect(p.durees_conservation_required).to be_falsey + + p.duree_conservation_dossiers_dans_ds = 6 + p.save + expect(p.durees_conservation_required).to be_truthy + + p.duree_conservation_dossiers_dans_ds = nil + p.save + expect(p.durees_conservation_required).to be_truthy + end end describe '#types_de_champ_ordered' do