From 93909eeca0eeb74606dc70618e6f823bf4a87990 Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Tue, 10 Sep 2013 17:27:43 +0800 Subject: [PATCH 01/27] Get data from database Conflicts: app/controllers/admin/import_data_controller.rb Conflicts: app/controllers/admin/import_data_controller.rb app/views/admin/import_data/get_teacher_data.html.erb --- .../admin/import_data_controller.rb | 94 +++++++++++++++++++ .../import_data/get_teacher_data.html.erb | 1 + 2 files changed, 95 insertions(+) create mode 100644 app/controllers/admin/import_data_controller.rb create mode 100644 app/views/admin/import_data/get_teacher_data.html.erb diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb new file mode 100644 index 000000000..bda2f9ed7 --- /dev/null +++ b/app/controllers/admin/import_data_controller.rb @@ -0,0 +1,94 @@ +# encoding: utf-8 + +require 'net/http' +require 'open-uri' + +class Admin::ImportDataController < OrbitBackendController + + def get_teacher_data + uri = URI("https://15fc4b.ngrok.com/teachers.xml") + #params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} + #uri.query = URI.encode_www_form(params) + res = Net::HTTP.get_response(uri) + + + @teacher_data = Hash.from_xml(res.body) + @teachers = @teacher_data["objects"] + @i = 2000 + @teachers.each do |hash| + @roles = Role.all + @teacher = User.new + I18n.locale = :zh_tw + if hash['teacher_zh_tw'].blank? + @teacher.first_name = hash['teacher_en'] + elsif hash['teacher_zh_tw'].blank? && hash['teacher_en'].blank? + @teacher.first_name = "Please Fill the Name" + else + @teacher.first_name = hash['teacher_zh_tw'] + end + I18n.locale = :en + if hash['teacher_en'].blank? + @teacher.first_name = hash['teacher_zh_tw'] + elsif hash['teacher_zh_tw'].blank? && hash['teacher_en'].blank? + @teacher.first_name = "Please Fill the Name" + else + @teacher.first_name = hash['teacher_en'] + end + + #@teacher.first_name = hash['teacher_en'] + @teacher.ntu_seq = hash['ntu_seq'] + @teacher.role_ids = ["#{@roles.first.id}"] + @teacher.password = "testpass" + @i += 10 + if hash['email'].blank? + @teacher.email = "#{@i}@ntu.edu.tw" + Rails.logger.info"@@@@@@@@@@@@@@@@@@@@@"+@teacher.email.inspect + else + @teacher.email = hash['email'] + end + @teacher.user_id = hash['teacher_en'] + @teacher.save! + end + end + # def get_book_data + # uri = URI("http://ann.cc.ntu.edu.tw/Achv/xmlTeacherData.asp") + # params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} + # uri.query = URI.encode_www_form(params) + # res = Net::HTTP.get_response(uri) + + # teachers = User.all + + # teachers.each do |hash| + # if hash.ntu_seq.present? + # ntu_seq = hash.ntu_seq + # books_xml = Nokogiri::XML( \ + # open("http://ann.cc.ntu.edu.tw/Achv/xmlBook.asp?Seq=#{ntu_seq}")) + # @books = books_xml.xpath("//Book").map do |book_node| + # { + # author: (book_node>"Authors").text, + # year: (book_node>"PublishYear").text, + # title: (book_node>"DocTitle").text, + # remarks: (book_node>"Remarks").text, + # publisher: (book_node>"Publisher").text, + # book_title: (book_node>"BookTitle").text + # } + # end + # if @books.present? + # @books.each do |b| + # @book = WritingBook.new + # @book.authors = b[:author] + # @book.paper_title = b[:title] + # @book.book_title = b[:book_title] + # @book.year = b[:year] + # @book.note = b[:remarks] + # @book.publisher = b[:publisher] + # @book.create_user_id = hash.id + # @book.save + # end + # else + # puts "No books by Teacher" + # end + # end + # end + #end +end diff --git a/app/views/admin/import_data/get_teacher_data.html.erb b/app/views/admin/import_data/get_teacher_data.html.erb new file mode 100644 index 000000000..980c42165 --- /dev/null +++ b/app/views/admin/import_data/get_teacher_data.html.erb @@ -0,0 +1 @@ +

Successfully Imported Teacher Data!

\ No newline at end of file From d2a07d9ffb84eb7b0e2d6f79f3953b8772d5168c Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Wed, 11 Sep 2013 09:54:07 +0800 Subject: [PATCH 02/27] Import Announcements, Journal Paper, Conference Data, book data Conflicts: app/models/user/user.rb --- .../admin/import_data_controller.rb | 234 ++++++++++++++---- app/models/user/user.rb | 2 + .../get_journal_paper_data.html.erb | 1 + 3 files changed, 193 insertions(+), 44 deletions(-) create mode 100644 app/views/admin/import_data/get_journal_paper_data.html.erb diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index bda2f9ed7..fbf0284b0 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -6,11 +6,11 @@ require 'open-uri' class Admin::ImportDataController < OrbitBackendController def get_teacher_data - uri = URI("https://15fc4b.ngrok.com/teachers.xml") + uri = URI("https://tp.rulingcom.com:33333/teachers.xml") + #params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} #uri.query = URI.encode_www_form(params) res = Net::HTTP.get_response(uri) - @teacher_data = Hash.from_xml(res.body) @teachers = @teacher_data["objects"] @@ -42,53 +42,199 @@ class Admin::ImportDataController < OrbitBackendController @i += 10 if hash['email'].blank? @teacher.email = "#{@i}@ntu.edu.tw" - Rails.logger.info"@@@@@@@@@@@@@@@@@@@@@"+@teacher.email.inspect else @teacher.email = hash['email'] end - @teacher.user_id = hash['teacher_en'] + + if hash['teacher_zh_tw'].blank? + @teacher.user_id = hash['teacher_en'] + elsif hash['teacher_en'].blank? + @teacher.user_id = hash['teacher_zh_tw'] + end @teacher.save! end end - # def get_book_data - # uri = URI("http://ann.cc.ntu.edu.tw/Achv/xmlTeacherData.asp") - # params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} - # uri.query = URI.encode_www_form(params) - # res = Net::HTTP.get_response(uri) - - # teachers = User.all - # teachers.each do |hash| - # if hash.ntu_seq.present? - # ntu_seq = hash.ntu_seq - # books_xml = Nokogiri::XML( \ - # open("http://ann.cc.ntu.edu.tw/Achv/xmlBook.asp?Seq=#{ntu_seq}")) - # @books = books_xml.xpath("//Book").map do |book_node| - # { - # author: (book_node>"Authors").text, - # year: (book_node>"PublishYear").text, - # title: (book_node>"DocTitle").text, - # remarks: (book_node>"Remarks").text, - # publisher: (book_node>"Publisher").text, - # book_title: (book_node>"BookTitle").text - # } - # end - # if @books.present? - # @books.each do |b| - # @book = WritingBook.new - # @book.authors = b[:author] - # @book.paper_title = b[:title] - # @book.book_title = b[:book_title] - # @book.year = b[:year] - # @book.note = b[:remarks] - # @book.publisher = b[:publisher] - # @book.create_user_id = hash.id - # @book.save - # end - # else - # puts "No books by Teacher" - # end - # end - # end - #end + def get_book_data + uri = URI("http://ann.cc.ntu.edu.tw/Achv/xmlTeacherData.asp") + params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} + uri.query = URI.encode_www_form(params) + res = Net::HTTP.get_response(uri) + + teachers = User.all + + teachers.each do |hash| + if hash.ntu_seq.present? + ntu_seq = hash.ntu_seq + books_xml = Nokogiri::XML( \ + open("http://ann.cc.ntu.edu.tw/Achv/xmlBook.asp?Seq=#{ntu_seq}")) + @books = books_xml.xpath("//Book").map do |book_node| + { + author: (book_node>"Authors").text, + year: (book_node>"PublishYear").text, + title: (book_node>"DocTitle").text, + remarks: (book_node>"Remarks").text, + publisher: (book_node>"Publisher").text, + book_title: (book_node>"BookTitle").text + } + end + if @books.present? + @books.each do |b| + @book = WritingBook.new + @book.authors = b[:author] + @book.paper_title = b[:title] + @book.book_title = b[:book_title] + @book.year = b[:year] + @book.note = b[:remarks] + @book.publisher = b[:publisher] + @book.create_user_id = hash.id + @book.save + end + else + puts "No books by Teacher" + end + end + end + end + + def get_conference_data + uri = URI("http://ann.cc.ntu.edu.tw/Achv/xmlTeacherData.asp") + params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} + uri.query = URI.encode_www_form(params) + res = Net::HTTP.get_response(uri) + + teachers = User.all + + teachers.each do |hash| + if hash.ntu_seq.present? + ntu_seq = hash.ntu_seq + conference_xml = Nokogiri::XML( \ + open("http://ann.cc.ntu.edu.tw/Achv/xmlPaper.asp?Seq=#{ntu_seq}&type=C")) + #open("http://versatile.management.ntu.edu.tw/publication1/conference/#{ntuseq}.xml")) + @conference_papers = conference_xml.xpath("//Paper").map do |cp_node| + { + author: (cp_node>"Authors").text, + year: (cp_node>"PublishYear").text, + title: (cp_node>"PaperTitle").text, + conference: (cp_node>"PublishOn").text, + date: Date::MONTHNAMES[(cp_node>"PublishMonth").text.to_i], + location: (cp_node>"Location").text, + remarks: (cp_node>"Remarks").text + } + end + if @conference_papers.present? + @conference_papers.each do |b| + @conference_paper = WritingConference.new + @conference_paper.authors = b[:author] + if b[:title].blank? + @conference_paper.paper_title = b[:title] + else + @conference_paper.paper_title = "No Title Present" + end + @conference_paper.year = b[:year] + @conference_paper.note = b[:remarks] + @conference_paper.create_user_id = hash.id + @conference_paper.save! + end + else + puts "No conference by Teacher" + end + end + end + end + + + def get_journal_paper_data + uri = URI("http://ann.cc.ntu.edu.tw/Achv/xmlTeacherData.asp") + params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} + uri.query = URI.encode_www_form(params) + res = Net::HTTP.get_response(uri) + + teachers = User.all + + teachers.each do |hash| + if hash.ntu_seq.present? + ntu_seq = hash.ntu_seq + paper_xml = Nokogiri::XML( \ + #open("http://versatile.management.ntu.edu.tw/publication1/journal/#{ntuseq}.xml")) + open("http://ann.cc.ntu.edu.tw/Achv/xmlPaper.asp?Seq=#{ntu_seq}&type=J")) + @journal_papers = paper_xml.xpath("//Paper").map do |paper_node| + { + author: (paper_node>"Authors").text, + year: (paper_node>"PublishYear").text, + title: (paper_node>"PaperTitle").text, + journal: (paper_node>"PublishOn").text, + volume:(paper_node>"Volume").text, + volumeno:(paper_node>"VolumeNo").text, + beginpage:(paper_node>"BeginPage").text, + endpage:(paper_node>"EndPage").text, + subgroup:(paper_node>"subgroup").text, + remarks: (paper_node>"Remarks").text, + cate: ((paper_node>"subgroup")>"group").text + } + end + if @journal_papers.present? + @journal_papers.each do |b| + @journal_paper = WritingJournal.new + @journal_paper.authors = b[:author] + if b[:title].blank? + @journal_paper.paper_title = b[:title] + else + @journal_paper.paper_title = "No Title Present" + end + @journal_paper.year = b[:year] + @journal_paper.note = b[:remarks] + @journal_paper.vol_no = b[:volumeno] + @journal_paper.form_to_start = b[:beginpage] + @journal_paper.form_to_end = b[:endpage] + @journal_paper.create_user_id = hash.id + @journal_paper.save! + end + else + puts "No journal paper by Teacher" + end + end + end + end + + def get_announcement_data + uri = URI("https://tp.rulingcom.com:33333/announcements.xml") + + #params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} + #uri.query = URI.encode_www_form(params) + res = Net::HTTP.get_response(uri) + + @announcement_data = Hash.from_xml(res.body) + @announcements = @announcement_data["objects"] + @announcements.each do |hash| + @bulletin = Bulletin.new + + I18n.locale = :zh_tw + if hash['announcement_title_zh_tw'].blank? + @bulletin.title = hash['announcement_title_en'] + @bulletin.text = hash['announcement_content_zh_tw'] + elsif hash['announcement_title_zh_tw'].blank? && hash['announcement_title_en'].blank? + @bulletin.title = "Please Fill the Name" + @bulletin.text = hash['announcement_content_zh_tw'] + else + @bulletin.title = hash['announcement_title_zh_tw'] + @bulletin.text = hash['announcement_content_zh_tw'] + end + + I18n.locale = :en + if hash['announcement_title_en'].blank? + @bulletin.title = hash['announcement_zh_tw'] + @bulletin.text = hash['announcement_content_en'] + elsif hash['announcement_title_zh_tw'].blank? && hash['announcement_title_en'].blank? + @bulletin.first_name = "Please Fill the Name" + @bulletin.text = hash['announcement_content_en'] + else + @bulletin.first_name = hash['announcement_title_en'] + @bulletin.text = hash['announcement_content_en'] + end + + @bulletin.save! + end + end + end diff --git a/app/models/user/user.rb b/app/models/user/user.rb index c8a682c89..7623874b9 100644 --- a/app/models/user/user.rb +++ b/app/models/user/user.rb @@ -18,6 +18,8 @@ class User field :office_tel field :cache_dept,type: Hash field :status_record,type: Hash + field :ntu_seq + #validates :ntu_seq, :uniqueness => true has_and_belongs_to_many :approving_apps, class_name: 'AuthApproval', inverse_of: 'authorized_users' has_and_belongs_to_many :managing_apps, class_name: 'AuthManager', inverse_of: 'authorized_users' diff --git a/app/views/admin/import_data/get_journal_paper_data.html.erb b/app/views/admin/import_data/get_journal_paper_data.html.erb new file mode 100644 index 000000000..cd34dce59 --- /dev/null +++ b/app/views/admin/import_data/get_journal_paper_data.html.erb @@ -0,0 +1 @@ +

