Class: Decidim::TimeTracker::Admin::ActivitiesController

Inherits:
ApplicationController
  • Object
show all
Includes:
Decidim::TimeTracker::ApplicationHelper
Defined in:
app/controllers/decidim/time_tracker/admin/activities_controller.rb

Instance Method Summary collapse

Methods included from Decidim::TimeTracker::ApplicationHelper

#activities_empty?, #activities_label, #assignation_date, #assignation_status_label, #assignations_label, #clockify_seconds, #milestones_label, #milestones_path, #must_fill_in_data?, #tasks_label, #time_events_label, #user_joined_at, #user_last_milestone, #user_total_time_dedicated

Instance Method Details

#createObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/controllers/decidim/time_tracker/admin/activities_controller.rb', line 21

def create
  enforce_permission_to :create, :activities

  @form = form(ActivityForm).from_params(params)

  CreateActivity.call(@form, current_task) do |_activity|
    on(:ok) do
      flash[:notice] = I18n.t("activities.create.success", scope: "decidim.time_tracker.admin")
      redirect_to EngineRouter.admin_proxy(current_component).edit_task_path(current_task)
    end

    on(:invalid) do
      flash.now[:alert] = I18n.t("activities.create.error", scope: "decidim.time_tracker.admin")
      render :new
    end
  end
end

#destroyObject



55
56
57
58
59
60
61
62
63
64
# File 'app/controllers/decidim/time_tracker/admin/activities_controller.rb', line 55

def destroy
  enforce_permission_to :destroy, :activity, activity: current_activity

  DestroyActivity.call(current_activity, current_user) do
    on(:ok) do
      flash[:notice] = I18n.t("activities.destroy.success", scope: "decidim.time_tracker.admin")
      redirect_to EngineRouter.admin_proxy(current_component).edit_task_path(current_task)
    end
  end
end

#editObject



16
17
18
19
# File 'app/controllers/decidim/time_tracker/admin/activities_controller.rb', line 16

def edit
  enforce_permission_to :update, :activity, activity: current_activity
  @form = form(ActivityForm).from_model(current_activity, task: current_task, activity: current_activity)
end

#newObject



10
11
12
13
14
# File 'app/controllers/decidim/time_tracker/admin/activities_controller.rb', line 10

def new
  enforce_permission_to :create, :activities

  @form = form(ActivityForm).instance
end

#updateObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'app/controllers/decidim/time_tracker/admin/activities_controller.rb', line 39

def update
  enforce_permission_to :update, :activity, activity: current_activity
  @form = form(ActivityForm).from_params(params, task: current_task, activity: current_activity)
  UpdateActivity.call(current_activity, @form, current_user) do
    on(:ok) do
      flash[:notice] = I18n.t("activities.update.success", scope: "decidim.time_tracker.admin")
      redirect_to EngineRouter.admin_proxy(current_component).edit_task_path(current_task)
    end

    on(:invalid) do
      flash.now[:alert] = I18n.t("activities.update.error", scope: "decidim.time_tracker.admin")
      render :edit
    end
  end
end