Files
nairobi/app/controllers/dashboard/actions_controller.rb
voodoorai2000 dfbdc0568c Allow actions to be unexecuted
Before actions could be marked as executed. With this commit we are also allowing actions to be marked as unexecuted.
2019-04-29 15:43:53 +02:00

52 lines
1.4 KiB
Ruby

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("<br>")
render :new_request
end
end
def execute
authorize! :dashboard, proposal
Dashboard::ExecutedAction.create(proposal: proposal, action: dashboard_action,
executed_at: Time.now)
redirect_to request.referer
end
def unexecute
authorize! :dashboard, proposal
Dashboard::ExecutedAction.where(proposal: proposal, action: dashboard_action).first.destroy
redirect_to request.referer
end
private
def dashboard_action
@dashboard_action ||= Dashboard::Action.find(params[:id])
end
end