* VRFS-27 invitation model and tests added

This commit is contained in:
Seth Call 2012-10-27 14:22:05 -05:00
parent 9ab04a7e74
commit f4149648c6
2 changed files with 12 additions and 1 deletions

View File

@ -96,6 +96,10 @@
return Jampb::ClientMessage.new(:type => ClientMessage::Type::TEST_SESSION_MESSAGE, :route_to => SESSION_TARGET_PREFIX + session_id, :test_session_message => test)
end
def session_invitation(receiver_id, invitation_id)
session_invitation = Jampb::SessionInvitation.new(:invitation => invitation_id)
return Jampb::ClientMessage.new(:type => ClientMessage::Type::SESSION_INVITATION, :route_to => USER_TARGET_PREFIX + receiver_id, :session_invitation => session_invitation)
end
############## P2P CLIENT MESSAGES #################
# send a request to do a ping

View File

@ -2,6 +2,7 @@ module JamRuby
class Invitation < ActiveRecord::Base
FRIENDSHIP_REQUIRED_VALIDATION_ERROR = "You can only invite friends"
MEMBERSHIP_REQUIRED_OF_MUSIC_SESSION = "You must be a member of the music session to send invitations on behalf of it"
self.primary_key = 'id'
belongs_to :sender, :inverse_of => :sent_invitations, :class_name => "JamRuby::User", :foreign_key => "sender_id"
@ -12,10 +13,16 @@ module JamRuby
validates :receiver, :presence => true
validates :music_session, :presence => true
validate :require_are_friends
validate :require_sender_in_music_session, :require_are_friends
private
def require_sender_in_music_session
unless music_session.users.exists? sender
errors.add(:music_session, MEMBERSHIP_REQUIRED_OF_MUSIC_SESSION)
end
end
def require_are_friends
unless receiver.friends.exists? sender
errors.add(:receiver, FRIENDSHIP_REQUIRED_VALIDATION_ERROR)