REFACTOR : remove column 'montant_projet', 'montant_aide_demande', 'date_previsionnelle', 'position_lat', 'position_lon' et 'ref_dossier_cart' of dossier table

This commit is contained in:
Xavier J 2015-11-02 18:56:41 +01:00
parent 8db705ec94
commit 2050465a75
15 changed files with 87 additions and 240 deletions

View file

@ -12,13 +12,13 @@ class Users::CarteController < UsersController
dossier = current_user_dossier
if dossier.draft?
dossier.update_attributes(ref_dossier_carto: params[:ref_dossier])
#dossier.update_attributes(ref_dossier_carto: params[:ref_dossier])
redirect_to url_for(controller: :description, action: :show, dossier_id: params[:dossier_id])
else
commentaire_params = {
email: 'Modification localisation',
body: 'La localisation de la demande a été modifiée. Merci de le prendre en compte.',
dossier_id: dossier.id
email: 'Modification localisation',
body: 'La localisation de la demande a été modifiée. Merci de le prendre en compte.',
dossier_id: dossier.id
}
commentaire = Commentaire.new commentaire_params
commentaire.save
@ -28,18 +28,12 @@ class Users::CarteController < UsersController
end
def get_position
dossier = current_user_dossier
tmp_position = Carto::Geocodeur.convert_adresse_to_point(current_user_dossier.etablissement.adresse.gsub("\r\n", ' '))
if dossier.position_lat.nil?
tmp_position = Carto::Geocodeur.convert_adresse_to_point(dossier.etablissement.adresse.gsub("\r\n", ' '))
if tmp_position.point.nil?
dossier.update_attributes(position_lat: '0', position_lon: '0')
else
dossier.update_attributes(position_lat: tmp_position.point.y, position_lon: tmp_position.point.x)
end
if !tmp_position.point.nil?
render json: {lon: tmp_position.point.x.to_s, lat: tmp_position.point.y.to_s, dossier_id: params[:dossier_id]}
else
render json: {lon: '0', lat: '0', dossier_id: params[:dossier_id]}
end
render json: { lon: dossier.position_lon, lat: dossier.position_lat, dossier_id: params[:dossier_id] }
end
end

View file

@ -56,6 +56,6 @@ class Users::DescriptionController < UsersController
private
def create_params
params.permit(:nom_projet, :description, :montant_projet, :montant_aide_demande, :date_previsionnelle)
params.permit(:nom_projet, :description)
end
end

View file

@ -25,9 +25,6 @@ class Dossier < ActiveRecord::Base
validates :nom_projet, presence: true, allow_blank: false, allow_nil: true
validates :description, presence: true, allow_blank: false, allow_nil: true
validates :montant_projet, presence: true, allow_blank: false, allow_nil: true
validates :montant_aide_demande, presence: true, allow_blank: false, allow_nil: true
validates :date_previsionnelle, presence: true, allow_blank: false, unless: Proc.new { description.nil? }
validates :user, presence: true
def retrieve_piece_justificative_by_type(type)

View file

