diff options
-rw-r--r-- | .rubocop_todo.yml | 1 | ||||
-rw-r--r-- | app/models/issue.rb | 33 |
2 files changed, 18 insertions, 16 deletions
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index aac2911a9..2fc81a28e 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -391,7 +391,6 @@ Lint/HandleExceptions: Lint/IneffectiveAccessModifier: Exclude: - 'app/models/attachment.rb' - - 'app/models/issue.rb' - 'app/models/mail_handler.rb' Lint/InterpolationCheck: diff --git a/app/models/issue.rb b/app/models/issue.rb index f25c0f295..e17f2c941 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -1724,21 +1724,24 @@ class Issue < ActiveRecord::Base end end - # Update issues so their versions are not pointing to a - # fixed_version that is not shared with the issue's project - def self.update_versions(conditions=nil) - # Only need to update issues with a fixed_version from - # a different project and that is not systemwide shared - Issue.joins(:project, :fixed_version). - where("#{Issue.table_name}.fixed_version_id IS NOT NULL" + - " AND #{Issue.table_name}.project_id <> #{Version.table_name}.project_id" + - " AND #{Version.table_name}.sharing <> 'system'"). - where(conditions).each do |issue| - next if issue.project.nil? || issue.fixed_version.nil? - unless issue.project.shared_versions.include?(issue.fixed_version) - issue.init_journal(User.current) - issue.fixed_version = nil - issue.save + # Singleton class method is public + class << self + # Update issues so their versions are not pointing to a + # fixed_version that is not shared with the issue's project + def update_versions(conditions=nil) + # Only need to update issues with a fixed_version from + # a different project and that is not systemwide shared + Issue.joins(:project, :fixed_version). + where("#{Issue.table_name}.fixed_version_id IS NOT NULL" + + " AND #{Issue.table_name}.project_id <> #{Version.table_name}.project_id" + + " AND #{Version.table_name}.sharing <> 'system'"). + where(conditions).each do |issue| + next if issue.project.nil? || issue.fixed_version.nil? + unless issue.project.shared_versions.include?(issue.fixed_version) + issue.init_journal(User.current) + issue.fixed_version = nil + issue.save + end end end end |