diff --git a/app/controllers/admin/import_data_controller.rb b/app/controllers/admin/import_data_controller.rb new file mode 100644 index 000000000..c09121a04 --- /dev/null +++ b/app/controllers/admin/import_data_controller.rb @@ -0,0 +1,573 @@ +# encoding: utf-8 + +require 'net/http' +require 'open-uri' + +class Admin::ImportDataController < OrbitBackendController + helper Admin::PagePartsHelper + include Admin::FrontendWidgetInterface + + def get_teacher_data + uri = URI("https://localhost:8000/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 = 5000 + @teachers.each do |hash| + # @roles = Role.skip(1).first + @roles = Role.all + @teacher = User.new + I18n.locale = :zh_tw + if !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 = hash['teacher_en'] + elsif hash['teacher_zh_tw'].blank? && hash['teacher_en'].blank? + @teacher.first_name = "Please Fill the Name" + end + + I18n.locale = :en + if !hash['teacher_en'].blank? + @teacher.first_name = hash['teacher_en'] + elsif hash['teacher_en'].blank? && !hash['teacher_zh_tw'].blank? + @teacher.first_name = hash['teacher_zh_tw'] + elsif hash['teacher_en'].blank? && hash['teacher_zh_tw'].blank? + @teacher.first_name = "Please Fill the Name" + end + + #@teacher.first_name = hash['teacher_en'] + @teacher.ntu_seq = hash['ntu_seq'] + @teacher.sid = hash['ntu_seq'] + @teacher.role_ids = ["#{@roles.skip(1).first.id}"] + @teacher.password = "testpass" + @i += 10 + if !hash['email'].blank? + @user = User.where(email: "#{hash['email']}") + if @user.length == 0 + @teacher.email = hash['email'] + elsif @user.length > 0 + @teacher.email = "#{@i}duplicate@ntu.edu.tw" + end + else + @teacher.email = "#{@i}@ntu.edu.tw" + end + + 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'] + elsif hash['teacher_zh_tw'] + @teacher.user_id = hash['teacher_en'] + 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.sid.present? + ntu_seq = hash.sid + 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 + I18n.locale = :zh_tw + @book.authors = b[:author] + @book.paper_title = b[:title] + @book.book_title = b[:book_title] + @book.note = b[:remarks] + @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 + 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.sid.present? + ntu_seq = hash.sid + 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>"Country").text} #{(cp_node>"location").text}", + conference_title: (cp_node>"PublishOn").text, + remarks: (cp_node>"Remarks").text + } + end + 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 + if b[:conference_title].blank? + @conference_paper.conference_title = "No Title Present" + else + @conference_paper.conference_title = b[:conference_title] + end + + @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 + if b[:conference_title].blank? + @conference_paper.conference_title = "No Title Present" + else + @conference_paper.conference_title = b[:conference_title] + end + @conference_paper.note = b[:remarks] + + @conference_paper.location = b[:location] + @conference_paper.year = b[:year] + @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.sid.present? + ntu_seq = hash.sid + 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 + I18n.locale = :zh_tw + @journal_paper.authors = b[:author] + if b[:title].blank? + @journal_paper.paper_title = "No Title Present" + else + @journal_paper.paper_title = b[:title] + end + @journal_paper.journal_title = b[:journal] + @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] + end + @journal_paper.journal_title = b[:journal] + @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] + if !b[:cate].blank? + @level_type = JournalLevelType.where(:key => b[:cate]) + if @level_type.present? + @journal_paper.journal_level_type_ids = ["#{@level_type.first.id}"] + end + end + + @journal_paper.create_user_id = hash.id + @journal_paper.save! + end + else + puts "No journal paper by Teacher" + end + end + end + end + + def sync_conference_data + @conference_data = WritingConference.where(create_user_id: "#{params[:user_id]}") + @conference_data.delete_all + @user = User.find("#{params[:user_id]}") + + # teachers.each do |hash| + if @user.sid.present? + ntu_seq = @user.sid + 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>"Country").text} #{(cp_node>"location").text}", + conference_title: (cp_node>"PublishOn").text, + remarks: (cp_node>"Remarks").text + } + end + 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 + if b[:conference_title].blank? + @conference_paper.conference_title = "No Title Present" + else + @conference_paper.conference_title = b[:conference_title] + end + + @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 + if b[:conference_title].blank? + @conference_paper.conference_title = "No Title Present" + else + @conference_paper.conference_title = b[:conference_title] + end + @conference_paper.note = b[:remarks] + + @conference_paper.location = b[:location] + @conference_paper.year = b[:year] + @conference_paper.create_user_id = @user.id + + @conference_paper.save! + end + else + puts "No conference by Teacher" + end + end + respond_to do |format| + + format.html + format.json { render json: {"success"=>true}.to_json} + + end + end + + + def sync_journal_paper_data + @journal_data = WritingJournal.where(create_user_id: "#{params[:user_id]}") + @journal_data.delete_all + @user = User.find("#{params[:user_id]}") + + # teachers.each do |hash| + if @user.sid.present? + ntu_seq = @user.sid + 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 + I18n.locale = :zh_tw + @journal_paper.authors = b[:author] + + if b[:title].blank? + @journal_paper.paper_title = "No Title Present" + else + @journal_paper.paper_title = b[:title] + end + + @journal_paper.journal_title = b[:journal] + @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] + end + + @journal_paper.journal_title = b[:journal] + @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] + + if !b[:cate].blank? + @level_type = JournalLevelType.where(:key => b[:cate]) + if @level_type.present? + @journal_paper.journal_level_type_ids = ["#{@level_type.first.id}"] + end + end + + @journal_paper.create_user_id = @user.id + @journal_paper.save! + end + end + + end + respond_to do |format| + + format.html + format.json { render json: {"success"=>true}.to_json} + + end + end + +def sync_book_data + @books_data = WritingBook.where(create_user_id: "#{params[:user_id]}") + @books_data.delete_all + @user = User.find("#{params[:user_id]}") + + # teachers.each do |hash| + if @user.sid.present? + ntu_seq = @user.sid + 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 + I18n.locale = :zh_tw + @book.authors = b[:author] + @book.paper_title = b[:title] + @book.book_title = b[:book_title] + @book.note = b[:remarks] + @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 = @user.id + @book.save + end + end + end + respond_to do |format| + + format.html + format.json { render json: {"success"=>true}.to_json} + + end + end + + + def get_announcement_data + uri = URI("https://localhost:8000/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_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? + @bulletin.title = hash['announcement_title_en'] + @bulletin.text = hash['announcement_content_en'] + end + @bulletin.category_id = "51d2a16438178423c2000001" + @bulletin.is_pending = true + + @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? + @i=0 + @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' + @i += 1 + @page.name = "#{@i}Page" + else + @i += 1 + @page.title = b[:menu_title] + @page.name = "#{@i}Page" + 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/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/import_data/get_book_data.html.erb b/app/views/admin/import_data/get_book_data.html.erb new file mode 100644 index 000000000..7fbb64383 --- /dev/null +++ b/app/views/admin/import_data/get_book_data.html.erb @@ -0,0 +1 @@ +

