Class: Decidim::TimeTracker::Admin::CreateActivity

Inherits:
Rectify::Command
  • Object
show all
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

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

#callObject

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_activityObject



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