1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-02-05 08:33:25 +00:00

Offer %done values in issue context menu based on Done ratio options interval setting (#43192).

Patch by Holger Just (user:hjust).

git-svn-id: https://svn.redmine.org/redmine/trunk@23959 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Marius Balteanu 2025-09-08 19:58:19 +00:00
parent 48e2621fa6
commit f78c463043
2 changed files with 20 additions and 1 deletions

View File

@ -111,7 +111,7 @@
<a href="#" class="submenu"><%= l(:field_done_ratio) %></a>
<span class="icon-only"><%= sprite_icon('angle-right', rtl: true) %></span>
<ul>
<% (0..10).map{|x|x*10}.each do |p| -%>
<% (0..100).step(Setting.issue_done_ratio_interval.to_i).each do |p| -%>
<li><%= context_menu_link "#{p}%", _bulk_update_issues_path(@issue, :ids => @issue_ids, :issue => {'done_ratio' => p}, :back_url => @back), :method => :patch,
:selected => (@issue && p == @issue.done_ratio), :disabled => (!@can[:edit] || @issues.any?(&:done_ratio_derived?)) %></li>
<% end -%>

View File

@ -327,6 +327,25 @@ class ContextMenusControllerTest < Redmine::ControllerTest
assert_select 'a', :text => 'eCookbook - Shared'
end
def test_context_menu_should_respect_five_percent_increments
with_settings :issue_done_ratio => 'issue_field', :issue_done_ratio_interval => 5 do
@request.session[:user_id] = 2
get(
:issues,
:params => {
:ids => [1, 2]
}
)
assert_response :success
assert_select 'a[href*=?]', '/issues/bulk_update?ids%5B%5D=1&ids%5B%5D=2&issue%5Bdone_ratio%5D=0', :text => '0%'
assert_select 'a[href*=?]', '/issues/bulk_update?ids%5B%5D=1&ids%5B%5D=2&issue%5Bdone_ratio%5D=5', :text => '5%'
assert_select 'a[href*=?]', '/issues/bulk_update?ids%5B%5D=1&ids%5B%5D=2&issue%5Bdone_ratio%5D=10', :text => '10%'
assert_select 'a[href*=?]', '/issues/bulk_update?ids%5B%5D=1&ids%5B%5D=2&issue%5Bdone_ratio%5D=55', :text => '55%'
assert_select 'a[href*=?]', '/issues/bulk_update?ids%5B%5D=1&ids%5B%5D=2&issue%5Bdone_ratio%5D=100', :text => '100%'
end
end
def test_context_menu_should_include_add_subtask_link
@request.session[:user_id] = 2
get(