OSDN Git Service

add long text custom field support.
[quickedit/quick_edit.git] / app / views / hooks / _quick_edit_context.html.erb
1 <%
2    extend ApplicationHelper
3    extend IssueRelationsHelper
4    custom_fields = @issues.map(&:available_custom_fields).reduce(:&).select do |f|
5      #concat f.field_format
6      %w(string date int text).include?(f.field_format)
7    end
8
9    first_issue = @issues.first
10    first_issue_id = first_issue.id
11    if @issues.size > 1
12       second_issue = @issues[1]
13       second_issue_id = second_issue.id
14    else
15       second_issue_id = ''
16    end
17
18    # 可能なら更新後に選択されたチケットに戻り先に設定
19    if @back.match(/\/projects\/.*?\/issues/)
20      back_url = @back + '#issue-' + first_issue.id.to_s
21    else
22      back_url = @back
23    end
24
25 %>
26   <li class="folder">
27     <a href="#" class="submenu"><%= l(:button_quick_edit) %></a>
28     <ul>
29       <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:subject), :subject, nil, back_url, !@can[:update]) %>
30       <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:description), :description, nil, back_url, !@can[:update]) %>
31       <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:parent_issue_id), :parent_issue_id, nil, back_url, !@can[:update]) %>
32       <% unless @issues.any? {|issue| issue.disabled_core_fields.include?('start_date') } %>
33       <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:start_date), :start_date, nil, back_url, !@can[:update]) %>
34       <% end %>
35
36       <% unless @issues.any? {|issue| issue.disabled_core_fields.include?('due_date') } %>
37       <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:due_date), :due_date, nil, back_url, !@can[:update]) %>
38       <% end %>
39
40       <% custom_fields.each do |f| %>
41       <%= quick_edit_link_to(@issue_ids, f.name, 'custom_field_values', f.id, back_url, !@can[:update]) %>
42       <% end %>
43
44       <% if @issues.size <= 2  %>
45         <% if User.current.allowed_to?(:manage_issue_relations, @project) %>
46         <hr>
47         <li><%= link_to l(:label_relation_new),
48                         'javascript: quick_edit_show_new_relation_dialog(\''+first_issue_id.to_s+'\',\''+second_issue_id.to_s+'\',\''+URI.encode_www_form_component(back_url)+'\');',
49                         :remote => false,
50                         :title => l(:label_relation_new),
51                         :class => 'icon',
52                         :style => 'background-image: url("'+image_path('link.png')+'")' %></li>
53         <% end %>
54       <% end %>
55
56       <% if @issues.size == 1 && first_issue.relations.any? %>
57         <hr>
58         <% first_issue.relations.each do |relation| %>
59           <% other_issue = relation.other_issue(first_issue) %>
60           <% if User.current.allowed_to?(:manage_issue_relations, @project) %>
61             <li><%= link_to l(relation.label_for(first_issue)) + " \##{other_issue.id}",
62                             quick_edit_relation_path(relation, :back_url => back_url),
63                             :remote => false,
64                             :method => :delete,
65                             :data => {:confirm => l(:text_are_you_sure)},
66                             :title => l(:label_relation_delete),
67                             :class => 'icon',
68                             :style => 'background-image: url("'+image_path('link_break.png')+'");' %></li>
69           <% end %> 
70         <% end %>
71       <% end %>
72    </ul>
73   </li>
74
75   <div id="quick_edit_new_relation_dialog" style="display:none;" title="Quick Edit - <%= l(:label_relation_new) %>">
76     <%= form_tag({:controller=>'quick_edit_relations', :action=>:create}) do %>
77       <%= text_field_tag :issue_id, '', { :size => 10 } %>
78       <%= select :relation, :relation_type, collection_for_relation_type_select, {}, :onchange => "setPredecessorFieldsVisibility();"  %>
79       <%= text_field_tag 'relation[issue_to_id]', '', { :size => 10 } %>
80       <%= hidden_field_tag :back_url, '' %>
81       <span id="predecessor_fields" style="display:none;">
82       <br><%= l(:field_delay) %>: <%= text_field_tag :delay, '', {:size => 3} %> <%= l(:label_day_plural) %>
83       </span><br>
84       <hr> 
85       <%= submit_tag l(:button_add) %>
86       <%= submit_tag l(:button_cancel), :onclick => 'javascript: quick_edit_new_relation_dialog_cancel();', :type => 'button' %>
87
88       <%= javascript_tag "observeAutocompleteField('issue_id', '#{escape_javascript auto_complete_issues_path(:project_id => @project, :scope => (Setting.cross_project_issue_relations? ? 'all' : nil))}')" %>
89       <%= javascript_tag "observeAutocompleteField('relation_issue_to_id', '#{escape_javascript auto_complete_issues_path(:project_id => @project, :scope => (Setting.cross_project_issue_relations? ? 'all' : nil))}')" %>
90
91       <%= javascript_tag "setPredecessorFieldsVisibility();" %>
92
93     <% end %>
94   </div>