From b729e32258a895a05bb78013c5acce9f6bf7ad0a Mon Sep 17 00:00:00 2001 From: Harry Bomrah Date: Tue, 2 Jun 2015 19:54:23 +0800 Subject: [PATCH] now default modules will be automatically authorized after registering of website. --- app/assets/javascripts/admin/store_manager.js | 18 ++++++++++++- app/controllers/admin/store_controller.rb | 27 +++++++++++++++++++ config/routes.rb | 1 + 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/admin/store_manager.js b/app/assets/javascripts/admin/store_manager.js index 42a2292..c92a3b6 100644 --- a/app/assets/javascripts/admin/store_manager.js +++ b/app/assets/javascripts/admin/store_manager.js @@ -138,7 +138,7 @@ var StoreManager = function(section){ "url" : "/admin/store/check_credentials" }).done(function(status){ if(status.success == true){ - resendEmail(); + authorizeAllModules(); }else if(status.success == false){ waitForStoreResponseCount++; if(waitForStoreResponseCount > 5){ @@ -152,6 +152,22 @@ var StoreManager = function(section){ }).fail(showError); } + var authorizeAllModules = function(){ + loadingAreaStatus.text("Authorizing default modules."); + $.ajax({ + "type" : "post", + "dataType" : "json", + "url" : "/admin/store/authorize_default_modules" + }).done(function(status){ + if(status.success == true){ + resendEmail(); + }else if(status.success == false){ + loadingArea.find("img").hide(); + loadingAreaStatus.text(data.message); + } + }).fail(showError); + } + var resendEmail = function(){ loadingArea.find("img").show(); loadingAreaStatus.text("Sending verification email."); diff --git a/app/controllers/admin/store_controller.rb b/app/controllers/admin/store_controller.rb index 80632ba..e8198ab 100644 --- a/app/controllers/admin/store_controller.rb +++ b/app/controllers/admin/store_controller.rb @@ -37,6 +37,33 @@ class Admin::StoreController < OrbitAdminController render :json => data.to_json end + def authorize_default_modules + modules = ModuleApp.all + ids = modules.collect{|ma| ma.key} + store_token = Site.first.store_token rescue nil + if !store_token.nil? + module_apps = ModuleApp.all + params_to_send = {'store_token' => store_token, "apps" => ids} + uri = URI.parse(OrbitStore::URL) + http = Net::HTTP.new(uri.host,uri.port) + request = Net::HTTP::Post.new("/store/register_old_sites_modules") + request.body = params_to_send.to_query + response = http.request(request) rescue nil + if response.nil? + render :json => {"success" => false, "message" => "Could not connect to the store."}.to_json + else + data = JSON.parse(response.body) + if data["success"] + render :json => {"success" => true}.to_json + elsif !data["success"] + render :json => {"success" => false, "message" => data["message"]}.to_json + end + end + else + render :json => {"success" => false, "message" => "Cannot register modules, site is not registered with store."}.to_json + end + end + def check_permissions params_to_send = {'store_token' => current_site.store_token} uri = URI.parse(@store_url) diff --git a/config/routes.rb b/config/routes.rb index 19cedd7..09c305b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -262,6 +262,7 @@ Orbit::Application.routes.draw do get "/store/check_credentials" => "store#check_credentials" get "/store/register_form" => "store#register_form" post "/store/register_site" => "store#register_site" + post "/store/authorize_default_modules" => "store#authorize_default_modules" get "/store/check_permissions" => "store#check_permissions" get "/store/template_store" => "store#template_store" get "/store/app_store" => "store#app_store"