<%= labelled_fields_for :issue, @issue do |f| %>

<div class="splitcontent">
<div class="splitcontentleft">
<% if @issue.safe_attribute?('status_id') && @allowed_statuses.present? %>
<p>
  <%= 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 %>
    <span class="icon-only icon-warning" title="<%= @issue.transition_warning %>"><%= sprite_icon('warning', l(:notice_issue_not_closable_by_open_tasks)) %></span>
  <% end %>
</p>
<%= 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 %>
<p><label><%= l(:field_status) %></label> <%= @issue.status %></p>
<% end %>

<% if @issue.safe_attribute? 'priority_id' %>
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true} %></p>
<% end %>

<% if @issue.safe_attribute? 'assigned_to_id' %>
<p>
  <%= 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) %>
    <a class="assign-to-me-link<%= ' hidden' if @issue.assigned_to_id == User.current.id %>" href="#" data-id="<%= User.current.id %>"><%= l(:label_assign_to_me) %></a>
  <% end %>
</p>
<% end %>

<% if @issue.safe_attribute?('category_id') && (category_options = @issue.project.issue_categories.pluck(:name, :id)).present? %>
<p><%= 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) %></p>
<% end %>

<% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
<p><%= 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) %>
</p>
<% end %>
</div>

<div class="splitcontentright">
<% if @issue.safe_attribute? 'parent_issue_id' %>
<p id="parent_issue"><%= 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)" %></p>
<%= 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' %>
<p id="start_date_area">
  <%= f.date_field(:start_date, :size => 10, :required => @issue.required_attribute?('start_date')) %>
  <%= calendar_for('issue_start_date') %>
</p>
<% end %>

<% if @issue.safe_attribute? 'due_date' %>
<p id="due_date_area">
  <%= f.date_field(:due_date, :size => 10, :required => @issue.required_attribute?('due_date')) %>
  <%= calendar_for('issue_due_date') %>
</p>
<% end %>

<% if @issue.safe_attribute? 'estimated_hours' %>
<p><%= f.hours_field :estimated_hours, :size => 6, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %></p>
<% end %>

<% if @issue.safe_attribute?('done_ratio') && Issue.use_field_for_done_ratio? %>
<p><%= 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') %></p>
<% end %>
</div>
</div>

<% if @issue.safe_attribute? 'custom_field_values' %>
<%= render :partial => 'issues/form_custom_fields' %>
<% end %>

<% end %>

<% include_calendar_headers_tags %>
