Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
5bbde81e9969
Commit
5e1a802b
authored
Apr 09, 2017
by
Robert Speicher
Browse files
Merge branch 'remove_is_admin' into 'master'
Remove the `User#is_admin?` method Closes #30584 See merge request !10520
parents
176cd5641479
952be05f3a65
Changes
24
Hide whitespace changes
Inline
Side-by-side
app/controllers/admin/application_controller.rb
View file @
5bbde81e
...
...
@@ -6,6 +6,6 @@ class Admin::ApplicationController < ApplicationController
layout
'admin'
def
authenticate_admin!
render_404
unless
current_user
.
is_
admin?
render_404
unless
current_user
.
admin?
end
end
app/controllers/admin/impersonations_controller.rb
View file @
5bbde81e
...
...
@@ -21,6 +21,6 @@ def impersonator
end
def
authenticate_impersonator!
render_404
unless
impersonator
&&
impersonator
.
is_
admin?
&&
!
impersonator
.
blocked?
render_404
unless
impersonator
&&
impersonator
.
admin?
&&
!
impersonator
.
blocked?
end
end
app/helpers/visibility_level_helper.rb
View file @
5bbde81e
...
...
@@ -85,7 +85,7 @@ def visibility_level_label(level)
end
def
restricted_visibility_levels
(
show_all
=
false
)
return
[]
if
current_user
.
is_
admin?
&&
!
show_all
return
[]
if
current_user
.
admin?
&&
!
show_all
current_application_settings
.
restricted_visibility_levels
||
[]
end
...
...
app/models/user.rb
View file @
5bbde81e
...
...
@@ -555,10 +555,6 @@ def projects_where_can_admin_issues
authorized_projects
(
Gitlab
::
Access
::
REPORTER
).
non_archived
.
with_issues_enabled
end
def
is_admin?
admin
end
def
require_ssh_key?
keys
.
count
==
0
&&
Gitlab
::
ProtocolAccess
.
allowed?
(
'ssh'
)
end
...
...
app/policies/ci/runner_policy.rb
View file @
5bbde81e
...
...
@@ -3,7 +3,7 @@ class RunnerPolicy < BasePolicy
def
rules
return
unless
@user
can!
:assign_runner
if
@user
.
is_
admin?
can!
:assign_runner
if
@user
.
admin?
return
if
@subject
.
is_shared?
||
@subject
.
locked?
...
...
app/services/users/create_service.rb
View file @
5bbde81e
...
...
@@ -11,7 +11,7 @@ def build
user
=
User
.
new
(
build_user_params
)
if
current_user
&
.
is_
admin?
if
current_user
&
.
admin?
if
params
[
:reset_password
]
@reset_token
=
user
.
generate_reset_token
params
[
:force_random_password
]
=
true
...
...
@@ -47,7 +47,7 @@ def execute
private
def
can_create_user?
(
current_user
.
nil?
&&
current_application_settings
.
signup_enabled?
)
||
current_user
&
.
is_
admin?
(
current_user
.
nil?
&&
current_application_settings
.
signup_enabled?
)
||
current_user
&
.
admin?
end
# Allowed params for creating a user (admins only)
...
...
@@ -94,7 +94,7 @@ def signup_params
end
def
build_user_params
if
current_user
&
.
is_
admin?
if
current_user
&
.
admin?
user_params
=
params
.
slice
(
*
admin_create_params
)
user_params
[
:created_by_id
]
=
current_user
&
.
id
...
...
app/views/layouts/header/_default.html.haml
View file @
5bbde81e
...
...
@@ -31,7 +31,7 @@
%li
.impersonation
=
link_to
admin_impersonation_path
,
method: :delete
,
title:
"Stop impersonation"
,
aria:
{
label:
'Stop impersonation'
},
data:
{
toggle:
'tooltip'
,
placement:
'bottom'
,
container:
'body'
}
do
=
icon
(
'user-secret fw'
)
-
if
current_user
.
is_
admin?
-
if
current_user
.
admin?
%li
=
link_to
admin_root_path
,
title:
'Admin area'
,
aria:
{
label:
"Admin area"
},
data:
{
toggle:
'tooltip'
,
placement:
'bottom'
,
container:
'body'
}
do
=
icon
(
'wrench fw'
)
...
...
changelogs/unreleased/remove_is_admin.yml
0 → 100644
View file @
5bbde81e
---
title
:
Remove the User#is_admin? method
merge_request
:
10520
author
:
blackst0ne
lib/api/entities.rb
View file @
5bbde81e
...
...
@@ -14,7 +14,7 @@ class UserBasic < UserSafe
class
User
<
UserBasic
expose
:created_at
expose
:
is_
admin?
,
as: :is_admin
expose
:admin?
,
as: :is_admin
expose
:bio
,
:location
,
:skype
,
:linkedin
,
:twitter
,
:website_url
,
:organization
end
...
...
@@ -611,9 +611,9 @@ class RunnerDetails < Runner
expose
:locked
expose
:version
,
:revision
,
:platform
,
:architecture
expose
:contacted_at
expose
:token
,
if:
lambda
{
|
runner
,
options
|
options
[
:current_user
].
is_
admin?
||
!
runner
.
is_shared?
}
expose
:token
,
if:
lambda
{
|
runner
,
options
|
options
[
:current_user
].
admin?
||
!
runner
.
is_shared?
}
expose
:projects
,
with:
Entities
::
BasicProjectDetails
do
|
runner
,
options
|
if
options
[
:current_user
].
is_
admin?
if
options
[
:current_user
].
admin?
runner
.
projects
else
options
[
:current_user
].
authorized_projects
.
where
(
id:
runner
.
projects
)
...
...
lib/api/groups.rb
View file @
5bbde81e
...
...
@@ -56,7 +56,7 @@ def present_groups(groups, options = {})
groups
=
groups
.
where
.
not
(
id:
params
[
:skip_groups
])
if
params
[
:skip_groups
].
present?
groups
=
groups
.
reorder
(
params
[
:order_by
]
=>
params
[
:sort
])
present_groups
groups
,
statistics:
params
[
:statistics
]
&&
current_user
.
is_
admin?
present_groups
groups
,
statistics:
params
[
:statistics
]
&&
current_user
.
admin?
end
desc
'Create a group. Available only for users who can create groups.'
do
...
...
lib/api/helpers.rb
View file @
5bbde81e
...
...
@@ -118,7 +118,7 @@ def authenticate_by_gitlab_shell_token!
def
authenticated_as_admin!
authenticate!
forbidden!
unless
current_user
.
is_
admin?
forbidden!
unless
current_user
.
admin?
end
def
authorize!
(
action
,
subject
=
:global
)
...
...
@@ -358,7 +358,7 @@ def sudo!
return
unless
sudo_identifier
return
unless
initial_current_user
unless
initial_current_user
.
is_
admin?
unless
initial_current_user
.
admin?
forbidden!
(
'Must be admin to use sudo'
)
end
...
...
lib/api/notes.rb
View file @
5bbde81e
...
...
@@ -78,7 +78,7 @@ class Notes < Grape::API
}
if
can?
(
current_user
,
noteable_read_ability_name
(
noteable
),
noteable
)
if
params
[
:created_at
]
&&
(
current_user
.
is_
admin?
||
user_project
.
owner
==
current_user
)
if
params
[
:created_at
]
&&
(
current_user
.
admin?
||
user_project
.
owner
==
current_user
)
opts
[
:created_at
]
=
params
[
:created_at
]
end
...
...
lib/api/runners.rb
View file @
5bbde81e
...
...
@@ -161,18 +161,18 @@ def get_runner(id)
end
def
authenticate_show_runner!
(
runner
)
return
if
runner
.
is_shared
||
current_user
.
is_
admin?
return
if
runner
.
is_shared
||
current_user
.
admin?
forbidden!
(
"No access granted"
)
unless
user_can_access_runner?
(
runner
)
end
def
authenticate_update_runner!
(
runner
)
return
if
current_user
.
is_
admin?
return
if
current_user
.
admin?
forbidden!
(
"Runner is shared"
)
if
runner
.
is_shared?
forbidden!
(
"No access granted"
)
unless
user_can_access_runner?
(
runner
)
end
def
authenticate_delete_runner!
(
runner
)
return
if
current_user
.
is_
admin?
return
if
current_user
.
admin?
forbidden!
(
"Runner is shared"
)
if
runner
.
is_shared?
forbidden!
(
"Runner associated with more than one project"
)
if
runner
.
projects
.
count
>
1
forbidden!
(
"No access granted"
)
unless
user_can_access_runner?
(
runner
)
...
...
@@ -181,7 +181,7 @@ def authenticate_delete_runner!(runner)
def
authenticate_enable_runner!
(
runner
)
forbidden!
(
"Runner is shared"
)
if
runner
.
is_shared?
forbidden!
(
"Runner is locked"
)
if
runner
.
locked?
return
if
current_user
.
is_
admin?
return
if
current_user
.
admin?
forbidden!
(
"No access granted"
)
unless
user_can_access_runner?
(
runner
)
end
...
...
lib/api/services.rb
View file @
5bbde81e
...
...
@@ -642,7 +642,7 @@ def service_attributes(service)
service_params
=
declared_params
(
include_missing:
false
).
merge
(
active:
true
)
if
service
.
update_attributes
(
service_params
)
present
service
,
with:
Entities
::
ProjectService
,
include_passwords:
current_user
.
is_
admin?
present
service
,
with:
Entities
::
ProjectService
,
include_passwords:
current_user
.
admin?
else
render_api_error!
(
'400 Bad Request'
,
400
)
end
...
...
@@ -673,7 +673,7 @@ def service_attributes(service)
end
get
":id/services/:service_slug"
do
service
=
user_project
.
find_or_initialize_service
(
params
[
:service_slug
].
underscore
)
present
service
,
with:
Entities
::
ProjectService
,
include_passwords:
current_user
.
is_
admin?
present
service
,
with:
Entities
::
ProjectService
,
include_passwords:
current_user
.
admin?
end
end
...
...
lib/api/users.rb
View file @
5bbde81e
...
...
@@ -56,10 +56,10 @@ def find_user(params)
users
=
users
.
active
if
params
[
:active
]
users
=
users
.
search
(
params
[
:search
])
if
params
[
:search
].
present?
users
=
users
.
blocked
if
params
[
:blocked
]
users
=
users
.
external
if
params
[
:external
]
&&
current_user
.
is_
admin?
users
=
users
.
external
if
params
[
:external
]
&&
current_user
.
admin?
end
entity
=
current_user
.
is_
admin?
?
Entities
::
UserPublic
:
Entities
::
UserBasic
entity
=
current_user
.
admin?
?
Entities
::
UserPublic
:
Entities
::
UserBasic
present
paginate
(
users
),
with:
entity
end
...
...
@@ -73,7 +73,7 @@ def find_user(params)
user
=
User
.
find_by
(
id:
params
[
:id
])
not_found!
(
'User'
)
unless
user
if
current_user
&&
current_user
.
is_
admin?
if
current_user
&&
current_user
.
admin?
present
user
,
with:
Entities
::
UserPublic
elsif
can?
(
current_user
,
:read_user
,
user
)
present
user
,
with:
Entities
::
User
...
...
lib/api/v3/groups.rb
View file @
5bbde81e
...
...
@@ -54,7 +54,7 @@ def present_groups(groups, options = {})
groups
=
groups
.
where
.
not
(
id:
params
[
:skip_groups
])
if
params
[
:skip_groups
].
present?
groups
=
groups
.
reorder
(
params
[
:order_by
]
=>
params
[
:sort
])
present_groups
groups
,
statistics:
params
[
:statistics
]
&&
current_user
.
is_
admin?
present_groups
groups
,
statistics:
params
[
:statistics
]
&&
current_user
.
admin?
end
desc
'Get list of owned groups for authenticated user'
do
...
...
lib/api/v3/notes.rb
View file @
5bbde81e
...
...
@@ -79,7 +79,7 @@ class Notes < Grape::API
noteable
=
user_project
.
send
(
noteables_str
.
to_sym
).
find
(
params
[
:noteable_id
])
if
can?
(
current_user
,
noteable_read_ability_name
(
noteable
),
noteable
)
if
params
[
:created_at
]
&&
(
current_user
.
is_
admin?
||
user_project
.
owner
==
current_user
)
if
params
[
:created_at
]
&&
(
current_user
.
admin?
||
user_project
.
owner
==
current_user
)
opts
[
:created_at
]
=
params
[
:created_at
]
end
...
...
lib/api/v3/runners.rb
View file @
5bbde81e
...
...
@@ -50,7 +50,7 @@ class Runners < Grape::API
helpers
do
def
authenticate_delete_runner!
(
runner
)
return
if
current_user
.
is_
admin?
return
if
current_user
.
admin?
forbidden!
(
"Runner is shared"
)
if
runner
.
is_shared?
forbidden!
(
"Runner associated with more than one project"
)
if
runner
.
projects
.
count
>
1
forbidden!
(
"No access granted"
)
unless
user_can_access_runner?
(
runner
)
...
...
lib/api/v3/services.rb
View file @
5bbde81e
...
...
@@ -602,7 +602,7 @@ def service_attributes(service)
end
get
":id/services/:service_slug"
do
service
=
user_project
.
find_or_initialize_service
(
params
[
:service_slug
].
underscore
)
present
service
,
with:
Entities
::
ProjectService
,
include_passwords:
current_user
.
is_
admin?
present
service
,
with:
Entities
::
ProjectService
,
include_passwords:
current_user
.
admin?
end
end
...
...
lib/gitlab/import_export/relation_factory.rb
View file @
5bbde81e
...
...
@@ -186,7 +186,7 @@ def update_note_for_missing_author(author_name)
end
def
admin_user?
@user
.
is_
admin?
@user
.
admin?
end
def
parsed_relation_hash
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment