Routes have been refactored

Dashboard routes have been refactored. Now instead of having resources
for dashboard and routes inside a dashboard namespace the proposal
routes contain a dashboar singleton containing everything related to it.
This commit is contained in:
Juan Salvador Pérez García
2018-09-17 15:44:45 +02:00
parent 6f1a866878
commit 42d448248c
17 changed files with 90 additions and 85 deletions

View File

@@ -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('<br>')
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