diff --git a/app/controllers/dmsf_workflows_controller.rb b/app/controllers/dmsf_workflows_controller.rb index 71d26a45..f0b8acd0 100644 --- a/app/controllers/dmsf_workflows_controller.rb +++ b/app/controllers/dmsf_workflows_controller.rb @@ -416,15 +416,17 @@ class DmsfWorkflowsController < ApplicationController # Name if params[:dmsf_workflow].present? index = params[:step].to_i - name = params[:dmsf_workflow][:name] step = @dmsf_workflow.dmsf_workflow_steps[index] - step.name = name + step.name = params[:dmsf_workflow][:step_name] if step.save - @dmsf_workflow.dmsf_workflow_steps.each do |s| - if s.step == step.step - s.name = step.name - s.save! + s = @dmsf_workflow.dmsf_workflow_steps.find_by(step: step.step) + if 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/app/views/dmsf_workflows/_steps.html.erb b/app/views/dmsf_workflows/_steps.html.erb index 507f5fe4..bc398cc0 100644 --- a/app/views/dmsf_workflows/_steps.html.erb +++ b/app/views/dmsf_workflows/_steps.html.erb @@ -30,7 +30,7 @@ <%= error_messages_for 'workflow' %>

- <%= f.text_field :name, :required => true %> + <%= f.text_field :name, required: true %> <%= f.submit l(:button_save) %>

@@ -38,7 +38,7 @@

- <%= link_to l(:dmsf_new_step_or_approver), new_step_dmsf_workflow_path(@dmsf_workflow), :remote => true, :class => 'icon icon-add' %> + <%= link_to l(:dmsf_new_step_or_approver), new_step_dmsf_workflow_path(@dmsf_workflow), remote: true, class: 'icon icon-add' %>

<% steps = @dmsf_workflow.dmsf_workflow_steps.collect{|s| s.step}.uniq %> <% if steps.any? %> @@ -47,34 +47,46 @@ <%= l(:label_dmsf_workflow_step) %> <%= l(:label_dmsf_workflow_approval_plural) %> - /th> + - <% steps.each do |i|%> + <% steps.each do |i| %> <% index = @dmsf_workflow.dmsf_workflow_steps.order(:id).index{ |s| s.step == i } %> - <%= form_for(@dmsf_workflow, - :url => update_step_dmsf_workflow_path(:step => index), - :method => :put, - :html => {:id => "step-index-#{index}-form", :class => 'hol'}) do |f| %> <%= i %> <%= @dmsf_workflow.dmsf_workflow_steps[index].name if index %>
" class="hol"> - <%= f.text_field(:name, :value => @dmsf_workflow.dmsf_workflow_steps[index].name) %> + <%= form_for(@dmsf_workflow, + :url => update_step_dmsf_workflow_path(step: index), + :method => :put, + :html => { id: "step-index-name-#{index}-form" }) do |f| %> + <%= f.text_field(:step_name, value: @dmsf_workflow.dmsf_workflow_steps[index].name, id: "dmsf_workflow_step_name_#{index}") %> +

+ <%= submit_tag l(:button_change), :class => 'small' %> + <%= link_to_function( + l(:button_cancel), + "$('#step-index-#{index}-name').show(); $('#step-index-#{index}-approvers').show(); $('#step-index-#{index}-name-form').hide(); $('#step-index-#{index}-approvers-form').hide();") + %> +

+ <% end %>
- <% stps = @dmsf_workflow.dmsf_workflow_steps.collect{|s| (s.step == i) ? s : nil}.compact %> + <% stps = @dmsf_workflow.dmsf_workflow_steps.collect{ |s| (s.step == i) ? s : nil }.compact %> <% stps.each_with_index do |step, j| %> - <% if (j != 0) || (stps.count > 1) %> + <% if (j > 0) || (step.operator != DmsfWorkflowStep::OPERATOR_AND) %> <%= step.soperator %> <% end %> <%= link_to_user step.user %> <% end %>
" class="hol"> + <%= form_for(@dmsf_workflow, + :url => update_step_dmsf_workflow_path(step: index), + :method => :put, + :html => {:id => "step-index-operator-#{index}-form"}) do |_| %>
<% stps.each do |step| %>
@@ -90,12 +102,12 @@ <%= DmsfWorkflowStep.soperator(DmsfWorkflowStep::OPERATOR_OR) %>
-  <%= delete_link delete_step_dmsf_workflow_path(:step => step.id) %> +  <%= delete_link delete_step_dmsf_workflow_path(step: step.id) %>
<%= select_tag "assignee[#{step.id}]", principals_options_for_select(@approving_candidates | [step.user], step.user), - :include_blank => false %> + include_blank: false %>
<% end %>
@@ -106,18 +118,18 @@ "$('#step-index-#{index}-name').show(); $('#step-index-#{index}-approvers').show(); $('#step-index-#{index}-name-form').hide(); $('#step-index-#{index}-approvers-form').hide();") %>

+ <% end %>
+ + + <%= reorder_handle(@dmsf_workflow, url: url_for(action: 'edit', id: @dmsf_workflow, step: i) ) %> + <%= link_to_function l(:button_edit), + "$('#step-index-#{index}-name').hide(); $('#step-index-#{index}-approvers').hide(); $('#step-index-#{index}-name-form').show(); $('#step-index-#{index}-approvers-form').show();", + :class => 'icon icon-edit' %> + <%= delete_link edit_dmsf_workflow_path(@dmsf_workflow, step: i) %> + <% end %> - - - <%= reorder_handle(@dmsf_workflow, :url => url_for(:action => 'edit', :id => @dmsf_workflow, :step => i) ) %> - <%= link_to_function l(:button_edit), - "$('#step-index-#{index}-name').hide(); $('#step-index-#{index}-approvers').hide(); $('#step-index-#{index}-name-form').show(); $('#step-index-#{index}-approvers-form').show();", - :class => 'icon icon-edit' %> - <%= delete_link edit_dmsf_workflow_path(@dmsf_workflow, :step => i) %> - - <% end %> <% else %>