Workflow statuses editing

This commit is contained in:
2026-04-13 02:22:52 +03:00
parent 9766430e69
commit 450b7fb1d0
10 changed files with 130 additions and 20 deletions
@@ -0,0 +1,34 @@
# frozen_string_literal: true
module ProjectAdmin
module Workflows
class StatusesController < ApplicationController
before_action :fetch_workflow
def edit
@form = ProjectAdmin::Workflows::Statuses::BatchUpdate.from_model(@workflow)
end
def batch_update
form_params = params.expect(workflow: { task_statuses_attributes: [%i[id _destroy name color icon]] })
if form_params[:task_statuses_attributes].respond_to?(:keys)
form_params[:task_statuses_attributes] = form_params[:task_statuses_attributes].values
end
@form = ProjectAdmin::Workflows::Statuses::BatchUpdate.new(form_params)
if @form.perform(@workflow)
redirect_to project_admin_workflow_path(@project, @workflow)
else
render :edit
end
end
private
def fetch_workflow
@workflow = @project.workflows.find(params[:workflow_id])
end
end
end
end