<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -18,7 +18,6 @@ class UsersController &lt; ApplicationController
 
   def create
     @user = User.new(params[:user])
-    @user.admin = true if User.count == 0
     render :action =&gt; :new and return false unless @user.save
     if logged_in?
       redirect_to users_path and return true</diff>
      <filename>app/controllers/users_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -40,6 +40,7 @@ class User &lt; ActiveRecord::Base
   validates_confirmation_of :password, :on =&gt; :update, :allow_blank =&gt; true
   
   before_create :set_defaults
+  before_create :make_admin_if_first_user
     
   named_scope :blog_authors, :conditions =&gt; 'articles_count &gt; 0', :order =&gt; 'articles_count desc'
   named_scope :chatting, lambda {|*args| {:conditions =&gt; ['chatting_at &gt; ?', Time.now.utc-30.seconds], :order =&gt; 'login asc'}}
@@ -97,6 +98,10 @@ class User &lt; ActiveRecord::Base
     self.time_zone = Setting.find(:first).time_zone
   end
   
+  def make_admin_if_first_user
+    self.admin = true if User.count == 0
+  end
+  
   def to_s
     login
   end</diff>
      <filename>app/models/user.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-RAILS_GEM_VERSION = '2.3.3' unless defined? RAILS_GEM_VERSION
+RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION
 require File.join(File.dirname(__FILE__), 'boot')
 
 Rails::Initializer.run do |config|  </diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -295,15 +295,6 @@ class UsersControllerTest &lt; ActionController::TestCase
     assert_equal user.time_zone, 'US/Central'
   end
   
-  def test_that_first_user_created_becomes_admin_and_others_dont
-    User.delete_all
-    post :create, :user =&gt; {:login =&gt; 'user1', :email =&gt; 'test1@test.com', :password =&gt; 'abc', :password_confirmation =&gt; 'abc'}
-    post :create, :user =&gt; {:login =&gt; 'user2', :email =&gt; 'test2@test.com', :password =&gt; 'abc', :password_confirmation =&gt; 'abc'}
-    assert_equal User.count, 2
-    assert_equal User.find_by_login('user1').admin, true
-    assert_equal User.find_by_login('user2').admin, false
-  end
-  
   def test_that_user_gets_default_time_values
     post :create, :user =&gt; {:login =&gt; 'user1', :email =&gt; 'test1@test.com', :password =&gt; 'abc', :password_confirmation =&gt; 'abc'}
     assert_not_nil User.find_by_login('user1').online_at</diff>
      <filename>test/functional/users_controller_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,14 @@ class UserTest &lt; ActiveSupport::TestCase
     assert u.valid?
   end
   
+  def test_that_first_user_created_becomes_admin_and_others_dont
+    User.delete_all
+    u1 = User.make
+    u2 = User.make
+    assert_equal true, u1.admin?
+    assert_equal false, u2.admin?
+  end
+  
   def test_blog_authors
     users(:trevor).articles.create(:title =&gt; 'test', :body =&gt; 'test')
     authors = User.blog_authors</diff>
      <filename>test/unit/user_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>eac99d4b3cdd95782c3bc8e0642c7e3b0380017a</id>
    </parent>
  </parents>
  <author>
    <name>Trevor Turk</name>
    <email>trevorturk@gmail.com</email>
  </author>
  <url>http://github.com/trevorturk/eldorado/commit/e8719c211925b5c538d26b37b8c7aaa5053208ab</url>
  <id>e8719c211925b5c538d26b37b8c7aaa5053208ab</id>
  <committed-date>2009-09-11T08:35:56-07:00</committed-date>
  <authored-date>2009-09-11T08:35:56-07:00</authored-date>
  <message>update to rails 2.3.4, move initial admin creation to user model instead of controller</message>
  <tree>dd480769388a5d721bb5b9e285e629f8c9782612</tree>
  <committer>
    <name>Trevor Turk</name>
    <email>trevorturk@gmail.com</email>
  </committer>
</commit>
