The new named scope uses raw sql condition to avoid enabled_modules association loading.
git-svn-id: http://redmine.rubyforge.org/svn/branches/nbc@1805
e93f8b46-1217-0410-a6f0-
8f06a7374b81
# Returns the projects list, with their repositories
def projects_with_repository_enabled
- Project.repository_enabled(:all, :include => :repository, :order => 'identifier')
+ Project.has_module(:repository).find(:all, :include => :repository, :order => 'identifier')
end
# Registers a repository for the given project identifier
before_destroy :delete_all_members
- named_scope :repository_enabled, { :include => :enabled_modules, :conditions => ["#{EnabledModule.table_name}.name=?", 'repository'] }
+ 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] } }
def identifier=(identifier)
super unless identifier_frozen?