Successfully Book Data!

diff --git a/app/views/admin/import_data/get_conference_data.html.erb b/app/views/admin/import_data/get_conference_data.html.erb new file mode 100644 index 000000000..bea71d04f --- /dev/null +++ b/app/views/admin/import_data/get_conference_data.html.erb @@ -0,0 +1 @@ +

Successfully Conference Data!

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 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/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 diff --git a/app/views/admin/import_data/sync_book_data.html.erb b/app/views/admin/import_data/sync_book_data.html.erb new file mode 100644 index 000000000..1f99d5169 --- /dev/null +++ b/app/views/admin/import_data/sync_book_data.html.erb @@ -0,0 +1 @@ +

Book Data Synced Successfully!

\ No newline at end of file diff --git a/app/views/admin/import_data/sync_conference_data.html.erb b/app/views/admin/import_data/sync_conference_data.html.erb new file mode 100644 index 000000000..f99d6138b --- /dev/null +++ b/app/views/admin/import_data/sync_conference_data.html.erb @@ -0,0 +1 @@ +

Conference Paper Data Synced Successfully!

\ No newline at end of file diff --git a/app/views/admin/import_data/sync_journal_paper_data.html.erb b/app/views/admin/import_data/sync_journal_paper_data.html.erb new file mode 100644 index 000000000..3671a456a --- /dev/null +++ b/app/views/admin/import_data/sync_journal_paper_data.html.erb @@ -0,0 +1 @@ +