@ -7,24 +7,6 @@
= @dossier.nom_projet
%br
%div.row
.col-lg-6.col-md-6
%h4 Montant total
%p{style:'margin-left:5%'}
=number_to_currency(@dossier.montant_projet.to_f, :unit => " ", :separator => ",", :delimiter => " ")
!='&euro;'
.col-lg-6.col-md-6
%h4 Début du projet souhaité
%p{style:'margin-left:5%'}
= @dossier.date_fr
%div.row
.col-lg-6.col-md-6
%h4 Montant souhaité
%p{style:'margin-left:5%'}
=number_to_currency(@dossier.montant_aide_demande.to_f, :unit => " ", :separator => ",", :delimiter => " ")
!='&euro;'
%br
.description
- begin
- @dossier.description.split(/(?:\n\r?|\r\n?')/).each do |line|

View file

@ -14,23 +14,6 @@
.col-md-12
%h4 Description de votre projet *
= text_area_tag :description, @dossier.description, rows: '6', placeholder: 'Description du projet', class: 'form-control'
%br
.row
.col-lg-6.col-md-6
%h4 Montant du projet *
= number_field_tag :montant_projet, @dossier.montant_projet, class: 'form-control', placeholder: 'Montant du projet'
!= '&euro;'
.col-lg-6.col-md-6
%h4 Montant des aides que vous sollicitez *
= number_field_tag :montant_aide_demande, @dossier.montant_aide_demande, class: 'form-control', placeholder: 'Montant des aides'
!='&euro;'
%br
.row
.col-lg-6.col-md-6
%h4 Date prévisionnelle du début de votre projet *
= text_field_tag :date_previsionnelle, @dossier.date_previsionnelle, placeholder: 'Date prévisionnelle', class: 'form-control', 'data-provide' => 'datepicker', 'data-date-format' => 'dd/mm/yyyy'
%br
%h3 Documents administratifs

View file

@ -0,0 +1,12 @@
class DeleteAttributsToDossier < ActiveRecord::Migration
def change
remove_column :dossiers, :montant_projet
remove_column :dossiers, :montant_aide_demande
remove_column :dossiers, :date_previsionnelle
remove_column :dossiers, :position_lat
remove_column :dossiers, :position_lon
remove_column :dossiers, :ref_dossier_carto
end
end

View file

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20151102143908) do
ActiveRecord::Schema.define(version: 20151102163051) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -54,14 +54,8 @@ ActiveRecord::Schema.define(version: 20151102143908) do
create_table "dossiers", force: :cascade do |t|
t.string "description"
t.boolean "autorisation_donnees"
t.string "position_lat"
t.string "position_lon"
t.string "ref_dossier_carto"
t.string "nom_projet"
t.string "montant_projet"
t.string "montant_aide_demande"
t.integer "procedure_id"
t.date "date_previsionnelle"
t.datetime "created_at", default: '2015-09-22 09:25:29'
t.datetime "updated_at", default: '2015-09-22 09:25:29'
t.string "state"

View file

@ -8,7 +8,6 @@ RSpec.describe Users::CarteController, type: :controller do
let!(:etablissement) { create(:etablissement, dossier: dossier) }
let(:dossier_id) { dossier.id }
let(:bad_dossier_id) { Dossier.count + 1000 }
let(:ref_dossier_carto) { 'IATRQPQY' }
let(:adresse) { etablissement.adresse }
before do
@ -43,15 +42,15 @@ RSpec.describe Users::CarteController, type: :controller do
describe 'POST #save_ref_api_carto' do
context 'Aucune localisation n\'a jamais été enregistrée' do
it do
post :save_ref_api_carto, dossier_id: dossier_id, ref_dossier_carto: ref_dossier_carto
post :save_ref_api_carto, dossier_id: dossier_id
expect(response).to redirect_to("/users/dossiers/#{dossier_id}/description")
end
end
context 'En train de modifier la localisation' do
let(:dossier) { create(:dossier, :with_procedure, :with_user, ref_dossier_carto: ref_dossier_carto, state: 'initiated') }
let(:dossier) { create(:dossier, :with_procedure, :with_user, state: 'initiated') }
before do
post :save_ref_api_carto, dossier_id: dossier_id, ref_dossier_carto: ref_dossier_carto
post :save_ref_api_carto, dossier_id: dossier_id
end
context 'Enregistrement d\'un commentaire informant la modification' do
@ -86,11 +85,11 @@ RSpec.describe Users::CarteController, type: :controller do
get :get_position, dossier_id: dossier.id
end
subject { dossier.reload }
subject { JSON.parse(response.body) }
it 'on enregistre des coordonnées lat et lon à 0' do
expect(subject.position_lat).to eq('0')
expect(subject.position_lon).to eq('0')
expect(subject['lat']).to eq('0')
expect(subject['lon']).to eq('0')
end
end

View file

@ -39,9 +39,6 @@ describe Users::DescriptionController, type: :controller do
let(:timestamp) { Time.now }
let(:nom_projet) { 'Projet de test' }
let(:description) { 'Description de test Coucou, je suis un saut à la ligne Je suis un double saut la ligne.' }
let(:montant_projet) { 12_000 }
let(:montant_aide_demande) { 3000 }
let(:date_previsionnelle) { '20/01/2016' }
let(:name_piece_justificative) { 'dossierPDF.pdf' }
let(:name_piece_justificative_0) { 'piece_justificative_0.pdf' }
@ -56,7 +53,7 @@ describe Users::DescriptionController, type: :controller do
describe 'Premier enregistrement des données' do
before do
dossier.draft!
post :create, dossier_id: dossier_id, nom_projet: nom_projet, description: description, montant_projet: montant_projet, montant_aide_demande: montant_aide_demande, date_previsionnelle: date_previsionnelle
post :create, dossier_id: dossier_id, nom_projet: nom_projet, description: description
dossier.reload
end
@ -73,7 +70,7 @@ describe Users::DescriptionController, type: :controller do
context 'En train de manipuler un dossier non brouillon' do
before do
dossier.initiated!
post :create, dossier_id: dossier_id, nom_projet: nom_projet, description: description, montant_projet: montant_projet, montant_aide_demande: montant_aide_demande, date_previsionnelle: date_previsionnelle
post :create, dossier_id: dossier_id, nom_projet: nom_projet, description: description
dossier.reload
end
@ -108,10 +105,7 @@ describe Users::DescriptionController, type: :controller do
post :create,
dossier_id: dossier_id,
nom_projet: nom_projet,
description: description,
montant_projet: montant_projet,
montant_aide_demande: montant_aide_demande,
date_previsionnelle: date_previsionnelle
description: description
}
before { subject }
@ -126,34 +120,13 @@ describe Users::DescriptionController, type: :controller do
it { is_expected.to render_template(:show) }
it { expect(flash[:alert]).to be_present }
end
context 'montant_projet empty' do
let(:montant_projet) { '' }
it { is_expected.to render_template(:show) }
it { expect(flash[:alert]).to be_present }
end
context 'montant_aide_demande empty' do
let(:montant_aide_demande) { '' }
it { is_expected.to render_template(:show) }
it { expect(flash[:alert]).to be_present }
end
context 'date_previsionnelle empty' do
let(:date_previsionnelle) { '' }
it { is_expected.to render_template(:show) }
it { expect(flash[:alert]).to be_present }
end
end
end
context 'Sauvegarde du CERFA PDF' do
before do
post :create, dossier_id: dossier_id,
nom_projet: nom_projet,
description: description,
montant_projet: montant_projet,
montant_aide_demande: montant_aide_demande,
date_previsionnelle: date_previsionnelle,
cerfa_pdf: cerfa_pdf
dossier.reload
end
@ -171,7 +144,7 @@ describe Users::DescriptionController, type: :controller do
context 'les anciens CERFA PDF sont écrasées à chaque fois' do
it 'il n\'y a qu\'un CERFA PDF par dossier' do
post :create, dossier_id: dossier_id, nom_projet: nom_projet, description: description, montant_projet: montant_projet, montant_aide_demande: montant_aide_demande, date_previsionnelle: date_previsionnelle, cerfa_pdf: cerfa_pdf
post :create, dossier_id: dossier_id, nom_projet: nom_projet, description: description, cerfa_pdf: cerfa_pdf
cerfa = PieceJustificative.where(type_de_piece_justificative_id: '0', dossier_id: dossier_id)
expect(cerfa.many?).to eq(false)
end
@ -188,9 +161,6 @@ describe Users::DescriptionController, type: :controller do
post :create, {dossier_id: dossier_id,
nom_projet: nom_projet,
description: description,
montant_projet: montant_projet,
montant_aide_demande: montant_aide_demande,
date_previsionnelle: date_previsionnelle,
'piece_justificative_'+all_pj_type[0].to_s => piece_justificative_0,
'piece_justificative_'+all_pj_type[1].to_s => piece_justificative_1}
dossier.reload

View file

@ -1,25 +0,0 @@
require 'spec_helper'
feature 'On the description page' do
let!(:dossier) { create(:dossier, :with_entreprise, :with_procedure, :with_user) }
before do
visit users_dossier_description_path dossier
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
scenario 'date_previsionnelle field is present' do
expect(page).to have_css('#date_previsionnelle')
end
context 'when user clic on date_previsionnelle field', js: true do
before do
find_by_id('date_previsionnelle').click
end
scenario 'the datepicker popup is displayed' do
expect(page).to have_css('.datepicker-days')
end
end
end

View file

@ -18,9 +18,6 @@ feature 'user is on description page' do
before do
find_by_id('nom_projet').set 'mon nom'
find_by_id('description').set 'ma description'
find_by_id('montant_projet').set 10_000
find_by_id('montant_aide_demande').set 100
find_by_id('date_previsionnelle').set '10/10/2010'
end
context 'before submit' do
it 'dossier cerfa is empty' do

View file

@ -49,9 +49,6 @@ feature 'user path for dossier creation' do
before do
page.find_by_id('nom_projet').set 'Mon super projet'
page.find_by_id('description').set 'Ma super description'
page.find_by_id('montant_projet').set 10_000
page.find_by_id('montant_aide_demande').set 1_000
page.find_by_id('date_previsionnelle').set '09/09/2015'
page.click_on 'Soumettre mon dossier'
end
scenario 'user is on recap page' do

