Merge pull request #148 from sgmap/fix-133

[Fix #133] Improve the linked dossier informations displayed
This commit is contained in:
gregoirenovel 2017-04-26 16:13:31 +02:00 committed by GitHub
commit d596dbfd1b
4 changed files with 46 additions and 3 deletions

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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) }