add relationships for booths

This commit is contained in:
nasia 2017-05-30 13:05:13 +03:00
parent da6b5b8141
commit 3d9ac5a85f
8 changed files with 50 additions and 2 deletions

View file

@ -1,2 +1,7 @@
class Booth < ActiveRecord::Base
belongs_to :conference
has_many :booth_requests
has_many :users, through: :booth_requests
validate :title, presence: true
end

View file

@ -0,0 +1,4 @@
class BoothRequest < ActiveRecord::Base
belongs_to :booth
belongs_to :user
end

View file

@ -22,6 +22,7 @@ class Conference < ActiveRecord::Base
has_many :supporters, through: :ticket_purchases, source: :user
has_many :tickets, dependent: :destroy
has_many :resources, dependent: :destroy
has_many :booths, dependent: :destroy
has_many :lodgings, dependent: :destroy
has_many :registrations, dependent: :destroy

View file

@ -50,11 +50,13 @@ class User < ActiveRecord::Base
has_many :votes, dependent: :destroy
has_many :voted_events, through: :votes, source: :events
has_many :subscriptions, dependent: :destroy
has_many :booth_requests
has_many :booths, through: :users_booths
accepts_nested_attributes_for :roles
scope :admin, -> { where(is_admin: true) }
scope :active, -> { where(is_disabled: false) }
validates :email, presence: true
validates :username,

View file

@ -0,0 +1,11 @@
class CreateBoothRequests < ActiveRecord::Migration
def change
create_table :booth_requests do |t|
t.references :booth, index: true, foreign_key: true
t.references :user, index: true, foreign_key: true
t.string :role
t.timestamps null: false
end
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: 20170516190048) do
ActiveRecord::Schema.define(version: 20170530112510) do
create_table "ahoy_events", force: :cascade do |t|
t.uuid "visit_id", limit: 16
@ -31,6 +31,17 @@ ActiveRecord::Schema.define(version: 20170516190048) do
t.datetime "updated_at"
end
create_table "booth_requests", force: :cascade do |t|
t.integer "booth_id"
t.integer "user_id"
t.string "role"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "booth_requests", ["booth_id"], name: "index_booth_requests_on_booth_id"
add_index "booth_requests", ["user_id"], name: "index_booth_requests_on_user_id"
create_table "booths", force: :cascade do |t|
t.string "title"
t.text "description"

View file

@ -0,0 +1,7 @@
FactoryGirl.define do
factory :booth_request do
booth nil
user nil
role "MyString"
end
end

View file

@ -0,0 +1,7 @@
require 'test_helper'
class BoothRequestTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
end