View file

@ -5,14 +5,12 @@ describe Dossier do
describe 'database columns' do
it { is_expected.to have_db_column(:description) }
it { is_expected.to have_db_column(:autorisation_donnees) }
it { is_expected.to have_db_column(:position_lat) }
it { is_expected.to have_db_column(:position_lon) }
it { is_expected.to have_db_column(:nom_projet) }
it { is_expected.to have_db_column(:montant_projet) }
it { is_expected.to have_db_column(:montant_aide_demande) }
it { is_expected.to have_db_column(:date_previsionnelle).of_type(:date) }
it { is_expected.to have_db_column(:created_at) }
it { is_expected.to have_db_column(:updated_at) }
it { is_expected.to have_db_column(:state) }
it { is_expected.to have_db_column(:procedure_id) }
it { is_expected.to have_db_column(:user_id) }
end
describe 'associations' do
@ -42,16 +40,6 @@ describe Dossier do
it { is_expected.not_to allow_value('').for(:description) }
it { is_expected.to allow_value('ma superbe description').for(:description) }
end
context 'montant_projet' do
it { is_expected.to allow_value(nil).for(:montant_projet) }
it { is_expected.not_to allow_value('').for(:montant_projet) }
it { is_expected.to allow_value(124324).for(:montant_projet) }
end
context 'montant_aide_demande' do
it { is_expected.to allow_value(nil).for(:montant_aide_demande) }
it { is_expected.not_to allow_value('').for(:montant_aide_demande) }
it { is_expected.to allow_value(124324).for(:montant_aide_demande) }
end
end
describe 'methods' do
@ -118,7 +106,6 @@ describe Dossier do
end
end
#TODO revoir le nommage
describe '#next_step' do
let(:dossier) { create(:dossier, :with_user) }
let(:role) { 'user' }

View file

@ -136,53 +136,53 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
end
end
#TODO réactiver
# context 'la liste des pièces justificatives est présente' do
# context 'Attestation MSA' do
# let(:id_piece_justificative) { 93 }
#
# it 'la ligne de la pièce justificative est présente' do
# expect(rendered).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
# end
#
# it 'le bouton "Récupérer" est présent' do
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_selector("a[href='']")
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Récupérer')
# end
# end
#
# context 'Attestation RDI' do
# let(:id_piece_justificative) { 103 }
#
# it 'la ligne de la pièce justificative est présente' do
# expect(rendered).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
# end
#
# it 'le libelle "Pièce manquante" est présent' do
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Pièce non fournie')
# end
# end
#
# context 'Devis' do
# let(:id_piece_justificative) { 388 }
# let(:content) { File.open('./spec/support/files/piece_justificative_388.pdf') }
#
# before do
# piece_justificative = dossier.pieces_justificatives.where(type_de_piece_justificative_id: 388).first
# piece_justificative.content = content
# piece_justificative.save!
# visit "/admin/dossiers/#{dossier_id}"
# end
#
# it 'la ligne de la pièce justificative est présente' do
# expect(rendered).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
# end
#
# it 'le libelle "Consulter" est présent' do
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}] a")[:href]).to have_content('piece_justificative_388.pdf')
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Consulter')
# end
# end
# end
#
#TODO réactiver
# context 'la liste des pièces justificatives est présente' do
# context 'Attestation MSA' do
# let(:id_piece_justificative) { 93 }
#
# it 'la ligne de la pièce justificative est présente' do
# expect(rendered).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
# end
#
# it 'le bouton "Récupérer" est présent' do
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_selector("a[href='']")
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Récupérer')
# end
# end
#
# context 'Attestation RDI' do
# let(:id_piece_justificative) { 103 }
#
# it 'la ligne de la pièce justificative est présente' do
# expect(rendered).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
# end
#
# it 'le libelle "Pièce manquante" est présent' do
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Pièce non fournie')
# end
# end
#
# context 'Devis' do
# let(:id_piece_justificative) { 388 }
# let(:content) { File.open('./spec/support/files/piece_justificative_388.pdf') }
#
# before do
# piece_justificative = dossier.pieces_justificatives.where(type_de_piece_justificative_id: 388).first
# piece_justificative.content = content
# piece_justificative.save!
# visit "/admin/dossiers/#{dossier_id}"
# end
#
# it 'la ligne de la pièce justificative est présente' do
# expect(rendered).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
# end
#
# it 'le libelle "Consulter" est présent' do
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}] a")[:href]).to have_content('piece_justificative_388.pdf')
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Consulter')
# end
# end
# end
#
end

