Skip to content
Snippets Groups Projects
Commit 7a26a4b6 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Refactor access roles methods

parent a442ad2b
No related branches found
No related tags found
1 merge request!5081fixed command to update init script
Loading
Loading
@@ -133,10 +133,6 @@ class Project < ActiveRecord::Base
where(path: id, namespace_id: nil).last
end
end
def access_options
UsersProject.access_roles
end
end
 
def team
Loading
Loading
@@ -399,11 +395,6 @@ class Project < ActiveRecord::Base
http_url = [Gitlab.config.gitlab.url, "/", path_with_namespace, ".git"].join('')
end
 
def project_access_human(member)
project_user_relation = self.users_projects.find_by_user_id(member.id)
self.class.access_options.key(project_user_relation.project_access)
end
# Check if current branch name is marked as protected in the system
def protected_branch? branch_name
protected_branches_names.include?(branch_name)
Loading
Loading
Loading
Loading
@@ -12,21 +12,10 @@
 
class UsersGroup < ActiveRecord::Base
include Notifiable
GUEST = 10
REPORTER = 20
DEVELOPER = 30
MASTER = 40
OWNER = 50
include Gitlab::Access
 
def self.group_access_roles
{
"Guest" => GUEST,
"Reporter" => REPORTER,
"Developer" => DEVELOPER,
"Master" => MASTER,
"Owner" => OWNER
}
Gitlab::Access.options_with_owner
end
 
attr_accessible :group_access, :user_id
Loading
Loading
@@ -50,7 +39,7 @@ class UsersGroup < ActiveRecord::Base
 
delegate :name, :username, :email, to: :user, prefix: true
 
def human_access
UsersGroup.group_access_roles.key(self.group_access)
def access_field
group_access
end
end
Loading
Loading
@@ -14,11 +14,7 @@
class UsersProject < ActiveRecord::Base
include Gitlab::ShellAdapter
include Notifiable
GUEST = 10
REPORTER = 20
DEVELOPER = 30
MASTER = 40
include Gitlab::Access
 
attr_accessible :user, :user_id, :project_access
 
Loading
Loading
@@ -27,7 +23,7 @@ class UsersProject < ActiveRecord::Base
 
validates :user, presence: true
validates :user_id, uniqueness: { scope: [:project_id], message: "already exists in project" }
validates :project_access, inclusion: { in: [GUEST, REPORTER, DEVELOPER, MASTER] }, presence: true
validates :project_access, inclusion: { in: Gitlab::Access.values }, presence: true
validates :project, presence: true
 
delegate :name, :username, :email, to: :user, prefix: true
Loading
Loading
@@ -103,27 +99,15 @@ class UsersProject < ActiveRecord::Base
end
 
def roles_hash
{
guest: GUEST,
reporter: REPORTER,
developer: DEVELOPER,
master: MASTER
}
Gitlab::Access.sym_options
end
 
def access_roles
{
"Guest" => GUEST,
"Reporter" => REPORTER,
"Developer" => DEVELOPER,
"Master" => MASTER
}
Gitlab::Access.options
end
end
 
def project_access_human
Project.access_options.key(self.project_access)
def access_field
project_access
end
alias_method :human_access, :project_access_human
end
Loading
Loading
@@ -43,7 +43,7 @@ class SystemHooksService
project_id: model.project_id,
user_name: model.user.name,
user_email: model.user.email,
project_access: model.project_access_human
project_access: model.human_access
})
end
end
Loading
Loading
Loading
Loading
@@ -96,11 +96,12 @@
%i.icon-edit
Manage Access
%ul.well-list.team_members
- @project.users.each do |user|
- @project.users_projects.each do |users_project|
- user = users_project.user
%li
%strong
= link_to user.name, admin_user_path(user)
.pull-right
%span.light= @project.project_access_human(user)
%span.light= users_project.human_access
= link_to admin_project_member_path(@project, user), confirm: remove_from_project_team_message(@project, user), method: :delete, class: "btn btn-small btn-remove" do
%i.icon-remove
%p
= "You have been granted #{@users_project.project_access_human} access to project"
= "You have been granted #{@users_project.human_access} access to project"
%p
= link_to project_url(@project) do
= @project.name_with_namespace
 
You have been granted <%= @users_project.project_access_human %> access to project <%= @project.name_with_namespace %>
You have been granted <%= @users_project.human_access %> access to project <%= @project.name_with_namespace %>
 
<%= url_for(project_url(@project)) %>
Loading
Loading
@@ -17,7 +17,7 @@
%h6 2. Set access level for them
.control-group
= f.label :project_access, "Project Access"
.controls= select_tag :project_access, options_for_select(Project.access_options, @user_project_relation.project_access), class: "project-access-select chosen"
.controls= select_tag :project_access, options_for_select(Gitlab::Access.options, @user_project_relation.project_access), class: "project-access-select chosen"
 
.form-actions
= f.submit 'Add users', class: "btn btn-create"
Loading
Loading
Loading
Loading
@@ -250,7 +250,7 @@ describe Notify do
should have_body_text /#{project.name}/
end
it 'contains new user role' do
should have_body_text /#{users_project.project_access_human}/
should have_body_text /#{users_project.human_access}/
end
end
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment