diff --git a/app/controllers/imports_controller.rb b/app/controllers/imports_controller.rb
index d73e98c01..633cc232c 100644
--- a/app/controllers/imports_controller.rb
+++ b/app/controllers/imports_controller.rb
@@ -36,7 +36,7 @@ class ImportsController < ApplicationController
@import = import_type.new
@import.user = User.current
@import.file = params[:file]
- @import.set_default_settings
+ @import.set_default_settings(:project_id => params[:project_id])
if @import.save
redirect_to import_settings_path(@import)
diff --git a/app/models/import.rb b/app/models/import.rb
index 696cd4d38..3244b13e2 100644
--- a/app/models/import.rb
+++ b/app/models/import.rb
@@ -62,7 +62,7 @@ class Import < ActiveRecord::Base
Redmine::Utils.save_upload(arg, filepath)
end
- def set_default_settings
+ def set_default_settings(options={})
separator = lu(user, :general_csv_separator)
if file_exists?
begin
@@ -84,6 +84,14 @@ class Import < ActiveRecord::Base
'date_format' => date_format,
'notifications' => '0'
)
+
+ if options.key?(:project_id) && !options[:project_id].blank?
+ # Do not fail if project doesn't exist
+ begin
+ project = Project.find(options[:project_id])
+ self.settings.merge!('mapping' => {'project_id' => project.id})
+ rescue; end
+ end
end
def to_param
diff --git a/app/views/imports/new.html.erb b/app/views/imports/new.html.erb
index 41b27d6c9..e7ca82428 100644
--- a/app/views/imports/new.html.erb
+++ b/app/views/imports/new.html.erb
@@ -2,6 +2,7 @@
<%= form_tag(imports_path, :multipart => true) do %>
<%= hidden_field_tag 'type', @import.type %>
+ <%= hidden_field_tag 'project_id', params[:project_id] %>