OSDN Git Service

test fix
authorgitlabhq <m@gitlabhq.com>
Sun, 9 Oct 2011 19:36:57 +0000 (22:36 +0300)
committergitlabhq <m@gitlabhq.com>
Sun, 9 Oct 2011 19:36:57 +0000 (22:36 +0300)
app/controllers/admin/projects_controller.rb
app/models/project.rb
db/schema.rb
spec/factories.rb

index fe5ada8..5575261 100644 (file)
@@ -35,6 +35,7 @@ class Admin::ProjectsController < ApplicationController
 
   def create
     @admin_project = Project.new(params[:project])
+    @admin_project.owner = current_user
 
     respond_to do |format|
       if @admin_project.save
index 182c784..17b556c 100644 (file)
@@ -1,10 +1,11 @@
 require "grit"
 
 class Project < ActiveRecord::Base
+  belongs_to :owner, :class_name => "User"
+
   has_many :issues, :dependent => :destroy
   has_many :users_projects, :dependent => :destroy
   has_many :users, :through => :users_projects
-  belongs_to :owner, :class_name => "User"
   has_many :notes, :dependent => :destroy
 
   validates :name,
@@ -25,6 +26,9 @@ class Project < ActiveRecord::Base
             :uniqueness => true,
             :length   => { :within => 3..12 }
 
+  validates :owner,
+            :presence => true
+
   validate :check_limit
   
   before_save :format_code
@@ -130,8 +134,10 @@ class Project < ActiveRecord::Base
 
   def check_limit
     unless owner.can_create_project?
-      errors[:base] << ("You can to have #{owner.projects_limit} your own projects")
+      errors[:base] << ("Your own projects limit is #{owner.projects_limit}! Please contact administrator to increase it")
     end
+  rescue 
+    errors[:base] << ("Cant check your ability to create project")
   end
 
   def valid_repo?
index ed5816c..befe0b2 100644 (file)
@@ -70,7 +70,7 @@ ActiveRecord::Schema.define(:version => 20111009111204) do
     t.datetime "updated_at"
     t.string   "name"
     t.boolean  "admin",                                 :default => false, :null => false
-    t.integer  "projects_limit"
+    t.integer  "projects_limit",                        :default => 10
   end
 
   add_index "users", ["email"], :name => "index_users_on_email", :unique => true
index 457c08b..ea055d1 100644 (file)
@@ -3,6 +3,7 @@ require File.join(Rails.root, 'spec', 'factory')
 Factory.add(:project, Project) do |obj|
   obj.name = Faker::Internet.user_name
   obj.path = 'legit'
+  obj.owner = Factory(:user)
   obj.code = 'LGT'
 end
 
@@ -10,6 +11,7 @@ Factory.add(:public_project, Project) do |obj|
   obj.name = Faker::Internet.user_name
   obj.path = 'legit'
   obj.private_flag = false
+  obj.owner = Factory(:user)
   obj.code = 'LGT'
 end