Change BudgetInvestmentStatus to Milestone::Status
Generalize the BudgetInvestmentStatus model to Milestone::Status so it is not specific to budget investments, but can be used for any entity which has milestones. This is in preparation to make the Milestone model polymorphic and usable by entities other than budget investments.
This commit is contained in:
51
app/controllers/admin/milestone_statuses_controller.rb
Normal file
51
app/controllers/admin/milestone_statuses_controller.rb
Normal file
@@ -0,0 +1,51 @@
|
||||
class Admin::MilestoneStatusesController < Admin::BaseController
|
||||
|
||||
before_action :load_status, only: [:edit, :update, :destroy]
|
||||
|
||||
def index
|
||||
@statuses = Milestone::Status.all
|
||||
end
|
||||
|
||||
def new
|
||||
@status = Milestone::Status.new
|
||||
end
|
||||
|
||||
def create
|
||||
@status = Milestone::Status.new(status_params)
|
||||
|
||||
if @status.save
|
||||
redirect_to admin_milestone_statuses_path,
|
||||
notice: t('admin.statuses.create.notice')
|
||||
else
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
end
|
||||
|
||||
def update
|
||||
if @status.update(status_params)
|
||||
redirect_to admin_milestone_statuses_path,
|
||||
notice: t('admin.statuses.update.notice')
|
||||
else
|
||||
render :edit
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
@status.destroy
|
||||
redirect_to admin_milestone_statuses_path,
|
||||
notice: t('admin.statuses.delete.notice')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_status
|
||||
@status = Milestone::Status.find(params[:id])
|
||||
end
|
||||
|
||||
def status_params
|
||||
params.require(:milestone_status).permit([:name, :description])
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user