Class: Decidim::TimeTracker::Admin::TasksController

Inherits:
ApplicationController
  • Object
show all
Includes:
Decidim::TimeTracker::ApplicationHelper
Defined in:
app/controllers/decidim/time_tracker/admin/tasks_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

#accept_all_pending_assignationsObject



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'app/controllers/decidim/time_tracker/admin/tasks_controller.rb', line 74

def accept_all_pending_assignations
  return redirect_to(tasks_path) if assignations.blank?

  ok_count = invalid_count = 0
  assignations.each do |assignation|
    UpdateAssignation.call(assignation, current_user, :accepted) do
      on(:ok) do
        ok_count += 1
      end

      on(:invalid) do
        invalid_count += 1
      end
    end
  end

  flash[:notice] = I18n.t("tasks.assignations.bulk_ok", scope: "decidim.time_tracker.admin", count: ok_count) if ok_count.positive?
  flash[:alert] = I18n.t("tasks.assignations.bulk_invalid", scope: "decidim.time_tracker.admin", count: invalid_count) if invalid_count.positive?

  redirect_to(tasks_path)
end

#createObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'app/controllers/decidim/time_tracker/admin/tasks_controller.rb', line 27

def create
  enforce_permission_to :create, :task

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

  CreateTask.call(@form) do
    on(:ok) do
      flash[:notice] = I18n.t("tasks.create.success", scope: "decidim.time_tracker.admin")
      redirect_to EngineRouter.admin_proxy(current_component).tasks_path
    end

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

#destroyObject



63
64
65
66
67
68
69
70
71
72
# File 'app/controllers/decidim/time_tracker/admin/tasks_controller.rb', line 63

def destroy
  enforce_permission_to :destroy, :task, task: current_task

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

#editObject



22
23
24
25
# File 'app/controllers/decidim/time_tracker/admin/tasks_controller.rb', line 22

def edit
  enforce_permission_to :update, :task, task: current_task
  @form = form(TaskForm).from_model(current_task, endpoint: current_task)
end

#indexObject



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

def index
  @tasks = tasks
end

#newObject



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

def new
  enforce_permission_to :create, :task

  @form = form(TaskForm).instance
end

#updateObject



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'app/controllers/decidim/time_tracker/admin/tasks_controller.rb', line 45

def update
  enforce_permission_to :update, :task, task: current_task

  form = form(TaskForm).from_params(params, task: current_task)

  UpdateTask.call(current_task, form, current_user) do
    on(:ok) do
      flash[:notice] = I18n.t("tasks.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("tasks.update.error", scope: "decidim.time_tracker.admin")
      render :edit
    end
  end
end