Class: TimeEntryActivity

Inherits:
Enumeration
  • Object
show all
Defined in:
app/models/time_entry_activity.rb

Overview

Redmine - project management software Copyright (C) 2006-2022 Jean-Philippe Lang

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Constant Summary collapse

OptionName =
:enumeration_activities

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Enumeration

#<=>, #check_default, #destroy, #destroy_without_reassign, get_subclasses, #in_use?, #is_override?, overriding_change?, same_active_state?, same_custom_values?, #to_s

Methods included from Redmine::SubclassFactory

included

Class Method Details

.default(project = nil) ⇒ Object


25
26
27
28
29
30
31
32
33
# File 'app/models/time_entry_activity.rb', line 25

def self.default(project=nil)
  default_activity = super()

  if default_activity.nil? || project.nil? || project.activities.blank? || project.activities.include?(default_activity)
    return default_activity
  end

  project.activities.detect { |activity| activity.parent_id == default_activity.id }
end

Instance Method Details

#objectsObject


39
40
41
# File 'app/models/time_entry_activity.rb', line 39

def objects
  TimeEntry.where(:activity_id => self_and_descendants(1).map(&:id))
end

#objects_countObject


43
44
45
# File 'app/models/time_entry_activity.rb', line 43

def objects_count
  objects.count
end

#option_nameObject


35
36
37
# File 'app/models/time_entry_activity.rb', line 35

def option_name
  OptionName
end

#transfer_relations(to) ⇒ Object


47
48
49
# File 'app/models/time_entry_activity.rb', line 47

def transfer_relations(to)
  objects.update_all(:activity_id => to.id)
end