From 52796d3ad058497af91984189af6976a0279461c Mon Sep 17 00:00:00 2001 From: BOHUNG Date: Wed, 15 Jan 2020 17:53:02 +0800 Subject: [PATCH] from ruling.digital version.(gemspec) fix register site when website to register is https or ssl expired. add resend email to not confirmed email. --- .../admin/register_api_controller.rb | 30 ++++++++++++----- .../admin/registered_sites/_index.html.erb | 2 +- config/locales/en.yml | 1 + config/locales/zh_tw.yml | 1 + registered_sites.gemspec | 33 ++++++++++--------- 5 files changed, 43 insertions(+), 24 deletions(-) diff --git a/app/controllers/admin/register_api_controller.rb b/app/controllers/admin/register_api_controller.rb index 2071f65..818c2ec 100644 --- a/app/controllers/admin/register_api_controller.rb +++ b/app/controllers/admin/register_api_controller.rb @@ -28,14 +28,21 @@ class Admin::RegisterApiController < ApplicationController response["message"] = "Site already registered." response["error"] = "SITE_ALREADY_REGISTERED" end - render :json => response.to_json if !site.nil? p1 = fork {register_client_site(site.site_token) } Process.detach(p1) end + render :json => ((params[:success] == 'error') ? response.merge({'success'=>params[:success]}).to_json : response.to_json) end - + def send_store_token + site = RegisteredSite.where(:site_domain => params[:site_domain]).first + if !site.nil? + render :json => {'store_token'=>site.uid} + else + render :json => {'store_token'=>nil} + end + end def send_confirmation_email(email, confirmation_token, site_token) url = "#{request.protocol}#{request.host_with_port}/register/confirm_email?confirmation=#{confirmation_token}&site=#{site_token}" email = Email.new(:mail_to => email, :mail_subject => "Confirmation email for orbit store.", :template => "email/site_confirmation_email.html.erb", :template_data => {"url" => url}) @@ -47,10 +54,8 @@ class Admin::RegisterApiController < ApplicationController site = RegisteredSite.find_by(:uid => site_token) rescue nil if !site.nil? send_confirmation_email(site.admin_email, site.confirmation_token, site.site_token) - render :json => {"success" => true}.to_json - else - render :json => {"success" => false}.to_json end + redirect_to :back end def re_register_url @@ -82,7 +87,7 @@ class Admin::RegisterApiController < ApplicationController else response["success"] = true end - render :json => response.to_json + render :json => ((params[:success] == 'error') ? response.merge(params).to_json : response.to_json) end def register_client_site(store_token) @@ -91,8 +96,17 @@ class Admin::RegisterApiController < ApplicationController http = Net::HTTP.new(uri.host,uri.port) request = Net::HTTP::Post.new("/store/confirmation") request.body = params_to_send.to_query - response = http.request(request) - return response + begin + response = http.request(request) + if response.code == '200' + return response + else + response = Net::HTTP.post_form(URI("https://#{params[:site_domain]}/store/confirmation"),params_to_send) #if response.code == 301,use https to resend /store/confirmation + return response + end + rescue + params[:success] = 'error' + end end def confirm_email diff --git a/app/views/admin/registered_sites/_index.html.erb b/app/views/admin/registered_sites/_index.html.erb index 719536b..6fdb2f1 100644 --- a/app/views/admin/registered_sites/_index.html.erb +++ b/app/views/admin/registered_sites/_index.html.erb @@ -43,7 +43,7 @@ <% if !site.site_confirmed %> - Grant + <%=t('resend_email')%> <% elsif !site.access_granted %> <%= "&keywords=#{params[:keywords]}" if params[:keywords] %>" class="btn btn-success" data-remote="true">Grant <% else %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 6300bb4..a486c93 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -3,6 +3,7 @@ en: admin_email: Admin Email status: Status permission: Access + resend_email: Resend email registered_sites: customization_log: Customization Log registered_sites: Registered Sites diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml index c0d307f..358c1cc 100644 --- a/config/locales/zh_tw.yml +++ b/config/locales/zh_tw.yml @@ -3,6 +3,7 @@ zh_tw: admin_email: Admin Email status: Status permission: Access + resend_email: Resend email registered_sites: customization_log: Customization Log registered_sites: Registered Sites diff --git a/registered_sites.gemspec b/registered_sites.gemspec index fbf9e13..51a7790 100644 --- a/registered_sites.gemspec +++ b/registered_sites.gemspec @@ -1,19 +1,22 @@ -$:.push File.expand_path("../lib", __FILE__) +# -*- encoding: utf-8 -*- +# stub: registered_sites 0.0.1 ruby lib -# Maintain your gem's version: -require "registered_sites/version" - -# Describe your gem and declare its dependencies: Gem::Specification.new do |s| - s.name = "registered_sites" - s.version = RegisteredSites::VERSION - s.authors = ["Rulingcom"] - s.email = ["harry@rulingcom.com"] - s.homepage = "http://www.rulingcom.com" - s.summary = "Manage registered sites." - s.description = "Manage registered sites." - s.license = "MIT" + s.name = "registered_sites" + s.version = "0.0.1" - s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"] - s.test_files = Dir["test/**/*"] + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.require_paths = ["lib"] + s.authors = ["Rulingcom"] + s.date = "2019-03-28" + s.description = "Manage registered sites." + s.email = ["harry@rulingcom.com"] + s.files = ["MIT-LICENSE", "README.rdoc", "Rakefile", "app/assets/images/registered_sites", "app/assets/javascripts/registered_site_progress.js", "app/assets/javascripts/registered_sites", "app/assets/javascripts/registered_sites/application.js", "app/assets/stylesheets/registered_site_progress.css.scss", "app/assets/stylesheets/registered_sites", "app/assets/stylesheets/registered_sites/application.css", "app/controllers/admin/customization_logs_controller.rb", "app/controllers/admin/register_api_controller.rb", "app/controllers/admin/registered_sites_controller.rb", "app/controllers/registered_sites_controller.rb", "app/helpers/registered_sites", "app/helpers/registered_sites/application_helper.rb", "app/models/registered_site.rb", "app/models/site_log.rb", "app/models/site_log_file.rb", "app/views/admin/customization_logs", "app/views/admin/customization_logs/_form.html.erb", "app/views/admin/customization_logs/_form_file.html.erb", "app/views/admin/customization_logs/_index.html.erb", "app/views/admin/customization_logs/_log_modal.html.erb", "app/views/admin/customization_logs/edit.html.erb", "app/views/admin/customization_logs/get_log.html.erb", "app/views/admin/customization_logs/index.html.erb", "app/views/admin/customization_logs/new.html.erb", "app/views/admin/register_api", "app/views/admin/register_api/confirm_email.html.erb", "app/views/admin/registered_sites", "app/views/admin/registered_sites/_form.html.erb", "app/views/admin/registered_sites/_index.html.erb", "app/views/admin/registered_sites/change_access_status.js.erb", "app/views/admin/registered_sites/destroy.js.erb", "app/views/admin/registered_sites/edit.html.erb", "app/views/admin/registered_sites/index.html.erb", "app/views/admin/registered_sites/progress.html.erb", "app/views/email/site_confirmation_email.html.erb", "config/locales/en.yml", "config/locales/zh_tw.yml", "config/routes.rb", "lib/registered_sites", "lib/registered_sites.rb", "lib/registered_sites/engine.rb", "lib/registered_sites/version.rb", "lib/tasks/registered_sites_tasks.rake", "test/dummy", "test/dummy/README.rdoc", "test/dummy/Rakefile", "test/dummy/app", "test/dummy/app/assets", "test/dummy/app/assets/images", "test/dummy/app/assets/javascripts", "test/dummy/app/assets/javascripts/application.js", "test/dummy/app/assets/stylesheets", "test/dummy/app/assets/stylesheets/application.css", "test/dummy/app/controllers", "test/dummy/app/controllers/application_controller.rb", "test/dummy/app/controllers/concerns", "test/dummy/app/helpers", "test/dummy/app/helpers/application_helper.rb", "test/dummy/app/mailers", "test/dummy/app/models", "test/dummy/app/models/concerns", "test/dummy/app/views", "test/dummy/app/views/layouts", "test/dummy/app/views/layouts/application.html.erb", "test/dummy/bin", "test/dummy/bin/bundle", "test/dummy/bin/rails", "test/dummy/bin/rake", "test/dummy/config", "test/dummy/config.ru", "test/dummy/config/application.rb", "test/dummy/config/boot.rb", "test/dummy/config/database.yml", "test/dummy/config/environment.rb", "test/dummy/config/environments", "test/dummy/config/environments/development.rb", "test/dummy/config/environments/production.rb", "test/dummy/config/environments/test.rb", "test/dummy/config/initializers", "test/dummy/config/initializers/assets.rb", "test/dummy/config/initializers/backtrace_silencers.rb", "test/dummy/config/initializers/cookies_serializer.rb", "test/dummy/config/initializers/filter_parameter_logging.rb", "test/dummy/config/initializers/inflections.rb", "test/dummy/config/initializers/mime_types.rb", "test/dummy/config/initializers/session_store.rb", "test/dummy/config/initializers/wrap_parameters.rb", "test/dummy/config/locales", "test/dummy/config/locales/en.yml", "test/dummy/config/routes.rb", "test/dummy/config/secrets.yml", "test/dummy/lib", "test/dummy/lib/assets", "test/dummy/log", "test/dummy/public", "test/dummy/public/404.html", "test/dummy/public/422.html", "test/dummy/public/500.html", "test/dummy/public/favicon.ico", "test/integration/navigation_test.rb", "test/registered_sites_test.rb", "test/test_helper.rb"] + s.homepage = "http://www.rulingcom.com" + s.licenses = ["MIT"] + s.rubygems_version = "2.2.2" + s.summary = "Manage registered sites." + s.test_files = ["test/dummy", "test/dummy/README.rdoc", "test/dummy/bin", "test/dummy/bin/bundle", "test/dummy/bin/rake", "test/dummy/bin/rails", "test/dummy/log", "test/dummy/app", "test/dummy/app/assets", "test/dummy/app/assets/javascripts", "test/dummy/app/assets/javascripts/application.js", "test/dummy/app/assets/images", "test/dummy/app/assets/stylesheets", "test/dummy/app/assets/stylesheets/application.css", "test/dummy/app/mailers", "test/dummy/app/helpers", "test/dummy/app/helpers/application_helper.rb", "test/dummy/app/controllers", "test/dummy/app/controllers/application_controller.rb", "test/dummy/app/controllers/concerns", "test/dummy/app/views", "test/dummy/app/views/layouts", "test/dummy/app/views/layouts/application.html.erb", "test/dummy/app/models", "test/dummy/app/models/concerns", "test/dummy/Rakefile", "test/dummy/lib", "test/dummy/lib/assets", "test/dummy/public", "test/dummy/public/422.html", "test/dummy/public/500.html", "test/dummy/public/favicon.ico", "test/dummy/public/404.html", "test/dummy/config.ru", "test/dummy/config", "test/dummy/config/environments", "test/dummy/config/environments/production.rb", "test/dummy/config/environments/development.rb", "test/dummy/config/environments/test.rb", "test/dummy/config/environment.rb", "test/dummy/config/database.yml", "test/dummy/config/boot.rb", "test/dummy/config/routes.rb", "test/dummy/config/application.rb", "test/dummy/config/secrets.yml", "test/dummy/config/locales", "test/dummy/config/locales/en.yml", "test/dummy/config/initializers", "test/dummy/config/initializers/wrap_parameters.rb", "test/dummy/config/initializers/cookies_serializer.rb", "test/dummy/config/initializers/mime_types.rb", "test/dummy/config/initializers/assets.rb", "test/dummy/config/initializers/inflections.rb", "test/dummy/config/initializers/backtrace_silencers.rb", "test/dummy/config/initializers/filter_parameter_logging.rb", "test/dummy/config/initializers/session_store.rb", "test/test_helper.rb", "test/registered_sites_test.rb", "test/integration/navigation_test.rb"] + + s.installed_by_version = "2.2.2" if s.respond_to? :installed_by_version end