OSDN Git Service

add selenium test code.
[quickedit/quick_edit.git] / app / views / hooks / _quick_edit_context.html.erb
index d98f49c..52d1671 100644 (file)
@@ -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 text).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
 
 %>
   <li class="folder">
-    <a href="#" class="submenu"><%= l(:button_quick_edit) %></a>
+    <a id="quick_edit_context" href="#" class="submenu"><%= l(:button_quick_edit) %></a>
     <ul>
-      <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:subject), :subject, nil, back_url, !@can[:update]) %>
-      <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:description), :description, nil, back_url, !@can[:update]) %>
-      <%= quick_edit_link_to(@issue_ids, get_attribute_caption(:parent_issue_id), :parent_issue_id, nil, back_url, !@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(@issue_ids, get_attribute_caption(:start_date), :start_date, nil, back_url, !@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(@issue_ids, get_attribute_caption(:due_date), :due_date, nil, back_url, !@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(@issue_ids, f.name, 'custom_field_values', f.id, back_url, !@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  %>