summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-12-04 22:31:02 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-12-04 22:31:02 +0000
commitff0f141126e4f196deebf74e74e6eb16e8e72e5f (patch)
tree623149b6f94e9682c51ba6671a4bf71b3d5363d3 /app/models
parentf52410be1922ba62c9a9b0313b5b86e13d8df704 (diff)
downloadredmine-ff0f141126e4f196deebf74e74e6eb16e8e72e5f.tar.gz
redmine-ff0f141126e4f196deebf74e74e6eb16e8e72e5f.zip
Adds named scopes for projects index.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8082 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r--app/models/project.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index e636c33de..831bdf07f 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -83,8 +83,17 @@ class Project < ActiveRecord::Base
named_scope :has_module, lambda { |mod| { :conditions => ["#{Project.table_name}.id IN (SELECT em.project_id FROM #{EnabledModule.table_name} em WHERE em.name=?)", mod.to_s] } }
named_scope :active, { :conditions => "#{Project.table_name}.status = #{STATUS_ACTIVE}"}
+ named_scope :status, lambda {|arg| arg.blank? ? {} : {:conditions => {:status => arg.to_i}} }
named_scope :all_public, { :conditions => { :is_public => true } }
named_scope :visible, lambda {|*args| {:conditions => Project.visible_condition(args.shift || User.current, *args) }}
+ named_scope :like, lambda {|arg|
+ if arg.blank?
+ {}
+ else
+ pattern = "%#{arg.to_s.strip.downcase}%"
+ {:conditions => ["LOWER(identifier) LIKE :p OR LOWER(name) LIKE :p", {:p => pattern}]}
+ end
+ }
def initialize(attributes = nil)
super