update data model / fix tests
This commit is contained in:
parent
dce007a13d
commit
ca53ee0ead
|
|
@ -69,7 +69,7 @@ require "jam_ruby/models/genre"
|
|||
require "jam_ruby/models/user"
|
||||
require "jam_ruby/models/rsvp_request"
|
||||
require "jam_ruby/models/rsvp_slot"
|
||||
require "jam_ruby/models/rsvp_request_slot"
|
||||
require "jam_ruby/models/rsvp_request_rsvp_slot"
|
||||
require "jam_ruby/models/user_observer"
|
||||
require "jam_ruby/models/user_authorization"
|
||||
require "jam_ruby/models/join_request"
|
||||
|
|
|
|||
|
|
@ -2,29 +2,32 @@ module JamRuby
|
|||
class RsvpRequest < ActiveRecord::Base
|
||||
|
||||
belongs_to :user, :class_name => "JamRuby::User"
|
||||
has_many :rsvp_request_slots, :class_name => "JamRuby::RsvpRequestSlot"
|
||||
has_many :rsvp_request_rsvp_slots, :class_name => "JamRuby::RsvpRequestRsvpSlot"
|
||||
has_many :rsvp_slots, :class_name => "JamRuby::RsvpSlot", :through => :rsvp_requests_rsvp_slots
|
||||
|
||||
validates :message, length: {maximum: 1000}, no_profanity: true
|
||||
validates :chosen, :inclusion => {:in => [nil, true, false]}
|
||||
# validates :message, length: {maximum: 1000}, no_profanity: true
|
||||
|
||||
validates :canceled, :inclusion => {:in => [nil, true, false]}
|
||||
validates :rsvp_slot, presence: true
|
||||
|
||||
def self.create(params)
|
||||
# slot_ids =
|
||||
rsvp = RsvpRequest.new
|
||||
# rsv
|
||||
rsvp.save
|
||||
end
|
||||
# def self.create(params)
|
||||
# # slot_ids =
|
||||
# rsvp = RsvpRequest.new
|
||||
# # rsv
|
||||
# rsvp.save
|
||||
# end
|
||||
|
||||
def self.requests_by_session(session, user = nil)
|
||||
query = RsvpRequest
|
||||
.includes(:user)
|
||||
.joins(
|
||||
%Q{
|
||||
INNER join
|
||||
rsvp_slots rs
|
||||
INNER JOIN
|
||||
rsvp_requests_rsvp_slots rrrs
|
||||
ON
|
||||
rsvp_requests.rsvp_slot_id = rs.id
|
||||
rrrs.rsvp_request_id = rsvp_requests.id
|
||||
INNER JOIN
|
||||
rsvp_slots rs
|
||||
ON rs.id = rrrs.rsvp_slot_id
|
||||
}
|
||||
)
|
||||
.where(
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
module JamRuby
|
||||
class RsvpRequestRsvpSlot < ActiveRecord::Base
|
||||
self.table_name = "rsvp_requests_rsvp_slots"
|
||||
|
||||
self.primary_key = 'id'
|
||||
|
||||
belongs_to :rsvp_request
|
||||
belongs_to :rsvp_slot
|
||||
|
||||
validates :rsvp_request, presence: true
|
||||
validates :rsvp_slot, presence: true
|
||||
validates :chosen, :inclusion => {:in => [nil, true, false]}
|
||||
end
|
||||
end
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
module JamRuby
|
||||
class RsvpRequestSlot < ActiveRecord::Base
|
||||
self.table_name = "rsvp_requests_rsvp_slots"
|
||||
|
||||
self.primary_key = 'id'
|
||||
|
||||
belongs_to :rsvp_request
|
||||
belongs_to :rsvp_slot
|
||||
end
|
||||
end
|
||||
|
|
@ -3,7 +3,8 @@ module JamRuby
|
|||
|
||||
belongs_to :instrument, :class_name => "JamRuby::Instrument"
|
||||
belongs_to :music_session
|
||||
has_many :rsvp_request_slots, :class_name => "JamRuby::RsvpRequestSlot"
|
||||
has_many :rsvp_requests_rsvp_slots, :class_name => "JamRuby::RsvpRequestRsvpSlot"
|
||||
has_many :rsvp_requests, :class_name => "JamRuby::RsvpRequest", :through => :rsvp_requests_rsvp_slots
|
||||
|
||||
# TODO: validates :proficiency_level
|
||||
end
|
||||
|
|
|
|||
|
|
@ -472,9 +472,8 @@ FactoryGirl.define do
|
|||
|
||||
factory :rsvp_request, class: JamRuby::RsvpRequest do
|
||||
association :user, factory: :user
|
||||
association :rsvp_slot, factory: :rsvp_slot
|
||||
sequence(:message) { |n| "I want to join!#{n}" }
|
||||
chosen false
|
||||
# association :rsvp_slot, factory: :rsvp_slot
|
||||
# chosen false
|
||||
canceled false
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue