diff --git a/app/controllers/dmsf_workflows_controller.rb b/app/controllers/dmsf_workflows_controller.rb index f0b8acd0..10605cdc 100644 --- a/app/controllers/dmsf_workflows_controller.rb +++ b/app/controllers/dmsf_workflows_controller.rb @@ -419,14 +419,11 @@ class DmsfWorkflowsController < ApplicationController step = @dmsf_workflow.dmsf_workflow_steps[index] step.name = params[:dmsf_workflow][:step_name] if step.save - s = @dmsf_workflow.dmsf_workflow_steps.find_by(step: step.step) - if s + @dmsf_workflow.dmsf_workflow_steps.where(step: step.step).find_each do |s| s.name = step.name unless s.save flash[:error] = s.errors.full_messages.to_sentence end - else - render_404 end else flash[:error] = step.errors.full_messages.to_sentence diff --git a/test/fixtures/dmsf_workflow_steps.yml b/test/fixtures/dmsf_workflow_steps.yml index 45576e54..9d5152ac 100644 --- a/test/fixtures/dmsf_workflow_steps.yml +++ b/test/fixtures/dmsf_workflow_steps.yml @@ -1,12 +1,5 @@ --- -wfs2: - id: 2 - dmsf_workflow_id: 1 - step: 2 - name: '2nd step' - user_id: 2 - operator: 1 - + wfs1: id: 1 dmsf_workflow_id: 1 @@ -14,6 +7,14 @@ wfs1: name: '1st step' user_id: 1 operator: 0 + +wfs2: + id: 2 + dmsf_workflow_id: 1 + step: 2 + name: '2nd step' + user_id: 2 + operator: 1 wfs3: id: 3 diff --git a/test/functional/dmsf_workflow_controller_test.rb b/test/functional/dmsf_workflow_controller_test.rb index e6311b67..88bec7d0 100644 --- a/test/functional/dmsf_workflow_controller_test.rb +++ b/test/functional/dmsf_workflow_controller_test.rb @@ -353,7 +353,7 @@ class DmsfWorkflowsControllerTest < RedmineDmsf::Test::TestCase def test_start @revision2.dmsf_workflow_id = @wf1.id - get :start, :id => @revision2.dmsf_workflow_id,:dmsf_file_revision_id => @revision2.id + get :start, :id => @revision2.dmsf_workflow_id, :dmsf_file_revision_id => @revision2.id assert_redirected_to dmsf_folder_path(:id => @project1.id) end @@ -372,8 +372,14 @@ class DmsfWorkflowsControllerTest < RedmineDmsf::Test::TestCase def test_update_step_name put :update_step, id: @wf1.id, step: @wfs2.step, dmsf_workflow: { step_name: 'new_name'} assert_response :redirect + # All steps in the same step must be renamed @wfs2.reload assert_equal 'new_name', @wfs2.name + @wfs3.reload + assert_equal 'new_name', @wfs3.name + # But not in others + @wfs1.reload + assert_equal '1st step', @wfs1.name end def test_update_step_operators