From b1038c0d66fc2c19fa4459af7439ab07b77c671f Mon Sep 17 00:00:00 2001 From: Artemiy Solopov Date: Thu, 23 Apr 2026 14:04:47 +0300 Subject: [PATCH] Small fix for workflow tasks --- app/controllers/project_admin/application_controller.rb | 1 + app/controllers/tasks_controller.rb | 8 +++++++- app/views/tasks/new.html.slim | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/controllers/project_admin/application_controller.rb b/app/controllers/project_admin/application_controller.rb index bc023f8..9e12f3a 100644 --- a/app/controllers/project_admin/application_controller.rb +++ b/app/controllers/project_admin/application_controller.rb @@ -8,6 +8,7 @@ module ProjectAdmin def fetch_project @project = Project.find_by!(code: params[:project_id]) + self.current_project = @project end end end diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index d766283..44313d2 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -3,6 +3,8 @@ class TasksController < ApplicationController before_action :fetch_task, only: %w[show edit update delete change_status] + helper_method :workflows_for_tasks + def index self.current_project = fetch_project @tasks = if current_project @@ -17,7 +19,7 @@ class TasksController < ApplicationController def show; end def new - @project = fetch_project || Project.order(:name).first + @project = self.current_project = fetch_project || Project.order(:name).first @workflow = fetch_workflow || @project.workflows.first @form = Tasks::Create.new(project_id: @project.id, workflow_id: @workflow.id) end @@ -81,4 +83,8 @@ class TasksController < ApplicationController @task = Task.includes(:project).find_by_full_number_or_id!(params[:id]) self.current_project = @task.project end + + def workflows_for_tasks + @project.workflows.joins(:task_statuses).distinct + end end diff --git a/app/views/tasks/new.html.slim b/app/views/tasks/new.html.slim index e40c8c3..b87d828 100644 --- a/app/views/tasks/new.html.slim +++ b/app/views/tasks/new.html.slim @@ -8,7 +8,7 @@ h1 New task fieldset data={controller: 'dependent-frames-selector', 'dependent-frames-selector-param-value': 'workflow_id'} .field = form.label :workflow - = form.select :workflow_id, Workflow.where(project: @form.project).map { |w| [w.name, w.id] }, {}, data: {action: 'dependent-frames-selector#refresh'} + = form.select :workflow_id, workflows_for_tasks.map { |w| [w.name, w.id] }, {}, data: {action: 'dependent-frames-selector#refresh'} = turbo_frame_tag :status_select, data: {'dependent-frames-selector-target': 'frame'} .field