summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorMarius Balteanu <marius.balteanu@zitec.com>2024-01-23 11:52:38 +0000
committerMarius Balteanu <marius.balteanu@zitec.com>2024-01-23 11:52:38 +0000
commit13aeb797cfaa5a70bd8903d8350ea8ce3e0bb151 (patch)
tree51ae69c0c3837e531b8cef6fac455e06eea04d88 /app/models
parent28061fbcdb2cabbef698db2ca3a80cc428388456 (diff)
downloadredmine-13aeb797cfaa5a70bd8903d8350ea8ce3e0bb151.tar.gz
redmine-13aeb797cfaa5a70bd8903d8350ea8ce3e0bb151.zip
Use ApplicationRecord instead of ActiveRecord::Base (#38975).
Patch by Minoru Maeda (@maeda-m). git-svn-id: https://svn.redmine.org/redmine/trunk@22619 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r--app/models/application_record.rb32
-rw-r--r--app/models/attachment.rb2
-rw-r--r--app/models/auth_source.rb2
-rw-r--r--app/models/board.rb2
-rw-r--r--app/models/change.rb2
-rw-r--r--app/models/changeset.rb2
-rw-r--r--app/models/comment.rb2
-rw-r--r--app/models/custom_field.rb2
-rw-r--r--app/models/custom_field_enumeration.rb2
-rw-r--r--app/models/custom_value.rb2
-rw-r--r--app/models/document.rb2
-rw-r--r--app/models/email_address.rb2
-rw-r--r--app/models/enabled_module.rb2
-rw-r--r--app/models/enumeration.rb2
-rw-r--r--app/models/import.rb2
-rw-r--r--app/models/import_item.rb2
-rw-r--r--app/models/issue.rb2
-rw-r--r--app/models/issue_category.rb2
-rw-r--r--app/models/issue_relation.rb2
-rw-r--r--app/models/issue_status.rb2
-rw-r--r--app/models/journal.rb2
-rw-r--r--app/models/journal_detail.rb2
-rw-r--r--app/models/member.rb2
-rw-r--r--app/models/member_role.rb2
-rw-r--r--app/models/message.rb2
-rw-r--r--app/models/news.rb2
-rw-r--r--app/models/principal.rb2
-rw-r--r--app/models/project.rb2
-rw-r--r--app/models/query.rb2
-rw-r--r--app/models/repository.rb2
-rw-r--r--app/models/role.rb2
-rw-r--r--app/models/setting.rb2
-rw-r--r--app/models/time_entry.rb2
-rw-r--r--app/models/token.rb2
-rw-r--r--app/models/tracker.rb2
-rw-r--r--app/models/user_preference.rb2
-rw-r--r--app/models/version.rb2
-rw-r--r--app/models/watcher.rb2
-rw-r--r--app/models/wiki.rb2
-rw-r--r--app/models/wiki_content.rb2
-rw-r--r--app/models/wiki_content_version.rb2
-rw-r--r--app/models/wiki_page.rb2
-rw-r--r--app/models/wiki_redirect.rb2
-rw-r--r--app/models/workflow_rule.rb2
44 files changed, 75 insertions, 43 deletions
diff --git a/app/models/application_record.rb b/app/models/application_record.rb
new file mode 100644
index 000000000..3c89dc683
--- /dev/null
+++ b/app/models/application_record.rb
@@ -0,0 +1,32 @@
+# frozen_string_literal: true
+# Redmine - project management software
+# Copyright (C) 2006-2023 Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+class ApplicationRecord < ActiveRecord::Base
+ self.abstract_class = true
+
+ # Translate attribute names for validation errors display
+ def self.human_attribute_name(attr, options = {})
+ prepared_attr = attr.to_s.sub(/_id$/, '').sub(/^.+\./, '')
+ class_prefix = name.underscore.tr('/', '_')
+ redmine_default = [
+ :"field_#{class_prefix}_#{prepared_attr}",
+ :"field_#{prepared_attr}"
+ ]
+ options[:default] = redmine_default + Array(options[:default])
+ super
+ end
+end
diff --git a/app/models/attachment.rb b/app/models/attachment.rb
index 97dea32bd..b168f0729 100644
--- a/app/models/attachment.rb
+++ b/app/models/attachment.rb
@@ -21,7 +21,7 @@ require "digest"
require "fileutils"
require "zip"
-class Attachment < ActiveRecord::Base
+class Attachment < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :container, :polymorphic => true
belongs_to :author, :class_name => "User"
diff --git a/app/models/auth_source.rb b/app/models/auth_source.rb
index c871e30c6..9f444bb5a 100644
--- a/app/models/auth_source.rb
+++ b/app/models/auth_source.rb
@@ -22,7 +22,7 @@
class AuthSourceException < StandardError; end
class AuthSourceTimeoutException < AuthSourceException; end
-class AuthSource < ActiveRecord::Base
+class AuthSource < ApplicationRecord
include Redmine::SafeAttributes
include Redmine::SubclassFactory
include Redmine::Ciphering
diff --git a/app/models/board.rb b/app/models/board.rb
index 8cf16f559..e9cbf60eb 100644
--- a/app/models/board.rb
+++ b/app/models/board.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Board < ActiveRecord::Base
+class Board < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :project
has_many :messages, lambda {order("#{Message.table_name}.created_on DESC")}, :dependent => :destroy
diff --git a/app/models/change.rb b/app/models/change.rb
index f2eff4ea1..62d41e261 100644
--- a/app/models/change.rb
+++ b/app/models/change.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Change < ActiveRecord::Base
+class Change < ApplicationRecord
belongs_to :changeset
validates_presence_of :changeset_id, :action, :path
diff --git a/app/models/changeset.rb b/app/models/changeset.rb
index 535335ef8..833d09d45 100644
--- a/app/models/changeset.rb
+++ b/app/models/changeset.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Changeset < ActiveRecord::Base
+class Changeset < ApplicationRecord
belongs_to :repository
belongs_to :user
has_many :filechanges, :class_name => 'Change', :dependent => :delete_all
diff --git a/app/models/comment.rb b/app/models/comment.rb
index 525a3a4ab..71856035d 100644
--- a/app/models/comment.rb
+++ b/app/models/comment.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Comment < ActiveRecord::Base
+class Comment < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :commented, :polymorphic => true, :counter_cache => true
belongs_to :author, :class_name => 'User'
diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb
index be9cf550f..fa9d5ab73 100644
--- a/app/models/custom_field.rb
+++ b/app/models/custom_field.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class CustomField < ActiveRecord::Base
+class CustomField < ApplicationRecord
include Redmine::SafeAttributes
include Redmine::SubclassFactory
diff --git a/app/models/custom_field_enumeration.rb b/app/models/custom_field_enumeration.rb
index 547d6a359..81c5fbe79 100644
--- a/app/models/custom_field_enumeration.rb
+++ b/app/models/custom_field_enumeration.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class CustomFieldEnumeration < ActiveRecord::Base
+class CustomFieldEnumeration < ApplicationRecord
belongs_to :custom_field
validates_presence_of :name, :position, :custom_field_id
diff --git a/app/models/custom_value.rb b/app/models/custom_value.rb
index 9cfac3079..b90a05549 100644
--- a/app/models/custom_value.rb
+++ b/app/models/custom_value.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class CustomValue < ActiveRecord::Base
+class CustomValue < ApplicationRecord
belongs_to :custom_field
belongs_to :customized, :polymorphic => true
diff --git a/app/models/document.rb b/app/models/document.rb
index 51cc8d837..c2fc75c66 100644
--- a/app/models/document.rb
+++ b/app/models/document.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Document < ActiveRecord::Base
+class Document < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :project
belongs_to :category, :class_name => "DocumentCategory"
diff --git a/app/models/email_address.rb b/app/models/email_address.rb
index cc9064e04..a62ac9cf9 100644
--- a/app/models/email_address.rb
+++ b/app/models/email_address.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class EmailAddress < ActiveRecord::Base
+class EmailAddress < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :user
diff --git a/app/models/enabled_module.rb b/app/models/enabled_module.rb
index 1b97903fb..17ca8a9f4 100644
--- a/app/models/enabled_module.rb
+++ b/app/models/enabled_module.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class EnabledModule < ActiveRecord::Base
+class EnabledModule < ApplicationRecord
belongs_to :project
acts_as_watchable
diff --git a/app/models/enumeration.rb b/app/models/enumeration.rb
index f2f63372a..b61711644 100644
--- a/app/models/enumeration.rb
+++ b/app/models/enumeration.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Enumeration < ActiveRecord::Base
+class Enumeration < ApplicationRecord
include Redmine::SubclassFactory
default_scope lambda {order(:position)}
diff --git a/app/models/import.rb b/app/models/import.rb
index 8fcb769d3..91cc8cb0f 100644
--- a/app/models/import.rb
+++ b/app/models/import.rb
@@ -19,7 +19,7 @@
require 'csv'
-class Import < ActiveRecord::Base
+class Import < ApplicationRecord
has_many :items, :class_name => 'ImportItem', :dependent => :delete_all
belongs_to :user
serialize :settings
diff --git a/app/models/import_item.rb b/app/models/import_item.rb
index 5f0432e9b..2885cacd0 100644
--- a/app/models/import_item.rb
+++ b/app/models/import_item.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class ImportItem < ActiveRecord::Base
+class ImportItem < ApplicationRecord
belongs_to :import
validates_presence_of :import_id, :position
diff --git a/app/models/issue.rb b/app/models/issue.rb
index 17802d227..670921eb0 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Issue < ActiveRecord::Base
+class Issue < ApplicationRecord
include Redmine::SafeAttributes
include Redmine::Utils::DateCalculation
include Redmine::I18n
diff --git a/app/models/issue_category.rb b/app/models/issue_category.rb
index eadb44891..d30af1705 100644
--- a/app/models/issue_category.rb
+++ b/app/models/issue_category.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class IssueCategory < ActiveRecord::Base
+class IssueCategory < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :project
belongs_to :assigned_to, :class_name => 'Principal'
diff --git a/app/models/issue_relation.rb b/app/models/issue_relation.rb
index 2caaca9ba..defd254fd 100644
--- a/app/models/issue_relation.rb
+++ b/app/models/issue_relation.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class IssueRelation < ActiveRecord::Base
+class IssueRelation < ApplicationRecord
# Class used to represent the relations of an issue
class Relations < Array
include Redmine::I18n
diff --git a/app/models/issue_status.rb b/app/models/issue_status.rb
index a93bd5ddc..c8c8c14b1 100644
--- a/app/models/issue_status.rb
+++ b/app/models/issue_status.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class IssueStatus < ActiveRecord::Base
+class IssueStatus < ApplicationRecord
include Redmine::SafeAttributes
before_destroy :check_integrity
diff --git a/app/models/journal.rb b/app/models/journal.rb
index c19a63816..9bf12735e 100644
--- a/app/models/journal.rb
+++ b/app/models/journal.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Journal < ActiveRecord::Base
+class Journal < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :journalized, :polymorphic => true
diff --git a/app/models/journal_detail.rb b/app/models/journal_detail.rb
index 08a38e026..5c4fb1dd2 100644
--- a/app/models/journal_detail.rb
+++ b/app/models/journal_detail.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class JournalDetail < ActiveRecord::Base
+class JournalDetail < ApplicationRecord
belongs_to :journal
def custom_field
diff --git a/app/models/member.rb b/app/models/member.rb
index 9e623d5f3..0ab9f564f 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Member < ActiveRecord::Base
+class Member < ApplicationRecord
belongs_to :user
belongs_to :principal, :foreign_key => 'user_id'
has_many :member_roles, :dependent => :destroy
diff --git a/app/models/member_role.rb b/app/models/member_role.rb
index a20531f94..cb228d05a 100644
--- a/app/models/member_role.rb
+++ b/app/models/member_role.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class MemberRole < ActiveRecord::Base
+class MemberRole < ApplicationRecord
belongs_to :member
belongs_to :role
diff --git a/app/models/message.rb b/app/models/message.rb
index 3f7ed285c..28aa6fe88 100644
--- a/app/models/message.rb
+++ b/app/models/message.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Message < ActiveRecord::Base
+class Message < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :board
belongs_to :author, :class_name => 'User'
diff --git a/app/models/news.rb b/app/models/news.rb
index 8860d6c97..cbd7023ba 100644
--- a/app/models/news.rb
+++ b/app/models/news.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class News < ActiveRecord::Base
+class News < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :project
belongs_to :author, :class_name => 'User'
diff --git a/app/models/principal.rb b/app/models/principal.rb
index 25a79d768..1ef191796 100644
--- a/app/models/principal.rb
+++ b/app/models/principal.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Principal < ActiveRecord::Base
+class Principal < ApplicationRecord
self.table_name = "#{table_name_prefix}users#{table_name_suffix}"
# Account statuses
diff --git a/app/models/project.rb b/app/models/project.rb
index 58346d373..d101bedd4 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Project < ActiveRecord::Base
+class Project < ApplicationRecord
include Redmine::SafeAttributes
include Redmine::NestedSet::ProjectNestedSet
diff --git a/app/models/query.rb b/app/models/query.rb
index 1826bd509..558cee23e 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -239,7 +239,7 @@ class QueryFilter
end
end
-class Query < ActiveRecord::Base
+class Query < ApplicationRecord
class StatementInvalid < ::ActiveRecord::StatementInvalid
end
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 80142739d..9fb8206f6 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -19,7 +19,7 @@
class ScmFetchError < StandardError; end
-class Repository < ActiveRecord::Base
+class Repository < ApplicationRecord
include Redmine::Ciphering
include Redmine::SafeAttributes
diff --git a/app/models/role.rb b/app/models/role.rb
index 13ebb3324..e67a64554 100644
--- a/app/models/role.rb
+++ b/app/models/role.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Role < ActiveRecord::Base
+class Role < ApplicationRecord
include Redmine::SafeAttributes
# Custom coder for the permissions attribute that should be an
diff --git a/app/models/setting.rb b/app/models/setting.rb
index 8ee5b1f50..e649f2dea 100644
--- a/app/models/setting.rb
+++ b/app/models/setting.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Setting < ActiveRecord::Base
+class Setting < ApplicationRecord
PASSWORD_CHAR_CLASSES = {
'uppercase' => /[A-Z]/,
'lowercase' => /[a-z]/,
diff --git a/app/models/time_entry.rb b/app/models/time_entry.rb
index 38504b774..66f5c5031 100644
--- a/app/models/time_entry.rb
+++ b/app/models/time_entry.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class TimeEntry < ActiveRecord::Base
+class TimeEntry < ApplicationRecord
include Redmine::SafeAttributes
# could have used polymorphic association
# project association here allows easy loading of time entries at project level with one database trip
diff --git a/app/models/token.rb b/app/models/token.rb
index 29340edba..efa8764f2 100644
--- a/app/models/token.rb
+++ b/app/models/token.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Token < ActiveRecord::Base
+class Token < ApplicationRecord
belongs_to :user
validates_uniqueness_of :value, :case_sensitive => true
diff --git a/app/models/tracker.rb b/app/models/tracker.rb
index ef2f48b04..df3d4814e 100644
--- a/app/models/tracker.rb
+++ b/app/models/tracker.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Tracker < ActiveRecord::Base
+class Tracker < ApplicationRecord
include Redmine::SafeAttributes
CORE_FIELDS_UNDISABLABLE = %w(project_id tracker_id subject is_private).freeze
diff --git a/app/models/user_preference.rb b/app/models/user_preference.rb
index 21992f945..17eec682d 100644
--- a/app/models/user_preference.rb
+++ b/app/models/user_preference.rb
@@ -19,7 +19,7 @@
require 'redmine/my_page'
-class UserPreference < ActiveRecord::Base
+class UserPreference < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :user
diff --git a/app/models/version.rb b/app/models/version.rb
index 77228826c..1968cff42 100644
--- a/app/models/version.rb
+++ b/app/models/version.rb
@@ -108,7 +108,7 @@ module FixedIssuesExtension
end
end
-class Version < ActiveRecord::Base
+class Version < ApplicationRecord
include Redmine::SafeAttributes
after_update :update_issues_from_sharing_change
diff --git a/app/models/watcher.rb b/app/models/watcher.rb
index 9f1a09cf0..78a63f81c 100644
--- a/app/models/watcher.rb
+++ b/app/models/watcher.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Watcher < ActiveRecord::Base
+class Watcher < ApplicationRecord
belongs_to :watchable, :polymorphic => true
belongs_to :user, :class_name => 'Principal'
diff --git a/app/models/wiki.rb b/app/models/wiki.rb
index 0fddeb3a9..4d1770508 100644
--- a/app/models/wiki.rb
+++ b/app/models/wiki.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class Wiki < ActiveRecord::Base
+class Wiki < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :project
has_many :pages, lambda {order(Arel.sql('LOWER(title)').asc)}, :class_name => 'WikiPage', :dependent => :destroy
diff --git a/app/models/wiki_content.rb b/app/models/wiki_content.rb
index d6a317a32..4ec4bb438 100644
--- a/app/models/wiki_content.rb
+++ b/app/models/wiki_content.rb
@@ -19,7 +19,7 @@
require 'zlib'
-class WikiContent < ActiveRecord::Base
+class WikiContent < ApplicationRecord
self.locking_column = 'version'
belongs_to :page, :class_name => 'WikiPage'
belongs_to :author, :class_name => 'User'
diff --git a/app/models/wiki_content_version.rb b/app/models/wiki_content_version.rb
index 85bd84fe7..bb7570806 100644
--- a/app/models/wiki_content_version.rb
+++ b/app/models/wiki_content_version.rb
@@ -19,7 +19,7 @@
require 'zlib'
-class WikiContentVersion < ActiveRecord::Base
+class WikiContentVersion < ApplicationRecord
belongs_to :page, :class_name => 'WikiPage'
belongs_to :author, :class_name => 'User'
diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb
index ea9d079e8..290ee7798 100644
--- a/app/models/wiki_page.rb
+++ b/app/models/wiki_page.rb
@@ -19,7 +19,7 @@
require 'redmine/string_array_diff/diff'
-class WikiPage < ActiveRecord::Base
+class WikiPage < ApplicationRecord
include Redmine::SafeAttributes
belongs_to :wiki
diff --git a/app/models/wiki_redirect.rb b/app/models/wiki_redirect.rb
index f338e20b0..564be06f2 100644
--- a/app/models/wiki_redirect.rb
+++ b/app/models/wiki_redirect.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class WikiRedirect < ActiveRecord::Base
+class WikiRedirect < ApplicationRecord
belongs_to :wiki
validates_presence_of :wiki_id, :title, :redirects_to
diff --git a/app/models/workflow_rule.rb b/app/models/workflow_rule.rb
index ec4e506c8..dd0a824d6 100644
--- a/app/models/workflow_rule.rb
+++ b/app/models/workflow_rule.rb
@@ -17,7 +17,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-class WorkflowRule < ActiveRecord::Base
+class WorkflowRule < ApplicationRecord
self.table_name = "#{table_name_prefix}workflows#{table_name_suffix}"
belongs_to :role