Simplifies Principal.active scope (status defaults to 1 for groups).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8746 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
5dd08133ef
commit
0154d7477b
|
@ -24,7 +24,7 @@ class Principal < ActiveRecord::Base
|
||||||
has_many :issue_categories, :foreign_key => 'assigned_to_id', :dependent => :nullify
|
has_many :issue_categories, :foreign_key => 'assigned_to_id', :dependent => :nullify
|
||||||
|
|
||||||
# Groups and active users
|
# Groups and active users
|
||||||
named_scope :active, :conditions => "#{Principal.table_name}.type='Group' OR (#{Principal.table_name}.type='User' AND #{Principal.table_name}.status = 1)"
|
named_scope :active, :conditions => "#{Principal.table_name}.status = 1"
|
||||||
|
|
||||||
named_scope :like, lambda {|q|
|
named_scope :like, lambda {|q|
|
||||||
s = "%#{q.to_s.strip.downcase}%"
|
s = "%#{q.to_s.strip.downcase}%"
|
||||||
|
|
|
@ -19,6 +19,14 @@ require File.expand_path('../../test_helper', __FILE__)
|
||||||
|
|
||||||
class PrincipalTest < ActiveSupport::TestCase
|
class PrincipalTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
|
def test_active_scope_should_return_groups_and_active_users
|
||||||
|
result = Principal.active.all
|
||||||
|
assert_include Group.first, result
|
||||||
|
assert_not_nil result.detect {|p| p.is_a?(User)}
|
||||||
|
assert_nil result.detect {|p| p.is_a?(User) && !p.active?}
|
||||||
|
assert_nil result.detect {|p| p.is_a?(AnonymousUser)}
|
||||||
|
end
|
||||||
|
|
||||||
context "#like" do
|
context "#like" do
|
||||||
setup do
|
setup do
|
||||||
Principal.generate!(:login => 'login')
|
Principal.generate!(:login => 'login')
|
||||||
|
|
Loading…
Reference in New Issue