Merge branch 'master' into add-money-form-field

This commit is contained in:
Artur Beljajev 2017-04-27 15:31:59 +03:00
commit ebc2a6af72
8 changed files with 137 additions and 17 deletions

View file

@ -86,7 +86,7 @@ gem 'deep_cloneable', '2.1.1'
# gem 'digidoc_client', '0.3.0' # gem 'digidoc_client', '0.3.0'
gem 'digidoc_client', gem 'digidoc_client',
github: 'tarmotalu/digidoc_client', github: 'tarmotalu/digidoc_client',
branch: 'master' ref: '1645e83a5a548addce383f75703b0275c5310c32'
gem 'epp', '1.5.0', github: 'internetee/epp' gem 'epp', '1.5.0', github: 'internetee/epp'
@ -149,9 +149,6 @@ group :development, :test do
gem 'html2haml', '2.1.0' gem 'html2haml', '2.1.0'
gem 'sdoc', '0.4.1' # bundle exec rake doc:rails generates the API under doc/api. gem 'sdoc', '0.4.1' # bundle exec rake doc:rails generates the API under doc/api.
gem 'railroady', '1.3.0' # to generate database diagrams gem 'railroady', '1.3.0' # to generate database diagrams
# dev tools
gem 'unicorn'
gem 'autodoc' gem 'autodoc'
end end

View file

@ -47,7 +47,7 @@ GIT
GIT GIT
remote: https://github.com/tarmotalu/digidoc_client.git remote: https://github.com/tarmotalu/digidoc_client.git
revision: 1645e83a5a548addce383f75703b0275c5310c32 revision: 1645e83a5a548addce383f75703b0275c5310c32
branch: master ref: 1645e83a5a548addce383f75703b0275c5310c32
specs: specs:
digidoc_client (0.3.0) digidoc_client (0.3.0)
crack (>= 0.1.8) crack (>= 0.1.8)
@ -284,7 +284,6 @@ GEM
kaminari (0.16.3) kaminari (0.16.3)
actionpack (>= 3.0.0) actionpack (>= 3.0.0)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
kgio (2.11.0)
launchy (2.4.3) launchy (2.4.3)
addressable (~> 2.3) addressable (~> 2.3)
libv8 (3.16.14.19) libv8 (3.16.14.19)
@ -394,7 +393,6 @@ GEM
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0) thor (>= 0.18.1, < 2.0)
rainbow (2.2.1) rainbow (2.2.1)
raindrops (0.18.0)
rake (12.0.0) rake (12.0.0)
ransack (1.5.1) ransack (1.5.1)
actionpack (>= 3.0) actionpack (>= 3.0)
@ -525,9 +523,6 @@ GEM
unf_ext (0.0.7.2) unf_ext (0.0.7.2)
unicode-display_width (1.2.0) unicode-display_width (1.2.0)
unicode_utils (1.4.0) unicode_utils (1.4.0)
unicorn (5.3.0)
kgio (~> 2.6)
raindrops (~> 0.7)
uniform_notifier (1.9.0) uniform_notifier (1.9.0)
uuidtools (2.1.5) uuidtools (2.1.5)
validates_email_format_of (1.6.3) validates_email_format_of (1.6.3)
@ -635,7 +630,6 @@ DEPENDENCIES
therubyracer (= 0.12.2) therubyracer (= 0.12.2)
turbolinks (= 2.5.3) turbolinks (= 2.5.3)
uglifier (= 2.7.2) uglifier (= 2.7.2)
unicorn
uuidtools (= 2.1.5) uuidtools (= 2.1.5)
validates_email_format_of (= 1.6.3) validates_email_format_of (= 1.6.3)
webmock webmock

View file

@ -29,6 +29,7 @@ class Registrant::SessionsController < Devise::SessionsController
phone = params[:user][:phone] phone = params[:user][:phone]
endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" endpoint = "#{ENV['sk_digi_doc_service_endpoint']}"
client = Digidoc::Client.new(endpoint) client = Digidoc::Client.new(endpoint)
client.logger = Rails.application.config.logger unless Rails.env.test?
if Rails.env.test? && phone == "123" if Rails.env.test? && phone == "123"
@user = ApiUser.find_by(identity_code: "14212128025") @user = ApiUser.find_by(identity_code: "14212128025")
@ -70,6 +71,7 @@ class Registrant::SessionsController < Devise::SessionsController
def mid_status def mid_status
endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" endpoint = "#{ENV['sk_digi_doc_service_endpoint']}"
client = Digidoc::Client.new(endpoint) client = Digidoc::Client.new(endpoint)
client.logger = Rails.application.config.logger unless Rails.env.test?
client.session_code = session[:mid_session_code] client.session_code = session[:mid_session_code]
auth_status = client.authentication_status auth_status = client.authentication_status

