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 %>
<%= f.text_field :homepage, :size => 60 %>
<%= f.check_box :is_public %>
+<%= 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