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"),
loadingArea = storeArea.find(".loading-store"),
loadingAreaStatus = loadingArea.find(".loading-status"),
waitForStoreResponseCount = 0,
formArea = storeArea.find(".form-area");
var initialize = function(){
loadingAreaStatus.text("Contacting Ruling Store");
loadingAreaStatus.text("Contacting Ruling Store.");
setTimeout(step1,1000);
}
@ -16,7 +17,7 @@ var StoreManager = function(){
"url" : "/admin/store/check_credentials"
}).done(function(status){
if(status.success == true){
loadingAreaStatus.text("Checking permissions");
loadingAreaStatus.text("Checking permissions.");
setTimeout(step2,1000);
}else if(status.success == false){
setTimeout(loadRegisterForm,1000);
@ -31,7 +32,7 @@ var StoreManager = function(){
"url" : "/admin/store/check_permissions"
}).done(function(data){
if(data.success){
loadingAreaStatus.text("Fetching store data")
loadingAreaStatus.text("Fetching store data.");
setTimeout(loadTemplateStore,1000);
}else if(!data.success){
loadingArea.find("img").hide();
@ -47,8 +48,6 @@ var StoreManager = function(){
}).fail(showError);
}
var resendEmail = function(){}
var loadTemplateStore = function(){
$.ajax({
"type" : "get",
@ -73,7 +72,7 @@ var StoreManager = function(){
form.on("submit",function(){
var email = form.find("#inputEmail").val();
if(email){
loadingAreaStatus.text("Registering with Orbit Store")
loadingAreaStatus.text("Registering with Orbit Store.")
formArea.hide();
loadingArea.show();
$.ajax({
@ -83,9 +82,8 @@ var StoreManager = function(){
"data" : {"email" : email}
}).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).remove();
loadingAreaStatus.text("Waiting for Store.");
setTimeout(waitForStoreResponse,500);
}else{
loadingArea.find("img").hide();
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(){
loadingArea.find("img").hide();
loadingAreaStatus.text("There was some unknown error.");

View File

@ -19,6 +19,17 @@ class Admin::StoreController < OrbitAdminController
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
params_to_send = {'store_token' => current_site.store_token}
uri = URI.parse(@store_url)
@ -48,6 +59,7 @@ class Admin::StoreController < OrbitAdminController
private
def store_url
@store_url = "http://store.tp.rulingcom.com"
# @store_url = "http://store.tp.rulingcom.com"
@store_url = "http://localhost:3000"
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>

View File

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