@@ -1,45 +1,50 | |||||
1 | <% fields_for :issue, @issue, :builder => TabularFormBuilder do |f| %> |
|
1 | <% fields_for :issue, @issue, :builder => TabularFormBuilder do |f| %> | |
2 |
|
2 | |||
3 | <div class="splitcontentleft"> |
|
3 | <div class="splitcontentleft"> | |
4 | <% if @issue.new_record? || @allowed_statuses.any? %> |
|
4 | <% if @issue.new_record? || @allowed_statuses.any? %> | |
5 | <p><%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), :required => true %></p> |
|
5 | <p><%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), :required => true %></p> | |
6 | <% else %> |
|
6 | <% else %> | |
7 | <p><label><%= l(:field_status) %></label> <%= @issue.status.name %></p> |
|
7 | <p><label><%= l(:field_status) %></label> <%= @issue.status.name %></p> | |
8 | <% end %> |
|
8 | <% end %> | |
9 |
|
9 | |||
10 | <p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %></p> |
|
10 | <p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %></p> | |
11 | <p><%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), :include_blank => true %></p> |
|
11 | <p><%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), :include_blank => true %></p> | |
12 | <% unless @project.issue_categories.empty? %> |
|
12 | <% unless @project.issue_categories.empty? %> | |
13 | <p><%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank => true %> |
|
13 | <p><%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank => true %> | |
14 | <%= prompt_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'), |
|
14 | <%= prompt_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'), | |
15 | l(:label_issue_category_new), |
|
15 | l(:label_issue_category_new), | |
16 | 'category[name]', |
|
16 | 'category[name]', | |
17 | {:controller => 'issue_categories', :action => 'new', :project_id => @project}, |
|
17 | {:controller => 'issue_categories', :action => 'new', :project_id => @project}, | |
18 | :title => l(:label_issue_category_new), |
|
18 | :title => l(:label_issue_category_new), | |
19 | :tabindex => 199) if authorize_for('issue_categories', 'new') %></p> |
|
19 | :tabindex => 199) if authorize_for('issue_categories', 'new') %></p> | |
20 | <% end %> |
|
20 | <% end %> | |
21 | <% unless @issue.assignable_versions.empty? %> |
|
21 | <% unless @issue.assignable_versions.empty? %> | |
22 | <p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true %> |
|
22 | <p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true %> | |
23 | <%= prompt_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'), |
|
23 | <%= prompt_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'), | |
24 | l(:label_version_new), |
|
24 | l(:label_version_new), | |
25 | 'version[name]', |
|
25 | 'version[name]', | |
26 | {:controller => 'versions', :action => 'create', :project_id => @project}, |
|
26 | {:controller => 'versions', :action => 'create', :project_id => @project}, | |
27 | :title => l(:label_version_new), |
|
27 | :title => l(:label_version_new), | |
28 | :tabindex => 200) if authorize_for('versions', 'new') %> |
|
28 | :tabindex => 200) if authorize_for('versions', 'new') %> | |
29 | </p> |
|
29 | </p> | |
30 | <% end %> |
|
30 | <% end %> | |
31 | </div> |
|
31 | </div> | |
32 |
|
32 | |||
33 | <div class="splitcontentright"> |
|
33 | <div class="splitcontentright"> | |
|
34 | <% if User.current.allowed_to?(:manage_subtasks, @project) %> | |||
|
35 | <p id="parent_issue"><%= f.text_field :parent_issue_id, :size => 10 %></p> | |||
|
36 | <div id="parent_issue_candidates" class="autocomplete"></div> | |||
|
37 | <%= javascript_tag "observeParentIssueField('#{auto_complete_issues_path(:id => @issue, :project_id => @project) }')" %> | |||
|
38 | <% end %> | |||
34 | <p><%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf? %><%= calendar_for('issue_start_date') if @issue.leaf? %></p> |
|
39 | <p><%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf? %><%= calendar_for('issue_start_date') if @issue.leaf? %></p> | |
35 | <p><%= f.text_field :due_date, :size => 10, :disabled => !@issue.leaf? %><%= calendar_for('issue_due_date') if @issue.leaf? %></p> |
|
40 | <p><%= f.text_field :due_date, :size => 10, :disabled => !@issue.leaf? %><%= calendar_for('issue_due_date') if @issue.leaf? %></p> | |
36 | <p><%= f.text_field :estimated_hours, :size => 3, :disabled => !@issue.leaf? %> <%= l(:field_hours) %></p> |
|
41 | <p><%= f.text_field :estimated_hours, :size => 3, :disabled => !@issue.leaf? %> <%= l(:field_hours) %></p> | |
37 | <% if @issue.leaf? && Issue.use_field_for_done_ratio? %> |
|
42 | <% if @issue.leaf? && Issue.use_field_for_done_ratio? %> | |
38 | <p><%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }) %></p> |
|
43 | <p><%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }) %></p> | |
39 | <% end %> |
|
44 | <% end %> | |
40 | </div> |
|
45 | </div> | |
41 |
|
46 | |||
42 | <div style="clear:both;"> </div> |
|
47 | <div style="clear:both;"> </div> | |
43 | <%= render :partial => 'issues/form_custom_fields' %> |
|
48 | <%= render :partial => 'issues/form_custom_fields' %> | |
44 |
|
49 | |||
45 | <% end %> |
|
50 | <% end %> |
@@ -1,42 +1,35 | |||||
1 | <%= call_hook(:view_issues_form_details_top, { :issue => @issue, :form => f }) %> |
|
1 | <%= call_hook(:view_issues_form_details_top, { :issue => @issue, :form => f }) %> | |
2 |
|
2 | |||
3 | <div id="issue_descr_fields" <%= 'style="display:none"' unless @issue.new_record? || @issue.errors.any? %>> |
|
3 | <div id="issue_descr_fields" <%= 'style="display:none"' unless @issue.new_record? || @issue.errors.any? %>> | |
4 | <p><%= f.select :tracker_id, @project.trackers.collect {|t| [t.name, t.id]}, :required => true %></p> |
|
4 | <p><%= f.select :tracker_id, @project.trackers.collect {|t| [t.name, t.id]}, :required => true %></p> | |
5 | <%= observe_field :issue_tracker_id, :url => { :action => :new, :project_id => @project, :id => @issue }, |
|
5 | <%= observe_field :issue_tracker_id, :url => { :action => :new, :project_id => @project, :id => @issue }, | |
6 | :update => :attributes, |
|
6 | :update => :attributes, | |
7 | :with => "Form.serialize('issue-form')" %> |
|
7 | :with => "Form.serialize('issue-form')" %> | |
8 |
|
8 | |||
9 | <p><%= f.text_field :subject, :size => 80, :required => true %></p> |
|
9 | <p><%= f.text_field :subject, :size => 80, :required => true %></p> | |
10 |
|
||||
11 | <% if User.current.allowed_to?(:manage_subtasks, @project) %> |
|
|||
12 | <p id="parent_issue"><%= f.text_field :parent_issue_id, :size => 10 %></p> |
|
|||
13 | <div id="parent_issue_candidates" class="autocomplete"></div> |
|
|||
14 | <%= javascript_tag "observeParentIssueField('#{auto_complete_issues_path(:id => @issue, :project_id => @project) }')" %> |
|
|||
15 | <% end %> |
|
|||
16 |
|
||||
17 | <p><%= f.text_area :description, |
|
10 | <p><%= f.text_area :description, | |
18 | :cols => 60, |
|
11 | :cols => 60, | |
19 | :rows => (@issue.description.blank? ? 10 : [[10, @issue.description.length / 50].max, 100].min), |
|
12 | :rows => (@issue.description.blank? ? 10 : [[10, @issue.description.length / 50].max, 100].min), | |
20 | :accesskey => accesskey(:edit), |
|
13 | :accesskey => accesskey(:edit), | |
21 | :class => 'wiki-edit' %></p> |
|
14 | :class => 'wiki-edit' %></p> | |
22 | </div> |
|
15 | </div> | |
23 |
|
16 | |||
24 | <div id="attributes" class="attributes"> |
|
17 | <div id="attributes" class="attributes"> | |
25 | <%= render :partial => 'issues/attributes' %> |
|
18 | <%= render :partial => 'issues/attributes' %> | |
26 | </div> |
|
19 | </div> | |
27 |
|
20 | |||
28 | <% if @issue.new_record? %> |
|
21 | <% if @issue.new_record? %> | |
29 | <p id="attachments_form"><%= label_tag('attachments[1][file]', l(:label_attachment_plural))%><%= render :partial => 'attachments/form' %></p> |
|
22 | <p id="attachments_form"><%= label_tag('attachments[1][file]', l(:label_attachment_plural))%><%= render :partial => 'attachments/form' %></p> | |
30 | <% end %> |
|
23 | <% end %> | |
31 |
|
24 | |||
32 | <% if @issue.new_record? && User.current.allowed_to?(:add_issue_watchers, @project) -%> |
|
25 | <% if @issue.new_record? && User.current.allowed_to?(:add_issue_watchers, @project) -%> | |
33 | <p id="watchers_form"><label><%= l(:label_issue_watchers) %></label> |
|
26 | <p id="watchers_form"><label><%= l(:label_issue_watchers) %></label> | |
34 | <% @issue.project.users.sort.each do |user| -%> |
|
27 | <% @issue.project.users.sort.each do |user| -%> | |
35 | <label class="floating"><%= check_box_tag 'issue[watcher_user_ids][]', user.id, @issue.watched_by?(user) %> <%=h user %></label> |
|
28 | <label class="floating"><%= check_box_tag 'issue[watcher_user_ids][]', user.id, @issue.watched_by?(user) %> <%=h user %></label> | |
36 | <% end -%> |
|
29 | <% end -%> | |
37 | </p> |
|
30 | </p> | |
38 | <% end %> |
|
31 | <% end %> | |
39 |
|
32 | |||
40 | <%= call_hook(:view_issues_form_details_bottom, { :issue => @issue, :form => f }) %> |
|
33 | <%= call_hook(:view_issues_form_details_bottom, { :issue => @issue, :form => f }) %> | |
41 |
|
34 | |||
42 | <%= wikitoolbar_for 'issue_description' %> |
|
35 | <%= wikitoolbar_for 'issue_description' %> |
General Comments 0
You need to be logged in to leave comments.
Login now