forked from saurabh/orbit4-5
Fix session redirect and fix import language field
This commit is contained in:
parent
d40a1fae34
commit
f5bf50ef14
|
@ -723,7 +723,27 @@ class Admin::ImportController < OrbitAdminController
|
|||
book_types = book["book_types"]
|
||||
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 = 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
|
||||
|
||||
if !book["file"].blank?
|
||||
|
@ -828,7 +848,21 @@ class Admin::ImportController < OrbitAdminController
|
|||
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"])
|
||||
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"].gsub('-','_'),
|
||||
: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
|
||||
|
@ -861,7 +895,13 @@ class Admin::ImportController < OrbitAdminController
|
|||
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"])
|
||||
new_research = Research.new(
|
||||
:research_title_translations => {
|
||||
"en" => research["title"]["en"],
|
||||
"zh_tw" => research["title"]["zh-tw"]},
|
||||
:language => research["language"].gsub('-','_'),
|
||||
:publish_date => research["date_of_publication"],
|
||||
:rss2_id => research["rss2_id"])
|
||||
|
||||
if research["file"]
|
||||
research_file = new_research.research_files.new
|
||||
|
@ -892,8 +932,23 @@ class Admin::ImportController < OrbitAdminController
|
|||
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 = 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"].gsub('-','_'),
|
||||
: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
|
||||
|
@ -926,7 +981,7 @@ class Admin::ImportController < OrbitAdminController
|
|||
:job_title_translations => {
|
||||
"en" => experience["job_title"]["en"],
|
||||
"zh_tw" => experience["job_title"]["zh-tw"]},
|
||||
:language => experience["language"],
|
||||
:language => experience["language"].gsub('-','_'),
|
||||
:start_date => Date.strptime(experience["start_date"].gsub('00','01'), '%Y-%m'),
|
||||
:end_date => Date.strptime(experience["end_date"].gsub('00','01'), '%Y-%m'),
|
||||
:rss2_id => experience["rss2_id"])
|
||||
|
@ -953,7 +1008,16 @@ class Admin::ImportController < OrbitAdminController
|
|||
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"])
|
||||
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"].gsub('-','_'),
|
||||
: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"]})
|
||||
|
|
|
@ -129,6 +129,7 @@ class ApplicationController < ActionController::Base
|
|||
redirect_to new_session_path if @current_user.nil?
|
||||
return true
|
||||
else
|
||||
session[:login_referer] = request.url
|
||||
redirect_to new_session_path
|
||||
return false
|
||||
end
|
||||
|
|
|
@ -2,17 +2,22 @@ class SessionsController < ApplicationController
|
|||
layout "authentication"
|
||||
|
||||
def new
|
||||
if session[:user_id]
|
||||
redirect_to admin_dashboards_path
|
||||
end
|
||||
end
|
||||
|
||||
def create
|
||||
user = User.find_by(user_name: params[:user_name]) rescue nil
|
||||
if (user && user.authenticate(params[:password]) && user.is_confirmed?.eql?(true))
|
||||
if user.is_approved?
|
||||
if user.is_approved? || user.is_admin?
|
||||
session[:user_id] = user.id
|
||||
redirect_to admin_dashboards_path, :notice => "Logged in!"
|
||||
elsif user.is_admin?
|
||||
session[:user_id] = user.id
|
||||
redirect_to admin_dashboards_path, :notice => "Logged in!"
|
||||
if session[:login_referer]
|
||||
redirect_to session[:login_referer]
|
||||
session[:login_referer] = nil
|
||||
else
|
||||
redirect_to admin_dashboards_path
|
||||
end
|
||||
else
|
||||
flash.now.alert = "User not approved."
|
||||
render "new"
|
||||
|
@ -26,6 +31,6 @@ class SessionsController < ApplicationController
|
|||
def destroy
|
||||
log_user_action
|
||||
session[:user_id] = nil
|
||||
redirect_to root_url, :notice => "Logged out!"
|
||||
redirect_to root_url
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue