Commit 035196e7a8c839ce14e280d0c7230b3ce34076fe

Authored by gitlabhq
1 parent 67f0c62d

test fix

app/controllers/admin/projects_controller.rb
@@ -35,6 +35,7 @@ class Admin::ProjectsController < ApplicationController @@ -35,6 +35,7 @@ class Admin::ProjectsController < ApplicationController
35 35
36 def create 36 def create
37 @admin_project = Project.new(params[:project]) 37 @admin_project = Project.new(params[:project])
  38 + @admin_project.owner = current_user
38 39
39 respond_to do |format| 40 respond_to do |format|
40 if @admin_project.save 41 if @admin_project.save
app/models/project.rb
1 require "grit" 1 require "grit"
2 2
3 class Project < ActiveRecord::Base 3 class Project < ActiveRecord::Base
  4 + belongs_to :owner, :class_name => "User"
  5 +
4 has_many :issues, :dependent => :destroy 6 has_many :issues, :dependent => :destroy
5 has_many :users_projects, :dependent => :destroy 7 has_many :users_projects, :dependent => :destroy
6 has_many :users, :through => :users_projects 8 has_many :users, :through => :users_projects
7 - belongs_to :owner, :class_name => "User"  
8 has_many :notes, :dependent => :destroy 9 has_many :notes, :dependent => :destroy
9 10
10 validates :name, 11 validates :name,
@@ -25,6 +26,9 @@ class Project &lt; ActiveRecord::Base @@ -25,6 +26,9 @@ class Project &lt; ActiveRecord::Base
25 :uniqueness => true, 26 :uniqueness => true,
26 :length => { :within => 3..12 } 27 :length => { :within => 3..12 }
27 28
  29 + validates :owner,
  30 + :presence => true
  31 +
28 validate :check_limit 32 validate :check_limit
29 33
30 before_save :format_code 34 before_save :format_code
@@ -130,8 +134,10 @@ class Project &lt; ActiveRecord::Base @@ -130,8 +134,10 @@ class Project &lt; ActiveRecord::Base
130 134
131 def check_limit 135 def check_limit
132 unless owner.can_create_project? 136 unless owner.can_create_project?
133 - errors[:base] << ("You can to have #{owner.projects_limit} your own projects") 137 + errors[:base] << ("Your own projects limit is #{owner.projects_limit}! Please contact administrator to increase it")
134 end 138 end
  139 + rescue
  140 + errors[:base] << ("Cant check your ability to create project")
135 end 141 end
136 142
137 def valid_repo? 143 def valid_repo?
@@ -70,7 +70,7 @@ ActiveRecord::Schema.define(:version =&gt; 20111009111204) do @@ -70,7 +70,7 @@ ActiveRecord::Schema.define(:version =&gt; 20111009111204) do
70 t.datetime "updated_at" 70 t.datetime "updated_at"
71 t.string "name" 71 t.string "name"
72 t.boolean "admin", :default => false, :null => false 72 t.boolean "admin", :default => false, :null => false
73 - t.integer "projects_limit" 73 + t.integer "projects_limit", :default => 10
74 end 74 end
75 75
76 add_index "users", ["email"], :name => "index_users_on_email", :unique => true 76 add_index "users", ["email"], :name => "index_users_on_email", :unique => true
spec/factories.rb
@@ -3,6 +3,7 @@ require File.join(Rails.root, &#39;spec&#39;, &#39;factory&#39;) @@ -3,6 +3,7 @@ require File.join(Rails.root, &#39;spec&#39;, &#39;factory&#39;)
3 Factory.add(:project, Project) do |obj| 3 Factory.add(:project, Project) do |obj|
4 obj.name = Faker::Internet.user_name 4 obj.name = Faker::Internet.user_name
5 obj.path = 'legit' 5 obj.path = 'legit'
  6 + obj.owner = Factory(:user)
6 obj.code = 'LGT' 7 obj.code = 'LGT'
7 end 8 end
8 9
@@ -10,6 +11,7 @@ Factory.add(:public_project, Project) do |obj| @@ -10,6 +11,7 @@ Factory.add(:public_project, Project) do |obj|
10 obj.name = Faker::Internet.user_name 11 obj.name = Faker::Internet.user_name
11 obj.path = 'legit' 12 obj.path = 'legit'
12 obj.private_flag = false 13 obj.private_flag = false
  14 + obj.owner = Factory(:user)
13 obj.code = 'LGT' 15 obj.code = 'LGT'
14 end 16 end
15 17