diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index c7d584ebb..0a31db81b 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -15,7 +15,7 @@ class MembersController < ApplicationController end def index - scope = @project.members.includes(:roles, user: :user_extension) + scope = @project.except_owner_members.includes(:roles, user: :user_extension) @total_count = scope.size @members = paginate(scope) end diff --git a/app/models/concerns/project_operable.rb b/app/models/concerns/project_operable.rb index 4307ae543..513eff3a1 100644 --- a/app/models/concerns/project_operable.rb +++ b/app/models/concerns/project_operable.rb @@ -2,9 +2,9 @@ module ProjectOperable extend ActiveSupport::Concern included do - has_many :members - # has_many :except_owner_members, -> { members.where("members.use_id != ? ", self.owner.id ) } - has_many :manager_members, -> { joins(:roles).where(roles: { name: 'Manager' }) }, class_name: 'Member' + has_many :members, dependent: :destroy + has_many :except_owner_members, -> { joins(:roles).where.not(roles: { name: 'Manager' }) }, class_name: 'Member' + has_many :manager_members, -> { joins(:roles).where(roles: { name: 'Manager' }) }, class_name: 'Member' end def add_member!(user_id, role_name='Developer')