diff --git a/app/models/dossier.rb b/app/models/dossier.rb index f98e4e4c9..17c7bf03e 100644 --- a/app/models/dossier.rb +++ b/app/models/dossier.rb @@ -278,6 +278,28 @@ class Dossier < ActiveRecord::Base !(procedure.archived && draft?) end + def text_summary + if brouillon? + parts = [ + "Dossier en brouillon répondant à la démarche ", + procedure.libelle, + ", gérée par l'organisme ", + procedure.organisation + ] + else + parts = [ + "Dossier déposé le ", + initiated_at.strftime("%d/%m/%Y"), + ", sur la démarche ", + procedure.libelle, + ", gérée par l'organisme ", + procedure.organisation + ] + end + + parts.join + end + private def update_state_dates diff --git a/app/views/dossiers/_infos_dossier.html.haml b/app/views/dossiers/_infos_dossier.html.haml index dedbd8acf..15a1aa744 100644 --- a/app/views/dossiers/_infos_dossier.html.haml +++ b/app/views/dossiers/_infos_dossier.html.haml @@ -41,7 +41,9 @@ - if champ.type_champ == 'dossier_link' - dossier = Dossier.includes(:procedure).find_by(id: champ.decorate.value) - if dossier - = link_to(dossier.procedure.libelle, backoffice_dossier_path(champ.decorate.value), target: '_blank') + = link_to("Dossier #{dossier.id}", backoffice_dossier_path(champ.decorate.value), target: '_blank') + %br + = dossier.text_summary - else Pas de dossier associé - else diff --git a/spec/features/users/dossier_edition_spec.rb b/spec/features/users/dossier_edition_spec.rb index e66483d67..5aca700d9 100644 --- a/spec/features/users/dossier_edition_spec.rb +++ b/spec/features/users/dossier_edition_spec.rb @@ -37,8 +37,7 @@ feature 'As a User I want to edit a dossier I own' do # Linked Dossier linked_dossier_id = dossier.champs.find { |c| c.type_de_champ.type_champ == 'dossier_link' }.value - linked_dossier = Dossier.find(linked_dossier_id) - expect(page).to have_link(linked_dossier.procedure.libelle) + 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) diff --git a/spec/models/dossier_spec.rb b/spec/models/dossier_spec.rb index ba1dcef8d..576949f7b 100644 --- a/spec/models/dossier_spec.rb +++ b/spec/models/dossier_spec.rb @@ -809,6 +809,26 @@ describe Dossier do end end + describe "#text_summary" do + let(:procedure) { create(:procedure, libelle: "Démarche", organisation: "Organisation") } + + 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.text_summary } + + 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 + + context 'when the dossier has not been initiated' do + let(:dossier) { create :dossier, procedure: procedure, state: 'draft' } + + subject { dossier.text_summary } + + it { is_expected.to eq("Dossier en brouillon répondant à la démarche Démarche, gérée par l'organisme Organisation") } + end + end + describe '#update_state_dates' do let(:state) { 'draft' } let(:dossier) { create(:dossier, state: state) }