diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 994c1bd91..3efcd19a9 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -330,11 +330,11 @@ class IssuesController < ApplicationController @issue.issue_times.update_all(end_time: Time.now) else @issue&.project_trends&.update_all(action_type: "create") - version = @issue&.version - if version.present? - percent = version.issues_count == 0 ? 0.0 : ((version.closed_issues_count - 1) / version.issues_count) - version.update_attributes(closed_issues_count: (version.closed_issues_count - 1), percent: percent) - end + # version = @issue&.version + # if version.present? + # percent = version.issues_count == 0 ? 0.0 : ((version.closed_issues_count - 1) / version.issues_count) + # version.update_attributes(closed_issues_count: (version.closed_issues_count - 1), percent: percent) + # end end @issue.custom_journal_detail("close_issue",old_message, "#{message}") diff --git a/app/models/issue.rb b/app/models/issue.rb index 8c2bfc0ae..a8a687d78 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -90,9 +90,14 @@ class Issue < ApplicationRecord end def change_versions_count - if version.present? && self.status_id == 5 - percent = version.issues_count == 0 ? 0.0 : ((version.closed_issues_count + 1) / version.issues_count) - version.update_attributes(closed_issues_count: (version.closed_issues_count + 1), percent: percent) + if self.version.present? + if self.status_id == 5 + percent = self.version.issues_count == 0 ? 0.0 : ((self.version.closed_issues_count + 1).to_f / self.version.issues_count) + self.version.update_attributes(closed_issues_count: (self.version.closed_issues_count + 1), percent: percent) + else + percent = self.version.issues_count == 0 ? 0.0 : ((self.version.closed_issues_count - 1).to_f / self.version.issues_count) + self.version.update_attributes(closed_issues_count: (self.version.closed_issues_count - 1), percent: percent) + end end end