diff --git a/app/controllers/admin/import_controller.rb b/app/controllers/admin/import_controller.rb
index 872c85b..d1aa033 100644
--- a/app/controllers/admin/import_controller.rb
+++ b/app/controllers/admin/import_controller.rb
@@ -303,13 +303,14 @@ class Admin::ImportController < OrbitAdminController
@@import_stats["success"] = true
write_to_file
members = data["users"]
+ data_to_send = []
members.each do |member|
@@import_stats["current_member"] = member["user_id"]
@@import_stats["current_member_name"] = member["primary_email"]
write_to_file
- check_member = MemberProfile.find_by(rss2_id: member["rss2_id"]) rescue nil
- if check_member.nil?
+ new_member = MemberProfile.find_by(rss2_id: member["rss2_id"]) rescue nil
+ if new_member.nil?
new_member = MemberProfile.new(email: member["primary_email"], rss2_id: member["rss2_id"], sid: member["sid"], office_tel: member["phone_office"],)
new_member.autobiography_translations = {"en"=>member["bio"]["en"],"zh_tw"=>member["bio"]["zh-tw"]}
new_member.address_translations = {"en"=>member["address_office"]["en"],"zh_tw"=>member["address_office"]["zh-tw"]}
@@ -565,20 +566,19 @@ class Admin::ImportController < OrbitAdminController
if member["user_id"].present?
user = User.new
user.user_name = member["user_id"]
- user.password = "newpassword"
- user.password_confirmation = "newpassword"
if member["group_id"] == 40
w = Workgroup.find_by(key: "admin") rescue nil
user.workgroup = w
end
user.member_profile = new_member
user.approved = true
- user.save
+ user.save(:validate => false)
end
end
+ data_to_send << {"name" => new_member.name, "rss2_id" => new_member.rss2_id, "id" => new_member.id.to_s}
end
- render :json => {"success" => true}.to_json
+ render :json => {"success" => true, "members" => data_to_send}.to_json
end
def rss2_galleries
@@ -682,11 +682,35 @@ class Admin::ImportController < OrbitAdminController
render :json => {"success" => true}.to_json
end
- def import_books
- id = "1"
+ def import_plugin
+ id = params["rss2_id"]
+ url = params["url"]
+ case params["plugin"]
+ when "patents"
+ import_patents(id,url)
+ when "books"
+ import_books(id,url)
+ when "projects"
+ import_projects(id,url)
+ when "researches"
+ import_research(id,url)
+ when "honors"
+ import_honors(id,url)
+ when "diplomas"
+ import_diplomas(id,url)
+ when "experiences"
+ import_experiences(id,url)
+ when "journalpapers"
+ import_journals(id,url)
+ when "conferencespapers"
+ import_conferences(id,url)
+ end
+ end
+
+ def import_books(id,url)
original_language = I18n.locale
I18n.locale = "zh_tw"
- uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=#{id}&plugin=book")
+ uri = URI.parse("#{url}?module=plugin&id=#{id}&plugin=book")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
@@ -728,11 +752,10 @@ class Admin::ImportController < OrbitAdminController
render :json => {"succes" => true}.to_json
end
- def import_projects
- id = "1"
+ def import_projects(id,url)
original_language = I18n.locale
I18n.locale = "zh_tw"
- uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=#{id}&plugin=project")
+ uri = URI.parse("#{url}?module=plugin&id=#{id}&plugin=project")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
@@ -762,11 +785,10 @@ class Admin::ImportController < OrbitAdminController
render :json => {"succes" => true}.to_json
end
- def import_patents
- id = "1"
+ def import_patents(id,url)
original_language = I18n.locale
I18n.locale = "zh_tw"
- uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=#{id}&plugin=patent")
+ uri = URI.parse("#{url}?module=plugin&id=#{id}&plugin=patent")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
@@ -796,11 +818,10 @@ class Admin::ImportController < OrbitAdminController
render :json => {"succes" => true}.to_json
end
- def import_research
- id = "1"
+ def import_research(id,url)
original_language = I18n.locale
I18n.locale = "zh_tw"
- uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=#{id}&plugin=research")
+ uri = URI.parse("#{url}?module=plugin&id=#{id}&plugin=research")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
@@ -824,11 +845,10 @@ class Admin::ImportController < OrbitAdminController
render :json => {"succes" => true}.to_json
end
- def import_diplomas
- id = "1"
+ def import_diplomas(id,url)
original_language = I18n.locale
I18n.locale = "zh_tw"
- uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=#{id}&plugin=diploma")
+ uri = URI.parse("#{url}?module=plugin&id=#{id}&plugin=diploma")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
@@ -849,11 +869,10 @@ class Admin::ImportController < OrbitAdminController
render :json => {"succes" => true}.to_json
end
- def import_experiences
- id = "1"
+ def import_experiences(id,url)
original_language = I18n.locale
I18n.locale = "zh_tw"
- uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=#{id}&plugin=experience")
+ uri = URI.parse("#{url}?module=plugin&id=#{id}&plugin=experience")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
@@ -873,11 +892,10 @@ class Admin::ImportController < OrbitAdminController
render :json => {"succes" => true}.to_json
end
- def import_honors
- id = "1"
+ def import_honors(id,url)
original_language = I18n.locale
I18n.locale = "zh_tw"
- uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=#{id}&plugin=honor")
+ uri = URI.parse("#{url}?module=plugin&id=#{id}&plugin=honor")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
@@ -900,14 +918,13 @@ class Admin::ImportController < OrbitAdminController
end
end
I18n.locale = original_language
- render :json => {"succes" => true}.to_json
+ render :json => {"success" => true}.to_json
end
- def import_journals
- id = "1"
+ def import_journals(id,url)
original_language = I18n.locale
I18n.locale = "zh_tw"
- uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=#{id}&plugin=journal")
+ uri = URI.parse("#{url}?module=plugin&id=#{id}&plugin=journal")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
@@ -975,14 +992,13 @@ class Admin::ImportController < OrbitAdminController
end
I18n.locale = original_language
- render :json => {"succes" => true}.to_json
+ render :json => {"success" => true}.to_json
end
- def import_conferences
- id = "1"
+ def import_conferences(id,url)
original_language = I18n.locale
I18n.locale = "zh_tw"
- uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=#{id}&plugin=conference")
+ uri = URI.parse("#{url}?module=plugin&id=#{id}&plugin=conference")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
diff --git a/app/views/admin/import/index.html.erb b/app/views/admin/import/index.html.erb
index b1dc747..e70767f 100644
--- a/app/views/admin/import/index.html.erb
+++ b/app/views/admin/import/index.html.erb
@@ -294,7 +294,8 @@
}
-
+ var sto = null;
+ var new_members_data = null;
var importMembers = function(){
$("#import-progress .bar").css('width', '0%');
$("#import-progress-text").html("Importing Member..
");
@@ -302,13 +303,90 @@
type: "post",
url: '<%= admin_import_rss2_members_path %>',
data : {"url" : url+'?module='+module}
- }).done(function(){
+ }).done(function(data){
+ if(data.success == true){
+ // clearTimeout(sto);
+ $("#import-progress-text").html("Finished importing Members.
");
+ $("#import-progress .bar").css('width', '100%');
+ new_members_data = data.members;
+ importPlugins(0);
+ }
}).fail(function(){
$("#import-progress-text").html("Importing failed, click on start to try again.");
$("#alert-msg").text("There was an unknown error");
$(".alert-danger").removeClass("hide").show();
+ clearTimeout(sto);
})
- setTimeout("startCheckingMemberImportStatus()",700);
+ // sto = setTimeout("startCheckingMemberImportStatus()",700);
+ }
+ var plugins = ["patents","books", "projects", "researches", "honors", "diplomas", "experiences", "journalpapers", "conferencespapers"];
+ var failed_plugins = [];
+ var importPlugins = function(number){
+ var member = new_members_data[number],
+ member_status = (member.name == null ? "Importing plugins for id " + member.rss2_id : "Importing plugins for member " + member.name);
+ $("#import-progress .bar").css('width', '0%');
+ $("#import-progress-text").html(member_status + "