rename ref piece jointe into type piece jointe

This commit is contained in:
Tanguy PATTE 2015-08-14 12:06:26 +02:00
parent b9b17e2b0c
commit a807ba5ae9
18 changed files with 961 additions and 940 deletions

View file

@ -80,7 +80,7 @@ group :development, :test do
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-commands-rspec'
gem 'rspec-rails', '~> 3.0'
end

View file

@ -257,6 +257,8 @@ GEM
simplecov-html (0.8.0)
slop (3.6.0)
spring (1.3.6)
spring-commands-rspec (1.0.4)
spring (>= 0.9.1)
sprockets (3.2.0)
rack (~> 1.0)
sprockets-rails (2.3.2)
@ -328,6 +330,7 @@ DEPENDENCIES
shoulda-matchers
simplecov
spring
spring-commands-rspec
turbolinks
uglifier (>= 1.3.0)
web-console (~> 2.0)

View file

@ -11,7 +11,7 @@ class Admin::DossierController < ApplicationController
@commentaire_email = current_user.email
@formulaire = @dossier.ref_formulaire
@liste_pieces_jointes = RefPiecesJointe.get_liste_piece_jointe @dossier.ref_formulaire
@liste_pieces_jointes = TypePieceJointe.get_liste_piece_jointe @dossier.ref_formulaire
@array_id_pj_valides = PieceJointe.get_array_id_pj_valid_for_dossier @dossier.id
@dossier = @dossier.decorate
rescue ActiveRecord::RecordNotFound

View file

@ -4,7 +4,6 @@ class DescriptionController < ApplicationController
@dossier = @dossier.decorate
@array_id_pj_valides = PieceJointe.get_array_id_pj_valid_for_dossier @dossier.id
@liste_pieces_jointes = get_liste_piece_jointe
rescue
redirect_to url_for({controller: :start, action: :error_dossier})
@ -21,21 +20,21 @@ class DescriptionController < ApplicationController
@dossier.update_attributes(create_params)
if params[:cerfa_pdf] != nil
PieceJointe.destroy_all(dossier_id: @dossier.id, ref_pieces_jointes_id: 0)
PieceJointe.destroy_all(dossier_id: @dossier.id, type_piece_jointe_id: 0)
@piece_jointe = PieceJointe.new
@piece_jointe.content = params[:cerfa_pdf]
@piece_jointe.ref_pieces_jointes_id = 0
@piece_jointe.type_piece_jointe_id = 0
@piece_jointe.dossier = @dossier
@piece_jointe.save
end
get_liste_piece_jointe.each do |pj|
if params["piece_jointe_#{pj.id}"] != nil
PieceJointe.destroy_all(dossier_id: @dossier.id, ref_pieces_jointes_id: pj.id)
PieceJointe.destroy_all(dossier_id: @dossier.id, type_piece_jointe_id: pj.id)
@piece_jointe = PieceJointe.new
@piece_jointe.content = params["piece_jointe_#{pj.id}"]
@piece_jointe.ref_pieces_jointes_id = pj.id
@piece_jointe.type_piece_jointe_id = pj.id
@piece_jointe.dossier = @dossier
@piece_jointe.save
end
@ -74,6 +73,6 @@ class DescriptionController < ApplicationController
def get_liste_piece_jointe
@formulaire = @dossier.ref_formulaire
RefPiecesJointe.where ("\"CERFA\" = '#{@formulaire.ref_demarche}'")
TypePieceJointe.where ("\"CERFA\" = '#{@formulaire.ref_demarche}'")
end
end

View file

@ -9,6 +9,10 @@ class Dossier < ActiveRecord::Base
delegate :siret, to: :etablissement
def get_pj piece_jointe_id
pieces_jointes.where(ref_pieces_jointes_id: piece_jointe_id).last
pieces_jointes.where(type_piece_jointe_id: piece_jointe_id).last
end
def liste_piece_justificative
ref_formulaire.liste_piece_justificative
end
end

View file

@ -6,7 +6,7 @@ class PieceJointe < ActiveRecord::Base
def self.get_array_id_pj_valid_for_dossier(dossier_id)
@array_id_pj_valides = []
where(dossier_id: dossier_id).each do |pj_valide|
@array_id_pj_valides << pj_valide.ref_pieces_jointes_id
@array_id_pj_valides << pj_valide.type_piece_jointe_id
end
@array_id_pj_valides

View file

@ -1,2 +1,7 @@
class RefFormulaire < ActiveRecord::Base
has_many :types_piece_jointe
def liste_piece_justificative
end
end

View file

@ -1,8 +0,0 @@
class RefPiecesJointe < ActiveRecord::Base
# TODO: test this methods
def self.get_liste_piece_jointe ref_formulaire
RefPiecesJointe.where ("\"CERFA\" = '#{ref_formulaire.ref_demarche}'")
end
end

View file

@ -0,0 +1,8 @@
class TypePieceJointe < ActiveRecord::Base
# TODO: test this methods
def self.get_liste_piece_jointe ref_formulaire
where ("\"CERFA\" = '#{ref_formulaire.ref_demarche}'")
end
end

View file

@ -9,7 +9,7 @@ ActiveSupport::Inflector.inflections(:en) do |inflect|
# inflect.irregular 'person', 'people'
# inflect.uncountable %w( fish sheep )
inflect.irregular 'piece_jointe', 'pieces_jointes'
inflect.irregular 'type_piece_jointe', 'types_piece_jointe'
end
# These inflection rules are supported but not enabled by default:

View file

@ -0,0 +1,6 @@
class RenameRefPieceJointToTypePieceJointe < ActiveRecord::Migration
def change
rename_table :ref_pieces_jointes, :types_piece_jointe
rename_column :pieces_jointes, :ref_pieces_jointes_id, :type_piece_jointe_id
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: 20150813095939) do
ActiveRecord::Schema.define(version: 20150814090717) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -87,10 +87,10 @@ ActiveRecord::Schema.define(version: 20150813095939) do
create_table "pieces_jointes", force: :cascade do |t|
t.string "content"
t.integer "dossier_id"
t.integer "ref_pieces_jointes_id"
t.integer "type_piece_jointe_id"
end
add_index "pieces_jointes", ["ref_pieces_jointes_id"], name: "index_pieces_jointes_on_ref_pieces_jointes_id", using: :btree
add_index "pieces_jointes", ["type_piece_jointe_id"], name: "index_pieces_jointes_on_type_piece_jointe_id", using: :btree
create_table "pros", force: :cascade do |t|
t.string "email", default: "", null: false
@ -129,7 +129,7 @@ ActiveRecord::Schema.define(version: 20150813095939) do
t.boolean "use_admi_facile"
end
create_table "ref_pieces_jointes", force: :cascade do |t|
create_table "types_piece_jointe", force: :cascade do |t|
t.string "CERFA"
t.string "nature"
t.string "libelle_complet"

File diff suppressed because it is too large Load diff

View file

@ -124,15 +124,15 @@ describe DescriptionController, type: :controller do
expect(subject.dossier_id).to eq(dossier_id)
end
it 'ref_pieces_jointes_id' do
expect(subject.ref_pieces_jointes_id).to eq(0)
it 'type_piece_jointe_id' do
expect(subject.type_piece_jointe_id).to eq(0)
end
end
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, :mail_contact => mail_contact, :cerfa_pdf => cerfa_pdf
cerfa = PieceJointe.where(ref_pieces_jointes_id: '0', dossier_id: dossier_id)
cerfa = PieceJointe.where(type_piece_jointe_id: '0', dossier_id: dossier_id)
expect(cerfa.many?).to eq(false)
end
end
@ -148,7 +148,7 @@ describe DescriptionController, type: :controller do
end
context 'sauvegarde de 2 pieces jointes' do
subject { dossier.pieces_jointes.pluck(:ref_pieces_jointes_id) }
subject { dossier.pieces_jointes.pluck(:type_piece_jointe_id) }
it 'les deux pièces sont présentes en base' do
expect(subject).to include(103)
expect(subject).to include(692)
@ -159,8 +159,8 @@ describe DescriptionController, type: :controller do
it 'il n\'y a qu\'une pièce jointe par type 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, :mail_contact => mail_contact, :piece_jointe_692 => piece_jointe_692, :piece_jointe_103 => piece_jointe_103
piece_jointe_1 = PieceJointe.where(ref_pieces_jointes_id: '103', dossier_id: dossier_id)
piece_jointe_2 = PieceJointe.where(ref_pieces_jointes_id: '692', dossier_id: dossier_id)
piece_jointe_1 = PieceJointe.where(type_piece_jointe_id: '103', dossier_id: dossier_id)
piece_jointe_2 = PieceJointe.where(type_piece_jointe_id: '692', dossier_id: dossier_id)
expect(piece_jointe_1.many?).to eq(false)
expect(piece_jointe_2.many?).to eq(false)

View file

@ -62,7 +62,7 @@ feature 'Admin/Dossier#Show Page' do
context 'Devis' do
let(:id_piece_jointe){388}
let(:piece_jointe_388) {File.open('./spec/support/files/piece_jointe_388.pdf')}
let!(:piece_jointe) { create(:piece_jointe, dossier: dossier, ref_pieces_jointes_id: id_piece_jointe, content: piece_jointe_388) }
let!(:piece_jointe) { create(:piece_jointe, dossier: dossier, type_piece_jointe_id: id_piece_jointe, content: piece_jointe_388) }
before do
visit "/admin/dossier/#{dossier_id}"

View file

@ -19,4 +19,12 @@ describe Dossier do
expect(subject.siret).to eq(etablissement.siret)
end
end
describe '#liste_piece_justificative' do
subject { dossier.liste_piece_justificative }
it 'returns list of required piece justificative' do
expect(subject.size).to eq(7)
expect(subject).to include(23)
end
end
end

View file

@ -45,7 +45,7 @@ Dir[Rails.root.join("spec/factories/**/*.rb")].each { |f| require f }
# If you are not using ActiveRecord, you can remove this line.
ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
DatabaseCleaner.strategy = :truncation, {:except => %w[evenement_vies ref_formulaires ref_pieces_jointes]}
DatabaseCleaner.strategy = :truncation, {:except => %w[evenement_vies ref_formulaires types_piece_jointe]}
if !(defined? SIADETOKEN)

View file

@ -1,16 +1,12 @@
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation, {:except => %w[evenement_vies ref_formulaires ref_pieces_jointes]})
DatabaseCleaner.clean_with(:truncation, {:except => %w[evenement_vies ref_formulaires types_piece_jointe]})
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
# config.before(:each, :js => true) do
# DatabaseCleaner.strategy = :truncation, {:except => %w[evenement_vies ref_formulaires ref_pieces_jointes]}
# end
config.before(:each) do
DatabaseCleaner.start
end