View file

@ -26,30 +26,6 @@ describe 'users/description/show.html.haml', type: :view do
expect(rendered).to have_selector('textarea[id=description][name=description]')
end
it 'Montant du projet' do
expect(rendered).to have_selector('input[id=montant_projet][name=montant_projet]')
end
it 'Montant du projet est de type number' do
expect(rendered).to have_selector('input[type=number][id=montant_projet]')
end
it 'Montant des aides du projet' do
expect(rendered).to have_selector('input[id=montant_aide_demande][name=montant_aide_demande]')
end
it 'Montant des aides du projet est de type number' do
expect(rendered).to have_selector('input[type=number][id=montant_aide_demande]')
end
it 'Date prévisionnelle du projet' do
expect(rendered).to have_selector('input[id=date_previsionnelle][name=date_previsionnelle]')
end
it 'Date prévisionnelle du projet est de type text avec un data-provide=datepicker' do
expect(rendered).to have_selector('input[type=text][id=date_previsionnelle][data-provide=datepicker]')
end
it 'Charger votre CERFA (PDF)' do
expect(rendered).to have_selector('input[type=file][name=cerfa_pdf][id=cerfa_pdf]')
end
@ -93,9 +69,6 @@ describe 'users/description/show.html.haml', type: :view do
create(:dossier, :with_procedure,
nom_projet: 'Projet de test',
description: 'Description de test',
montant_projet: 12_000,
montant_aide_demande: 3000,
date_previsionnelle: '20/01/2016',
user: user)
end
@ -103,7 +76,6 @@ describe 'users/description/show.html.haml', type: :view do
render
end
it 'Nom du projet' do
expect(rendered).to have_selector("input[id=nom_projet][value='#{dossier.nom_projet}']")
end
@ -111,18 +83,6 @@ describe 'users/description/show.html.haml', type: :view do
it 'Description du projet' do
expect(rendered).to have_content("#{dossier.description}")
end
it 'Montant du projet' do
expect(rendered).to have_selector("input[id=montant_projet][value='#{dossier.montant_projet}']")
end
it 'Montant des aides du projet' do
expect(rendered).to have_selector("input[id=montant_aide_demande][value='#{dossier.montant_aide_demande}']")
end
it 'Date prévisionnelle du projet' do
expect(rendered).to have_selector("#date_previsionnelle", dossier.date_previsionnelle)
end
end
context 'Pièces justificatives' do
@ -140,7 +100,7 @@ describe 'users/description/show.html.haml', type: :view do
context 'la liste des pièces récupérées automatiquement est signaliée' do
it 'Attestation MSA' do
expect(rendered).to have_selector("#piece_justificative_#{all_type_pj_procedure_id[1]}","Nous l'avons récupéré pour vous.")
expect(rendered).to have_selector("#piece_justificative_#{all_type_pj_procedure_id[1]}", "Nous l'avons récupéré pour vous.")
end
end
end