diff --git a/app/controllers/sys_controller.rb b/app/controllers/sys_controller.rb index b6ad83d..3956838 100644 --- a/app/controllers/sys_controller.rb +++ b/app/controllers/sys_controller.rb @@ -24,7 +24,7 @@ class SysController < ActionController::Base # 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 diff --git a/app/models/project.rb b/app/models/project.rb index a51c086..e40af99 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -63,7 +63,7 @@ class Project < ActiveRecord::Base 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?