View file

@ -100,6 +100,7 @@ class Registrar::SessionsController < Devise::SessionsController
phone = params[:user][:phone] phone = params[:user][:phone]
endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" endpoint = "#{ENV['sk_digi_doc_service_endpoint']}"
client = Digidoc::Client.new(endpoint) client = Digidoc::Client.new(endpoint)
client.logger = Rails.application.config.logger unless Rails.env.test?
# country_codes = {'+372' => 'EST'} # country_codes = {'+372' => 'EST'}
phone.gsub!('+372', '') phone.gsub!('+372', '')
@ -135,6 +136,7 @@ class Registrar::SessionsController < Devise::SessionsController
def mid_status def mid_status
endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" endpoint = "#{ENV['sk_digi_doc_service_endpoint']}"
client = Digidoc::Client.new(endpoint) client = Digidoc::Client.new(endpoint)
client.logger = Rails.application.config.logger unless Rails.env.test?
client.session_code = session[:mid_session_code] client.session_code = session[:mid_session_code]
auth_status = client.authentication_status auth_status = client.authentication_status

View file

@ -1 +0,0 @@
#Digidoc::Client.logger = Rails.application.config.logger

View file

@ -0,0 +1,124 @@
class UpdateGenerateZonefileSql < ActiveRecord::Migration
def change
execute <<-SQL
CREATE OR REPLACE FUNCTION generate_zonefile(i_origin character varying) RETURNS text
LANGUAGE plpgsql
AS $_$
DECLARE
zone_header text := concat('$ORIGIN ', i_origin, '.');
serial_num varchar;
include_filter varchar := '';
exclude_filter varchar := '';
tmp_var text;
ret text;
BEGIN
-- define filters
include_filter = '%.' || i_origin;
-- for %.%.%
IF i_origin ~ '.' THEN
exclude_filter := '';
-- for %.%
ELSE
exclude_filter := '%.%.' || i_origin;
END IF;
SELECT ROUND(extract(epoch from now() at time zone 'utc')) INTO serial_num;
-- zonefile header
SELECT concat(
format('%-10s', '$ORIGIN .'), chr(10),
format('%-10s', '$TTL'), zf.ttl, chr(10), chr(10),
format('%-10s', i_origin || '.'), 'IN SOA ', zf.master_nameserver, '. ', zf.email, '. (', chr(10),
format('%-17s', ''), format('%-12s', serial_num), '; serial number', chr(10),
format('%-17s', ''), format('%-12s', zf.refresh), '; refresh, seconds', chr(10),
format('%-17s', ''), format('%-12s', zf.retry), '; retry, seconds', chr(10),
format('%-17s', ''), format('%-12s', zf.expire), '; expire, seconds', chr(10),
format('%-17s', ''), format('%-12s', zf.minimum_ttl), '; minimum TTL, seconds', chr(10),
format('%-17s', ''), ')'
) FROM zonefile_settings zf WHERE i_origin = zf.origin INTO tmp_var;
ret = concat(tmp_var, chr(10), chr(10));
-- origin ns records
SELECT ns_records FROM zonefile_settings zf WHERE i_origin = zf.origin INTO tmp_var;
ret := concat(ret, '; Zone NS Records', chr(10), tmp_var, chr(10));
-- ns records
SELECT array_to_string(
array(
SELECT concat(d.name_puny, '. IN NS ', coalesce(ns.hostname_puny, ns.hostname), '.')
FROM domains d
JOIN nameservers ns ON ns.domain_id = d.id
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
AND NOT ('{serverHold,clientHold,inactive}' && d.statuses)
ORDER BY d.name
),
chr(10)
) INTO tmp_var;
ret := concat(ret, tmp_var, chr(10), chr(10));
-- origin a glue records
SELECT a_records FROM zonefile_settings zf WHERE i_origin = zf.origin INTO tmp_var;
ret := concat(ret, '; Zone A Records', chr(10), tmp_var, chr(10));
-- a glue records for other nameservers
SELECT array_to_string(
array(
SELECT concat(coalesce(ns.hostname_puny, ns.hostname), '. IN A ', unnest(ns.ipv4))
FROM nameservers ns
JOIN domains d ON d.id = ns.domain_id
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
AND ns.hostname LIKE '%.' || d.name
AND d.name <> i_origin
AND ns.ipv4 IS NOT NULL AND ns.ipv4 <> '{}'
AND NOT ('{serverHold,clientHold,inactive}' && d.statuses)
), chr(10)
) INTO tmp_var;
ret := concat(ret, tmp_var, chr(10), chr(10));
-- origin aaaa glue records
SELECT a4_records FROM zonefile_settings zf WHERE i_origin = zf.origin INTO tmp_var;
ret := concat(ret, '; Zone AAAA Records', chr(10), tmp_var, chr(10));
-- aaaa glue records for other nameservers
SELECT array_to_string(
array(
SELECT concat(coalesce(ns.hostname_puny, ns.hostname), '. IN AAAA ', unnest(ns.ipv6))
FROM nameservers ns
JOIN domains d ON d.id = ns.domain_id
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
AND ns.hostname LIKE '%.' || d.name
AND d.name <> i_origin
AND ns.ipv6 IS NOT NULL AND ns.ipv6 <> '{}'
AND NOT ('{serverHold,clientHold,inactive}' && d.statuses)
), chr(10)
) INTO tmp_var;
ret := concat(ret, tmp_var, chr(10), chr(10));
-- ds records
SELECT array_to_string(
array(
SELECT concat(
d.name_puny, '. 3600 IN DS ', dk.ds_key_tag, ' ',
dk.ds_alg, ' ', dk.ds_digest_type, ' ', dk.ds_digest
)
FROM domains d
JOIN dnskeys dk ON dk.domain_id = d.id
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter AND dk.flags = 257
AND NOT ('{serverHold,clientHold,inactive}' && d.statuses)
),
chr(10)
) INTO tmp_var;
ret := concat(ret, '; Zone DS Records', chr(10), tmp_var, chr(10));
RETURN ret;
END;
$_$;
SQL
end
end

