diff --git a/app/controllers/dashboard/actions_controller.rb b/app/controllers/dashboard/actions_controller.rb
new file mode 100644
index 000000000..7035658ec
--- /dev/null
+++ b/app/controllers/dashboard/actions_controller.rb
@@ -0,0 +1,42 @@
+class Dashboard::ActionsController < Dashboard::BaseController
+ helper_method :dashboard_action
+
+ def new_request
+ authorize! :dashboard, proposal
+ @dashboard_executed_action = Dashboard::ExecutedAction.new
+ end
+
+ def create_request
+ authorize! :dashboard, proposal
+
+ source_params = {
+ proposal: proposal,
+ action: dashboard_action,
+ executed_at: Time.now
+ }
+
+ @dashboard_executed_action = Dashboard::ExecutedAction.new(source_params)
+ if @dashboard_executed_action.save
+ Dashboard::AdministratorTask.create(source: @dashboard_executed_action)
+
+ redirect_to progress_proposal_dashboard_path(proposal.to_param), { flash: { info: t('dashboard.create_request.success') } }
+ else
+ flash.now[:alert] = @dashboard_executed_action.errors.full_messages.join('
')
+ render :new_request
+ end
+ end
+
+ def execute
+ authorize! :dashboard, proposal
+
+ Dashboard::ExecutedAction.create(proposal: proposal, action: dashboard_action, executed_at: Time.now)
+ redirect_to progress_proposal_dashboard_path(proposal.to_param)
+ end
+
+ private
+
+ def dashboard_action
+ @dashboard_action ||= Dashboard::Action.find(params[:id])
+ end
+end
+
diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb
index f9f6903b6..75f2e0bc0 100644
--- a/app/controllers/dashboard_controller.rb
+++ b/app/controllers/dashboard_controller.rb
@@ -1,7 +1,7 @@
class DashboardController < Dashboard::BaseController
helper_method :dashboard_action, :active_resources, :course
- def index
+ def show
authorize! :dashboard, proposal
end
@@ -9,41 +9,9 @@ class DashboardController < Dashboard::BaseController
authorize! :publish, proposal
proposal.publish
- redirect_to proposal_dashboard_index_path(proposal), notice: t('proposals.notice.published')
+ redirect_to proposal_dashboard_path(proposal), notice: t('proposals.notice.published')
end
-
- def execute
- authorize! :dashboard, proposal
-
- Dashboard::ExecutedAction.create(proposal: proposal, action: dashboard_action, executed_at: Time.now)
- redirect_to progress_proposal_dashboard_index_path(proposal.to_param)
- end
-
- def new_request
- authorize! :dashboard, proposal
- @dashboard_executed_action = Dashboard::ExecutedAction.new
- end
-
- def create_request
- authorize! :dashboard, proposal
-
- source_params = {
- proposal: proposal,
- action: dashboard_action,
- executed_at: Time.now
- }
-
- @dashboard_executed_action = Dashboard::ExecutedAction.new(source_params)
- if @dashboard_executed_action.save
- Dashboard::AdministratorTask.create(source: @dashboard_executed_action)
-
- redirect_to progress_proposal_dashboard_index_path(proposal.to_param), { flash: { info: t('dashboard.create_request.success') } }
- else
- flash.now[:alert] = @dashboard_executed_action.errors.full_messages.join('
')
- render :new_request
- end
- end
-
+
def progress
authorize! :dashboard, proposal
end
@@ -53,11 +21,7 @@ class DashboardController < Dashboard::BaseController
end
private
-
- def dashboard_action
- @dashboard_action ||= Dashboard::Action.find(params[:id])
- end
-
+
def active_resources
@active_resources ||= Dashboard::Action.active.resources.order(required_supports: :asc, day_offset: :asc)
end
diff --git a/app/views/dashboard/_form.html.erb b/app/views/dashboard/_form.html.erb
index 543424efc..aabf9ad70 100644
--- a/app/views/dashboard/_form.html.erb
+++ b/app/views/dashboard/_form.html.erb
@@ -1,6 +1,6 @@
<% if dashboard_action.request_to_administrators && !dashboard_action.requested_for?(proposal) %>
<%= form_for @dashboard_executed_action,
- url: create_request_proposal_dashboard_url(proposal, dashboard_action) do |f| %>
+ url: create_request_proposal_dashboard_action_url(proposal, dashboard_action) do |f| %>