]> source.dussan.org Git - redmine.git/commitdiff
Optimize Version#behind_schedule? by avoiding the call to completed_percent when...
authorGo MAEDA <maeda@farend.jp>
Mon, 17 Jun 2024 07:10:29 +0000 (07:10 +0000)
committerGo MAEDA <maeda@farend.jp>
Mon, 17 Jun 2024 07:10:29 +0000 (07:10 +0000)
Patch by Go MAEDA (@maeda).

git-svn-id: https://svn.redmine.org/redmine/trunk@22882 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/version.rb

index f485bae5f6b40ab870495e59626fc519c9b74be1..b6137d352b62f7f25feb0f02229a4d21e3f0bdee 100644 (file)
@@ -269,14 +269,11 @@ class Version < ApplicationRecord
   end
 
   def behind_schedule?
-    if completed_percent == 100
-      return false
-    elsif due_date && start_date
-      done_date = start_date + ((due_date - start_date+1)* completed_percent/100).floor
-      return done_date <= User.current.today
-    else
-      false # No issues so it's not late
-    end
+    # Blank due date, no issues, or 100% completed, so it's not late
+    return false if due_date.nil? || start_date.nil? || completed_percent == 100
+
+    done_date = start_date + ((due_date - start_date + 1) * completed_percent / 100).floor
+    done_date <= User.current.today
   end
 
   # Returns the completion percentage of this version based on the amount of open/closed issues