Class: Decidim::TimeTracker::Task
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Decidim::TimeTracker::Task
- 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
- #assignations_count(filter: :accepted) ⇒ Object
- #ends_at ⇒ Object
- #starts_at ⇒ Object
- #user_is_assignation?(user, filter: :accepted) ⇒ Boolean
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_at ⇒ Object
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_at ⇒ Object
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
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 |