Adds option for displaying all statuses on workflow permissions.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9995 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
712e5be29f
commit
a7bdc5e0af
|
@ -62,17 +62,19 @@ class WorkflowsController < ApplicationController
|
|||
@role = Role.find_by_id(params[:role_id]) if params[:role_id]
|
||||
@tracker = Tracker.find_by_id(params[:tracker_id]) if params[:tracker_id]
|
||||
|
||||
if @role && @tracker
|
||||
if request.post?
|
||||
WorkflowPermission.replace_permissions(@tracker, @role, params[:permissions] || {})
|
||||
redirect_to :action => 'permissions', :role_id => @role, :tracker_id => @tracker
|
||||
return
|
||||
end
|
||||
if request.post? && @role && @tracker
|
||||
WorkflowPermission.replace_permissions(@tracker, @role, params[:permissions] || {})
|
||||
redirect_to :action => 'permissions', :role_id => @role, :tracker_id => @tracker
|
||||
return
|
||||
end
|
||||
|
||||
@used_statuses_only = (params[:used_statuses_only] == '0' ? false : true)
|
||||
if @tracker && @used_statuses_only && @tracker.issue_statuses.any?
|
||||
@statuses = @tracker.issue_statuses
|
||||
if @statuses.empty?
|
||||
@statuses = IssueStatus.sorted.all
|
||||
end
|
||||
end
|
||||
@statuses ||= IssueStatus.sorted.all
|
||||
|
||||
if @role && @tracker
|
||||
@fields = (Tracker::CORE_FIELDS_ALL - @tracker.disabled_core_fields).map {|field| [field, l("field_"+field.sub(/_id$/, ''))]}
|
||||
@custom_fields = @tracker.custom_fields
|
||||
|
||||
|
|
|
@ -20,6 +20,9 @@
|
|||
<%= select_tag 'tracker_id', options_from_collection_for_select(@trackers, "id", "name", @tracker && @tracker.id) %></label>
|
||||
|
||||
<%= submit_tag l(:button_edit), :name => nil %>
|
||||
|
||||
<%= hidden_field_tag 'used_statuses_only', '0' %>
|
||||
<label><%= check_box_tag 'used_statuses_only', '1', @used_statuses_only %> <%= l(:label_display_used_statuses_only) %></label>
|
||||
</p>
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -191,6 +191,14 @@ class WorkflowsControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_get_permissions_with_role_and_tracker_and_all_statuses
|
||||
WorkflowTransition.delete_all
|
||||
|
||||
get :permissions, :role_id => 1, :tracker_id => 2, :used_statuses_only => '0'
|
||||
assert_response :success
|
||||
assert_equal IssueStatus.sorted.all, assigns(:statuses)
|
||||
end
|
||||
|
||||
def test_post_permissions
|
||||
WorkflowPermission.delete_all
|
||||
|
||||
|
|
Loading…
Reference in New Issue