summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-14 21:52:54 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-14 21:52:54 +0300
commit1aa48174db63871bb10b53e49c86222a4d9b7c6d (patch)
tree63de989577bd4304dbeee82bfb2a1e41bbdd4976
parent13af7de9411ef20fcab00f7c5d7cdc6b90dbd4b7 (diff)
downloadgitlab-ce-1aa48174db63871bb10b53e49c86222a4d9b7c6d.tar.gz
Fix STI+polymorphic for Group <-> GroupMember
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/controllers/groups/group_members_controller.rb (renamed from app/controllers/users_groups_controller.rb)4
-rw-r--r--app/controllers/projects/team_members_controller.rb2
-rw-r--r--app/models/members/group_member.rb5
-rw-r--r--app/models/members/project_member.rb2
-rw-r--r--app/views/groups/group_members/_group_member.html.haml (renamed from app/views/users_groups/_users_group.html.haml)2
-rw-r--r--app/views/groups/group_members/update.js.haml (renamed from app/views/users_groups/update.js.haml)0
-rw-r--r--app/views/groups/members.html.haml2
-rw-r--r--config/routes.rb3
-rw-r--r--db/migrate/20140914145549_migrate_to_new_members_model.rb2
9 files changed, 12 insertions, 10 deletions
diff --git a/app/controllers/users_groups_controller.rb b/app/controllers/groups/group_members_controller.rb
index 07bd41d25eb..63c05d4f33b 100644
--- a/app/controllers/users_groups_controller.rb
+++ b/app/controllers/groups/group_members_controller.rb
@@ -1,4 +1,4 @@
-class GroupMembersController < ApplicationController
+class Groups::GroupMembersController < ApplicationController
before_filter :group
# Authorize
@@ -43,6 +43,6 @@ class GroupMembersController < ApplicationController
end
def member_params
- params.require(:users_group).permit(:access_level, :user_id)
+ params.require(:group_member).permit(:access_level, :user_id)
end
end
diff --git a/app/controllers/projects/team_members_controller.rb b/app/controllers/projects/team_members_controller.rb
index 158661f66fc..7bb799eba64 100644
--- a/app/controllers/projects/team_members_controller.rb
+++ b/app/controllers/projects/team_members_controller.rb
@@ -69,6 +69,6 @@ class Projects::TeamMembersController < Projects::ApplicationController
end
def member_params
- params.require(:team_member).permit(:user_id, :access_level)
+ params.require(:project_member).permit(:user_id, :access_level)
end
end
diff --git a/app/models/members/group_member.rb b/app/models/members/group_member.rb
index e7eb4a18e34..e72393c4278 100644
--- a/app/models/members/group_member.rb
+++ b/app/models/members/group_member.rb
@@ -1,11 +1,12 @@
class GroupMember < Member
- SOURCE_TYPE = 'Group'
+ SOURCE_TYPE = 'Namespace'
belongs_to :group, class_name: 'Group', foreign_key: 'source_id'
# Make sure group member points only to group as it source
default_value_for :source_type, SOURCE_TYPE
- validates_format_of :source_type, with: /\AGroup\z/
+ default_value_for :notification_level, Notification::N_GLOBAL
+ validates_format_of :source_type, with: /\ANamespace\z/
default_scope { where(source_type: SOURCE_TYPE) }
scope :with_group, ->(group) { where(source_id: group.id) }
diff --git a/app/models/members/project_member.rb b/app/models/members/project_member.rb
index 3f8137ed06e..f14900ad3e6 100644
--- a/app/models/members/project_member.rb
+++ b/app/models/members/project_member.rb
@@ -5,8 +5,10 @@ class ProjectMember < Member
belongs_to :project, class_name: 'Project', foreign_key: 'source_id'
+
# Make sure project member points only to project as it source
default_value_for :source_type, SOURCE_TYPE
+ default_value_for :notification_level, Notification::N_GLOBAL
validates_format_of :source_type, with: /\AProject\z/
default_scope { where(source_type: SOURCE_TYPE) }
diff --git a/app/views/users_groups/_users_group.html.haml b/app/views/groups/group_members/_group_member.html.haml
index 7e246d3b7fb..099e50a384e 100644
--- a/app/views/users_groups/_users_group.html.haml
+++ b/app/views/groups/group_members/_group_member.html.haml
@@ -21,7 +21,7 @@
= link_to leave_profile_group_path(@group), data: { confirm: leave_group_message(@group.name)}, method: :delete, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do
%i.icon-minus.icon-white
- else
- = link_to group_users_group_path(@group, member), data: { confirm: remove_user_from_group_message(@group, user) }, method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do
+ = link_to group_group_member_path(@group, member), data: { confirm: remove_user_from_group_message(@group, user) }, method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do
%i.icon-minus.icon-white
.edit-member.hide.js-toggle-content
diff --git a/app/views/users_groups/update.js.haml b/app/views/groups/group_members/update.js.haml
index 5bad48abafd..5bad48abafd 100644
--- a/app/views/users_groups/update.js.haml
+++ b/app/views/groups/group_members/update.js.haml
diff --git a/app/views/groups/members.html.haml b/app/views/groups/members.html.haml
index 7035cb95092..ebf407d4ef1 100644
--- a/app/views/groups/members.html.haml
+++ b/app/views/groups/members.html.haml
@@ -32,7 +32,7 @@
(#{@members.total_count})
%ul.well-list
- @members.each do |member|
- = render 'group_members/users_group', member: member, show_roles: show_roles, show_controls: true
+ = render 'groups/group_members/group_member', member: member, show_roles: show_roles, show_controls: true
= paginate @members, theme: 'gitlab'
:coffeescript
diff --git a/config/routes.rb b/config/routes.rb
index ce66ea99951..39ab9f4265a 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -161,9 +161,8 @@ Gitlab::Application.routes.draw do
get :projects
end
- resources :users_groups, only: [:create, :update, :destroy]
-
scope module: :groups do
+ resources :group_members, only: [:create, :update, :destroy]
resource :avatar, only: [:destroy]
resources :milestones
end
diff --git a/db/migrate/20140914145549_migrate_to_new_members_model.rb b/db/migrate/20140914145549_migrate_to_new_members_model.rb
index b4f7718f26d..2a5a49c724a 100644
--- a/db/migrate/20140914145549_migrate_to_new_members_model.rb
+++ b/db/migrate/20140914145549_migrate_to_new_members_model.rb
@@ -1,6 +1,6 @@
class MigrateToNewMembersModel < ActiveRecord::Migration
def up
- execute "INSERT INTO members ( user_id, source_id, source_type, access_level, notification_level, type ) SELECT user_id, group_id, 'Group', group_access, notification_level, 'GroupMember' FROM users_groups"
+ execute "INSERT INTO members ( user_id, source_id, source_type, access_level, notification_level, type ) SELECT user_id, group_id, 'Namespace', group_access, notification_level, 'GroupMember' FROM users_groups"
execute "INSERT INTO members ( user_id, source_id, source_type, access_level, notification_level, type ) SELECT user_id, project_id, 'Project', project_access, notification_level, 'ProjectMember' FROM users_projects"
end