Successfully Journal Paper Data!

\ No newline at end of file From e4514a353a70a7dc7c918c20a0352dc0ab2ceaf9 Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Wed, 11 Sep 2013 10:38:56 +0800 Subject: [PATCH 03/27] Updated import data controller to check for blank user_id --- app/controllers/admin/import_data_controller.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index fbf0284b0..c86df98b8 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -50,6 +50,8 @@ class Admin::ImportDataController < OrbitBackendController @teacher.user_id = hash['teacher_en'] elsif hash['teacher_en'].blank? @teacher.user_id = hash['teacher_zh_tw'] + else + @teacher.user_id = "Please Enter a User Name" end @teacher.save! end From 2a9948868f7d629c31c6539e5a1cf97646a891d7 Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Wed, 11 Sep 2013 11:37:42 +0800 Subject: [PATCH 04/27] Updated import data controller to check the absense of title data --- .../admin/import_data_controller.rb | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index c86df98b8..5b58e3122 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -14,25 +14,25 @@ class Admin::ImportDataController < OrbitBackendController @teacher_data = Hash.from_xml(res.body) @teachers = @teacher_data["objects"] - @i = 2000 + @i = 5000 @teachers.each do |hash| @roles = Role.all @teacher = User.new I18n.locale = :zh_tw - if hash['teacher_zh_tw'].blank? - @teacher.first_name = hash['teacher_en'] - elsif hash['teacher_zh_tw'].blank? && hash['teacher_en'].blank? - @teacher.first_name = "Please Fill the Name" + if hash['teacher_zh_tw'].blank? && hash['teacher_en'].blank? + @teacher.first_name = "Please Fill the Name" + elsif hash['teacher_zh_tw'].blank? && !hash['teacher_en'].blank? + @teacher.first_name = hash['teacher_en'] else - @teacher.first_name = hash['teacher_zh_tw'] + @teacher.first_name = hash['teacher_zh_tw'] end I18n.locale = :en - if hash['teacher_en'].blank? + if hash['teacher_zh_tw'].blank? && hash['teacher_en'].blank? + @teacher.first_name = "Please Fill the Name" + elsif hash['teacher_en'].blank? && !hash['teacher_zh_tw'].blank? @teacher.first_name = hash['teacher_zh_tw'] - elsif hash['teacher_zh_tw'].blank? && hash['teacher_en'].blank? - @teacher.first_name = "Please Fill the Name" else - @teacher.first_name = hash['teacher_en'] + @teacher.first_name = hash['teacher_en'] end #@teacher.first_name = hash['teacher_en'] From 6280fdfba0c1a38ae99ffa44390e45ee2a254055 Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Wed, 11 Sep 2013 11:50:57 +0800 Subject: [PATCH 05/27] Updated route to get announcement data Conflicts: config/routes.rb --- config/routes.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/routes.rb b/config/routes.rb index 2263b3c77..86639e8c2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -200,6 +200,12 @@ Orbit::Application.routes.draw do get 'change_design' get 'preference' end + + get "import_data/get_teacher_data" + get "import_data/get_book_data" + get "import_data/get_conference_data" + get "import_data/get_journal_paper_data" + get "import_data/get_announcement_data" resources :tags do collection do From c8be884291e222b15eca5e474faf88f096663da5 Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Wed, 11 Sep 2013 13:33:06 +0800 Subject: [PATCH 06/27] Updated import data controller --- app/controllers/admin/import_data_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index 5b58e3122..e223c5472 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -129,9 +129,9 @@ class Admin::ImportDataController < OrbitBackendController @conference_paper = WritingConference.new @conference_paper.authors = b[:author] if b[:title].blank? - @conference_paper.paper_title = b[:title] - else @conference_paper.paper_title = "No Title Present" + else + @conference_paper.paper_title = b[:title] end @conference_paper.year = b[:year] @conference_paper.note = b[:remarks] From f16d1908bee59c64228bb97a6ed4bc5295249b4c Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Wed, 11 Sep 2013 13:49:38 +0800 Subject: [PATCH 07/27] Updated import data controller to import data correctly --- app/controllers/admin/import_data_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index e223c5472..fccd0eb52 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -180,9 +180,9 @@ class Admin::ImportDataController < OrbitBackendController @journal_paper = WritingJournal.new @journal_paper.authors = b[:author] if b[:title].blank? - @journal_paper.paper_title = b[:title] + @journal_paper.paper_title = "No Title Present" else - @journal_paper.paper_title = "No Title Present" + @journal_paper.paper_title = b[:title] end @journal_paper.year = b[:year] @journal_paper.note = b[:remarks] From 249644e72c293572be2344f3f36eb7e3c00bef0c Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Fri, 13 Sep 2013 14:09:58 +0800 Subject: [PATCH 08/27] Added method for importing page data --- .../admin/import_data_controller.rb | 66 +++++++++++++++++++ app/controllers/admin/pages_controller.rb | 2 +- .../admin/import_data/get_page_data.html.erb | 1 + config/routes.rb | 2 + 4 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 app/views/admin/import_data/get_page_data.html.erb diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index fccd0eb52..b02899acc 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -4,6 +4,8 @@ require 'net/http' require 'open-uri' class Admin::ImportDataController < OrbitBackendController + helper Admin::PagePartsHelper + include Admin::FrontendWidgetInterface def get_teacher_data uri = URI("https://tp.rulingcom.com:33333/teachers.xml") @@ -238,5 +240,69 @@ class Admin::ImportDataController < OrbitBackendController @bulletin.save! end end + + def get_page_data + f = File.open("/home/rwub/orbit-db/ntu_mb/pages/management_pages.xml") + page_xml = Nokogiri::XML(f) + #open("http://versatile.management.ntu.edu.tw/publication1/conference/#{ntuseq}.xml")) + @pages = page_xml.xpath("//management-page").map do |cp_node| + { + menu_title: (cp_node>"menu-title").text, + content: (cp_node>"content").text + } + end + if @pages.present? + @pages.each do |b| + + get_variables_for_new + @page = Page.new + + @page.parent = "4f45f3b9e9d02c5db900005d" + @page.design = "50ac424983e75219d2000021" + @page.theme_id = "50ac424a83e75219d2000025" + @page.menu_enabled_for= ["en", "zh_tw", ""] + @page.enabled_for= ["en", "zh_tw", ""] + @page.is_published = false + if b[:menu_title].blank? + @page.title = "No Title Present" + @page.name = "No Name Present" + else + @page.title = b[:menu_title] + @page.name = b[:menu_title] + end + if b[:content].blank? + @page.content = "No Content Present" + else + @page.content = b[:content] + end + @page.save + end + else + puts "No Page Data" + end + end + + + def get_variables_for_new + @designs = Design.all.entries + @themes = Design.first.themes + @module_apps = ModuleApp.for_frontend_select + @app_frontend_urls = nil + @categories = nil + @tags = nil + @page_frontend_data_counts = nil + @frontend_styles = nil + @selected={ + :design => @designs.first, + :theme=> @themes.first, + :module_app=>nil,#@module_apps.first + :app_frontend_url=> nil, #@module_apps.first + :category=>nil, + :tag=>nil, + :page_frontend_data_count=>nil, + :frontend_style => nil + } + end + end diff --git a/app/controllers/admin/pages_controller.rb b/app/controllers/admin/pages_controller.rb index 7a966ffe9..b0fe41f21 100644 --- a/app/controllers/admin/pages_controller.rb +++ b/app/controllers/admin/pages_controller.rb @@ -95,7 +95,7 @@ class Admin::PagesController < Admin::ItemsController if @item.module_app && @item.module_app.key == 'page_content' @item.page_contexts.build(:create_user_id => current_user.id, :update_user_id => current_user.id ) end - + if @item.save flash.now[:notice] = t('create.success.page') respond_to do |format| diff --git a/app/views/admin/import_data/get_page_data.html.erb b/app/views/admin/import_data/get_page_data.html.erb new file mode 100644 index 000000000..e3adf77ab --- /dev/null +++ b/app/views/admin/import_data/get_page_data.html.erb @@ -0,0 +1 @@ +

Successfully Imported Page Data!

diff --git a/config/routes.rb b/config/routes.rb index 86639e8c2..b43d8a2af 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -206,6 +206,8 @@ Orbit::Application.routes.draw do get "import_data/get_conference_data" get "import_data/get_journal_paper_data" get "import_data/get_announcement_data" + get "import_data/get_page_data" + resources :tags do collection do From a93945cd457c713e1621de7cf082278bd423c2f6 Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Sat, 14 Sep 2013 09:36:09 +0800 Subject: [PATCH 09/27] Updated import data with pages working --- app/controllers/admin/import_data_controller.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index b02899acc..fd4e57a9f 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -251,6 +251,8 @@ class Admin::ImportDataController < OrbitBackendController content: (cp_node>"content").text } end + + @i = 0 if @pages.present? @pages.each do |b| @@ -275,6 +277,8 @@ class Admin::ImportDataController < OrbitBackendController else @page.content = b[:content] end + @i += 1 + Rails.logger.info"@@@@@@@@@@@@@@@@@@@@@@@@"+@i.inspect @page.save end else From 50bb2a870cb9a88d213dacae02349d958c033c6d Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Sat, 14 Sep 2013 12:58:20 +0800 Subject: [PATCH 10/27] Updated Import data with page data importing successfully --- app/controllers/admin/import_data_controller.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index fd4e57a9f..2205a1792 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -252,8 +252,8 @@ class Admin::ImportDataController < OrbitBackendController } end - @i = 0 if @pages.present? + @i=0 @pages.each do |b| get_variables_for_new @@ -266,20 +266,20 @@ class Admin::ImportDataController < OrbitBackendController @page.enabled_for= ["en", "zh_tw", ""] @page.is_published = false if b[:menu_title].blank? - @page.title = "No Title Present" - @page.name = "No Name Present" + @page.title = 'No Title Present' + @i += 1 + @page.name = "#{@i}Page" else + @i += 1 @page.title = b[:menu_title] - @page.name = b[:menu_title] + @page.name = "#{@i}Page" end if b[:content].blank? @page.content = "No Content Present" else @page.content = b[:content] end - @i += 1 - Rails.logger.info"@@@@@@@@@@@@@@@@@@@@@@@@"+@i.inspect - @page.save + @page.save! end else puts "No Page Data" From d5357ea63cf0d13bb6d9afe068a0260d1a15fc63 Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Mon, 16 Sep 2013 11:06:07 +0800 Subject: [PATCH 11/27] Updated import controller --- app/controllers/admin/import_data_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index 2205a1792..0718df9bf 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -184,7 +184,8 @@ class Admin::ImportDataController < OrbitBackendController if b[:title].blank? @journal_paper.paper_title = "No Title Present" else - @journal_paper.paper_title = b[:title] + title = b[:title].gsub! /"/ + @journal_paper.paper_title = title end @journal_paper.year = b[:year] @journal_paper.note = b[:remarks] From cd1d4356fb9d45a0d44c2f5ec4a169892d76b59e Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Mon, 16 Sep 2013 17:12:22 +0800 Subject: [PATCH 12/27] Updated import data to get complete teacher and announcement data --- .../admin/import_data_controller.rb | 73 +++++++++++++------ .../get_announcement_data.html.erb | 1 + .../admin/users_new_interface/index.html.erb | 1 + 3 files changed, 53 insertions(+), 22 deletions(-) create mode 100644 app/views/admin/import_data/get_announcement_data.html.erb diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb index 0718df9bf..c4f25da1f 100644 --- a/app/controllers/admin/import_data_controller.rb +++ b/app/controllers/admin/import_data_controller.rb @@ -8,7 +8,7 @@ class Admin::ImportDataController < OrbitBackendController include Admin::FrontendWidgetInterface def get_teacher_data - uri = URI("https://tp.rulingcom.com:33333/teachers.xml") + uri = URI("https://localhost:8000/teachers.xml") #params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} #uri.query = URI.encode_www_form(params) @@ -18,7 +18,8 @@ class Admin::ImportDataController < OrbitBackendController @teachers = @teacher_data["objects"] @i = 5000 @teachers.each do |hash| - @roles = Role.all + # @roles = Role.skip(1).first + @roles = Role.all @teacher = User.new I18n.locale = :zh_tw if hash['teacher_zh_tw'].blank? && hash['teacher_en'].blank? @@ -33,13 +34,13 @@ class Admin::ImportDataController < OrbitBackendController @teacher.first_name = "Please Fill the Name" elsif hash['teacher_en'].blank? && !hash['teacher_zh_tw'].blank? @teacher.first_name = hash['teacher_zh_tw'] - else + elsif !hash['teacher_en'].blank? && hash['teacher_zh_tw'].blank? @teacher.first_name = hash['teacher_en'] end #@teacher.first_name = hash['teacher_en'] @teacher.ntu_seq = hash['ntu_seq'] - @teacher.role_ids = ["#{@roles.first.id}"] + @teacher.role_ids = ["#{@roles.skip(1).first.id}"] @teacher.password = "testpass" @i += 10 if hash['email'].blank? @@ -48,12 +49,12 @@ class Admin::ImportDataController < OrbitBackendController @teacher.email = hash['email'] end - if hash['teacher_zh_tw'].blank? - @teacher.user_id = hash['teacher_en'] + if hash['teacher_zh_tw'].blank? && hash['teacher_en'].blank? + @teacher.user_id = "defaultuser" elsif hash['teacher_en'].blank? @teacher.user_id = hash['teacher_zh_tw'] - else - @teacher.user_id = "Please Enter a User Name" + elsif hash['teacher_zh_tw'] + @teacher.user_id = hash['teacher_en'] end @teacher.save! end @@ -85,13 +86,20 @@ class Admin::ImportDataController < OrbitBackendController if @books.present? @books.each do |b| @book = WritingBook.new + I18n.locale = :zh_tw @book.authors = b[:author] @book.paper_title = b[:title] @book.book_title = b[:book_title] - @book.year = b[:year] @book.note = b[:remarks] - @book.publisher = b[:publisher] - @book.create_user_id = hash.id + @book.publisher = b[:publisher] + I18n.locale = :en + @book.authors = b[:author] + @book.paper_title = b[:title] + @book.book_title = b[:book_title] + @book.note = b[:remarks] + @book.publisher = b[:publisher] + @book.year = b[:year] + @book.create_user_id = hash.id @book.save end else @@ -129,14 +137,23 @@ class Admin::ImportDataController < OrbitBackendController if @conference_papers.present? @conference_papers.each do |b| @conference_paper = WritingConference.new + I18n.locale = :zh_tw @conference_paper.authors = b[:author] if b[:title].blank? @conference_paper.paper_title = "No Title Present" else @conference_paper.paper_title = b[:title] end - @conference_paper.year = b[:year] @conference_paper.note = b[:remarks] + I18n.locale = :en + @conference_paper.authors = b[:author] + if b[:title].blank? + @conference_paper.paper_title = "No Title Present" + else + @conference_paper.paper_title = b[:title] + end + @conference_paper.note = b[:remarks] + @conference_paper.year = b[:year] @conference_paper.create_user_id = hash.id @conference_paper.save! end @@ -180,15 +197,23 @@ class Admin::ImportDataController < OrbitBackendController if @journal_papers.present? @journal_papers.each do |b| @journal_paper = WritingJournal.new + I18n.locale = :zh_tw @journal_paper.authors = b[:author] if b[:title].blank? @journal_paper.paper_title = "No Title Present" else - title = b[:title].gsub! /"/ - @journal_paper.paper_title = title + @journal_paper.paper_title = b[:title].first end - @journal_paper.year = b[:year] @journal_paper.note = b[:remarks] + I18n.locale = :en + @journal_paper.authors = b[:author] + if b[:title].blank? + @journal_paper.paper_title = "No Title Present" + else + @journal_paper.paper_title = b[:title].first + end + @journal_paper.note = b[:remarks] + @journal_paper.year = b[:year] @journal_paper.vol_no = b[:volumeno] @journal_paper.form_to_start = b[:beginpage] @journal_paper.form_to_end = b[:endpage] @@ -203,7 +228,7 @@ class Admin::ImportDataController < OrbitBackendController end def get_announcement_data - uri = URI("https://tp.rulingcom.com:33333/announcements.xml") + uri = URI("https://localhost:8000/announcements.xml") #params = {"UnitName" => "管理學院".encode('big5-uao'), "account" => "manage"} #uri.query = URI.encode_www_form(params) @@ -227,16 +252,20 @@ class Admin::ImportDataController < OrbitBackendController end I18n.locale = :en - if hash['announcement_title_en'].blank? + if hash['announcement_title_zh_tw'].blank? && hash['announcement_title_en'].blank? + @bulletin.title = "Please Fill the Name" + @bulletin.text = hash['announcement_content_en'] + + elsif hash['announcement_title_en'].blank? @bulletin.title = hash['announcement_zh_tw'] @bulletin.text = hash['announcement_content_en'] - elsif hash['announcement_title_zh_tw'].blank? && hash['announcement_title_en'].blank? - @bulletin.first_name = "Please Fill the Name" - @bulletin.text = hash['announcement_content_en'] - else - @bulletin.first_name = hash['announcement_title_en'] + + elsif hash['announcement_title_zh_tw'].blank? + @bulletin.title = hash['announcement_title_en'] @bulletin.text = hash['announcement_content_en'] end + @bulletin.category_id = "51d2a16438178423c2000001" + @bulletin.is_pending = true @bulletin.save! end diff --git a/app/views/admin/import_data/get_announcement_data.html.erb b/app/views/admin/import_data/get_announcement_data.html.erb new file mode 100644 index 000000000..9751735f2 --- /dev/null +++ b/app/views/admin/import_data/get_announcement_data.html.erb @@ -0,0 +1 @@ +

Successfully Imported Announcement Data!

\ No newline at end of file diff --git a/app/views/admin/users_new_interface/index.html.erb b/app/views/admin/users_new_interface/index.html.erb index d639725ed..a87648fab 100644 --- a/app/views/admin/users_new_interface/index.html.erb +++ b/app/views/admin/users_new_interface/index.html.erb @@ -20,6 +20,7 @@ +