# HG changeset patch # User Toshi MARUYAMA # Date 1569477217 -32400 # 木 9月 26 14:53:37 2019 +0900 # Node ID cc08099410a2a8a4b116ff513212e72062bfbf95 # Parent 0ed4bf0b4ed8c532fe1762ed50235378f565e660 issue 31322 diff --git a/app/views/issues/_attributes.html.erb b/app/views/issues/_attributes.html.erb --- a/app/views/issues/_attributes.html.erb +++ b/app/views/issues/_attributes.html.erb @@ -4,7 +4,7 @@
<% if @issue.safe_attribute?('status_id') && @allowed_statuses.present? %>

<%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), {:required => true}, - :onchange => "updateIssueFrom('#{escape_javascript update_issue_form_path(@project, @issue)}', this)" %>

+ :onchange => "updateIssueFrom('#{escape_javascript update_issue_form_path(@project, @issue)}', this);add_confirm_dialog()" %>

<%= hidden_field_tag 'was_default_status', @issue.status_id, :id => nil if @issue.status == @issue.default_status %> <% else %>

<%= @issue.status %>

diff --git a/app/views/issues/_edit.html.erb b/app/views/issues/_edit.html.erb --- a/app/views/issues/_edit.html.erb +++ b/app/views/issues/_edit.html.erb @@ -1,3 +1,20 @@ +<%= javascript_tag do %> + function add_confirm_dialog (){ + var closed_issue_statuses = + <%= @allowed_statuses.select{|i| i.is_closed?}.pluck(:id).map(&:to_s).to_json.html_safe %>; + var children = $("#issue_tree").find("tr.issue.child"); + if (($.inArray($("#issue_status_id").val(), closed_issue_statuses) > -1) && + (children.length > 0) && + ((children.length - $("#issue_tree").find("tr.issue.child.closed").length) > 0)) { + $("#submit_button").attr({ + "data-confirm": 'POC' + }); + } else { + $("#submit_button").removeAttr("data-confirm"); + } + return true; + } +<% end %> <%= labelled_form_for @issue, :html => {:id => 'issue-form', :multipart => true} do |f| %> <%= error_messages_for 'issue', 'time_entry' %> <%= render :partial => 'conflict' if @conflict %> @@ -72,7 +89,7 @@ <%= f.hidden_field :lock_version %> <%= hidden_field_tag 'last_journal_id', params[:last_journal_id] || @issue.last_journal_id %> - <%= submit_tag l(:button_submit) %> + <%= submit_tag l(:button_submit), :id => "submit_button" %> <%= link_to l(:button_cancel), issue_path(id: @issue.id), :onclick => params[:action] == 'show' ? "$('#update').hide(); return false;" : '' %> <%= hidden_field_tag 'prev_issue_id', @prev_issue_id if @prev_issue_id %>