transferred Code Ocean from original repository to GitHub
This commit is contained in:
30
app/models/concerns/user.rb
Normal file
30
app/models/concerns/user.rb
Normal file
@@ -0,0 +1,30 @@
|
||||
module User
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
ROLES = %w[admin teacher]
|
||||
|
||||
included do
|
||||
belongs_to :consumer
|
||||
has_many :exercises, as: :user
|
||||
has_many :file_types, as: :user
|
||||
has_many :submissions, as: :user
|
||||
|
||||
scope :with_submissions, -> { where('id IN (SELECT user_id FROM submissions)') }
|
||||
end
|
||||
|
||||
ROLES.each do |role|
|
||||
define_method("#{role}?") { self.try(:role) == role }
|
||||
end
|
||||
|
||||
def external?
|
||||
is_a?(ExternalUser)
|
||||
end
|
||||
|
||||
def internal?
|
||||
is_a?(InternalUser)
|
||||
end
|
||||
|
||||
def to_s
|
||||
name
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user