git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@9395 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/1.4.0
@@ -75,9 +75,7 @@ class AdminController < ApplicationController | |||
def info | |||
@db_adapter_name = ActiveRecord::Base.connection.adapter_name | |||
@checklist = [ | |||
[:text_default_administrator_account_changed, | |||
User.find(:first, | |||
:conditions => ["login=? and hashed_password=?", 'admin', User.hash_password('admin')]).nil?], | |||
[:text_default_administrator_account_changed, User.default_admin_account_changed?], | |||
[:text_file_repository_writable, File.writable?(Attachment.storage_path)], | |||
[:text_plugin_assets_writable, File.writable?(Redmine::Plugin.public_directory)], | |||
[:text_rmagick_available, Object.const_defined?(:Magick)] |
@@ -348,6 +348,11 @@ class User < Principal | |||
find(:first, :conditions => ["LOWER(mail) = ?", mail.to_s.downcase]) | |||
end | |||
# Returns true if the default admin account can no longer be used | |||
def self.default_admin_account_changed? | |||
!User.active.find_by_login("admin").try(:check_password?, "admin") | |||
end | |||
def to_s | |||
name | |||
end |
@@ -630,6 +630,38 @@ class UserTest < ActiveSupport::TestCase | |||
end | |||
end | |||
def test_default_admin_account_changed_should_return_false_if_account_was_not_changed | |||
user = User.find_by_login("admin") | |||
user.password = "admin" | |||
user.save! | |||
assert_equal false, User.default_admin_account_changed? | |||
end | |||
def test_default_admin_account_changed_should_return_true_if_password_was_changed | |||
user = User.find_by_login("admin") | |||
user.password = "newpassword" | |||
user.save! | |||
assert_equal true, User.default_admin_account_changed? | |||
end | |||
def test_default_admin_account_changed_should_return_true_if_account_is_disabled | |||
user = User.find_by_login("admin") | |||
user.password = "admin" | |||
user.status = User::STATUS_LOCKED | |||
user.save! | |||
assert_equal true, User.default_admin_account_changed? | |||
end | |||
def test_default_admin_account_changed_should_return_true_if_account_does_not_exist | |||
user = User.find_by_login("admin") | |||
user.destroy | |||
assert_equal true, User.default_admin_account_changed? | |||
end | |||
def test_roles_for_project | |||
# user with a role | |||
roles = @jsmith.roles_for_project(Project.find(1)) |