Index: app/models/issue.rb
===================================================================
--- app/models/issue.rb	(revision 3813)
+++ app/models/issue.rb	(working copy)
@@ -741,6 +741,9 @@
     if assigned_to.nil? && category && category.assigned_to
       self.assigned_to = category.assigned_to
     end
+    if assigned_to.nil? && project.default_assignee
+      self.assigned_to = project.default_assignee
+    end
   end
 
   # Updates start/due dates of following issues
Index: app/models/user.rb
===================================================================
--- app/models/user.rb	(revision 3813)
+++ app/models/user.rb	(working copy)
@@ -37,6 +37,7 @@
                                    :after_remove => Proc.new {|user, group| group.user_removed(user)}
   has_many :issue_categories, :foreign_key => 'assigned_to_id', :dependent => :nullify
   has_many :changesets, :dependent => :nullify
+  has_many :projects, :foreign_key => 'default_assignee_id', :dependent => :nullify
   has_one :preference, :dependent => :destroy, :class_name => 'UserPreference'
   has_one :rss_token, :dependent => :destroy, :class_name => 'Token', :conditions => "action='feeds'"
   has_one :api_token, :dependent => :destroy, :class_name => 'Token', :conditions => "action='api'"
Index: app/models/project.rb
===================================================================
--- app/models/project.rb	(revision 3813)
+++ app/models/project.rb	(working copy)
@@ -44,6 +44,8 @@
   has_one :repository, :dependent => :destroy
   has_many :changesets, :through => :repository
   has_one :wiki, :dependent => :destroy
+  belongs_to :default_assignee, :class_name => 'User', :foreign_key => 'default_assignee_id'
+
   # Custom field for the project issues
   has_and_belongs_to_many :issue_custom_fields, 
                           :class_name => 'IssueCustomField',
Index: app/views/projects/_form.rhtml
===================================================================
--- app/views/projects/_form.rhtml	(revision 3813)
+++ app/views/projects/_form.rhtml	(working copy)
@@ -15,6 +15,7 @@
 <% end %></p>
 <p><%= f.text_field :homepage, :size => 60 %></p>
 <p><%= f.check_box :is_public %></p>
+<p><%= f.select(:default_assignee_id, @project.assignable_users.collect {|u| [ u.name , u.id ] }, { :include_blank => true }) %>
 <%= wikitoolbar_for 'project_description' %>
 
 <% @project.custom_field_values.each do |value| %>
Index: db/migrate/20100624104845_add_project_default_assignee.rb
===================================================================
--- db/migrate/20100624104845_add_project_default_assignee.rb	(revision 0)
+++ db/migrate/20100624104845_add_project_default_assignee.rb	(revision 0)
@@ -0,0 +1,9 @@
+class AddProjectDefaultAssignee < ActiveRecord::Migration
+  def self.up
+    add_column :projects, :default_assignee_id, :integer
+  end
+
+  def self.down
+    remove_column :projects, :default_assignee_id, :integer
+  end
+end

