summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-12-04 23:01:42 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-12-04 23:01:42 +0000
commit10509933486ab651c4a185efc37a6340d503f47b (patch)
treebb7cebf898c6527605ea48d68f1d7fc8e36e27b7 /app
parent9e5ed4208b8dc531f77708e84f6d11eba3f1ca4a (diff)
downloadredmine-10509933486ab651c4a185efc37a6340d503f47b.tar.gz
redmine-10509933486ab651c4a185efc37a6340d503f47b.zip
Removed unnecessary calculations in time entries index.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8085 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/controllers/timelog_controller.rb2
-rw-r--r--app/models/time_entry.rb32
2 files changed, 12 insertions, 22 deletions
diff --git a/app/controllers/timelog_controller.rb b/app/controllers/timelog_controller.rb
index 719e0b864..d50c3d0de 100644
--- a/app/controllers/timelog_controller.rb
+++ b/app/controllers/timelog_controller.rb
@@ -320,8 +320,6 @@ private
end
@from, @to = @to, @from if @from && @to && @from > @to
- @from ||= (TimeEntry.earilest_date_for_project(@project) || Date.today)
- @to ||= (TimeEntry.latest_date_for_project(@project) || Date.today)
end
def parse_params_for_bulk_time_entry_attributes(params)
diff --git a/app/models/time_entry.rb b/app/models/time_entry.rb
index f4716d0ac..c5c1d39bc 100644
--- a/app/models/time_entry.rb
+++ b/app/models/time_entry.rb
@@ -53,10 +53,18 @@ class TimeEntry < ActiveRecord::Base
:include => :project,
:conditions => project.project_condition(include_subprojects)
}}
- named_scope :spent_between, lambda {|from, to| {
- :conditions => ["#{TimeEntry.table_name}.spent_on BETWEEN ? AND ?", from, to]
- }}
-
+ named_scope :spent_between, lambda {|from, to|
+ if from && to
+ {:conditions => ["#{TimeEntry.table_name}.spent_on BETWEEN ? AND ?", from, to]}
+ elsif from
+ {:conditions => ["#{TimeEntry.table_name}.spent_on >= ?", from]}
+ elsif to
+ {:conditions => ["#{TimeEntry.table_name}.spent_on <= ?", to]}
+ else
+ {}
+ end
+ }
+
def after_initialize
if new_record? && self.activity.nil?
if default_activity = TimeEntryActivity.default
@@ -96,20 +104,4 @@ class TimeEntry < ActiveRecord::Base
def editable_by?(usr)
(usr == user && usr.allowed_to?(:edit_own_time_entries, project)) || usr.allowed_to?(:edit_time_entries, project)
end
-
- def self.earilest_date_for_project(project=nil)
- finder_conditions = ARCondition.new(Project.allowed_to_condition(User.current, :view_time_entries))
- if project
- finder_conditions << ["project_id IN (?)", project.hierarchy.collect(&:id)]
- end
- TimeEntry.minimum(:spent_on, :include => :project, :conditions => finder_conditions.conditions)
- end
-
- def self.latest_date_for_project(project=nil)
- finder_conditions = ARCondition.new(Project.allowed_to_condition(User.current, :view_time_entries))
- if project
- finder_conditions << ["project_id IN (?)", project.hierarchy.collect(&:id)]
- end
- TimeEntry.maximum(:spent_on, :include => :project, :conditions => finder_conditions.conditions)
- end
end