2018-04-30 15:28:18 +02:00
|
|
|
class GlossaryTerm < ActiveRecord::Base
|
2018-05-06 09:45:27 +02:00
|
|
|
belongs_to :category, class_name: 'GlossaryCategory', foreign_key: 'category_id'
|
2018-05-12 07:26:43 +02:00
|
|
|
belongs_to :project
|
2018-05-19 21:43:22 +02:00
|
|
|
|
2018-06-08 13:57:51 +02:00
|
|
|
# class method from Redmine::Acts::Attachable::ClassMethods
|
2018-06-10 03:43:08 +02:00
|
|
|
acts_as_attachable view_permission: :view_glossary, edit_permission: :manage_glossary, delete_permission: :manage_glossary
|
2018-06-11 14:31:38 +02:00
|
|
|
|
|
|
|
acts_as_event datetime: :updated_at,
|
|
|
|
description: :description,
|
|
|
|
author: nil,
|
|
|
|
title: Proc.new {|o| "#{l(:glossary_title)} ##{o.id} - #{o.name}" },
|
|
|
|
url: Proc.new {|o| { controller: 'glossary_terms',
|
|
|
|
action: 'show',
|
|
|
|
id: o.id,
|
|
|
|
project_id: o.project }
|
|
|
|
}
|
|
|
|
|
|
|
|
acts_as_activity_provider scope: joins(:project),
|
|
|
|
type: 'glossary_terms',
|
|
|
|
permission: :view_glossary,
|
|
|
|
timestamp: :updated_at
|
2018-06-08 13:57:51 +02:00
|
|
|
|
2018-05-19 21:43:22 +02:00
|
|
|
scope :search_by_name, -> (keyword) {
|
|
|
|
where 'name like ?', "#{sanitize_sql_like(keyword)}%"
|
|
|
|
}
|
|
|
|
|
2018-06-05 18:21:17 +02:00
|
|
|
scope :search_by_rubi, -> (keyword) {
|
|
|
|
where 'rubi like ?', "#{sanitize_sql_like(keyword)}%"
|
|
|
|
}
|
|
|
|
|
2018-04-30 15:28:18 +02:00
|
|
|
end
|