Chris@909
|
1 <ul>
|
Chris@909
|
2 <%= call_hook(:view_issues_context_menu_start, {:issues => @issues, :can => @can, :back => @back }) %>
|
Chris@909
|
3
|
Chris@909
|
4 <% if !@issue.nil? -%>
|
Chris@909
|
5 <li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'edit', :id => @issue},
|
Chris@909
|
6 :class => 'icon-edit', :disabled => !@can[:edit] %></li>
|
Chris@909
|
7 <% else %>
|
Chris@909
|
8 <li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id)},
|
Chris@909
|
9 :class => 'icon-edit', :disabled => !@can[:edit] %></li>
|
Chris@909
|
10 <% end %>
|
Chris@909
|
11
|
Chris@909
|
12 <% if @allowed_statuses.present? %>
|
Chris@909
|
13 <li class="folder">
|
Chris@909
|
14 <a href="#" class="submenu" onclick="return false;"><%= l(:field_status) %></a>
|
Chris@909
|
15 <ul>
|
Chris@909
|
16 <% @statuses.each do |s| -%>
|
Chris@909
|
17 <li><%= context_menu_link h(s.name), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {:status_id => s}, :back_url => @back}, :method => :post,
|
Chris@909
|
18 :selected => (@issue && s == @issue.status), :disabled => !(@can[:update] && @allowed_statuses.include?(s)) %></li>
|
Chris@909
|
19 <% end -%>
|
Chris@909
|
20 </ul>
|
Chris@909
|
21 </li>
|
Chris@909
|
22 <% end %>
|
Chris@909
|
23
|
Chris@909
|
24 <% unless @trackers.nil? %>
|
Chris@909
|
25 <li class="folder">
|
Chris@909
|
26 <a href="#" class="submenu"><%= l(:field_tracker) %></a>
|
Chris@909
|
27 <ul>
|
Chris@909
|
28 <% @trackers.each do |t| -%>
|
Chris@909
|
29 <li><%= context_menu_link h(t.name), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {'tracker_id' => t}, :back_url => @back}, :method => :post,
|
Chris@909
|
30 :selected => (@issue && t == @issue.tracker), :disabled => !@can[:edit] %></li>
|
Chris@909
|
31 <% end -%>
|
Chris@909
|
32 </ul>
|
Chris@909
|
33 </li>
|
Chris@909
|
34 <% end %>
|
Chris@909
|
35
|
Chris@909
|
36 <li class="folder">
|
Chris@909
|
37 <a href="#" class="submenu"><%= l(:field_priority) %></a>
|
Chris@909
|
38 <ul>
|
Chris@909
|
39 <% @priorities.each do |p| -%>
|
Chris@909
|
40 <li><%= context_menu_link h(p.name), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {'priority_id' => p}, :back_url => @back}, :method => :post,
|
Chris@909
|
41 :selected => (@issue && p == @issue.priority), :disabled => (!@can[:edit] || @issues.detect {|i| !i.leaf?}) %></li>
|
Chris@909
|
42 <% end -%>
|
Chris@909
|
43 </ul>
|
Chris@909
|
44 </li>
|
Chris@909
|
45
|
Chris@909
|
46 <% #TODO: allow editing versions when multiple projects %>
|
Chris@909
|
47 <% unless @project.nil? || @project.shared_versions.open.empty? -%>
|
Chris@909
|
48 <li class="folder">
|
Chris@909
|
49 <a href="#" class="submenu"><%= l(:field_fixed_version) %></a>
|
Chris@909
|
50 <ul>
|
Chris@909
|
51 <% @project.shared_versions.open.sort.each do |v| -%>
|
Chris@909
|
52 <li><%= context_menu_link format_version_name(v), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {'fixed_version_id' => v}, :back_url => @back}, :method => :post,
|
Chris@909
|
53 :selected => (@issue && v == @issue.fixed_version), :disabled => !@can[:update] %></li>
|
Chris@909
|
54 <% end -%>
|
Chris@909
|
55 <li><%= context_menu_link l(:label_none), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {'fixed_version_id' => 'none'}, :back_url => @back}, :method => :post,
|
Chris@909
|
56 :selected => (@issue && @issue.fixed_version.nil?), :disabled => !@can[:update] %></li>
|
Chris@909
|
57 </ul>
|
Chris@909
|
58 </li>
|
Chris@909
|
59 <% end %>
|
Chris@909
|
60 <% if @assignables.present? -%>
|
Chris@909
|
61 <li class="folder">
|
Chris@909
|
62 <a href="#" class="submenu"><%= l(:field_assigned_to) %></a>
|
Chris@909
|
63 <ul>
|
Chris@909
|
64 <% @assignables.each do |u| -%>
|
Chris@909
|
65 <li><%= context_menu_link h(u.name), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {'assigned_to_id' => u}, :back_url => @back}, :method => :post,
|
Chris@909
|
66 :selected => (@issue && u == @issue.assigned_to), :disabled => !@can[:update] %></li>
|
Chris@909
|
67 <% end -%>
|
Chris@909
|
68 <li><%= context_menu_link l(:label_nobody), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {'assigned_to_id' => 'none'}, :back_url => @back}, :method => :post,
|
Chris@909
|
69 :selected => (@issue && @issue.assigned_to.nil?), :disabled => !@can[:update] %></li>
|
Chris@909
|
70 </ul>
|
Chris@909
|
71 </li>
|
Chris@909
|
72 <% end %>
|
Chris@909
|
73 <% unless @project.nil? || @project.issue_categories.empty? -%>
|
Chris@909
|
74 <li class="folder">
|
Chris@909
|
75 <a href="#" class="submenu"><%= l(:field_category) %></a>
|
Chris@909
|
76 <ul>
|
Chris@909
|
77 <% @project.issue_categories.each do |u| -%>
|
Chris@909
|
78 <li><%= context_menu_link h(u.name), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {'category_id' => u}, :back_url => @back}, :method => :post,
|
Chris@909
|
79 :selected => (@issue && u == @issue.category), :disabled => !@can[:update] %></li>
|
Chris@909
|
80 <% end -%>
|
Chris@909
|
81 <li><%= context_menu_link l(:label_none), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {'category_id' => 'none'}, :back_url => @back}, :method => :post,
|
Chris@909
|
82 :selected => (@issue && @issue.category.nil?), :disabled => !@can[:update] %></li>
|
Chris@909
|
83 </ul>
|
Chris@909
|
84 </li>
|
Chris@909
|
85 <% end -%>
|
Chris@909
|
86
|
Chris@909
|
87 <% if Issue.use_field_for_done_ratio? %>
|
Chris@909
|
88 <li class="folder">
|
Chris@909
|
89 <a href="#" class="submenu"><%= l(:field_done_ratio) %></a>
|
Chris@909
|
90 <ul>
|
Chris@909
|
91 <% (0..10).map{|x|x*10}.each do |p| -%>
|
Chris@909
|
92 <li><%= context_menu_link "#{p}%", {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {'done_ratio' => p}, :back_url => @back}, :method => :post,
|
Chris@909
|
93 :selected => (@issue && p == @issue.done_ratio), :disabled => (!@can[:edit] || @issues.detect {|i| !i.leaf?}) %></li>
|
Chris@909
|
94 <% end -%>
|
Chris@909
|
95 </ul>
|
Chris@909
|
96 </li>
|
Chris@909
|
97 <% end %>
|
Chris@909
|
98
|
Chris@909
|
99 <% if !@issue.nil? %>
|
Chris@909
|
100 <% if @can[:log_time] -%>
|
Chris@909
|
101 <li><%= context_menu_link l(:button_log_time), {:controller => 'timelog', :action => 'new', :issue_id => @issue},
|
Chris@909
|
102 :class => 'icon-time-add' %></li>
|
Chris@909
|
103 <% end %>
|
Chris@909
|
104 <% if User.current.logged? %>
|
Chris@909
|
105 <li><%= watcher_link(@issue, User.current) %></li>
|
Chris@909
|
106 <% end %>
|
Chris@909
|
107 <% end %>
|
Chris@909
|
108
|
Chris@909
|
109 <% if @issue.present? %>
|
Chris@909
|
110 <li><%= context_menu_link l(:button_duplicate), {:controller => 'issues', :action => 'new', :project_id => @project, :copy_from => @issue},
|
Chris@909
|
111 :class => 'icon-duplicate', :disabled => !@can[:copy] %></li>
|
Chris@909
|
112 <% end %>
|
Chris@909
|
113 <li><%= context_menu_link l(:button_copy), new_issue_move_path(:ids => @issues.collect(&:id), :copy_options => {:copy => 't'}),
|
Chris@909
|
114 :class => 'icon-copy', :disabled => !@can[:move] %></li>
|
Chris@909
|
115 <li><%= context_menu_link l(:button_move), new_issue_move_path(:ids => @issues.collect(&:id)),
|
Chris@909
|
116 :class => 'icon-move', :disabled => !@can[:move] %></li>
|
Chris@909
|
117 <li><%= context_menu_link l(:button_delete), {:controller => 'issues', :action => 'destroy', :ids => @issues.collect(&:id), :back_url => @back},
|
Chris@909
|
118 :method => :post, :confirm => issues_destroy_confirmation_message(@issues), :class => 'icon-del', :disabled => !@can[:delete] %></li>
|
Chris@909
|
119
|
Chris@909
|
120 <%= call_hook(:view_issues_context_menu_end, {:issues => @issues, :can => @can, :back => @back }) %>
|
Chris@909
|
121 </ul>
|