module store

This commit is contained in:
Harry Bomrah 2014-10-28 16:46:11 +08:00
parent 12b38691b0
commit 75d8c46576
4 changed files with 66 additions and 11 deletions

View File

@ -2,10 +2,11 @@ var StoreManager = function(){
var storeArea = $("#store-area"), var storeArea = $("#store-area"),
loadingArea = storeArea.find(".loading-store"), loadingArea = storeArea.find(".loading-store"),
loadingAreaStatus = loadingArea.find(".loading-status"), loadingAreaStatus = loadingArea.find(".loading-status"),
waitForStoreResponseCount = 0,
formArea = storeArea.find(".form-area"); formArea = storeArea.find(".form-area");
var initialize = function(){ var initialize = function(){
loadingAreaStatus.text("Contacting Ruling Store"); loadingAreaStatus.text("Contacting Ruling Store.");
setTimeout(step1,1000); setTimeout(step1,1000);
} }
@ -16,7 +17,7 @@ var StoreManager = function(){
"url" : "/admin/store/check_credentials" "url" : "/admin/store/check_credentials"
}).done(function(status){ }).done(function(status){
if(status.success == true){ if(status.success == true){
loadingAreaStatus.text("Checking permissions"); loadingAreaStatus.text("Checking permissions.");
setTimeout(step2,1000); setTimeout(step2,1000);
}else if(status.success == false){ }else if(status.success == false){
setTimeout(loadRegisterForm,1000); setTimeout(loadRegisterForm,1000);
@ -31,7 +32,7 @@ var StoreManager = function(){
"url" : "/admin/store/check_permissions" "url" : "/admin/store/check_permissions"
}).done(function(data){ }).done(function(data){
if(data.success){ if(data.success){
loadingAreaStatus.text("Fetching store data") loadingAreaStatus.text("Fetching store data.");
setTimeout(loadTemplateStore,1000); setTimeout(loadTemplateStore,1000);
}else if(!data.success){ }else if(!data.success){
loadingArea.find("img").hide(); loadingArea.find("img").hide();
@ -47,8 +48,6 @@ var StoreManager = function(){
}).fail(showError); }).fail(showError);
} }
var resendEmail = function(){}
var loadTemplateStore = function(){ var loadTemplateStore = function(){
$.ajax({ $.ajax({
"type" : "get", "type" : "get",
@ -73,7 +72,7 @@ var StoreManager = function(){
form.on("submit",function(){ form.on("submit",function(){
var email = form.find("#inputEmail").val(); var email = form.find("#inputEmail").val();
if(email){ if(email){
loadingAreaStatus.text("Registering with Orbit Store") loadingAreaStatus.text("Registering with Orbit Store.")
formArea.hide(); formArea.hide();
loadingArea.show(); loadingArea.show();
$.ajax({ $.ajax({
@ -83,9 +82,8 @@ var StoreManager = function(){
"data" : {"email" : email} "data" : {"email" : email}
}).done(function(data){ }).done(function(data){
if(data.success){ if(data.success){
loadingArea.find("img").hide(); loadingAreaStatus.text("Waiting for Store.");
loadingAreaStatus.text("Email sent to the address " + email + ". Please verify and come back."); setTimeout(waitForStoreResponse,500);
loadingArea.find("p").eq(1).remove();
}else{ }else{
loadingArea.find("img").hide(); loadingArea.find("img").hide();
loadingAreaStatus.text(data.message); loadingAreaStatus.text(data.message);
@ -97,6 +95,50 @@ var StoreManager = function(){
}) })
}) })
} }
var waitForStoreResponse = function(){
$.ajax({
"type" : "get",
"dataType" : "json",
"url" : "/admin/store/check_credentials"
}).done(function(status){
if(status.success == true){
resendEmail();
}else if(status.success == false){
waitForStoreResponseCount++;
if(waitForStoreResponseCount > 5){
loadingArea.find("img").hide();
loadingAreaStatus.text("Orbit Store couldn't contact your server.");
loadingArea.find("p").eq(1).html("Please try again later or contact <a href='http://www.rulingcom.com/'>www.rulingcom.com</a>.");
}else{
setTimeout(waitForStoreResponse,500);
}
}
}).fail(showError);
}
var resendEmail = function(){
loadingArea.find("img").show();
loadingAreaStatus.text("Sending verification email.");
loadingArea.find("p").eq(1).html("Please wait...");
$.ajax({
"url" : "/admin/store/send_email",
"dataType" : "json",
"type" : "get"
}).done(function(data){
if(data.success){
loadingArea.find("img").hide();
loadingAreaStatus.text("Email sent to the address " + email + ". Please verify and come back.");
loadingArea.find("p").eq(1).hide();
}else{
loadingArea.find("img").hide();
loadingAreaStatus.text("Email couldn't be sent to " + email + ". You can try again or contact <a href='http://www.rulingcom.com'>www.rulingcom.com</a>");
loadingArea.find("p").eq(1).html("Please contact <a href='http://www.rulingcom.com/'>www.rulingcom.com</a>.");
}
}).fail(showError);
}
var showError = function(){ var showError = function(){
loadingArea.find("img").hide(); loadingArea.find("img").hide();
loadingAreaStatus.text("There was some unknown error."); loadingAreaStatus.text("There was some unknown error.");

View File

@ -19,6 +19,17 @@ class Admin::StoreController < OrbitAdminController
end end
def send_email
params_to_send = {'store_token' => current_site.store_token}
uri = URI.parse(@store_url)
http = Net::HTTP.new(uri.host,uri.port)
request = Net::HTTP::Get.new("/site/send_email")
request.body = params_to_send.to_query
response = http.request(request)
data = JSON.parse(response.body)
render :json => data.to_json
end
def check_permissions def check_permissions
params_to_send = {'store_token' => current_site.store_token} params_to_send = {'store_token' => current_site.store_token}
uri = URI.parse(@store_url) uri = URI.parse(@store_url)
@ -48,6 +59,7 @@ class Admin::StoreController < OrbitAdminController
private private
def store_url def store_url
@store_url = "http://store.tp.rulingcom.com" # @store_url = "http://store.tp.rulingcom.com"
@store_url = "http://localhost:3000"
end end
end end

View File

@ -1,2 +1,2 @@
<p>Thank you for registering your site with Orbit! Please click on the following link and confirm. This is to make sure we could provide you with a spam free experience. Thanks a lot.</p> <p>Thank you for registering! Please click on the following link and confirm. This is to make sure we could provide you with a spam free experience. Thanks a lot.</p>
<a href="<%= @data['url'] %>" > Please click to confirm </a> <a href="<%= @data['url'] %>" > Please click to confirm </a>

View File

@ -225,6 +225,7 @@ Orbit::Application.routes.draw do
post "/store/register_site" => "store#register_site" post "/store/register_site" => "store#register_site"
get "/store/check_permissions" => "store#check_permissions" get "/store/check_permissions" => "store#check_permissions"
get "/store/template_store" => "store#template_store" get "/store/template_store" => "store#template_store"
get "/store/send_email" => "store#send_email"
get "import" => "import#index" get "import" => "import#index"