Class: Decidim::TimeTracker::Admin::CreateActivity
- Inherits:
-
Rectify::Command
- Object
- Rectify::Command
- Decidim::TimeTracker::Admin::CreateActivity
- Defined in:
- app/commands/decidim/time_tracker/admin/create_activity.rb
Overview
A command with all the business logic when creating a activity
Instance Method Summary collapse
-
#call ⇒ Object
Creates the activity if valid.
- #create_activity ⇒ Object
-
#initialize(form, task) ⇒ CreateActivity
constructor
A new instance of CreateActivity.
Constructor Details
#initialize(form, task) ⇒ CreateActivity
Returns a new instance of CreateActivity.
8 9 10 11 |
# File 'app/commands/decidim/time_tracker/admin/create_activity.rb', line 8 def initialize(form, task) @form = form @task = task end |
Instance Method Details
#call ⇒ Object
Creates the activity if valid.
Broadcasts :ok if successful, :invalid otherwise.
16 17 18 19 20 21 |
# File 'app/commands/decidim/time_tracker/admin/create_activity.rb', line 16 def call return broadcast(:invalid) if @form.invalid? create_activity broadcast(:ok) end |
#create_activity ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'app/commands/decidim/time_tracker/admin/create_activity.rb', line 23 def create_activity Decidim.traceability.create!( Decidim::TimeTracker::Activity, @form.current_user, description: @form.description, active: @form.active, start_date: @form.start_date, end_date: @form.end_date, max_minutes_per_day: @form.max_minutes_per_day, requests_start_at: @form.requests_start_at, task: @task ) end |