
* Previously, some models had "duplicated" `belongs_to` associations, which were now removed (and replaced by the `include Creation`).
17 lines
567 B
Ruby
17 lines
567 B
Ruby
# frozen_string_literal: true
|
|
|
|
class CommunitySolution < ApplicationRecord
|
|
ALLOWED_USER_TYPES = [InternalUser, ExternalUser].map(&:to_s).freeze
|
|
belongs_to :exercise
|
|
has_many :community_solution_locks
|
|
has_many :community_solution_contributions
|
|
has_and_belongs_to_many :users, polymorphic: true, through: :community_solution_contributions
|
|
has_many :files, class_name: 'CodeOcean::File', through: :community_solution_contributions
|
|
|
|
validates :user_type, inclusion: {in: ALLOWED_USER_TYPES}
|
|
|
|
def to_s
|
|
"Gemeinschaftslösung für #{exercise}"
|
|
end
|
|
end
|