BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
c64c1060
Commit
c64c1060
authored
Feb 04, 2016
by
Kamil Trzcinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update ability model after comments
parent
6fea7c38
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
24 deletions
+15
-24
ability.rb
app/models/ability.rb
+15
-24
No files found.
app/models/ability.rb
View file @
c64c1060
...
...
@@ -5,22 +5,18 @@ class Ability
return
[]
unless
user
.
is_a?
(
User
)
return
[]
if
user
.
blocked?
# We check with `is_a?`, because CommitStatus uses inheritance
if
subject
.
is_a?
(
CommitStatus
)
return
commit_status_abilities
(
user
,
subject
)
end
case
subject
.
class
.
name
when
"Project"
then
project_abilities
(
user
,
subject
)
when
"Issue"
then
issue_abilities
(
user
,
subject
)
when
"Note"
then
note_abilities
(
user
,
subject
)
when
"ProjectSnippet"
then
project_snippet_abilities
(
user
,
subject
)
when
"PersonalSnippet"
then
personal_snippet_abilities
(
user
,
subject
)
when
"MergeRequest"
then
merge_request_abilities
(
user
,
subject
)
when
"Group"
then
group_abilities
(
user
,
subject
)
when
"Namespace"
then
namespace_abilities
(
user
,
subject
)
when
"GroupMember"
then
group_member_abilities
(
user
,
subject
)
when
"ProjectMember"
then
project_member_abilities
(
user
,
subject
)
case
subject
when
CommitStatus
then
commit_status_abilities
(
user
,
subject
)
when
Project
then
project_abilities
(
user
,
subject
)
when
Issue
then
issue_abilities
(
user
,
subject
)
when
Note
then
note_abilities
(
user
,
subject
)
when
ProjectSnippet
then
project_snippet_abilities
(
user
,
subject
)
when
PersonalSnippet
then
personal_snippet_abilities
(
user
,
subject
)
when
MergeRequest
then
merge_request_abilities
(
user
,
subject
)
when
Group
then
group_abilities
(
user
,
subject
)
when
Namespace
then
namespace_abilities
(
user
,
subject
)
when
GroupMember
then
group_member_abilities
(
user
,
subject
)
when
ProjectMember
then
project_member_abilities
(
user
,
subject
)
else
[]
end
.
concat
(
global_abilities
(
user
))
end
...
...
@@ -130,10 +126,8 @@ class Ability
if
project
.
public?
||
project
.
internal?
rules
.
push
(
*
public_project_rules
)
end
# Allow to read builds for internal projects
if
project
.
public?
||
project
.
internal?
# Allow to read builds for internal projects
rules
<<
:read_build
if
project
.
public_builds?
end
...
...
@@ -416,11 +410,8 @@ class Ability
def
filter_build_abilities
(
rules
)
# If we can't read build we should also not have that
# ability when looking at this in context of commit_status
unless
rules
.
include?
(
:read_build
)
rules
-=
[
:read_commit_status
]
end
unless
rules
.
include?
(
:update_build
)
rules
-=
[
:update_commit_status
]
%w(read create update admin)
.
each
do
|
rule
|
rules
-=
[
:"
#{
rule
}
_commit_status"
]
unless
rules
.
include?
(
:"
#{
rule
}
_build"
)
end
rules
end
...
...
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