forked from saurabh/orbit4-5
import methods for plugins honor, patent, research, books, diploma, project, experience
This commit is contained in:
parent
63270e2a79
commit
f61efc2472
|
@ -683,45 +683,225 @@ class Admin::ImportController < OrbitAdminController
|
|||
end
|
||||
|
||||
def import_books
|
||||
uri = URI.parse("http://192.168.1.5/DEMO24_Manson/R2/export/?module=plugin&id=1&plugin=book")
|
||||
id = "1"
|
||||
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")
|
||||
http = Net::HTTP.new(uri.host, uri.port)
|
||||
request = Net::HTTP::Get.new(uri.request_uri)
|
||||
response = http.request(request)
|
||||
data = response.body
|
||||
data = JSON.parse(data)
|
||||
books = data["books"]
|
||||
member = MemberProfile.where(:rss2_id => "1").first
|
||||
member = MemberProfile.where(:rss2_id => id).first
|
||||
books.each do |book|
|
||||
author_types = book["author_type"]
|
||||
book_types = book["book_types"]
|
||||
|
||||
new_book = Book.new(:book_title_translations => {"en" => book["book_title"]["en"], "zh_tw" => book["book_title"]["zh-tw"]}, :extracted_chapters_translations => {"en" => book["extracted_chapters"]["en"], "zh_tw" => book["extracted_chapters"]["zh-tw"]}, :publisher_translations => {"en" => book["publishers"]["en"], "zh_tw" => book["publishers"]["zh-tw"]}, :editor_translations => {"en" => book["editor"]["en"], "zh_tw" => book["editor"]["zh-tw"]}, :year => book["year"], :language => book["language"].sub("-","_"), :pages => book["number_of_pages"], :isbn => book["issn"], :publication_date => book["publication_date"], :url => book["reference_url"], :note => book["note"], :rss2_id => book["rss2_id"])
|
||||
new_book.member_profile = member
|
||||
book_file = new_book.book_files.new
|
||||
book_file.remote_member_book_file_url = book["file"]["file"]
|
||||
book_file.title_translations = {"en" => book["file"]["name"], "zh_tw" => book["file"]["name"]}
|
||||
book_file.save
|
||||
author_types.each do |author|
|
||||
bat = BookAuthorType.where(:title => author).first
|
||||
if bat.nil?
|
||||
bat = BookAuthorType.new(:title_translations => {"en" => author, "zh_tw" => author})
|
||||
bat.save
|
||||
old_book = Book.where(:rss2_id => book["rss2_id"]).first
|
||||
if old_book.nil?
|
||||
new_book = Book.new(:book_title_translations => {"en" => book["book_title"]["en"], "zh_tw" => book["book_title"]["zh-tw"]}, :extracted_chapters_translations => {"en" => book["extracted_chapters"]["en"], "zh_tw" => book["extracted_chapters"]["zh-tw"]}, :publisher_translations => {"en" => book["publishers"]["en"], "zh_tw" => book["publishers"]["zh-tw"]}, :editor_translations => {"en" => book["editor"]["en"], "zh_tw" => book["editor"]["zh-tw"]}, :year => book["year"], :language => book["language"].sub("-","_"), :pages => book["number_of_pages"], :isbn => book["issn"], :publication_date => book["publication_date"], :url => book["reference_url"], :note => book["note"], :rss2_id => book["rss2_id"])
|
||||
new_book.member_profile = member
|
||||
book_file = new_book.book_files.new
|
||||
book_file.remote_member_book_file_url = book["file"]["file"]
|
||||
book_file.title_translations = {"en" => book["file"]["name"], "zh_tw" => book["file"]["name"]}
|
||||
book_file.save
|
||||
author_types.each do |author|
|
||||
bat = BookAuthorType.where(:title => author).first
|
||||
if bat.nil?
|
||||
bat = BookAuthorType.new(:title_translations => {"en" => author, "zh_tw" => author})
|
||||
bat.save
|
||||
end
|
||||
new_book.book_author_types << bat
|
||||
end
|
||||
new_book.book_author_types << bat
|
||||
end
|
||||
book_types.each do |type|
|
||||
bt = BookType.where(:title => type["zh-tw"]).first
|
||||
if bt.nil?
|
||||
bt = BookType.new(:title_translations => {"en" => type["en"], "zh_tw" => type["zh-tw"]})
|
||||
bt.save
|
||||
book_types.each do |type|
|
||||
bt = BookType.where(:title => type["zh-tw"]).first
|
||||
if bt.nil?
|
||||
bt = BookType.new(:title_translations => {"en" => type["en"], "zh_tw" => type["zh-tw"]})
|
||||
bt.save
|
||||
end
|
||||
new_book.book_type = bt
|
||||
end
|
||||
new_book.book_type = bt
|
||||
new_book.save
|
||||
end
|
||||
new_book.save
|
||||
end
|
||||
I18n.locale = original_language
|
||||
render :json => {"succes" => true}.to_json
|
||||
end
|
||||
|
||||
def import_projects
|
||||
id = "1"
|
||||
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")
|
||||
http = Net::HTTP.new(uri.host, uri.port)
|
||||
request = Net::HTTP::Get.new(uri.request_uri)
|
||||
response = http.request(request)
|
||||
data = response.body
|
||||
data = JSON.parse(data)
|
||||
projects = data["projects"]
|
||||
member = MemberProfile.where(:rss2_id => id).first
|
||||
projects.each do |project|
|
||||
old_project = Project.where(:rss2_id => project["rss2_id"]).first
|
||||
if old_project.nil?
|
||||
new_project = Project.new(:project_title_translations => {"en" => project["project_title"]["en"], "zh_tw" => project["project_title"]["zh-tw"]},:job_title_translations => {"en" => project["job_title"]["en"],"zh_tw" => project["job_title"]["zh-tw"]}, :participator_translations => {"en" => project["participant"]["en"],"zh_tw" => project["participant"]["zh-tw"]}, :unit_translations => {"en" => project["unit"]["en"],"zh_tw" => project["unit"]["zh-tw"]},:year => project["year"], :language => project["language"].sub("-","_"), :period_start_date => Date.strptime(project["start_date"], '%Y-%m'), :period_end_date => Date.strptime(project["end_date"], '%Y-%m'), :url => project["reference_url"], :note_translations => {"en" => project["note"]["en"],"zh_tw" => project["note"]["zh-tw"]}, :rss2_id => project["rss2_id"])
|
||||
pc = ProjectType.where(:title => project["project_categories"]["zh-tw"]).first
|
||||
if pc.nil?
|
||||
pc = ProjectType.new(:title_translations => {"en" => project["project_categories"]["en"], "zh_tw" => project["project_categories"]["zh-tw"]})
|
||||
pc.save
|
||||
end
|
||||
project_file = new_project.project_files.new
|
||||
project_file.remote_file_url = project["file"]["file"]
|
||||
project_file.title_translations = {"en" => project["file"]["name"], "zh_tw" => project["file"]["name"]}
|
||||
project_file.save
|
||||
new_project.project_type = pc
|
||||
new_project.member_profile = member
|
||||
new_project.save
|
||||
end
|
||||
end
|
||||
I18n.locale = original_language
|
||||
render :json => {"succes" => true}.to_json
|
||||
end
|
||||
|
||||
def import_patents
|
||||
id = "1"
|
||||
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")
|
||||
http = Net::HTTP.new(uri.host, uri.port)
|
||||
request = Net::HTTP::Get.new(uri.request_uri)
|
||||
response = http.request(request)
|
||||
data = response.body
|
||||
data = JSON.parse(data)
|
||||
patents = data["patents"]
|
||||
member = MemberProfile.where(:rss2_id => id).first
|
||||
patents.each do |patent|
|
||||
old_patent = Patent.where(:rss2_id => patent["rss2_id"]).first
|
||||
if old_patent.nil?
|
||||
new_patent = Patent.new(:patent_title_translations => {"en" => patent["patent_title"]["en"], "zh_tw" => patent["patent_title"]["zh-tw"]}, :authors_translations => {"en" => patent["patent_author"]["en"], "zh_tw" => patent["patent_author"]["zh-tw"]},:patent_country_translations => {"en" => patent["patent_country"]["en"], "zh_tw" => patent["patent_country"]["zh-tw"]}, :year => patent["year"], :language => patent["language"], :patent_no => patent["patent_number"], :publish_date => Date.strptime(patent["date_of_publication"], '%Y-%m'), :rss2_id => patent["rss2_id"])
|
||||
patent_categories = patent["patent_categories"]
|
||||
patent_categories.each do |pc|
|
||||
pt = PatentType.where(:title => pc["zh-tw"]).first
|
||||
if pt.nil?
|
||||
pt = PatentType.new(:title_translations => {"en" => pc["en"], "zh_tw" => pc["zh-tw"]})
|
||||
pt.save
|
||||
end
|
||||
new_patent.patent_types << pt
|
||||
end
|
||||
|
||||
new_patent.member_profile = member
|
||||
new_patent.save
|
||||
end
|
||||
end
|
||||
I18n.locale = original_language
|
||||
render :json => {"succes" => true}.to_json
|
||||
end
|
||||
|
||||
def import_research
|
||||
id = "1"
|
||||
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")
|
||||
http = Net::HTTP.new(uri.host, uri.port)
|
||||
request = Net::HTTP::Get.new(uri.request_uri)
|
||||
response = http.request(request)
|
||||
data = response.body
|
||||
data = JSON.parse(data)
|
||||
researches = data["researches"]
|
||||
member = MemberProfile.where(:rss2_id => id).first
|
||||
researches.each do |research|
|
||||
old_research = Research.where(:rss2_id => research["rss2_id"]).first
|
||||
if old_research.nil?
|
||||
new_research = Research.new(:research_title_translations => {"en" => research["title"]["en"],"zh_tw" => research["title"]["zh-tw"]},:language => research["language"], :publish_date => research["date_of_publication"], :rss2_id => research["rss2_id"])
|
||||
research_file = new_research.research_files.new
|
||||
research_file.remote_file_url = research["file"]["file"]
|
||||
research_file.title_translations = {"en" => research["file"]["name"], "zh_tw" => research["file"]["name"]}
|
||||
research_file.save
|
||||
new_research.member_profile = member
|
||||
new_research.save
|
||||
end
|
||||
end
|
||||
I18n.locale = original_language
|
||||
render :json => {"succes" => true}.to_json
|
||||
end
|
||||
|
||||
def import_diplomas
|
||||
id = "1"
|
||||
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")
|
||||
http = Net::HTTP.new(uri.host, uri.port)
|
||||
request = Net::HTTP::Get.new(uri.request_uri)
|
||||
response = http.request(request)
|
||||
data = response.body
|
||||
data = JSON.parse(data)
|
||||
diplomas = data["diplomas"]
|
||||
member = MemberProfile.where(:rss2_id => id).first
|
||||
diplomas.each do |diploma|
|
||||
old_diploma = Diploma.where(:rss2_id => diploma["rss2_id"]).first
|
||||
if old_diploma.nil?
|
||||
new_diploma = Diploma.new(:school_name_translations => {"en" => diploma["school_name"]["en"], "zh_tw" => diploma["school_name"]["zh-tw"]},
|
||||
:country_translations => {"en" => diploma["country"]["en"], "zh_tw" => diploma["country"]["zh-tw"]}, :department_translations => {"en" => diploma["department"]["en"], "zh_tw" => diploma["department"]["zh-tw"]}, :degree_translations => {"en" => diploma["degree"]["en"], "zh_tw" => diploma["degree"]["zh-tw"]}, :language => diploma["language"], :start_date => Date.strptime(diploma["start_date"], '%Y-%m'), :end_date => Date.strptime(diploma["end_date"], '%Y-%m'), :rss2_id => diploma["rss2_id"])
|
||||
new_diploma.member_profile = member
|
||||
new_diploma.save
|
||||
end
|
||||
end
|
||||
I18n.locale = original_language
|
||||
render :json => {"succes" => true}.to_json
|
||||
end
|
||||
|
||||
def import_experiences
|
||||
id = "1"
|
||||
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")
|
||||
http = Net::HTTP.new(uri.host, uri.port)
|
||||
request = Net::HTTP::Get.new(uri.request_uri)
|
||||
response = http.request(request)
|
||||
data = response.body
|
||||
data = JSON.parse(data)
|
||||
experiences = data["experiences"]
|
||||
member = MemberProfile.where(:rss2_id => id).first
|
||||
experiences.each do |experience|
|
||||
old_experience = Experience.where(:rss2_id => experience["rss2_id"]).first
|
||||
if old_experience.nil?
|
||||
new_experience = Experience.new(:organizationt_title_translations => {"en" => experience["organization_title"]["en"], "zh_tw" => experience["organization_title"]["zh-tw"]}, :department_translations => {"en" => experience["department"]["en"], "zh_tw" => experience["department"]["zh-tw"]}, :job_title_translations => {"en" => experience["job_title"]["en"], "zh_tw" => experience["job_title"]["zh-tw"]}, :language => experience["language"], :start_date => Date.strptime(experience["start_date"], '%Y-%m'), :end_date => Date.strptime(experience["end_date"], '%Y-%m'), :rss2_id => experience["rss2_id"])
|
||||
new_experience.member_profile = member
|
||||
new_experience.save
|
||||
end
|
||||
end
|
||||
I18n.locale = original_language
|
||||
render :json => {"succes" => true}.to_json
|
||||
end
|
||||
|
||||
def import_honors
|
||||
id = "1"
|
||||
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")
|
||||
http = Net::HTTP.new(uri.host, uri.port)
|
||||
request = Net::HTTP::Get.new(uri.request_uri)
|
||||
response = http.request(request)
|
||||
data = response.body
|
||||
data = JSON.parse(data)
|
||||
honors = data["honors"]
|
||||
member = MemberProfile.where(:rss2_id => id).first
|
||||
honors.each do |honor|
|
||||
old_honor = Honor.where(:rss2_id => honor["rss2_id"]).first
|
||||
if old_honor.nil?
|
||||
new_honor = Honor.new(:year => honor["year"], :award_name_translations => {"en" => honor["award_name"]["en"], "zh_tw" => honor["award_name"]["zh-tw"]}, :awarding_unit_translations => {"en" => honor["award_unit"]["en"], "zh_tw" => honor["award_unit"]["zh-tw"]}, :language => honor["language"], :rss2_id => honor["rss2_id"])
|
||||
pc = HonorType.where(:title => honor["honor_categories"]["zh-tw"]).first
|
||||
if pc.nil?
|
||||
pc = HonorType.new(:title_translations => {"en" => honor["honor_categories"]["en"], "zh_tw" => honor["honor_categories"]["zh-tw"]})
|
||||
pc.save
|
||||
end
|
||||
new_honor.honor_type = pc
|
||||
new_honor.member_profile = member
|
||||
new_honor.save
|
||||
end
|
||||
end
|
||||
I18n.locale = original_language
|
||||
render :json => {"succes" => true}.to_json
|
||||
end
|
||||
private
|
||||
|
||||
def page_present?(page)
|
||||
|
|
|
@ -223,7 +223,7 @@ Orbit::Application.routes.draw do
|
|||
post "import/rss2_album_image" => "import#rss2_album_image"
|
||||
post "import/rss2_links" => "import#rss2_links"
|
||||
post "import/rss2_members" => "import#rss2_members"
|
||||
get "import/import_books" => "import#import_books"
|
||||
get "import/import_honors" => "import#import_honors"
|
||||
end
|
||||
|
||||
get 'mobile', to: 'pages#home'
|
||||
|
|
Loading…
Reference in New Issue