Skip to content

Commit

Permalink
Bug 995371 - Direct parameters to members were ignored
Browse files Browse the repository at this point in the history
Members controller now accepts:
:members => [{:id, :role, :login}] as array of members
:member => {:id, :role, :login} as single member
:id, :role, :login => single member
  • Loading branch information
smarterclayton committed Aug 9, 2013
1 parent 778d8f7 commit 2248cb9
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
4 changes: 4 additions & 0 deletions broker/test/functional/domains_controller_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ def teardown
post :create, {"name" => namespace}
assert_response :created

assert domain = assigns(:domain)
assert_equal 1, domain.members.length
assert_equal :admin, domain.members.first.role

get :show, {"name" => namespace}
assert_response :success
assert json = JSON.parse(response.body)
Expand Down
2 changes: 1 addition & 1 deletion controller/app/controllers/domains_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def create
allowed_domains = OpenShift::ApplicationContainerProxy.max_user_domains(current_user)
allowed_domains = 1 if requested_api_version < 1.5

domain = Domain.new(namespace: namespace, owner: current_user)
@domain = domain = Domain.new(namespace: namespace, owner: current_user)
domain.allowed_gear_sizes = new_gear_sizes unless new_gear_sizes.nil?

unless pre_and_post_condition(
Expand Down
2 changes: 1 addition & 1 deletion controller/app/controllers/members_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ def create
authorize! :change_members, membership

ids, logins = {}, {}
(params[:members].presence || [params[:member].presence] || []).compact.each do |m|
(params[:members] || [params[:member]].compact.presence || [params.slice(:id, :login, :role)]).compact.each do |m|
return render_error(:unprocessable_entity, "You must provide a member with an id and role.") unless m.is_a? Hash
role = Role.for(m[:role])
return render_error(:unprocessable_entity, "You must provide a role for each member out of #{Role.all.join(', ')}.") unless role
Expand Down

0 comments on commit 2248cb9

Please sign in to comment.