Journal Paper Data Synced Successfully!

\ No newline at end of file diff --git a/config/mongoid.yml b/config/mongoid.yml index 0ebe8e531..7f095f322 100644 --- a/config/mongoid.yml +++ b/config/mongoid.yml @@ -8,11 +8,11 @@ defaults: &defaults development: <<: *defaults - database: ntu_cph_orbit + database: test_site test: <<: *defaults - database: ntu_cph_orbit + database: test_site # set these environment variables on your prod server production: @@ -22,4 +22,4 @@ production: # password: <%= ENV['MONGOID_PASSWORD'] %> # database: <%= ENV['MONGOID_DATABASE'] %> <<: *defaults - database: ntu_cph_orbit + database: test_site diff --git a/config/routes.rb b/config/routes.rb index dce9252d0..c15c71f22 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -201,6 +201,16 @@ Orbit::Application.routes.draw do 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" + get "import_data/get_page_data" + get "import_data/sync_book_data" + get "import_data/sync_journal_paper_data" + get "import_data/sync_conference_data" + resources :tags do collection do post 'add_to_default' diff --git a/vendor/built_in_modules/personal_book/app/assets/javascripts/personal_book/desktop/personal_books.js b/vendor/built_in_modules/personal_book/app/assets/javascripts/personal_book/desktop/personal_books.js index b744239ed..42f1ec0fe 100644 --- a/vendor/built_in_modules/personal_book/app/assets/javascripts/personal_book/desktop/personal_books.js +++ b/vendor/built_in_modules/personal_book/app/assets/javascripts/personal_book/desktop/personal_books.js @@ -92,6 +92,11 @@ orbitDesktop.prototype.initializePersonalBook = function(target,url,cache){ // t width: $(".overview").width() - 20 }); } + + this.initializePersonalBook.syncComplete = function(){ + o.notify("Sync Complete","success"); + o.sub_menu_item($("div[content-type=menu] a").eq(0)); + } this.initializePersonalBook.coAuthorformCallback = function(data){ if(data.success){ diff --git a/vendor/built_in_modules/personal_book/app/controllers/panel/personal_book/desktop/personal_books_controller.rb b/vendor/built_in_modules/personal_book/app/controllers/panel/personal_book/desktop/personal_books_controller.rb index 803634845..65699fba6 100644 --- a/vendor/built_in_modules/personal_book/app/controllers/panel/personal_book/desktop/personal_books_controller.rb +++ b/vendor/built_in_modules/personal_book/app/controllers/panel/personal_book/desktop/personal_books_controller.rb @@ -8,6 +8,7 @@ class Panel::PersonalBook::Desktop::PersonalBooksController < ApplicationControl @per_column = 5 + @userid = current_user.id case @view_by when "abstract" @per_column = 1 diff --git a/vendor/built_in_modules/personal_book/app/models/writing_book.rb b/vendor/built_in_modules/personal_book/app/models/writing_book.rb index 8e1de4963..b855aaa2e 100644 --- a/vendor/built_in_modules/personal_book/app/models/writing_book.rb +++ b/vendor/built_in_modules/personal_book/app/models/writing_book.rb @@ -83,13 +83,14 @@ class WritingBook end def create_link - - title = ["\"#{self.extracted_chapters}\""] - title << self.book_title - title << self.publisher - title << self.pages - # title << "(#{self.journal_level_types.collect{|x| x.title}.join(', ')})" - title.join(', ') + title = [] + # title = ["#{self.extracted_chapters}"] if self.extracted_chapters.present? + title << self.paper_title if self.paper_title.present? + title << self.book_title if self.book_title.present? + title << self.publisher if self.publisher.present? + title << self.pages if self.pages.present? + # title << "(#{self.journal_level_types.collect{|x| x.title}.join(', ')})" + title.join(', ') end protected diff --git a/vendor/built_in_modules/personal_book/app/views/panel/personal_book/desktop/personal_books/index.html.erb b/vendor/built_in_modules/personal_book/app/views/panel/personal_book/desktop/personal_books/index.html.erb index 2dee7a948..ba485b782 100644 --- a/vendor/built_in_modules/personal_book/app/views/panel/personal_book/desktop/personal_books/index.html.erb +++ b/vendor/built_in_modules/personal_book/app/views/panel/personal_book/desktop/personal_books/index.html.erb @@ -57,6 +57,11 @@ + +
+
Sync Books
+
+
diff --git a/vendor/built_in_modules/personal_book/app/views/panel/personal_book/plugin/_profile.html.erb b/vendor/built_in_modules/personal_book/app/views/panel/personal_book/plugin/_profile.html.erb index d9df9f31e..25213aa44 100644 --- a/vendor/built_in_modules/personal_book/app/views/panel/personal_book/plugin/_profile.html.erb +++ b/vendor/built_in_modules/personal_book/app/views/panel/personal_book/plugin/_profile.html.erb @@ -75,6 +75,8 @@ <% if is_admin? %>
+ <%= link_to content_tag(:i, nil, :class => 'icon-plus') + t('personal_plugins.sync_data'),admin_import_data_sync_book_data_path(:user_id => @user.id), :class => 'btn btn-primary' %> + <%= link_to content_tag(:i, nil, :class => 'icon-plus') + t('personal_plugins.edit_brief_intro'), panel_personal_book_back_end_personal_book_intros_path(:user_id => @user.id), :class => 'btn btn-primary' %> <%= link_to content_tag(:i, nil, :class => 'icon-plus') + t('announcement.add_new'), new_panel_personal_book_back_end_writing_book_path(:user_id => @user.id), :class => 'btn btn-primary' %>
diff --git a/vendor/built_in_modules/personal_conference/app/assets/javascripts/personal_conference/desktop/conference_pages.js b/vendor/built_in_modules/personal_conference/app/assets/javascripts/personal_conference/desktop/conference_pages.js index 613a9dd20..87583f6a5 100644 --- a/vendor/built_in_modules/personal_conference/app/assets/javascripts/personal_conference/desktop/conference_pages.js +++ b/vendor/built_in_modules/personal_conference/app/assets/javascripts/personal_conference/desktop/conference_pages.js @@ -42,6 +42,10 @@ orbitDesktop.prototype.initializeConferencePapers = function(target,url,cache){ this.initializeConferencePapers.cancelpaper = function(){ o.highlight_sub_menu_item(0); } + this.initializeConferencePapers.syncComplete = function(){ + o.notify("Sync Complete","success"); + o.sub_menu_item($("div[content-type=menu] a").eq(0)); + } var uploadFiles = function(){ $('#add_plugin_file a.add').click(function(){ diff --git a/vendor/built_in_modules/personal_conference/app/controllers/panel/personal_conference/desktop/conference_pages_controller.rb b/vendor/built_in_modules/personal_conference/app/controllers/panel/personal_conference/desktop/conference_pages_controller.rb index 7f3603aaf..5701b0ea1 100644 --- a/vendor/built_in_modules/personal_conference/app/controllers/panel/personal_conference/desktop/conference_pages_controller.rb +++ b/vendor/built_in_modules/personal_conference/app/controllers/panel/personal_conference/desktop/conference_pages_controller.rb @@ -4,7 +4,7 @@ class Panel::PersonalConference::Desktop::ConferencePagesController < Applicatio @writing_conferences = WritingConference.where(create_user_id: current_user.id) page = params[:page] page ||= 1 - + @userid = current_user.id if @view_by.nil? @writing_conferences = @writing_conferences.asc(:paper_title) else diff --git a/vendor/built_in_modules/personal_conference/app/models/writing_conference.rb b/vendor/built_in_modules/personal_conference/app/models/writing_conference.rb index 9031cfec7..fd274789a 100644 --- a/vendor/built_in_modules/personal_conference/app/models/writing_conference.rb +++ b/vendor/built_in_modules/personal_conference/app/models/writing_conference.rb @@ -84,15 +84,13 @@ class WritingConference end def create_link - - title = ["\"#{self.paper_title}\""] - title << self.conference_title - title << self.sponsor - title << self.location - title << "#{period_start_date}-#{period_end_date}" + title = ["#{self.paper_title}"] + title << self.conference_title if self.conference_title.present? + title << self.sponsor if self.sponsor.present? + title << self.location if self.location.present? + title << "#{period_start_date}-#{period_end_date}" if (self.period_start_date.present? && self.period_end_date.present?) # title << "(#{self.conference_paper_types.collect{|x| x.title}.join(', ')})" title.join(', ') - end protected diff --git a/vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/desktop/conference_pages/index.html.erb b/vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/desktop/conference_pages/index.html.erb index d61d3bf3b..64e6bff88 100644 --- a/vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/desktop/conference_pages/index.html.erb +++ b/vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/desktop/conference_pages/index.html.erb @@ -58,7 +58,12 @@
+
+
Sync Conference Papers
+
+ +
diff --git a/vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/plugin/_profile.html.erb b/vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/plugin/_profile.html.erb index 081a3c581..5ae720e0c 100644 --- a/vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/plugin/_profile.html.erb +++ b/vendor/built_in_modules/personal_conference/app/views/panel/personal_conference/plugin/_profile.html.erb @@ -75,7 +75,11 @@ <% if is_admin? %>
+ + <%= link_to content_tag(:i, nil, :class => 'icon-plus') + t('personal_plugins.sync_data'), admin_import_data_sync_conference_data_path(:user_id => @user.id), :class => 'btn btn-primary' %> + <%= link_to content_tag(:i, nil, :class => 'icon-plus') + t('personal_plugins.edit_brief_intro'), panel_personal_conference_back_end_personal_conference_intros_path(:user_id => @user.id), :class => 'btn btn-primary' %> + <%= link_to content_tag(:i, nil, :class => 'icon-plus') + t('announcement.add_new'), new_panel_personal_conference_back_end_writing_conference_path(:user_id => @user.id), :class => 'btn btn-primary' %>
+
+
Sync Books
+
+
diff --git a/vendor/built_in_modules/personal_journal/app/views/panel/personal_journal/plugin/_profile.html.erb b/vendor/built_in_modules/personal_journal/app/views/panel/personal_journal/plugin/_profile.html.erb index 124439f28..6d2571f73 100644 --- a/vendor/built_in_modules/personal_journal/app/views/panel/personal_journal/plugin/_profile.html.erb +++ b/vendor/built_in_modules/personal_journal/app/views/panel/personal_journal/plugin/_profile.html.erb @@ -80,6 +80,8 @@ <% if is_admin? %>
+ <%= link_to content_tag(:i, nil, :class => 'icon-plus') + t('personal_plugins.sync_data'), admin_import_data_sync_journal_paper_data_path(:user_id => @user.id), :class => 'btn btn-primary' %> + <%= link_to content_tag(:i, nil, :class => 'icon-plus') + t('personal_plugins.edit_brief_intro'), panel_personal_journal_back_end_personal_journal_intros_path(:user_id => @user.id), :class => 'btn btn-primary' %> <%= link_to content_tag(:i, nil, :class => 'icon-plus') + t('announcement.add_new'), new_panel_personal_journal_back_end_writing_journal_path(:user_id => @user.id), :class => 'btn btn-primary' %>