X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fviews%2Fhooks%2F_quick_edit_context.html.erb;h=52d16712019434af1617958e8f3b9867239c707c;hb=656c2e01895f5650fa52cb8b820ab2b2d6aa8c5a;hp=f2081fef2499471e611eb13d7842248fa28a1a8f;hpb=bc71d06807a97aa3388039cdd71d9a7204136922;p=quickedit%2Fquick_edit.git
diff --git a/app/views/hooks/_quick_edit_context.html.erb b/app/views/hooks/_quick_edit_context.html.erb
index f2081fe..52d1671 100644
--- a/app/views/hooks/_quick_edit_context.html.erb
+++ b/app/views/hooks/_quick_edit_context.html.erb
@@ -1,11 +1,17 @@
<%
extend ApplicationHelper
extend IssueRelationsHelper
+
+ excludes = Setting.plugin_quick_edit['custom_field_exclude_names'].split(/,/).map {|v| Regexp.new(v)}
+
custom_fields = @issues.map(&:available_custom_fields).reduce(:&).select do |f|
- #concat f.field_format
- %w(string date int).include?(f.field_format)
+ %w{string date int text link float}.include?(f.field_format) && ( excludes.empty? || excludes.none? {|ex| ex.match(f.name)} )
end
+ readonly_fields = @issues.map {|issue| issue.read_only_attribute_names(User.current)}
+ readonly_fields.flatten!
+ readonly_fields.uniq!
+
first_issue = @issues.first
first_issue_id = first_issue.id
if @issues.size > 1
@@ -22,25 +28,23 @@
back_url = @back
end
- bulk_update_url = bulk_update_issues_path(:ids => @issue_ids, :back_url => back_url);
%>
-
+
- <%= quick_edit_link_to(bulk_update_url, @issue_ids, l(:field_subject), :subject, :string, first_issue.subject, !@can[:update]) %>
- <%= quick_edit_link_to(bulk_update_url, @issue_ids, l(:field_parent_issue), :parent_issue_id, :int, first_issue.parent_id, !@can[:update]) %>
-
-
+ <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:subject), :subject, nil, back_url, !editable(:subject,@can,readonly_fields)) %>
+ <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:description), :description, nil, back_url, !editable(:description,@can,readonly_fields)) %>
+ <%= 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)) %>
<% unless @issues.any? {|issue| issue.disabled_core_fields.include?('start_date') } %>
- <%= quick_edit_link_to(bulk_update_url, @issue_ids, l(:field_start_date), :start_date, :date, first_issue.start_date, !@can[:update]) %>
+ <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:start_date), :start_date, nil, back_url, !editable(:start_date,@can,readonly_fields)) %>
<% end %>
<% unless @issues.any? {|issue| issue.disabled_core_fields.include?('due_date') } %>
- <%= quick_edit_link_to(bulk_update_url, @issue_ids, l(:field_due_date), :due_date, :date, first_issue.due_date, !@can[:update]) %>
+ <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:due_date), :due_date, nil, back_url, !editable(:due_date,@can,readonly_fields)) %>
<% end %>
<% custom_fields.each do |f| %>
- <%= quick_edit_link_to(bulk_update_url, @issue_ids, f.name, 'custom_field_values[%d]' % f.id, f.field_format, first_issue.editable_custom_field_values.detect {|v| v.custom_field_id == f.id}, !@can[:update]) %>
+ <%= quick_edit_link_to(@issue_ids, f.name, 'custom_field_values', f.id, back_url, !editable_custom_field(f,@can,readonly_fields)) %>
<% end %>
<% if @issues.size <= 2 %>