added new 404 page and also fixed member import

This commit is contained in:
Harry Bomrah 2014-09-15 15:29:08 +08:00
parent 424d3fa559
commit 5d6f33c90b
6 changed files with 130 additions and 58 deletions

View File

@ -271,7 +271,7 @@ class Admin::ImportController < OrbitAdminController
render :json => settings.to_json
end
def rss2_members
def rss2_members_info
uri = URI.parse(params['url'])
# @@thread = Thread.new do
http = Net::HTTP.new(uri.host, uri.port)
@ -279,10 +279,6 @@ class Admin::ImportController < OrbitAdminController
response = http.request(request)
data = response.body
data = JSON.parse(data)
@@import_stats["total_members"] = data["users"].count
@@import_stats["current_status"] = 0
@@import_stats["success"] = true
write_to_file
rss2_roles = data["attributes"]
rss2_roles.each do |key,rss2_role|
@ -327,13 +323,22 @@ class Admin::ImportController < OrbitAdminController
end
end
render :json => {"success" => true, "total_users" => data["total_users"]}.to_json
end
def rss2_members
uri = URI.parse(params['url'])
# @@thread = Thread.new do
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)
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
new_member = MemberProfile.find_by(rss2_id: member["rss2_id"]) rescue nil
if new_member.nil?
@ -505,8 +510,6 @@ class Admin::ImportController < OrbitAdminController
end
new_member.save
@@import_stats["current_status"] = @@import_stats["current_status"] + 1
write_to_file
if member["user_id"].present?
user = User.new
user.user_name = member["user_id"]
@ -897,8 +900,8 @@ class Admin::ImportController < OrbitAdminController
"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'),
:start_date => (Date.strptime(diploma["start_date"], '%Y-%m') rescue nil),
:end_date => (Date.strptime(diploma["end_date"], '%Y-%m') rescue nil),
:rss2_id => diploma["rss2_id"])
new_diploma.member_profile = member
new_diploma.save

View File

