%= labelled_fields_for :issue, @issue do |f| %>
<%= 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)", :title => @issue.status.description %> <%= content_tag 'a', sprite_icon('help', l(:label_open_issue_statuses_description)), :class => 'icon-only icon-help', :title => l(:label_open_issue_statuses_description), :onclick => "showModal('issue_statuses_description', '500px'); return false;", :href => '#' if @allowed_statuses.any? {|s| s.description.present? } %> <% if @issue.transition_warning %> <%= sprite_icon('warning', l(:notice_issue_not_closable_by_open_tasks)) %> <% end %>
<%= render partial: 'issues/issue_status_description', locals: { issue_statuses: @allowed_statuses } %> <%= hidden_field_tag 'was_default_status', @issue.status_id, :id => nil if @issue.status == @issue.default_status %> <% else %><%= @issue.status %>
<% end %> <% if @issue.safe_attribute? 'priority_id' %><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true} %>
<% end %> <% if @issue.safe_attribute? 'assigned_to_id' %><%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to), :include_blank => true, :required => @issue.required_attribute?('assigned_to_id') %> <% if @issue.assignable_users.include?(User.current) %>
<% end %> <% if @issue.safe_attribute?('category_id') && (category_options = @issue.project.issue_categories.pluck(:name, :id)).present? %> <% end %><%= f.select :category_id, category_options, {:include_blank => true, :required => @issue.required_attribute?('category_id')}, :onchange => ("updateIssueFrom('#{escape_javascript(update_issue_form_path(@project, @issue))}', this)" if @issue.new_record?) %> <%= link_to(sprite_icon('add', l(:label_issue_category_new)), new_project_issue_category_path(@issue.project), :remote => true, :method => 'get', :title => l(:label_issue_category_new), :tabindex => 200, :class => 'icon-only icon-add' ) if User.current.allowed_to?(:manage_categories, @issue.project) %>
<% end %> <% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true, :required => @issue.required_attribute?('fixed_version_id') %> <%= link_to(sprite_icon('add', l(:label_version_new)), new_project_version_path(@issue.project), :remote => true, :method => 'get', :title => l(:label_version_new), :tabindex => 200, :class => 'icon-only icon-add' ) if User.current.allowed_to?(:manage_versions, @issue.project) %>
<% end %><%= f.text_field :parent_issue_id, :size => 10, :required => @issue.required_attribute?('parent_issue_id'), :onchange => "updateIssueFrom('#{escape_javascript update_issue_form_path(@project, @issue)}', this)" %>
<%= javascript_tag "observeAutocompleteField('issue_parent_issue_id', '#{escape_javascript(auto_complete_issues_path(:project_id => @issue.project, :scope => Setting.cross_project_subtasks, :status => @issue.closed? ? 'c' : 'o', :issue_id => @issue.id))}')" %> <% end %> <% if @issue.safe_attribute? 'start_date' %><%= f.date_field(:start_date, :size => 10, :required => @issue.required_attribute?('start_date')) %> <%= calendar_for('issue_start_date') %>
<% end %> <% if @issue.safe_attribute? 'due_date' %><%= f.date_field(:due_date, :size => 10, :required => @issue.required_attribute?('due_date')) %> <%= calendar_for('issue_due_date') %>
<% end %> <% if @issue.safe_attribute? 'estimated_hours' %><%= f.hours_field :estimated_hours, :size => 6, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %>
<% end %> <% if @issue.safe_attribute?('done_ratio') && Issue.use_field_for_done_ratio? %><%= f.select :done_ratio, ((0..100).step(Setting.issue_done_ratio_interval.to_i).to_a.collect {|r| ["#{r} %", r]}), :required => @issue.required_attribute?('done_ratio') %>
<% end %>