summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-22 17:25:49 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-22 17:25:49 +0000
commit8cd882355edf7b88011ad7fca13ccba5f948001b (patch)
treef55e11d8d2c8d5a3f4b728a392194579f93a85f9 /lib
parentb3c53efc42ff242e948393ddf7fb3ea6fb340480 (diff)
parent648557048226ba98c514531135e96df9c34bdda7 (diff)
downloadgitlab-ce-8cd882355edf7b88011ad7fca13ccba5f948001b.tar.gz
Merge branch '7-4-pre' into 'master'
7.4 development Development branch during `master` code freeze for 7.3 See merge request !1096
Diffstat (limited to 'lib')
-rw-r--r--lib/api/entities.rb16
-rw-r--r--lib/api/groups.rb8
-rw-r--r--lib/api/project_members.rb14
-rw-r--r--lib/gitlab/access.rb4
-rw-r--r--lib/tasks/gitlab/bulk_add_permission.rake12
-rw-r--r--lib/tasks/gitlab/check.rake10
6 files changed, 34 insertions, 30 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 74fdef93543..ffa3e8a149e 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -53,8 +53,8 @@ module API
end
class ProjectMember < UserBasic
- expose :project_access, as: :access_level do |user, options|
- options[:project].users_projects.find_by(user_id: user.id).project_access
+ expose :access_level do |user, options|
+ options[:project].project_members.find_by(user_id: user.id).access_level
end
end
@@ -67,8 +67,8 @@ module API
end
class GroupMember < UserBasic
- expose :group_access, as: :access_level do |user, options|
- options[:group].users_groups.find_by(user_id: user.id).group_access
+ expose :access_level do |user, options|
+ options[:group].group_members.find_by(user_id: user.id).access_level
end
end
@@ -170,24 +170,24 @@ module API
end
class ProjectAccess < Grape::Entity
- expose :project_access, as: :access_level
+ expose :access_level
expose :notification_level
end
class GroupAccess < Grape::Entity
- expose :group_access, as: :access_level
+ expose :access_level
expose :notification_level
end
class ProjectWithAccess < Project
expose :permissions do
expose :project_access, using: Entities::ProjectAccess do |project, options|
- project.users_projects.find_by(user_id: options[:user].id)
+ project.project_members.find_by(user_id: options[:user].id)
end
expose :group_access, using: Entities::GroupAccess do |project, options|
if project.group
- project.group.users_groups.find_by(user_id: options[:user].id)
+ project.group.group_members.find_by(user_id: options[:user].id)
end
end
end
diff --git a/lib/api/groups.rb b/lib/api/groups.rb
index caa2ca97a3e..4841e04689d 100644
--- a/lib/api/groups.rb
+++ b/lib/api/groups.rb
@@ -104,7 +104,7 @@ module API
# GET /groups/:id/members
get ":id/members" do
group = find_group(params[:id])
- members = group.users_groups
+ members = group.group_members
users = (paginate members).collect(&:user)
present users, with: Entities::GroupMember, group: group
end
@@ -123,11 +123,11 @@ module API
render_api_error!("Wrong access level", 422)
end
group = find_group(params[:id])
- if group.users_groups.find_by(user_id: params[:user_id])
+ if group.group_members.find_by(user_id: params[:user_id])
render_api_error!("Already exists", 409)
end
group.add_users([params[:user_id]], params[:access_level])
- member = group.users_groups.find_by(user_id: params[:user_id])
+ member = group.group_members.find_by(user_id: params[:user_id])
present member.user, with: Entities::GroupMember, group: group
end
@@ -141,7 +141,7 @@ module API
# DELETE /groups/:id/members/:user_id
delete ":id/members/:user_id" do
group = find_group(params[:id])
- member = group.users_groups.find_by(user_id: params[:user_id])
+ member = group.group_members.find_by(user_id: params[:user_id])
if member.nil?
render_api_error!("404 Not Found - user_id:#{params[:user_id]} not a member of group #{group.name}",404)
else
diff --git a/lib/api/project_members.rb b/lib/api/project_members.rb
index 47c4ddce163..1595ed0bc36 100644
--- a/lib/api/project_members.rb
+++ b/lib/api/project_members.rb
@@ -6,8 +6,8 @@ module API
resource :projects do
helpers do
def handle_project_member_errors(errors)
- if errors[:project_access].any?
- error!(errors[:project_access], 422)
+ if errors[:access_level].any?
+ error!(errors[:access_level], 422)
end
not_found!
end
@@ -56,9 +56,9 @@ module API
# either the user is already a team member or a new one
team_member = user_project.team_member_by_id(params[:user_id])
if team_member.nil?
- team_member = user_project.users_projects.new(
+ team_member = user_project.project_members.new(
user_id: params[:user_id],
- project_access: params[:access_level]
+ access_level: params[:access_level]
)
end
@@ -82,10 +82,10 @@ module API
authorize! :admin_project, user_project
required_attributes! [:access_level]
- team_member = user_project.users_projects.find_by(user_id: params[:user_id])
+ team_member = user_project.project_members.find_by(user_id: params[:user_id])
not_found!("User can not be found") if team_member.nil?
- if team_member.update_attributes(project_access: params[:access_level])
+ if team_member.update_attributes(access_level: params[:access_level])
@member = team_member.user
present @member, with: Entities::ProjectMember, project: user_project
else
@@ -102,7 +102,7 @@ module API
# DELETE /projects/:id/members/:user_id
delete ":id/members/:user_id" do
authorize! :admin_project, user_project
- team_member = user_project.users_projects.find_by(user_id: params[:user_id])
+ team_member = user_project.project_members.find_by(user_id: params[:user_id])
unless team_member.nil?
team_member.destroy
else
diff --git a/lib/gitlab/access.rb b/lib/gitlab/access.rb
index 87f9cfab608..411b2b9a3cc 100644
--- a/lib/gitlab/access.rb
+++ b/lib/gitlab/access.rb
@@ -16,6 +16,10 @@ module Gitlab
options.values
end
+ def all_values
+ options_with_owner.values
+ end
+
def options
{
"Guest" => GUEST,
diff --git a/lib/tasks/gitlab/bulk_add_permission.rake b/lib/tasks/gitlab/bulk_add_permission.rake
index 0e1a3d071e9..3d8c171dfa3 100644
--- a/lib/tasks/gitlab/bulk_add_permission.rake
+++ b/lib/tasks/gitlab/bulk_add_permission.rake
@@ -7,10 +7,10 @@ namespace :gitlab do
projects_ids = Project.pluck(:id)
puts "Importing #{user_ids.size} users into #{projects_ids.size} projects"
- UsersProject.add_users_into_projects(projects_ids, user_ids, UsersProject::DEVELOPER)
+ ProjectMember.add_users_into_projects(projects_ids, user_ids, ProjectMember::DEVELOPER)
puts "Importing #{admin_ids.size} admins into #{projects_ids.size} projects"
- UsersProject.add_users_into_projects(projects_ids, admin_ids, UsersProject::MASTER)
+ ProjectMember.add_users_into_projects(projects_ids, admin_ids, ProjectMember::MASTER)
end
desc "GITLAB | Add a specific user to all projects (as a developer)"
@@ -18,7 +18,7 @@ namespace :gitlab do
user = User.find_by(email: args.email)
project_ids = Project.pluck(:id)
puts "Importing #{user.email} users into #{project_ids.size} projects"
- UsersProject.add_users_into_projects(project_ids, Array.wrap(user.id), UsersProject::DEVELOPER)
+ ProjectMember.add_users_into_projects(project_ids, Array.wrap(user.id), ProjectMember::DEVELOPER)
end
desc "GITLAB | Add all users to all groups (admin users are added as owners)"
@@ -30,8 +30,8 @@ namespace :gitlab do
puts "Importing #{user_ids.size} users into #{groups.size} groups"
puts "Importing #{admin_ids.size} admins into #{groups.size} groups"
groups.each do |group|
- group.add_users(user_ids, UsersGroup::DEVELOPER)
- group.add_users(admin_ids, UsersGroup::OWNER)
+ group.add_users(user_ids, GroupMember::DEVELOPER)
+ group.add_users(admin_ids, GroupMember::OWNER)
end
end
@@ -41,7 +41,7 @@ namespace :gitlab do
groups = Group.all
puts "Importing #{user.email} users into #{groups.size} groups"
groups.each do |group|
- group.add_users(Array.wrap(user.id), UsersGroup::DEVELOPER)
+ group.add_users(Array.wrap(user.id), GroupMember::DEVELOPER)
end
end
end
diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
index 248b567d007..9ec368254ac 100644
--- a/lib/tasks/gitlab/check.rake
+++ b/lib/tasks/gitlab/check.rake
@@ -17,7 +17,7 @@ namespace :gitlab do
check_database_config_exists
check_database_is_not_sqlite
check_migrations_are_up
- check_orphaned_users_groups
+ check_orphaned_group_members
check_gitlab_config_exists
check_gitlab_config_not_outdated
check_log_writable
@@ -194,13 +194,13 @@ namespace :gitlab do
end
end
- def check_orphaned_users_groups
- print "Database contains orphaned UsersGroups? ... "
- if UsersGroup.where("user_id not in (select id from users)").count > 0
+ def check_orphaned_group_members
+ print "Database contains orphaned GroupMembers? ... "
+ if GroupMember.where("user_id not in (select id from users)").count > 0
puts "yes".red
try_fixing_it(
"You can delete the orphaned records using something along the lines of:",
- sudo_gitlab("bundle exec rails runner -e production 'UsersGroup.where(\"user_id NOT IN (SELECT id FROM users)\").delete_all'")
+ sudo_gitlab("bundle exec rails runner -e production 'GroupMember.where(\"user_id NOT IN (SELECT id FROM users)\").delete_all'")
)
else
puts "no".green