2 extend ApplicationHelper
3 extend IssueRelationsHelper
5 excludes = Setting.plugin_quick_edit['custom_field_exclude_names'].split(/,/).map {|v| Regexp.new(v)}
7 custom_fields = @issues.map(&:available_custom_fields).reduce(:&).select do |f|
8 %w{string date int text link float}.include?(f.field_format) && ( excludes.empty? || excludes.none? {|ex| ex.match(f.name)} )
11 readonly_fields = @issues.map {|issue| issue.read_only_attribute_names(User.current)}
12 readonly_fields.flatten!
15 first_issue = @issues.first
16 first_issue_id = first_issue.id
18 second_issue = @issues[1]
19 second_issue_id = second_issue.id
24 # 可能なら更新後に選択されたチケットに戻り先に設定
25 if @back.match(/\/projects\/.*?\/issues/)
26 back_url = @back + '#issue-' + first_issue.id.to_s
33 <a href="#" class="submenu"><%= l(:button_quick_edit) %></a>
35 <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:subject), :subject, nil, back_url, !editable(:subject,@can,readonly_fields)) %>
36 <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:description), :description, nil, back_url, !editable(:description,@can,readonly_fields)) %>
37 <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:parent_issue_id), :parent_issue_id, nil, back_url, !editable(:parent_issue_id,@can,readonly_fields)) %>
38 <% unless @issues.any? {|issue| issue.disabled_core_fields.include?('start_date') } %>
39 <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:start_date), :start_date, nil, back_url, !editable(:start_date,@can,readonly_fields)) %>
42 <% unless @issues.any? {|issue| issue.disabled_core_fields.include?('due_date') } %>
43 <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:due_date), :due_date, nil, back_url, !editable(:due_date,@can,readonly_fields)) %>
46 <% custom_fields.each do |f| %>
47 <%= quick_edit_link_to(@issue_ids, f.name, 'custom_field_values', f.id, back_url, !editable_custom_field(f,@can,readonly_fields)) %>
50 <% if @issues.size <= 2 %>
51 <% if User.current.allowed_to?(:manage_issue_relations, @project) %>
53 <li><%= link_to l(:label_relation_new),
54 'javascript: quick_edit_show_new_relation_dialog(\''+first_issue_id.to_s+'\',\''+second_issue_id.to_s+'\',\''+URI.encode_www_form_component(back_url)+'\');',
56 :title => l(:label_relation_new),
58 :style => 'background-image: url("'+image_path('link.png')+'")' %></li>
62 <% if @issues.size == 1 && first_issue.relations.any? %>
64 <% first_issue.relations.each do |relation| %>
65 <% other_issue = relation.other_issue(first_issue) %>
66 <% if User.current.allowed_to?(:manage_issue_relations, @project) %>
67 <li><%= link_to l(relation.label_for(first_issue)) + " \##{other_issue.id}",
68 quick_edit_relation_path(relation, :back_url => back_url),
71 :data => {:confirm => l(:text_are_you_sure)},
72 :title => l(:label_relation_delete),
74 :style => 'background-image: url("'+image_path('link_break.png')+'");' %></li>
81 <div id="quick_edit_new_relation_dialog" style="display:none;" title="Quick Edit - <%= l(:label_relation_new) %>">
82 <%= form_tag({:controller=>'quick_edit_relations', :action=>:create}) do %>
83 <%= text_field_tag :issue_id, '', { :size => 10 } %>
84 <%= select :relation, :relation_type, collection_for_relation_type_select, {}, :onchange => "setPredecessorFieldsVisibility();" %>
85 <%= text_field_tag 'relation[issue_to_id]', '', { :size => 10 } %>
86 <%= hidden_field_tag :back_url, '' %>
87 <span id="predecessor_fields" style="display:none;">
88 <br><%= l(:field_delay) %>: <%= text_field_tag :delay, '', {:size => 3} %> <%= l(:label_day_plural) %>
91 <%= submit_tag l(:button_add) %>
92 <%= submit_tag l(:button_cancel), :onclick => 'javascript: quick_edit_new_relation_dialog_cancel();', :type => 'button' %>
94 <%= javascript_tag "observeAutocompleteField('issue_id', '#{escape_javascript auto_complete_issues_path(:project_id => @project, :scope => (Setting.cross_project_issue_relations? ? 'all' : nil))}')" %>
95 <%= javascript_tag "observeAutocompleteField('relation_issue_to_id', '#{escape_javascript auto_complete_issues_path(:project_id => @project, :scope => (Setting.cross_project_issue_relations? ? 'all' : nil))}')" %>
97 <%= javascript_tag "setPredecessorFieldsVisibility();" %>