diff --git a/app/models/avis.rb b/app/models/avis.rb new file mode 100644 index 000000000..2e6c622a2 --- /dev/null +++ b/app/models/avis.rb @@ -0,0 +1,4 @@ +class Avis < ApplicationRecord + belongs_to :dossier + belongs_to :gestionnaire +end diff --git a/app/models/dossier.rb b/app/models/dossier.rb index c6eee566f..71506ee9c 100644 --- a/app/models/dossier.rb +++ b/app/models/dossier.rb @@ -25,6 +25,7 @@ class Dossier < ActiveRecord::Base has_many :invites_gestionnaires, class_name: 'InviteGestionnaire', dependent: :destroy has_many :follows has_many :notifications, dependent: :destroy + has_many :avis, dependent: :destroy belongs_to :procedure belongs_to :user diff --git a/app/models/gestionnaire.rb b/app/models/gestionnaire.rb index f4cb1578b..0457deacb 100644 --- a/app/models/gestionnaire.rb +++ b/app/models/gestionnaire.rb @@ -12,6 +12,7 @@ class Gestionnaire < ActiveRecord::Base has_many :followed_dossiers, through: :follows, source: :dossier has_many :follows has_many :preference_list_dossiers + has_many :avis after_create :build_default_preferences_list_dossier after_create :build_default_preferences_smart_listing_page diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb index a3bd49fb8..864ba4221 100644 --- a/config/initializers/inflections.rb +++ b/config/initializers/inflections.rb @@ -15,6 +15,7 @@ ActiveSupport::Inflector.inflections(:en) do |inflect| inflect.irregular 'type_de_champ', 'types_de_champ' inflect.irregular 'type_de_champ_private', 'types_de_champ_private' inflect.irregular 'assign_to', 'assign_tos' + inflect.irregular('avis', 'avis') end # These inflection rules are supported but not enabled by default: @@ -24,4 +25,5 @@ end ActiveSupport::Inflector.inflections(:fr) do |inflect| inflect.plural(/$/, 's') inflect.plural(/(hib|ch|bij|caill|p|gen|jouj)ou$/i, '\1oux') + inflect.irregular('avis', 'avis') end diff --git a/db/migrate/20170425100757_create_avis.rb b/db/migrate/20170425100757_create_avis.rb new file mode 100644 index 000000000..229be2178 --- /dev/null +++ b/db/migrate/20170425100757_create_avis.rb @@ -0,0 +1,13 @@ +class CreateAvis < ActiveRecord::Migration[5.0] + def change + create_table :avis do |t| + t.string :email + t.text :introduction + t.text :answer + t.references :gestionnaire + t.references :dossier + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 4af90d2e2..55f008b87 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170523081220) do +ActiveRecord::Schema.define(version: 20170425100757) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -71,6 +71,18 @@ ActiveRecord::Schema.define(version: 20170523081220) do t.index ["procedure_id"], name: "index_assign_tos_on_procedure_id", using: :btree end + create_table "avis", force: :cascade do |t| + t.string "email" + t.text "introduction" + t.text "answer" + t.integer "gestionnaire_id" + t.integer "dossier_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["dossier_id"], name: "index_avis_on_dossier_id", using: :btree + t.index ["gestionnaire_id"], name: "index_avis_on_gestionnaire_id", using: :btree + end + create_table "cadastres", force: :cascade do |t| t.string "surface_intersection" t.float "surface_parcelle"