@ -198,7 +198,8 @@
importLinks();
break;
case "members":
importMembers();
$(this).fadeOut();
importMembersInfo();
break;
default:
getModuleCategories();
@ -280,7 +281,7 @@
var percent = ((number + 1) * 100) / total;
$("#import-progress .bar").css('width',percent + "%");
if(number != (total - 1)){
setTimeout(importImagesForAlbums(number + 1),300)
setTimeout(importImagesForAlbums(number + 1),300);
}else{
$("#import-progress-text").html("Finished importing albums.");
}
@ -294,30 +295,57 @@
}
var sto = null;
var new_members_data = null;
var importMembers = function(){
var sto = null,
new_members_data = [],
number_of_members_to_import = 5,
total_members = 0,
maximum_member_pages = 0;
var importMembersInfo = function(){
$("#import-progress .bar").css('width', '0%');
$("#import-progress-text").html("Importing Member..<br/>");
$("#import-progress-text").html("Getting Member Info..<br/>");
$.ajax({
type: "post",
url: '<%= admin_import_rss2_members_path %>',
url: '<%= admin_import_rss2_members_info_path %>',
data : {"url" : url+'?module='+module}
}).done(function(data){
if(data.success == true){
// clearTimeout(sto);
$("#import-progress-text").html("Finished importing Members.<br/>");
$("#import-progress .bar").css('width', '100%');
new_members_data = data.members;
importPlugins(0);
$("#import-progress-text").html("Now importing Members.<br/>");
total_members = parseInt(data.total_users);
maximum_member_pages = Math.ceil(total_members / number_of_members_to_import) - 1;
importMembers(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();
})
}
var importMembers = function(page_number){
$("#import-progress-text").html("Importing Members..<br/>");
$.ajax({
type: "post",
url: '<%= admin_import_rss2_members_path %>',
data : {"url" : url+'?module='+module+"&page=" + page_number + "&total=" + number_of_members_to_import}
}).done(function(data){
if(data.success == true){
var percent = ((number_of_members_to_import * (page_number + 1)) * 100) / total_members;
$("#import-progress .bar").css('width', percent + "%");
new_members_data = new_members_data.concat(data.members);
if(page_number < maximum_member_pages){
importMembers(page_number + 1);
}else{
$("#import-progress .bar").css('width', '100%');
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);
})
// sto = setTimeout("startCheckingMemberImportStatus()",700);
}
var plugins = ["patents","books", "projects", "researches", "honors", "diplomas", "experiences", "journalpapers", "conferencespapers"];
var failed_plugins = [];
@ -326,10 +354,11 @@
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 + "<br/><div id='plugin_name'></div>");
importplugin(member.rss2_id, 0,number)
importplugin(member.rss2_id, 0, number, member.name);
}
var importplugin = function(id,p,number){
var importplugin = function(id,p,number,name){
console.log(name);
var plugin = plugins[p];
$("#import-progress-text #plugin_name").html(plugin.charAt(0).toUpperCase() + plugin.slice(1));
$.ajax({
@ -351,7 +380,7 @@
}
}).fail(function(){
failed_plugins.push(plugin);
$("#alert-msg").text("There was an unknown error importing " + plugin + ".");
$("#alert-msg").prepend("There was an unknown error importing " + plugin + " for " + (typeof name == "undefined" ? id : name) + ". <br/>");
$(".alert-danger").removeClass("hide").show();
if(p != plugins.length - 1){
importplugin(id, p + 1, number);
@ -359,6 +388,7 @@
if((number + 1) != new_members_data.length){
importPlugins(number + 1);
}else{
$("#import-progress .bar").css('width', '100%');
$("#import-progress-text").html("Importing members finished.");
}
}

View File

@ -22,4 +22,7 @@ gem "site_menu_widget", git: 'http://gitlab.tp.rulingcom.com/saurabh/site-menu-w
gem "breadcrumb_widget", git: "http://gitlab.tp.rulingcom.com/saurabh/breadcrumb-widget.git"
#desktop
gem "orbit_4_5_desktop", git: 'http://gitlab.tp.rulingcom.com/ray/orbit-4-5-desktop.git'
gem "orbit_4_5_desktop", path: '/Volumes/MyData/github/orbit4.5/orbit-4-5-desktop'
gem "test_for_plugin", path: "/Volumes/MyData/github/orbit4.5/new_modules/test_for_plugin"

View File

@ -223,6 +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"
post "import/rss2_members_info" => "import#rss2_members_info"
get "import/import_plugin" => "import#import_plugin"
end

View File

@ -1,28 +1,63 @@
<!DOCTYPE HTML>
<html lang="en-US">
<html lang="zh-tw">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="stylesheets/error-pages.css" media="all"/>
<title>Page not found</title>
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
</head>
<body>
<style type="text/css">
<style>
::selection {
color: #fff;
background: #040114;
}
body {
margin: 0;
padding: 40px 0 0 0;
background-color: #F3F3F3;
padding: 0;
font-family: 'Roboto', sans-serif;
font-size: 100%;
background: url(/error_image/404.jpg) center center fixed no-repeat;
background-size: cover;
background-color: #000;
}
#error-page {
min-height: 768px;
}
.message {
text-align: center;
position: absolute;
left: 50%;
top: 25%;
margin-left: -175px;
}
.message h1 {
margin: 0 0.2em 0 0;
color: #fff;
font-size: 8.5em;
font-weight: normal;
}
.message h2 {
margin: 0;
padding: 0;
color: #fff;
}
.message p {
color: #fff;
}
.home {
color: #fff;
}
a.home:hover {
text-decoration: none;
}
</style>
<!-- Error Pages Start Here -->
<div id="error-page">
<div class="card">
<div class="figure code-404"></div>
<div class="message">
<h1>Page not found!</h1>
<p>The page you were looking for doesnt exist.</p>
<section class="message">
<h1>404</h1>
<h2>Page not found</h2>
<p>Sorry, it seems like you're in the wrong orbit, <br>
get back to your home planet by <a class="home" href="/">clicking here!</a></p>
</section>
</div>
</div>
</div>
<!-- Error Pages End Here -->
</body>
</html>

BIN
public/error_image/404.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 KiB