mirror of https://github.com/fspc/BikeShed-1.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
422 B
18 lines
422 B
class TeamMembership < ActiveRecord::Base
|
|
belongs_to :team
|
|
belongs_to :user
|
|
|
|
validates :user, :presence => true
|
|
validates :team, :presence => true
|
|
validates :user_id, :uniqueness => { :scope => :team_id }
|
|
validate :no_captains_allowed
|
|
|
|
|
|
private
|
|
|
|
def no_captains_allowed
|
|
if user.present? && team.present? && team.captain == user
|
|
errors.add(:user, "Captain is already a member.")
|
|
end
|
|
end
|
|
end
|
|
|