diff --git a/app/controllers/admin/budget_investment_statuses_controller.rb b/app/controllers/admin/budget_investment_statuses_controller.rb new file mode 100644 index 000000000..c3d7a4e16 --- /dev/null +++ b/app/controllers/admin/budget_investment_statuses_controller.rb @@ -0,0 +1,51 @@ +class Admin::BudgetInvestmentStatusesController < Admin::BaseController + + before_action :load_status, only: [:edit, :update, :destroy] + + def index + @statuses = Budget::Investment::Status.all + end + + def new + @status = Budget::Investment::Status.new + end + + def create + @status = Budget::Investment::Status.new(status_params) + + if @status.save + redirect_to admin_budget_investment_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_budget_investment_statuses_path, + notice: t('admin.statuses.update.notice') + else + render :edit + end + end + + def destroy + @status.destroy + redirect_to admin_budget_investment_statuses_path, + notice: t('admin.statuses.delete.notice') + end + + private + + def load_status + @status = Budget::Investment::Status.find(params[:id]) + end + + def status_params + params.require(:budget_investment_status).permit([:name, :description]) + end +end diff --git a/config/routes/admin.rb b/config/routes/admin.rb index 2125b6ee9..374b4512c 100644 --- a/config/routes/admin.rb +++ b/config/routes/admin.rb @@ -55,6 +55,8 @@ namespace :admin do resources :budget_phases, only: [:edit, :update] end + resources :budget_investment_statuses, only: [:index, :new, :create, :update, :edit, :destroy] + resources :signature_sheets, only: [:index, :new, :create, :show] resources :banners, only: [:index, :new, :create, :edit, :update, :destroy] do