diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-12-04 23:01:42 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-12-04 23:01:42 +0000 |
commit | 10509933486ab651c4a185efc37a6340d503f47b (patch) | |
tree | bb7cebf898c6527605ea48d68f1d7fc8e36e27b7 /app | |
parent | 9e5ed4208b8dc531f77708e84f6d11eba3f1ca4a (diff) | |
download | redmine-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.rb | 2 | ||||
-rw-r--r-- | app/models/time_entry.rb | 32 |
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 |