View file

@ -11,7 +11,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20170221115548) do ActiveRecord::Schema.define(version: 20170422130054) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"

View file

@ -167,7 +167,7 @@ CREATE FUNCTION generate_zonefile(i_origin character varying) RETURNS text
exclude_filter varchar := ''; exclude_filter varchar := '';
tmp_var text; tmp_var text;
ret text; ret text;
BEGIN BEGIN
-- define filters -- define filters
include_filter = '%.' || i_origin; include_filter = '%.' || i_origin;
@ -203,7 +203,7 @@ CREATE FUNCTION generate_zonefile(i_origin character varying) RETURNS text
-- ns records -- ns records
SELECT array_to_string( SELECT array_to_string(
array( array(
SELECT concat(d.name_puny, '. IN NS ', ns.hostname, '.') SELECT concat(d.name_puny, '. IN NS ', coalesce(ns.hostname_puny, ns.hostname), '.')
FROM domains d FROM domains d
JOIN nameservers ns ON ns.domain_id = d.id JOIN nameservers ns ON ns.domain_id = d.id
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
@ -222,7 +222,7 @@ CREATE FUNCTION generate_zonefile(i_origin character varying) RETURNS text
-- a glue records for other nameservers -- a glue records for other nameservers
SELECT array_to_string( SELECT array_to_string(
array( array(
SELECT concat(ns.hostname, '. IN A ', unnest(ns.ipv4)) SELECT concat(coalesce(ns.hostname_puny, ns.hostname), '. IN A ', unnest(ns.ipv4))
FROM nameservers ns FROM nameservers ns
JOIN domains d ON d.id = ns.domain_id JOIN domains d ON d.id = ns.domain_id
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
@ -242,7 +242,7 @@ CREATE FUNCTION generate_zonefile(i_origin character varying) RETURNS text
-- aaaa glue records for other nameservers -- aaaa glue records for other nameservers
SELECT array_to_string( SELECT array_to_string(
array( array(
SELECT concat(ns.hostname, '. IN AAAA ', unnest(ns.ipv6)) SELECT concat(coalesce(ns.hostname_puny, ns.hostname), '. IN AAAA ', unnest(ns.ipv6))
FROM nameservers ns FROM nameservers ns
JOIN domains d ON d.id = ns.domain_id JOIN domains d ON d.id = ns.domain_id
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
@ -5280,3 +5280,5 @@ INSERT INTO schema_migrations (version) VALUES ('20161227193500');
INSERT INTO schema_migrations (version) VALUES ('20170221115548'); INSERT INTO schema_migrations (version) VALUES ('20170221115548');
INSERT INTO schema_migrations (version) VALUES ('20170422130054');