add cerfa model
This commit is contained in:
parent
0eb699d6b9
commit
8273438910
7 changed files with 88 additions and 1 deletions
5
app/models/cerfa.rb
Normal file
5
app/models/cerfa.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
class Cerfa < ActiveRecord::Base
|
||||||
|
belongs_to :dossier
|
||||||
|
|
||||||
|
mount_uploader :content, CerfaUploader
|
||||||
|
end
|
|
@ -1,6 +1,7 @@
|
||||||
class Dossier < ActiveRecord::Base
|
class Dossier < ActiveRecord::Base
|
||||||
has_one :etablissement
|
has_one :etablissement
|
||||||
has_one :entreprise
|
has_one :entreprise
|
||||||
|
has_one :cerfa
|
||||||
has_many :pieces_jointes
|
has_many :pieces_jointes
|
||||||
belongs_to :formulaire
|
belongs_to :formulaire
|
||||||
has_many :commentaires
|
has_many :commentaires
|
||||||
|
|
51
app/uploaders/cerfa_uploader.rb
Normal file
51
app/uploaders/cerfa_uploader.rb
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
class CerfaUploader < CarrierWave::Uploader::Base
|
||||||
|
|
||||||
|
# Include RMagick or MiniMagick support:
|
||||||
|
# include CarrierWave::RMagick
|
||||||
|
# include CarrierWave::MiniMagick
|
||||||
|
|
||||||
|
# Choose what kind of storage to use for this uploader:
|
||||||
|
storage :file
|
||||||
|
# storage :fog
|
||||||
|
|
||||||
|
# Override the directory where uploaded files will be stored.
|
||||||
|
# This is a sensible default for uploaders that are meant to be mounted:
|
||||||
|
def store_dir
|
||||||
|
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Provide a default URL as a default if there hasn't been a file uploaded:
|
||||||
|
# def default_url
|
||||||
|
# # For Rails 3.1+ asset pipeline compatibility:
|
||||||
|
# # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
|
||||||
|
#
|
||||||
|
# "/images/fallback/" + [version_name, "default.png"].compact.join('_')
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Process files as they are uploaded:
|
||||||
|
# process :scale => [200, 300]
|
||||||
|
#
|
||||||
|
# def scale(width, height)
|
||||||
|
# # do something
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Create different versions of your uploaded files:
|
||||||
|
# version :thumb do
|
||||||
|
# process :resize_to_fit => [50, 50]
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Add a white list of extensions which are allowed to be uploaded.
|
||||||
|
# For images you might use something like this:
|
||||||
|
def extension_white_list
|
||||||
|
%w(pdf)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Override the filename of the uploaded files:
|
||||||
|
# Avoid using model.id or version_name here, see uploader/store.rb for details.
|
||||||
|
# def filename
|
||||||
|
# "something.jpg" if original_filename
|
||||||
|
# end
|
||||||
|
|
||||||
|
end
|
9
db/migrate/20150818113123_create_cerfas.rb
Normal file
9
db/migrate/20150818113123_create_cerfas.rb
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
class CreateCerfas < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :cerfas do |t|
|
||||||
|
t.string :content
|
||||||
|
t.references :dossier, index: true
|
||||||
|
end
|
||||||
|
add_foreign_key :cerfas, :dossiers
|
||||||
|
end
|
||||||
|
end
|
10
db/schema.rb
10
db/schema.rb
|
@ -11,11 +11,18 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20150814124735) do
|
ActiveRecord::Schema.define(version: 20150818113123) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
|
||||||
|
create_table "cerfas", force: :cascade do |t|
|
||||||
|
t.string "content"
|
||||||
|
t.integer "dossier_id"
|
||||||
|
end
|
||||||
|
|
||||||
|
add_index "cerfas", ["dossier_id"], name: "index_cerfas_on_dossier_id", using: :btree
|
||||||
|
|
||||||
create_table "commentaires", force: :cascade do |t|
|
create_table "commentaires", force: :cascade do |t|
|
||||||
t.string "email"
|
t.string "email"
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
|
@ -162,5 +169,6 @@ ActiveRecord::Schema.define(version: 20150814124735) do
|
||||||
add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
|
add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
|
||||||
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
|
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
|
||||||
|
|
||||||
|
add_foreign_key "cerfas", "dossiers"
|
||||||
add_foreign_key "commentaires", "dossiers"
|
add_foreign_key "commentaires", "dossiers"
|
||||||
end
|
end
|
||||||
|
|
12
spec/models/cerfa_spec.rb
Normal file
12
spec/models/cerfa_spec.rb
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe Cerfa do
|
||||||
|
describe 'database columns' do
|
||||||
|
it { is_expected.to have_db_column(:content)}
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'associations' do
|
||||||
|
it { is_expected.to belong_to(:dossier) }
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
|
@ -21,6 +21,7 @@ describe Dossier do
|
||||||
it { is_expected.to belong_to(:formulaire) }
|
it { is_expected.to belong_to(:formulaire) }
|
||||||
it { is_expected.to have_many(:pieces_jointes) }
|
it { is_expected.to have_many(:pieces_jointes) }
|
||||||
it { is_expected.to have_many(:commentaires) }
|
it { is_expected.to have_many(:commentaires) }
|
||||||
|
it { is_expected.to have_one(:cerfa) }
|
||||||
it { is_expected.to have_one(:etablissement) }
|
it { is_expected.to have_one(:etablissement) }
|
||||||
it { is_expected.to have_one(:entreprise) }
|
it { is_expected.to have_one(:entreprise) }
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue