Files
codeocean/app/models/programming_group_membership.rb
kiragrammel 319c3ab3b4 Add ProgrammingGroup & ProgrammingGroupMembership
* User can create programming group with other users for exercise
* Submission is shared in a group
* Also adjust specs
2023-08-24 19:32:06 +02:00

16 lines
486 B
Ruby

# frozen_string_literal: true
class ProgrammingGroupMembership < ApplicationRecord
belongs_to :user, polymorphic: true
belongs_to :programming_group
validate :unique_membership_for_exercise
validates :user_id, uniqueness: {scope: %i[programming_group_id user_type]}
def unique_membership_for_exercise
if user.programming_groups.where(exercise: programming_group.exercise).any?
errors.add(:base, :already_exists, id_with_type: user.id_with_type)
end
end
end