Mercurial > hg > soundsoftware-site
diff app/models/.svn/text-base/project.rb.svn-base @ 507:0c939c159af4 redmine-1.2
Update to Redmine 1.2.1 on 1.2-stable branch (Redmine SVN rev 6270)
author | Chris Cannam |
---|---|
date | Thu, 14 Jul 2011 10:32:19 +0100 |
parents | cbce1fd3b1b7 |
children |
line wrap: on
line diff
--- a/app/models/.svn/text-base/project.rb.svn-base Mon Jun 06 14:24:13 2011 +0100 +++ b/app/models/.svn/text-base/project.rb.svn-base Thu Jul 14 10:32:19 2011 +0100 @@ -118,6 +118,11 @@ visible(user).find(:all, :limit => count, :order => "created_on DESC") end + # Returns true if the project is visible to +user+ or to the current user. + def visible?(user=User.current) + user.allowed_to?(:view_project, self) + end + def self.visible_by(user=nil) ActiveSupport::Deprecation.warn "Project.visible_by is deprecated and will be removed in Redmine 1.3.0. Use Project.visible_condition instead." visible_condition(user || User.current) @@ -544,7 +549,27 @@ def enabled_module_names enabled_modules.collect(&:name) end - + + # Enable a specific module + # + # Examples: + # project.enable_module!(:issue_tracking) + # project.enable_module!("issue_tracking") + def enable_module!(name) + enabled_modules << EnabledModule.new(:name => name.to_s) unless module_enabled?(name) + end + + # Disable a module if it exists + # + # Examples: + # project.disable_module!(:issue_tracking) + # project.disable_module!("issue_tracking") + # project.disable_module!(project.enabled_modules.first) + def disable_module!(target) + target = enabled_modules.detect{|mod| target.to_s == mod.name} unless enabled_modules.include?(target) + target.destroy unless target.blank? + end + safe_attributes 'name', 'description', 'homepage',