|
class MissionAgent < ActiveRecord::Base
belongs_to :mission
belongs_to :user
has_many :mission_agent_steps, :dependent => :destroy
has_many :mission_agent_invites, :dependent => :destroy
accepts_nested_attributes_for :mission_agent_steps, allow_destroy:true
accepts_nested_attributes_for :mission_agent_invites
def get_invite
return self.mission_agent_invites.where(:user_id => self.user_id).last
end
def assign_agent
users = User.all
available_agents = Array.new
users.each do |u|
if self.mission.has_agent_been_assigned(u) == false
available_agents << u
end
end
if available_agents.length > 0
new_agent = available_agents[rand(available_agents.length)]
self.update(:user => new_agent)
self.mission_agent_invites.create!(:user => new_agent, :status => 'Invited')
end
end
end
|