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
04a14cfa6f02
Commit
04a14cfa
authored
Apr 17, 2017
by
Dmitriy Zaporozhets
Browse files
Refactor controller code that creates project/group members
Signed-off-by:
Dmitriy Zaporozhets
<
dmitriy.zaporozhets@gmail.com
>
parent
0bf4a48a9f8f
Changes
7
Hide whitespace changes
Inline
Side-by-side
app/controllers/concerns/membership_actions.rb
View file @
04a14cfa
module
MembershipActions
extend
ActiveSupport
::
Concern
def
create
status
=
Members
::
CreateService
.
new
(
membershipable
,
current_user
,
params
).
execute
redirect_url
=
polymorphic_url
([
membershipable
,
:members
])
if
status
redirect_to
redirect_url
,
notice:
'Users were successfully added.'
else
redirect_to
redirect_url
,
alert:
'No users specified.'
end
end
def
request_access
membershipable
.
request_access
(
current_user
)
...
...
app/controllers/groups/group_members_controller.rb
View file @
04a14cfa
...
...
@@ -21,21 +21,6 @@
@group_member
=
@group
.
group_members
.
new
end
def
create
if
params
[
:user_ids
].
blank?
return
redirect_to
(
group_group_members_path
(
@group
),
alert:
'No users specified.'
)
end
@group
.
add_users
(
params
[
:user_ids
].
split
(
','
),
params
[
:access_level
],
current_user:
current_user
,
expires_at:
params
[
:expires_at
]
)
redirect_to
group_group_members_path
(
@group
),
notice:
'Users were successfully added.'
end
def
update
@group_member
=
@group
.
group_members
.
find
(
params
[
:id
])
...
...
app/controllers/projects/project_members_controller.rb
View file @
04a14cfa
...
...
@@ -10,18 +10,6 @@
redirect_to
namespace_project_settings_members_path
(
@project
.
namespace
,
@project
,
sort:
sort
)
end
def
create
status
=
Members
::
CreateService
.
new
(
@project
,
current_user
,
params
).
execute
redirect_url
=
namespace_project_settings_members_path
(
@project
.
namespace
,
@project
)
if
status
redirect_to
redirect_url
,
notice:
'Users were successfully added.'
else
redirect_to
redirect_url
,
alert:
'No users or groups specified.'
end
end
def
update
@project_member
=
@project
.
project_members
.
find
(
params
[
:id
])
...
...
app/models/project.rb
View file @
04a14cfa
...
...
@@ -181,7 +181,7 @@
delegate
:name
,
to: :owner
,
allow_nil:
true
,
prefix:
true
delegate
:count
,
to: :forks
,
prefix:
true
delegate
:members
,
to: :team
,
prefix:
true
delegate
:add_user
,
to: :team
delegate
:add_user
,
:add_users
,
to: :team
delegate
:add_guest
,
:add_reporter
,
:add_developer
,
:add_master
,
to: :team
delegate
:empty_repo?
,
to: :repository
...
...
app/services/members/create_service.rb
View file @
04a14cfa
module
Members
class
CreateService
<
BaseService
def
initialize
(
source
,
current_user
,
params
=
{})
@source
=
source
@current_user
=
current_user
@params
=
params
end
def
execute
return
false
if
params
[
:user_ids
].
blank?
...
...
@@ -3,7 +9,7 @@
def
execute
return
false
if
params
[
:user_ids
].
blank?
project
.
team
.
add_users
(
@source
.
add_users
(
params
[
:user_ids
].
split
(
','
),
params
[
:access_level
],
expires_at:
params
[
:expires_at
],
...
...
changelogs/unreleased/dz-refactor-create-members.yml
0 → 100644
View file @
04a14cfa
---
title
:
Refactor code that creates project/group members
merge_request
:
10735
author
:
spec/controllers/projects/project_members_controller_spec.rb
View file @
04a14cfa
...
...
@@ -55,7 +55,7 @@
user_ids:
''
,
access_level:
Gitlab
::
Access
::
GUEST
expect
(
response
).
to
set_flash
.
to
'No users
or groups
specified.'
expect
(
response
).
to
set_flash
.
to
'No users specified.'
expect
(
response
).
to
redirect_to
(
namespace_project_settings_members_path
(
project
.
namespace
,
project
))
end
end
...
...
Write
Preview
Supports
Markdown
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