Skip to content

Commit

Permalink
Merge pull request #385 from kbrock/super_admin_feature
Browse files Browse the repository at this point in the history
use request_admin_user?
  • Loading branch information
abellotti authored Jun 4, 2018
2 parents aeb0541 + bf3b802 commit a457408
Show file tree
Hide file tree
Showing 9 changed files with 20 additions and 20 deletions.
4 changes: 2 additions & 2 deletions app/controllers/api/automation_requests_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ def deny_resource(type, id, data)

def find_automation_requests(id)
klass = collection_class(:requests)
return klass.find(id) if User.current_user.admin_user?
return klass.find(id) if User.current_user.miq_user_role.request_admin_user?
klass.find_by!(:requester => User.current_user, :id => id)
end

def automation_requests_search_conditions
return {} if User.current_user.admin_user?
return {} if User.current_user.miq_user_role.request_admin_user?
{:requester => User.current_user}
end
end
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/api/provision_requests_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ def approve_resource(type, id, data)

def find_provision_requests(id)
klass = collection_class(:requests)
return klass.find(id) if User.current_user.admin_user?
return klass.find(id) if User.current_user.miq_user_role.request_admin_user?
klass.find_by!(:requester => User.current_user, :id => id)
end

def provision_requests_search_conditions
return {} if User.current_user.admin_user?
return {} if User.current_user.miq_user_role.request_admin_user?
{:requester => User.current_user}
end
end
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/api/requests_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,12 @@ def deny_resource(type, id, data)

def find_requests(id)
klass = collection_class(:requests)
return klass.find(id) if User.current_user.admin_user?
return klass.find(id) if User.current_user.miq_user_role.request_admin_user?
klass.find_by!(:requester => User.current_user, :id => id)
end

def requests_search_conditions
return {} if User.current_user.admin_user?
return {} if User.current_user.miq_user_role.request_admin_user?
{:requester => User.current_user}
end

Expand Down
4 changes: 2 additions & 2 deletions app/controllers/api/service_requests_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ def edit_resource(type, id, data)

def find_service_requests(id)
klass = collection_class(:service_requests)
return klass.find(id) if User.current_user.admin_user?
return klass.find(id) if User.current_user.miq_user_role.request_admin_user?
klass.find_by!(:requester => User.current_user, :id => id)
end

def service_requests_search_conditions
return {} if User.current_user.admin_user?
return {} if User.current_user.miq_user_role.request_admin_user?
{:requester => User.current_user}
end

Expand Down
4 changes: 2 additions & 2 deletions spec/requests/automation_requests_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
end

it "lists all the automation requests if you are admin" do
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :role => "administrator")
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :features => %w(miq_request_superadmin))
other_user = FactoryGirl.create(:user)
automation_request1 = FactoryGirl.create(:automation_request, :requester => other_user)
automation_request2 = FactoryGirl.create(:automation_request, :requester => @user)
Expand Down Expand Up @@ -77,7 +77,7 @@
end

it "an admin can see another user's request" do
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :role => "administrator")
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :features => %w(miq_request_superadmin))
other_user = FactoryGirl.create(:user)
automation_request = FactoryGirl.create(:automation_request, :requester => other_user)
api_basic_authorize action_identifier(:automation_requests, :read, :resource_actions, :get)
Expand Down
6 changes: 3 additions & 3 deletions spec/requests/provision_requests_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@
end

it "lists all the provision requests if you are admin" do
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :role => "administrator")
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :features => %w(miq_request_superadmin))
other_user = FactoryGirl.create(:user)
provision_request1 = FactoryGirl.create(:miq_provision_request, :requester => other_user)
provision_request2 = FactoryGirl.create(:miq_provision_request, :requester => @user)
Expand Down Expand Up @@ -253,7 +253,7 @@
end

it "an admin can see another user's request" do
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :role => "administrator")
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :features => %w(miq_request_superadmin))
other_user = FactoryGirl.create(:user)
provision_request = FactoryGirl.create(:miq_provision_request, :requester => other_user)
api_basic_authorize action_identifier(:provision_requests, :read, :resource_actions, :get)
Expand Down Expand Up @@ -383,7 +383,7 @@
let(:provreq2_url) { api_provision_request_url(nil, provreq2) }

before do
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :role => "administrator")
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :features => %w(miq_request_superadmin))
end

it "supports approving a request" do
Expand Down
4 changes: 2 additions & 2 deletions spec/requests/requests_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
end

it "lists all the service requests if you are admin" do
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :role => "administrator")
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :features => %w(miq_request_superadmin))
other_user = FactoryGirl.create(:user)
service_request_1 = FactoryGirl.create(:service_template_provision_request,
:requester => other_user,
Expand All @@ -98,7 +98,7 @@
end

it "an admin can see another user's request" do
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :role => "administrator")
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :features => %w(miq_request_superadmin))
other_user = FactoryGirl.create(:user)
service_request = FactoryGirl.create(:service_template_provision_request,
:requester => other_user,
Expand Down
4 changes: 2 additions & 2 deletions spec/requests/service_requests_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ def expect_result_to_have_user_email(email)
end

it "lists all the service requests if you are admin" do
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :role => "administrator")
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :features => %w(miq_request_superadmin))
other_user = FactoryGirl.create(:user)
service_request_1 = FactoryGirl.create(:service_template_provision_request,
:requester => other_user,
Expand All @@ -260,7 +260,7 @@ def expect_result_to_have_user_email(email)
end

it "an admin can see another user's request" do
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :role => "administrator")
@group.miq_user_role = @role = FactoryGirl.create(:miq_user_role, :features => %w(miq_request_superadmin))
other_user = FactoryGirl.create(:user)
service_request = FactoryGirl.create(:service_template_provision_request,
:requester => other_user,
Expand Down
6 changes: 3 additions & 3 deletions spec/support/api/helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ def init_api_spec_env

def api_basic_authorize(*identifiers, user: @user.userid, password: @user.password)
if identifiers.present?
product_features = identifiers.flatten.collect do |identifier|
MiqProductFeature.find_or_create_by(:identifier => identifier)
identifiers.flatten.collect do |identifier|
@role.miq_product_features << MiqProductFeature.find_or_create_by(:identifier => identifier)
end
@role.update_attributes!(:miq_product_features => product_features)
@role.save
end

request_headers["HTTP_AUTHORIZATION"] = ActionController::HttpAuthentication::Basic.encode_credentials(user, password)
Expand Down

0 comments on commit a457408

Please sign in to comment.