update data model / fix tests

This commit is contained in:
Brian Smith 2014-05-19 23:34:56 -04:00
parent dce007a13d
commit ca53ee0ead
6 changed files with 35 additions and 28 deletions

View File

@ -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"

View File

@ -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(

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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