Class: Decidim::TimeTracker::Task

Inherits:
ApplicationRecord show all
Includes:
Loggable, Decidim::Traceable
Defined in:
app/models/decidim/time_tracker/task.rb

Overview

The data store for a Task in the Decidim::TimeTracker component.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.log_presenter_class_for(_log) ⇒ Object



39
40
41
# File 'app/models/decidim/time_tracker/task.rb', line 39

def self.log_presenter_class_for(_log)
  Decidim::TimeTracker::AdminLog::TaskPresenter
end

Instance Method Details

#assignations_count(filter: :accepted) ⇒ Object



30
31
32
33
# File 'app/models/decidim/time_tracker/task.rb', line 30

def assignations_count(filter: :accepted)
  assignations = Assignation.where(activity: activities).send(filter)
  assignations.count
end

#ends_atObject



26
27
28
# File 'app/models/decidim/time_tracker/task.rb', line 26

def ends_at
  activities.order(end_date: :desc).first&.end_date
end

#starts_atObject



22
23
24
# File 'app/models/decidim/time_tracker/task.rb', line 22

def starts_at
  activities.order(start_date: :asc).first&.start_date
end

#user_is_assignation?(user, filter: :accepted) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/models/decidim/time_tracker/task.rb', line 35

def user_is_assignation?(user, filter: :accepted)
  Assignation.where(user: user, activity: activities).send(filter).any?
end