mirror of
https://github.com/meineerde/redmine.git
synced 2026-02-01 03:57:15 +00:00
Add habtm relation between roles and queries_roles (#36416).
git-svn-id: http://svn.redmine.org/redmine/trunk@21444 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
cf016c5417
commit
4cb518049f
@ -68,6 +68,8 @@ class Role < ActiveRecord::Base
|
||||
:join_table => "#{table_name_prefix}roles_managed_roles#{table_name_suffix}",
|
||||
:association_foreign_key => "managed_role_id"
|
||||
|
||||
has_and_belongs_to_many :queries, :join_table => "#{table_name_prefix}queries_roles#{table_name_suffix}", :foreign_key => "role_id"
|
||||
|
||||
has_many :member_roles, :dependent => :destroy
|
||||
has_many :members, :through => :member_roles
|
||||
acts_as_positioned :scope => :builtin
|
||||
|
||||
@ -152,4 +152,17 @@ class RoleTest < ActiveSupport::TestCase
|
||||
assert_equal Role::BUILTIN_NON_MEMBER, role.builtin
|
||||
end
|
||||
end
|
||||
|
||||
def test_destroy
|
||||
role = Role.generate!
|
||||
|
||||
# generate some dependent objects
|
||||
query = IssueQuery.generate!(:project => @ecookbook, :visibility => Query::VISIBILITY_ROLES, :roles => Role.where(:id => [1, 3, role.id]).to_a)
|
||||
|
||||
role.destroy
|
||||
|
||||
# make sure some related data was removed
|
||||
assert_nil ActiveRecord::Base.connection.select_value("SELECT 1 FROM queries_roles WHERE role_id = #{role.id}")
|
||||
assert [1, 3], query.roles
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user