mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
Depp vendorized
This commit is contained in:
parent
98ace9d49f
commit
65f50c23f0
154 changed files with 4485 additions and 29 deletions
3
Gemfile
3
Gemfile
|
@ -65,8 +65,7 @@ gem 'deep_cloneable', '~> 2.1.1'
|
||||||
gem 'digidoc_client', '~> 0.2.1'
|
gem 'digidoc_client', '~> 0.2.1'
|
||||||
|
|
||||||
# epp + repp client
|
# epp + repp client
|
||||||
gem 'depp', github: 'domify/depp', ref: 'bac84dba62baa1b6465523f52df9eb3140f4d1ee'
|
gem 'depp', path: 'vendor/gems/depp'
|
||||||
# gem 'depp', path: '../depp'
|
|
||||||
gem 'epp', '~> 1.4.2', github: 'gitlabeu/epp'
|
gem 'epp', '~> 1.4.2', github: 'gitlabeu/epp'
|
||||||
|
|
||||||
# for importing legacy db
|
# for importing legacy db
|
||||||
|
|
52
Gemfile.lock
52
Gemfile.lock
|
@ -8,26 +8,6 @@ GIT
|
||||||
activesupport (>= 3.0, < 6.0)
|
activesupport (>= 3.0, < 6.0)
|
||||||
request_store (~> 1.1.0)
|
request_store (~> 1.1.0)
|
||||||
|
|
||||||
GIT
|
|
||||||
remote: git://github.com/domify/depp.git
|
|
||||||
revision: bac84dba62baa1b6465523f52df9eb3140f4d1ee
|
|
||||||
ref: bac84dba62baa1b6465523f52df9eb3140f4d1ee
|
|
||||||
specs:
|
|
||||||
depp (0.0.2)
|
|
||||||
coderay (>= 1.1.0)
|
|
||||||
coffee-rails (>= 4.1.0)
|
|
||||||
countries (>= 0.9.3)
|
|
||||||
epp-xml (>= 0.10.4)
|
|
||||||
figaro (>= 1.1.0)
|
|
||||||
haml-rails (>= 0.9.0)
|
|
||||||
jquery-rails (>= 4.0.3)
|
|
||||||
kaminari (~> 0.16.3)
|
|
||||||
nokogiri (>= 1.6.6.2)
|
|
||||||
rails (>= 4.2.1)
|
|
||||||
sass-rails (>= 5.0.0)
|
|
||||||
uglifier (>= 2.6.1)
|
|
||||||
uuidtools (>= 2.1.4)
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: git://github.com/gitlabeu/epp.git
|
remote: git://github.com/gitlabeu/epp.git
|
||||||
revision: 505c3f2739eb1da918e54111aecfb138a822739d
|
revision: 505c3f2739eb1da918e54111aecfb138a822739d
|
||||||
|
@ -47,6 +27,24 @@ GIT
|
||||||
nokogiri (~> 1.6.0)
|
nokogiri (~> 1.6.0)
|
||||||
ruby_parser (~> 3.5)
|
ruby_parser (~> 3.5)
|
||||||
|
|
||||||
|
PATH
|
||||||
|
remote: vendor/gems/depp
|
||||||
|
specs:
|
||||||
|
depp (0.0.2)
|
||||||
|
coderay (>= 1.1.0)
|
||||||
|
coffee-rails (>= 4.1.0)
|
||||||
|
countries (>= 0.9.3)
|
||||||
|
epp-xml (>= 0.10.4)
|
||||||
|
figaro (>= 1.1.0)
|
||||||
|
haml-rails (>= 0.9.0)
|
||||||
|
jquery-rails (>= 4.0.3)
|
||||||
|
kaminari (~> 0.16.3)
|
||||||
|
nokogiri (>= 1.6.6.2)
|
||||||
|
rails (>= 4.2.1)
|
||||||
|
sass-rails (>= 5.0.0)
|
||||||
|
uglifier (>= 2.6.1)
|
||||||
|
uuidtools (>= 2.1.4)
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
|
@ -147,7 +145,7 @@ GEM
|
||||||
coffee-rails (4.1.0)
|
coffee-rails (4.1.0)
|
||||||
coffee-script (>= 2.2.0)
|
coffee-script (>= 2.2.0)
|
||||||
railties (>= 4.0.0, < 5.0)
|
railties (>= 4.0.0, < 5.0)
|
||||||
coffee-script (2.3.0)
|
coffee-script (2.4.1)
|
||||||
coffee-script-source
|
coffee-script-source
|
||||||
execjs
|
execjs
|
||||||
coffee-script-source (1.9.1)
|
coffee-script-source (1.9.1)
|
||||||
|
@ -182,7 +180,7 @@ GEM
|
||||||
builder (~> 3.2)
|
builder (~> 3.2)
|
||||||
equalizer (0.0.11)
|
equalizer (0.0.11)
|
||||||
erubis (2.7.0)
|
erubis (2.7.0)
|
||||||
execjs (2.4.0)
|
execjs (2.5.0)
|
||||||
fabrication (2.12.2)
|
fabrication (2.12.2)
|
||||||
faker (1.3.0)
|
faker (1.3.0)
|
||||||
i18n (~> 0.5)
|
i18n (~> 0.5)
|
||||||
|
@ -223,7 +221,7 @@ GEM
|
||||||
guard-rubocop (1.1.0)
|
guard-rubocop (1.1.0)
|
||||||
guard (~> 2.0)
|
guard (~> 2.0)
|
||||||
rubocop (~> 0.20)
|
rubocop (~> 0.20)
|
||||||
gyoku (1.3.0)
|
gyoku (1.3.1)
|
||||||
builder (>= 2.1.2)
|
builder (>= 2.1.2)
|
||||||
haml (4.0.6)
|
haml (4.0.6)
|
||||||
tilt
|
tilt
|
||||||
|
@ -301,7 +299,7 @@ GEM
|
||||||
cliver (~> 0.3.1)
|
cliver (~> 0.3.1)
|
||||||
multi_json (~> 1.0)
|
multi_json (~> 1.0)
|
||||||
websocket-driver (>= 0.2.0)
|
websocket-driver (>= 0.2.0)
|
||||||
polyamorous (1.1.0)
|
polyamorous (1.2.0)
|
||||||
activerecord (>= 3.0)
|
activerecord (>= 3.0)
|
||||||
powerpack (0.0.9)
|
powerpack (0.0.9)
|
||||||
pry (0.10.1)
|
pry (0.10.1)
|
||||||
|
@ -405,7 +403,7 @@ GEM
|
||||||
virtus (~> 1.0)
|
virtus (~> 1.0)
|
||||||
safe_yaml (1.0.4)
|
safe_yaml (1.0.4)
|
||||||
sass (3.4.13)
|
sass (3.4.13)
|
||||||
sass-rails (5.0.2)
|
sass-rails (5.0.1)
|
||||||
railties (>= 4.0.0, < 5.0)
|
railties (>= 4.0.0, < 5.0)
|
||||||
sass (~> 3.1)
|
sass (~> 3.1)
|
||||||
sprockets (>= 2.8, < 4.0)
|
sprockets (>= 2.8, < 4.0)
|
||||||
|
@ -437,7 +435,7 @@ GEM
|
||||||
temple (~> 0.6.9)
|
temple (~> 0.6.9)
|
||||||
tilt (>= 1.3.3, < 2.1)
|
tilt (>= 1.3.3, < 2.1)
|
||||||
slop (3.6.0)
|
slop (3.6.0)
|
||||||
spring (1.3.3)
|
spring (1.3.4)
|
||||||
spring-commands-rspec (1.0.4)
|
spring-commands-rspec (1.0.4)
|
||||||
spring (>= 0.9.1)
|
spring (>= 0.9.1)
|
||||||
sprockets (2.12.3)
|
sprockets (2.12.3)
|
||||||
|
@ -454,7 +452,7 @@ GEM
|
||||||
systemu (2.6.5)
|
systemu (2.6.5)
|
||||||
temple (0.6.10)
|
temple (0.6.10)
|
||||||
terminal-table (1.4.5)
|
terminal-table (1.4.5)
|
||||||
therubyracer (0.12.1)
|
therubyracer (0.12.2)
|
||||||
libv8 (~> 3.16.14.0)
|
libv8 (~> 3.16.14.0)
|
||||||
ref
|
ref
|
||||||
thor (0.19.1)
|
thor (0.19.1)
|
||||||
|
|
1
depp
Symbolic link
1
depp
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
vendor/gems/depp
|
17
vendor/gems/depp/Gemfile
vendored
Normal file
17
vendor/gems/depp/Gemfile
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
|
# Declare your gem's dependencies in depp.gemspec.
|
||||||
|
# Bundler will treat runtime dependencies like base dependencies, and
|
||||||
|
# development dependencies will be added by default to the :development group.
|
||||||
|
gemspec
|
||||||
|
|
||||||
|
gem 'epp', '~> 1.4.2', github: 'gitlabeu/epp'
|
||||||
|
|
||||||
|
# Declare any dependencies that are still in development here instead of in
|
||||||
|
# your gemspec. These might include edge Rails or gems from your path or
|
||||||
|
# Git. Remember to move these dependencies to your gemspec before releasing
|
||||||
|
# your gem to rubygems.org.
|
||||||
|
|
||||||
|
# To use a debugger
|
||||||
|
# gem 'byebug', group: [:development, :test]
|
||||||
|
|
182
vendor/gems/depp/Gemfile.lock
vendored
Normal file
182
vendor/gems/depp/Gemfile.lock
vendored
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
GIT
|
||||||
|
remote: git://github.com/gitlabeu/epp.git
|
||||||
|
revision: 505c3f2739eb1da918e54111aecfb138a822739d
|
||||||
|
specs:
|
||||||
|
epp (1.4.2)
|
||||||
|
hpricot
|
||||||
|
libxml-ruby
|
||||||
|
|
||||||
|
PATH
|
||||||
|
remote: .
|
||||||
|
specs:
|
||||||
|
depp (0.0.2)
|
||||||
|
coderay (>= 1.1.0)
|
||||||
|
coffee-rails (>= 4.1.0)
|
||||||
|
countries (>= 0.9.3)
|
||||||
|
epp-xml (>= 0.10.4)
|
||||||
|
figaro (>= 1.1.0)
|
||||||
|
haml-rails (>= 0.9.0)
|
||||||
|
jquery-rails (>= 4.0.3)
|
||||||
|
nokogiri (>= 1.6.6.2)
|
||||||
|
rails (>= 4.2.1)
|
||||||
|
sass-rails (>= 5.0.0)
|
||||||
|
uglifier (>= 2.6.1)
|
||||||
|
uuidtools (>= 2.1.4)
|
||||||
|
|
||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
actionmailer (4.2.1)
|
||||||
|
actionpack (= 4.2.1)
|
||||||
|
actionview (= 4.2.1)
|
||||||
|
activejob (= 4.2.1)
|
||||||
|
mail (~> 2.5, >= 2.5.4)
|
||||||
|
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||||
|
actionpack (4.2.1)
|
||||||
|
actionview (= 4.2.1)
|
||||||
|
activesupport (= 4.2.1)
|
||||||
|
rack (~> 1.6)
|
||||||
|
rack-test (~> 0.6.2)
|
||||||
|
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||||
|
rails-html-sanitizer (~> 1.0, >= 1.0.1)
|
||||||
|
actionview (4.2.1)
|
||||||
|
activesupport (= 4.2.1)
|
||||||
|
builder (~> 3.1)
|
||||||
|
erubis (~> 2.7.0)
|
||||||
|
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||||
|
rails-html-sanitizer (~> 1.0, >= 1.0.1)
|
||||||
|
activejob (4.2.1)
|
||||||
|
activesupport (= 4.2.1)
|
||||||
|
globalid (>= 0.3.0)
|
||||||
|
activemodel (4.2.1)
|
||||||
|
activesupport (= 4.2.1)
|
||||||
|
builder (~> 3.1)
|
||||||
|
activerecord (4.2.1)
|
||||||
|
activemodel (= 4.2.1)
|
||||||
|
activesupport (= 4.2.1)
|
||||||
|
arel (~> 6.0)
|
||||||
|
activesupport (4.2.1)
|
||||||
|
i18n (~> 0.7)
|
||||||
|
json (~> 1.7, >= 1.7.7)
|
||||||
|
minitest (~> 5.1)
|
||||||
|
thread_safe (~> 0.3, >= 0.3.4)
|
||||||
|
tzinfo (~> 1.1)
|
||||||
|
arel (6.0.0)
|
||||||
|
builder (3.2.2)
|
||||||
|
coderay (1.1.0)
|
||||||
|
coffee-rails (4.1.0)
|
||||||
|
coffee-script (>= 2.2.0)
|
||||||
|
railties (>= 4.0.0, < 5.0)
|
||||||
|
coffee-script (2.3.0)
|
||||||
|
coffee-script-source
|
||||||
|
execjs
|
||||||
|
coffee-script-source (1.9.1)
|
||||||
|
countries (0.11.3)
|
||||||
|
currencies (~> 0.4.2)
|
||||||
|
i18n_data (~> 0.6.0)
|
||||||
|
currencies (0.4.2)
|
||||||
|
epp-xml (0.10.4)
|
||||||
|
activesupport (~> 4.1)
|
||||||
|
builder (~> 3.2)
|
||||||
|
erubis (2.7.0)
|
||||||
|
execjs (2.4.0)
|
||||||
|
figaro (1.1.0)
|
||||||
|
thor (~> 0.14)
|
||||||
|
globalid (0.3.3)
|
||||||
|
activesupport (>= 4.1.0)
|
||||||
|
haml (4.0.6)
|
||||||
|
tilt
|
||||||
|
haml-rails (0.9.0)
|
||||||
|
actionpack (>= 4.0.1)
|
||||||
|
activesupport (>= 4.0.1)
|
||||||
|
haml (>= 4.0.6, < 5.0)
|
||||||
|
html2haml (>= 1.0.1)
|
||||||
|
railties (>= 4.0.1)
|
||||||
|
hike (1.2.3)
|
||||||
|
hpricot (0.8.6)
|
||||||
|
html2haml (2.0.0)
|
||||||
|
erubis (~> 2.7.0)
|
||||||
|
haml (~> 4.0.0)
|
||||||
|
nokogiri (~> 1.6.0)
|
||||||
|
ruby_parser (~> 3.5)
|
||||||
|
i18n (0.7.0)
|
||||||
|
i18n_data (0.6.3)
|
||||||
|
jquery-rails (4.0.3)
|
||||||
|
rails-dom-testing (~> 1.0)
|
||||||
|
railties (>= 4.2.0)
|
||||||
|
thor (>= 0.14, < 2.0)
|
||||||
|
json (1.8.2)
|
||||||
|
libxml-ruby (2.8.0)
|
||||||
|
loofah (2.0.1)
|
||||||
|
nokogiri (>= 1.5.9)
|
||||||
|
mail (2.6.3)
|
||||||
|
mime-types (>= 1.16, < 3)
|
||||||
|
mime-types (2.4.3)
|
||||||
|
mini_portile (0.6.2)
|
||||||
|
minitest (5.5.1)
|
||||||
|
multi_json (1.11.0)
|
||||||
|
nokogiri (1.6.6.2)
|
||||||
|
mini_portile (~> 0.6.0)
|
||||||
|
rack (1.6.0)
|
||||||
|
rack-test (0.6.3)
|
||||||
|
rack (>= 1.0)
|
||||||
|
rails (4.2.1)
|
||||||
|
actionmailer (= 4.2.1)
|
||||||
|
actionpack (= 4.2.1)
|
||||||
|
actionview (= 4.2.1)
|
||||||
|
activejob (= 4.2.1)
|
||||||
|
activemodel (= 4.2.1)
|
||||||
|
activerecord (= 4.2.1)
|
||||||
|
activesupport (= 4.2.1)
|
||||||
|
bundler (>= 1.3.0, < 2.0)
|
||||||
|
railties (= 4.2.1)
|
||||||
|
sprockets-rails
|
||||||
|
rails-deprecated_sanitizer (1.0.3)
|
||||||
|
activesupport (>= 4.2.0.alpha)
|
||||||
|
rails-dom-testing (1.0.6)
|
||||||
|
activesupport (>= 4.2.0.beta, < 5.0)
|
||||||
|
nokogiri (~> 1.6.0)
|
||||||
|
rails-deprecated_sanitizer (>= 1.0.1)
|
||||||
|
rails-html-sanitizer (1.0.2)
|
||||||
|
loofah (~> 2.0)
|
||||||
|
railties (4.2.1)
|
||||||
|
actionpack (= 4.2.1)
|
||||||
|
activesupport (= 4.2.1)
|
||||||
|
rake (>= 0.8.7)
|
||||||
|
thor (>= 0.18.1, < 2.0)
|
||||||
|
rake (10.4.2)
|
||||||
|
ruby_parser (3.6.5)
|
||||||
|
sexp_processor (~> 4.1)
|
||||||
|
sass (3.4.13)
|
||||||
|
sass-rails (5.0.1)
|
||||||
|
railties (>= 4.0.0, < 5.0)
|
||||||
|
sass (~> 3.1)
|
||||||
|
sprockets (>= 2.8, < 4.0)
|
||||||
|
sprockets-rails (>= 2.0, < 4.0)
|
||||||
|
tilt (~> 1.1)
|
||||||
|
sexp_processor (4.5.0)
|
||||||
|
sprockets (2.12.3)
|
||||||
|
hike (~> 1.2)
|
||||||
|
multi_json (~> 1.0)
|
||||||
|
rack (~> 1.0)
|
||||||
|
tilt (~> 1.1, != 1.3.0)
|
||||||
|
sprockets-rails (2.2.4)
|
||||||
|
actionpack (>= 3.0)
|
||||||
|
activesupport (>= 3.0)
|
||||||
|
sprockets (>= 2.8, < 4.0)
|
||||||
|
thor (0.19.1)
|
||||||
|
thread_safe (0.3.5)
|
||||||
|
tilt (1.4.1)
|
||||||
|
tzinfo (1.2.2)
|
||||||
|
thread_safe (~> 0.1)
|
||||||
|
uglifier (2.7.1)
|
||||||
|
execjs (>= 0.3.0)
|
||||||
|
json (>= 1.8.0)
|
||||||
|
uuidtools (2.1.5)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
depp!
|
||||||
|
epp (~> 1.4.2)!
|
20
vendor/gems/depp/MIT-LICENSE
vendored
Normal file
20
vendor/gems/depp/MIT-LICENSE
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
Copyright 2015 Priit Tark
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
23
vendor/gems/depp/README.md
vendored
Normal file
23
vendor/gems/depp/README.md
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
Depp
|
||||||
|
====
|
||||||
|
|
||||||
|
EPP/REPP Rails engine
|
||||||
|
|
||||||
|
Installation
|
||||||
|
------------
|
||||||
|
|
||||||
|
Add Depp and epp to your Gemfile:
|
||||||
|
|
||||||
|
gem 'depp', github: 'domify/depp'
|
||||||
|
gem 'epp', '~> 1.4.2', github: 'gitlabeu/epp'
|
||||||
|
|
||||||
|
Mount Depp to your application routes, example:
|
||||||
|
|
||||||
|
mount Depp::Engine, at: '/depp'
|
||||||
|
|
||||||
|
Depp requires login_url helper, example in routes:
|
||||||
|
|
||||||
|
get '/login', to: 'sessions#login', as: 'login'
|
||||||
|
|
||||||
|
Depp requires current_user helper in controller
|
||||||
|
|
37
vendor/gems/depp/Rakefile
vendored
Normal file
37
vendor/gems/depp/Rakefile
vendored
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
begin
|
||||||
|
require 'bundler/setup'
|
||||||
|
rescue LoadError
|
||||||
|
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'rdoc/task'
|
||||||
|
|
||||||
|
RDoc::Task.new(:rdoc) do |rdoc|
|
||||||
|
rdoc.rdoc_dir = 'rdoc'
|
||||||
|
rdoc.title = 'Depp'
|
||||||
|
rdoc.options << '--line-numbers'
|
||||||
|
rdoc.rdoc_files.include('README.rdoc')
|
||||||
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
||||||
|
end
|
||||||
|
|
||||||
|
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
||||||
|
load 'rails/tasks/engine.rake'
|
||||||
|
|
||||||
|
|
||||||
|
load 'rails/tasks/statistics.rake'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Bundler::GemHelper.install_tasks
|
||||||
|
|
||||||
|
require 'rake/testtask'
|
||||||
|
|
||||||
|
Rake::TestTask.new(:test) do |t|
|
||||||
|
t.libs << 'lib'
|
||||||
|
t.libs << 'test'
|
||||||
|
t.pattern = 'test/**/*_test.rb'
|
||||||
|
t.verbose = false
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
task default: :test
|
1
vendor/gems/depp/TODO
vendored
Normal file
1
vendor/gems/depp/TODO
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* add config/application.yml default with rake task
|
0
vendor/gems/depp/app/assets/images/depp/.keep
vendored
Normal file
0
vendor/gems/depp/app/assets/images/depp/.keep
vendored
Normal file
BIN
vendor/gems/depp/app/assets/images/depp/bg-alpha.png
vendored
Normal file
BIN
vendor/gems/depp/app/assets/images/depp/bg-alpha.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.9 KiB |
BIN
vendor/gems/depp/app/assets/images/depp/bg-development.png
vendored
Normal file
BIN
vendor/gems/depp/app/assets/images/depp/bg-development.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
vendor/gems/depp/app/assets/images/depp/bg-staging.png
vendored
Normal file
BIN
vendor/gems/depp/app/assets/images/depp/bg-staging.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
0
vendor/gems/depp/app/assets/images/depp/favicon.ico
vendored
Normal file
0
vendor/gems/depp/app/assets/images/depp/favicon.ico
vendored
Normal file
31
vendor/gems/depp/app/assets/javascripts/depp/application.coffee
vendored
Normal file
31
vendor/gems/depp/app/assets/javascripts/depp/application.coffee
vendored
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#= require jquery
|
||||||
|
#= require jquery_ujs
|
||||||
|
#= require turbolinks
|
||||||
|
#= require bootstrap-sprockets
|
||||||
|
#= require jquery.nested_attributes
|
||||||
|
|
||||||
|
$(document).on 'ready page:load', ->
|
||||||
|
$('.js-contact-form').on 'restoreDefault', (e) ->
|
||||||
|
form = $(e.target)
|
||||||
|
form.find('.js-ident-tip').hide()
|
||||||
|
switch $('.js-ident-country-code option:selected').val()
|
||||||
|
when 'EE'
|
||||||
|
$('.js-ident-type').find('option[value=birthday]').prop('disabled', true)
|
||||||
|
else
|
||||||
|
$('.js-ident-type').find('option[value=birthday]').prop('disabled', false)
|
||||||
|
|
||||||
|
$('.js-ident-country-code').change (e) ->
|
||||||
|
form = $('.js-contact-form')
|
||||||
|
form.trigger 'restoreDefault'
|
||||||
|
|
||||||
|
$('.js-ident-type').change (e) ->
|
||||||
|
form = $('.js-contact-form')
|
||||||
|
form.trigger 'restoreDefault'
|
||||||
|
|
||||||
|
switch e.target.value
|
||||||
|
# when 'bic'
|
||||||
|
# when 'priv'
|
||||||
|
when 'birthday'
|
||||||
|
form.find('.js-ident-tip').show()
|
||||||
|
|
||||||
|
$('.js-contact-form').trigger('restoreDefault')
|
3
vendor/gems/depp/app/assets/stylesheets/depp/application.scss
vendored
Normal file
3
vendor/gems/depp/app/assets/stylesheets/depp/application.scss
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
//= require './custom-boostrap'
|
||||||
|
//= require './general'
|
||||||
|
//= require './overwrites'
|
5
vendor/gems/depp/app/assets/stylesheets/depp/custom-boostrap.scss
vendored
Normal file
5
vendor/gems/depp/app/assets/stylesheets/depp/custom-boostrap.scss
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
$font-family-sans-serif: 'EtelkaLightProRegular', Arial, Helvetica, sans-serif;
|
||||||
|
$font-family-serif: 'EtelkaLightProBold', Georgia, "Times New Roman", Times, serif;
|
||||||
|
|
||||||
|
@import "bootstrap-sprockets";
|
||||||
|
@import "bootstrap";
|
226
vendor/gems/depp/app/assets/stylesheets/depp/general.sass
vendored
Normal file
226
vendor/gems/depp/app/assets/stylesheets/depp/general.sass
vendored
Normal file
|
@ -0,0 +1,226 @@
|
||||||
|
html
|
||||||
|
font-size: 100%
|
||||||
|
overflow-y: scroll
|
||||||
|
-webkit-text-size-adjust: 100%
|
||||||
|
-ms-text-size-adjust: 100%
|
||||||
|
|
||||||
|
body
|
||||||
|
background: url(image_path('bg.jpg'))
|
||||||
|
|
||||||
|
h1
|
||||||
|
font-size: 26px
|
||||||
|
margin-bottom: 16px
|
||||||
|
|
||||||
|
a
|
||||||
|
color: #008fd7
|
||||||
|
text-decoration: none
|
||||||
|
|
||||||
|
a:hover,
|
||||||
|
a:active
|
||||||
|
color: #008fd7
|
||||||
|
outline: 0
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h1 a, h2 a, h3 a, h4 a
|
||||||
|
color: #272f34
|
||||||
|
text-decoration: none
|
||||||
|
font-weight: normal
|
||||||
|
font-family: 'EtelkaLightProBold'
|
||||||
|
|
||||||
|
h1
|
||||||
|
font-size: 22px
|
||||||
|
text-transform: uppercase
|
||||||
|
|
||||||
|
body,
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea
|
||||||
|
font-family: 'EtelkaLightProRegular', Arial, Helvetica, sans-serif
|
||||||
|
color: #5d6064
|
||||||
|
font-size: 13px
|
||||||
|
|
||||||
|
abbr[title]
|
||||||
|
border-bottom: 1px dotted
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong
|
||||||
|
font-weight: normal
|
||||||
|
font-family: 'EtelkaLightProBold'
|
||||||
|
|
||||||
|
blockquote
|
||||||
|
margin: 1em 40px
|
||||||
|
|
||||||
|
dfn
|
||||||
|
font-style: italic
|
||||||
|
|
||||||
|
mark
|
||||||
|
background: #ff0
|
||||||
|
color: #000
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp
|
||||||
|
font-family: monospace, serif
|
||||||
|
_font-family: 'courier new', monospace
|
||||||
|
font-size: 1em
|
||||||
|
|
||||||
|
pre
|
||||||
|
white-space: pre
|
||||||
|
white-space: pre-wrap
|
||||||
|
word-wrap: break-word
|
||||||
|
|
||||||
|
q
|
||||||
|
quotes: none
|
||||||
|
|
||||||
|
q:before,
|
||||||
|
q:after
|
||||||
|
content: ''
|
||||||
|
content: none
|
||||||
|
|
||||||
|
small
|
||||||
|
font-size: 75%
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup
|
||||||
|
font-size: 75%
|
||||||
|
line-height: 0
|
||||||
|
position: relative
|
||||||
|
vertical-align: baseline
|
||||||
|
|
||||||
|
sup
|
||||||
|
top: -0.5em
|
||||||
|
|
||||||
|
sub
|
||||||
|
bottom: -0.25em
|
||||||
|
|
||||||
|
.title-row
|
||||||
|
margin-bottom: 22px
|
||||||
|
|
||||||
|
.app-nav
|
||||||
|
padding-top: 7px
|
||||||
|
|
||||||
|
.general-tab
|
||||||
|
padding-top: 30px
|
||||||
|
padding-right: 20px
|
||||||
|
border-top: 0px
|
||||||
|
|
||||||
|
.container
|
||||||
|
border-radius: 3px
|
||||||
|
width: 860px
|
||||||
|
body > .container
|
||||||
|
background: #F8F8F8
|
||||||
|
margin-bottom: 50px
|
||||||
|
min-height: 600px
|
||||||
|
padding: 30px 30px 56px 30px
|
||||||
|
|
||||||
|
.container.version
|
||||||
|
background: transparent
|
||||||
|
margin-top: -116px
|
||||||
|
min-height: 0px
|
||||||
|
text-align: right
|
||||||
|
font-size: 12px
|
||||||
|
color: gray
|
||||||
|
|
||||||
|
.container.subnav
|
||||||
|
background: transparent
|
||||||
|
min-height: 0
|
||||||
|
padding: 0 46px 0 0
|
||||||
|
margin-bottom: 0
|
||||||
|
ul.nav
|
||||||
|
li a
|
||||||
|
background: #E7E7E7
|
||||||
|
height: 33px
|
||||||
|
line-height: 12px
|
||||||
|
color: gray
|
||||||
|
&:hover
|
||||||
|
color: #333
|
||||||
|
li.active a
|
||||||
|
background: #F8F8F8
|
||||||
|
font-weight: bold
|
||||||
|
color: #333
|
||||||
|
|
||||||
|
|
||||||
|
.subactions
|
||||||
|
h4
|
||||||
|
margin-bottom: 20px
|
||||||
|
margin-top: 10px
|
||||||
|
min-height: 600px
|
||||||
|
|
||||||
|
.sidebar
|
||||||
|
min-height: 400px
|
||||||
|
|
||||||
|
.content
|
||||||
|
margin-right: 240px
|
||||||
|
margin-left: 0
|
||||||
|
|
||||||
|
h4
|
||||||
|
margin: 0
|
||||||
|
|
||||||
|
.top-actions
|
||||||
|
margin-top: 12px
|
||||||
|
margin-bottom: 16px
|
||||||
|
float: right
|
||||||
|
|
||||||
|
.navbar-brand
|
||||||
|
line-height: 12px
|
||||||
|
padding-top: 20px
|
||||||
|
padding-bottom: 5px
|
||||||
|
|
||||||
|
.navbar-brand small
|
||||||
|
display: block
|
||||||
|
font-size: 10px
|
||||||
|
|
||||||
|
.footer
|
||||||
|
color: #777
|
||||||
|
padding-top: 70px
|
||||||
|
padding-bottom: 10px
|
||||||
|
font-size: 10px
|
||||||
|
|
||||||
|
.domify
|
||||||
|
td
|
||||||
|
vertical-align: middle !important
|
||||||
|
|
||||||
|
body.login
|
||||||
|
padding-top: 40px
|
||||||
|
padding-bottom: 40px
|
||||||
|
|
||||||
|
.form-signin
|
||||||
|
.form-signin-heading,
|
||||||
|
.form-signin
|
||||||
|
.checkbox
|
||||||
|
margin-bottom: 10px
|
||||||
|
|
||||||
|
.form-signin
|
||||||
|
max-width: 330px
|
||||||
|
padding: 15px
|
||||||
|
margin: 0 auto
|
||||||
|
|
||||||
|
input[type="text"]
|
||||||
|
margin-bottom: 8px
|
||||||
|
|
||||||
|
input[type="password"]
|
||||||
|
margin-bottom: 10px
|
||||||
|
|
||||||
|
.btn-lg
|
||||||
|
margin-top: 28px
|
||||||
|
|
||||||
|
.checkbox
|
||||||
|
font-weight: normal
|
||||||
|
|
||||||
|
.form-control
|
||||||
|
position: relative
|
||||||
|
height: auto
|
||||||
|
-webkit-box-sizing: border-box
|
||||||
|
-moz-box-sizing: border-box
|
||||||
|
box-sizing: border-box
|
||||||
|
padding: 10px
|
||||||
|
font-size: 16px
|
||||||
|
|
||||||
|
.form-control:focus
|
||||||
|
z-index: 2
|
||||||
|
|
||||||
|
// fix label position for medium screen
|
||||||
|
@media (min-width: 768px) and (max-width: 991px)
|
||||||
|
.form-horizontal .control-label
|
||||||
|
text-align: left
|
1
vendor/gems/depp/app/assets/stylesheets/depp/overwrites.sass
vendored
Normal file
1
vendor/gems/depp/app/assets/stylesheets/depp/overwrites.sass
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
// Overwrite this file at your application app/assets/stylesheets/depp/overwrite.sass
|
54
vendor/gems/depp/app/controllers/depp/application_controller.rb
vendored
Normal file
54
vendor/gems/depp/app/controllers/depp/application_controller.rb
vendored
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
module Depp
|
||||||
|
# class ApplicationController < ::ApplicationController
|
||||||
|
class ApplicationController < ActionController::Base
|
||||||
|
include CurrentUserHelper
|
||||||
|
include ApplicationHelper
|
||||||
|
|
||||||
|
# Prevent CSRF attacks by raising an exception.
|
||||||
|
# For APIs, you may want to use :null_session instead.
|
||||||
|
protect_from_forgery with: :exception
|
||||||
|
|
||||||
|
helper_method :depp_current_user
|
||||||
|
|
||||||
|
rescue_from(Errno::ECONNRESET, Errno::ECONNREFUSED) do |exception|
|
||||||
|
redirect_to login_url, alert: t(:no_connection_to_registry)
|
||||||
|
end
|
||||||
|
|
||||||
|
before_action :authenticate_user
|
||||||
|
def authenticate_user
|
||||||
|
if ENV['session_timeout']
|
||||||
|
redirect_to main_app.login_url and return unless depp_current_user && session[:last_seen]
|
||||||
|
|
||||||
|
if (session[:last_seen].to_i + ENV['session_timeout'].to_i) < Time.now.to_i
|
||||||
|
session_timeout
|
||||||
|
else
|
||||||
|
session[:last_seen] = Time.now.to_i
|
||||||
|
end
|
||||||
|
else
|
||||||
|
redirect_to main_app.login_url and return unless depp_current_user
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def session_timeout
|
||||||
|
reset_session
|
||||||
|
flash[:alert] = t('your_session_has_timed_out')
|
||||||
|
redirect_to main_app.login_url and return
|
||||||
|
end
|
||||||
|
|
||||||
|
def depp_current_user
|
||||||
|
return nil unless current_user
|
||||||
|
@depp_current_user ||= Depp::User.new(
|
||||||
|
tag: current_user.username,
|
||||||
|
password: current_user.password
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
def response_ok?
|
||||||
|
@data.css('result').each do |x|
|
||||||
|
success_codes = %(1000, 1300, 1301)
|
||||||
|
return false unless success_codes.include?(x['code'])
|
||||||
|
end
|
||||||
|
true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
84
vendor/gems/depp/app/controllers/depp/contacts_controller.rb
vendored
Normal file
84
vendor/gems/depp/app/controllers/depp/contacts_controller.rb
vendored
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
module Depp
|
||||||
|
class ContactsController < ApplicationController
|
||||||
|
before_action :init_epp_contact
|
||||||
|
|
||||||
|
def index
|
||||||
|
limit, offset = pagination_details
|
||||||
|
|
||||||
|
res = depp_current_user.repp_request('contacts', { details: true, limit: limit, offset: offset })
|
||||||
|
flash.now[:epp_results] = [{ 'code' => res.code, 'msg' => res.message }]
|
||||||
|
@response = res.parsed_body.with_indifferent_access if res.code == '200'
|
||||||
|
@contacts = @response ? @response[:contacts] : []
|
||||||
|
|
||||||
|
@paginatable_array = Kaminari.paginate_array(
|
||||||
|
[], total_count: @response[:total_number_of_records]
|
||||||
|
).page(params[:page]).per(limit)
|
||||||
|
end
|
||||||
|
|
||||||
|
def new
|
||||||
|
@contact = Depp::Contact.new
|
||||||
|
end
|
||||||
|
|
||||||
|
def show
|
||||||
|
@contact = Depp::Contact.find_by_id(params[:id])
|
||||||
|
end
|
||||||
|
|
||||||
|
def edit
|
||||||
|
@contact = Depp::Contact.find_by_id(params[:id])
|
||||||
|
end
|
||||||
|
|
||||||
|
def create
|
||||||
|
@contact = Depp::Contact.new(params[:contact])
|
||||||
|
|
||||||
|
if @contact.save
|
||||||
|
redirect_to contact_url(@contact.id)
|
||||||
|
else
|
||||||
|
render 'new'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
@contact = Depp::Contact.new(params[:contact])
|
||||||
|
|
||||||
|
if @contact.update_attributes(params[:contact])
|
||||||
|
redirect_to contact_url(@contact.id)
|
||||||
|
else
|
||||||
|
render 'edit'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete
|
||||||
|
@contact = Depp::Contact.find_by_id(params[:id])
|
||||||
|
end
|
||||||
|
|
||||||
|
def destroy
|
||||||
|
@contact = Depp::Contact.new(params[:contact])
|
||||||
|
|
||||||
|
if @contact.delete
|
||||||
|
redirect_to contacts_url, notice: t(:destroyed)
|
||||||
|
else
|
||||||
|
render 'delete'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def check
|
||||||
|
@ids = params[:contacts]
|
||||||
|
# if @ids
|
||||||
|
# @contacts = []
|
||||||
|
# @ids.split(',').each do |id|
|
||||||
|
# @contacts << id.strip
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
return unless @ids
|
||||||
|
|
||||||
|
@data = @contact.check(@ids)
|
||||||
|
@contacts = Depp::Contact.construct_check_hash_from_data(@data)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def init_epp_contact
|
||||||
|
Depp::Contact.user = depp_current_user
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
107
vendor/gems/depp/app/controllers/depp/domains_controller.rb
vendored
Normal file
107
vendor/gems/depp/app/controllers/depp/domains_controller.rb
vendored
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
module Depp
|
||||||
|
class DomainsController < ApplicationController
|
||||||
|
before_action :init_domain, except: :new
|
||||||
|
|
||||||
|
def index
|
||||||
|
limit, offset = pagination_details
|
||||||
|
|
||||||
|
res = depp_current_user.repp_request('domains', { details: true, limit: limit, offset: offset })
|
||||||
|
flash.now[:epp_results] = [{ 'code' => res.code, 'msg' => res.message }]
|
||||||
|
@response = res.parsed_body.with_indifferent_access if res.code == '200'
|
||||||
|
@contacts = @response ? @response[:contacts] : []
|
||||||
|
|
||||||
|
@paginatable_array = Kaminari.paginate_array(
|
||||||
|
[], total_count: @response[:total_number_of_records]
|
||||||
|
).page(params[:page]).per(limit)
|
||||||
|
end
|
||||||
|
|
||||||
|
def info
|
||||||
|
@data = @domain.info(params[:domain_name]) if params[:domain_name]
|
||||||
|
if response_ok?
|
||||||
|
render 'info'
|
||||||
|
else
|
||||||
|
flash[:alert] = t('domain_not_found')
|
||||||
|
redirect_to domains_path and return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def check
|
||||||
|
if params[:domain_name]
|
||||||
|
@data = @domain.check(params[:domain_name])
|
||||||
|
render 'check_index' and return unless response_ok?
|
||||||
|
else
|
||||||
|
render 'check_index'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def new
|
||||||
|
@domain_params = Depp::Domain.default_params
|
||||||
|
end
|
||||||
|
|
||||||
|
def create
|
||||||
|
@domain_params = params[:domain]
|
||||||
|
@data = @domain.create(@domain_params)
|
||||||
|
|
||||||
|
if response_ok?
|
||||||
|
redirect_to info_domains_path(domain_name: @domain_params[:name])
|
||||||
|
else
|
||||||
|
render 'new'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def edit
|
||||||
|
@data = @domain.info(params[:domain_name])
|
||||||
|
@domain_params = Depp::Domain.construct_params_from_server_data(@data)
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
@domain_params = params[:domain]
|
||||||
|
@data = @domain.update(@domain_params)
|
||||||
|
|
||||||
|
if response_ok?
|
||||||
|
redirect_to info_domains_path(domain_name: @domain_params[:name])
|
||||||
|
else
|
||||||
|
params[:domain_name] = @domain_params[:name]
|
||||||
|
render 'new'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete; end
|
||||||
|
|
||||||
|
def destroy
|
||||||
|
@data = @domain.delete(params[:domain])
|
||||||
|
@results = @data.css('result')
|
||||||
|
if response_ok?
|
||||||
|
params[:domain_name] = nil
|
||||||
|
render 'info_index'
|
||||||
|
else
|
||||||
|
params[:domain_name] = params[:domain][:name]
|
||||||
|
render 'delete'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def renew
|
||||||
|
if params[:domain_name] && params[:cur_exp_date]
|
||||||
|
@data = @domain.renew(params)
|
||||||
|
render 'renew_index' and return unless response_ok?
|
||||||
|
else
|
||||||
|
render 'renew_index'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def transfer
|
||||||
|
if params[:domain_name]
|
||||||
|
@data = @domain.transfer(params)
|
||||||
|
render 'transfer_index' and return unless response_ok?
|
||||||
|
else
|
||||||
|
render 'transfer_index'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def init_domain
|
||||||
|
@domain = Depp::Domain.new(current_user: depp_current_user)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
17
vendor/gems/depp/app/controllers/depp/keyrelays_controller.rb
vendored
Normal file
17
vendor/gems/depp/app/controllers/depp/keyrelays_controller.rb
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
module Depp
|
||||||
|
class KeyrelaysController < ApplicationController
|
||||||
|
def show; end
|
||||||
|
|
||||||
|
def create
|
||||||
|
keyrelay = Depp::Keyrelay.new(current_user: depp_current_user)
|
||||||
|
@data = keyrelay.keyrelay(params)
|
||||||
|
|
||||||
|
if response_ok?
|
||||||
|
flash[:epp_results] = [{ 'code' => '1000', 'msg' => 'Command completed successfully' }]
|
||||||
|
redirect_to keyrelay_path
|
||||||
|
else
|
||||||
|
render 'show'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
50
vendor/gems/depp/app/controllers/depp/polls_controller.rb
vendored
Normal file
50
vendor/gems/depp/app/controllers/depp/polls_controller.rb
vendored
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
module Depp
|
||||||
|
class PollsController < ApplicationController
|
||||||
|
before_action :init_epp_xml
|
||||||
|
|
||||||
|
def show
|
||||||
|
@data = depp_current_user.request(@ex.poll)
|
||||||
|
end
|
||||||
|
|
||||||
|
def destroy
|
||||||
|
@data = depp_current_user.request(@ex.poll(poll: {
|
||||||
|
value: '', attrs: { op: 'ack', msgID: params[:id] }
|
||||||
|
}))
|
||||||
|
|
||||||
|
@results = @data.css('result')
|
||||||
|
|
||||||
|
@data = depp_current_user.request(@ex.poll)
|
||||||
|
render 'show'
|
||||||
|
end
|
||||||
|
|
||||||
|
def confirm_keyrelay
|
||||||
|
domain_params = params[:domain]
|
||||||
|
@data = @domain.confirm_keyrelay(domain_params)
|
||||||
|
|
||||||
|
if response_ok?
|
||||||
|
redirect_to info_domains_path(domain_name: domain_params[:name])
|
||||||
|
else
|
||||||
|
@results = @data.css('result')
|
||||||
|
@data = depp_current_user.request(@ex.poll)
|
||||||
|
render 'show'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def confirm_transfer
|
||||||
|
domain_params = params[:domain]
|
||||||
|
@data = @domain.confirm_transfer(domain_params)
|
||||||
|
|
||||||
|
@results = @data.css('result')
|
||||||
|
@data = depp_current_user.request(@ex.poll)
|
||||||
|
|
||||||
|
render 'show'
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def init_epp_xml
|
||||||
|
@ex = EppXml::Session.new(cl_trid_prefix: depp_current_user.tag)
|
||||||
|
@domain = Depp::Domain.new(current_user: depp_current_user)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
23
vendor/gems/depp/app/controllers/depp/xml_consoles_controller.rb
vendored
Normal file
23
vendor/gems/depp/app/controllers/depp/xml_consoles_controller.rb
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
module Depp
|
||||||
|
class XmlConsolesController < ApplicationController
|
||||||
|
def show; end
|
||||||
|
|
||||||
|
def create
|
||||||
|
begin
|
||||||
|
@result = depp_current_user.server.request(params[:payload])
|
||||||
|
rescue
|
||||||
|
@result = 'CONNECTION ERROR - Is the EPP server running?'
|
||||||
|
end
|
||||||
|
render :show
|
||||||
|
end
|
||||||
|
|
||||||
|
def load_xml
|
||||||
|
# binding.pry
|
||||||
|
cl_trid = "#{depp_current_user.tag}-#{Time.now.to_i}"
|
||||||
|
xml_dir_path = Depp::Engine.root + 'app/views/depp/xml_consoles/epp_requests'
|
||||||
|
xml = File.read("#{xml_dir_path}/#{params[:obj]}/#{params[:epp_action]}.xml")
|
||||||
|
xml.gsub!('<clTRID>ABC-12345</clTRID>', "<clTRID>#{cl_trid}</clTRID>")
|
||||||
|
render text: xml
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
29
vendor/gems/depp/app/helpers/depp/application_helper.rb
vendored
Normal file
29
vendor/gems/depp/app/helpers/depp/application_helper.rb
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
module Depp
|
||||||
|
module ApplicationHelper
|
||||||
|
def unstable_env
|
||||||
|
return nil if Rails.env.production?
|
||||||
|
Rails.env
|
||||||
|
end
|
||||||
|
|
||||||
|
def env_style
|
||||||
|
return '' if unstable_env.nil?
|
||||||
|
"background-image: url(#{image_path("depp/bg-#{unstable_env}.png")});"
|
||||||
|
end
|
||||||
|
|
||||||
|
def ident_for(contact)
|
||||||
|
case contact.ident_type
|
||||||
|
when 'birthday'
|
||||||
|
"#{contact.ident} [#{contact.ident_type}]"
|
||||||
|
else
|
||||||
|
"#{contact.ident} [#{contact.ident_country_code} #{contact.ident_type}]"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def pagination_details
|
||||||
|
params[:page] ||= 1
|
||||||
|
limit = ENV['depp_records_on_page'] || DEPP_RECORDS_ON_PAGE
|
||||||
|
offset = ((params[:page].to_i - 1) * limit.to_i)
|
||||||
|
[limit, offset]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
0
vendor/gems/depp/app/models/depp/concerns/.keep
vendored
Normal file
0
vendor/gems/depp/app/models/depp/concerns/.keep
vendored
Normal file
293
vendor/gems/depp/app/models/depp/contact.rb
vendored
Normal file
293
vendor/gems/depp/app/models/depp/contact.rb
vendored
Normal file
|
@ -0,0 +1,293 @@
|
||||||
|
module Depp
|
||||||
|
class Contact
|
||||||
|
include ActiveModel::Model
|
||||||
|
|
||||||
|
attr_accessor :id, :name, :email, :phone, :org_name,
|
||||||
|
:ident, :ident_type, :ident_country_code,
|
||||||
|
:street, :city, :zip, :state, :country_code,
|
||||||
|
:password, :legal_document, :statuses, :code
|
||||||
|
|
||||||
|
DISABLED = 'Disabled'
|
||||||
|
DISCLOSURE_TYPES = [DISABLED, '1', '0']
|
||||||
|
TYPES = %w( bic priv birthday )
|
||||||
|
SELECTION_TYPES = [
|
||||||
|
[ 'Business code', 'bic' ],
|
||||||
|
[ 'Personal identification code', 'priv' ],
|
||||||
|
[ 'Birthday', 'birthday' ]
|
||||||
|
]
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def new_from_params(params)
|
||||||
|
new(
|
||||||
|
id: params[:code],
|
||||||
|
code: params[:code],
|
||||||
|
email: params[:email],
|
||||||
|
phone: params[:phone],
|
||||||
|
ident: params[:ident],
|
||||||
|
ident_type: params[:ident_type],
|
||||||
|
ident_country_code: params[:ident_country_code],
|
||||||
|
|
||||||
|
# postalInfo
|
||||||
|
name: params[:name],
|
||||||
|
org_name: params[:org_name],
|
||||||
|
|
||||||
|
# address
|
||||||
|
street: params[:street],
|
||||||
|
city: params[:city],
|
||||||
|
zip: params[:zip],
|
||||||
|
state: params[:state],
|
||||||
|
country_code: params[:country_code],
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
def find_by_id(id)
|
||||||
|
data = info_xml(id)
|
||||||
|
|
||||||
|
res = data.css('epp response resData infData')
|
||||||
|
new(
|
||||||
|
id: res.css('id').text,
|
||||||
|
code: res.css('id').text,
|
||||||
|
email: res.css('email').text,
|
||||||
|
phone: res.css('voice').text,
|
||||||
|
ident: res.css('ident').text,
|
||||||
|
ident_type: res.css('ident').first.try(:attributes).try(:[], 'type').try(:value),
|
||||||
|
ident_country_code: res.css('ident').first.try(:attributes).try(:[], 'cc').try(:value),
|
||||||
|
|
||||||
|
# postalInfo
|
||||||
|
name: res.css('postalInfo name').text,
|
||||||
|
org_name: res.css('postalInfo org').text,
|
||||||
|
|
||||||
|
# address
|
||||||
|
street: res.css('postalInfo addr street').text,
|
||||||
|
city: res.css('postalInfo addr city').text,
|
||||||
|
zip: res.css('postalInfo addr pc').text,
|
||||||
|
state: res.css('postalInfo addr sp').text,
|
||||||
|
country_code: res.css('postalInfo addr cc').text,
|
||||||
|
|
||||||
|
# authInfo
|
||||||
|
password: res.css('authInfo pw').text,
|
||||||
|
|
||||||
|
# statuses
|
||||||
|
statuses: data.css('status').map { |s| [s['s'], s.text] }
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
def user=(user)
|
||||||
|
@user = user
|
||||||
|
@epp_xml = EppXml::Contact.new(cl_trid_prefix: user.tag)
|
||||||
|
end
|
||||||
|
|
||||||
|
def epp_xml
|
||||||
|
@epp_xml
|
||||||
|
end
|
||||||
|
|
||||||
|
def user
|
||||||
|
@user
|
||||||
|
end
|
||||||
|
|
||||||
|
def info_xml(id, password = nil)
|
||||||
|
xml = epp_xml.info(
|
||||||
|
id: { value: id },
|
||||||
|
authInfo: { pw: { value: password } }
|
||||||
|
)
|
||||||
|
user.request(xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
def construct_check_hash_from_data(data)
|
||||||
|
res = data.css('epp response resData chkData cd')
|
||||||
|
@contacts = []
|
||||||
|
res.each do |_r|
|
||||||
|
id = res.css('id').try(:text)
|
||||||
|
reason = res.css('reason').present? ? res.css('reason').text : I18n.t(:available)
|
||||||
|
@contacts << { id: id, reason: reason }
|
||||||
|
end
|
||||||
|
@contacts
|
||||||
|
end
|
||||||
|
|
||||||
|
def contact_id_from_xml(data)
|
||||||
|
id = data.css('epp response resData creData id').text
|
||||||
|
id.blank? ? nil : id
|
||||||
|
end
|
||||||
|
|
||||||
|
def construct_create_disclosure_xml(cph, flag)
|
||||||
|
xml = { disclose: {} }
|
||||||
|
cph.each do |k, v|
|
||||||
|
xml[:disclose][k] = {}
|
||||||
|
xml[:disclose][k][:value] = v
|
||||||
|
end
|
||||||
|
xml[:disclose][:attrs] = {}
|
||||||
|
xml[:disclose][:attrs][:flag] = flag
|
||||||
|
xml.with_indifferent_access
|
||||||
|
end
|
||||||
|
|
||||||
|
def extract_disclosure_hash(cpd) # cpd = contact_params[:disclose]
|
||||||
|
return {} unless cpd
|
||||||
|
cpd = cpd.delete_if { |k, v| v if v != '1' && k == 'flag' }
|
||||||
|
cpd
|
||||||
|
end
|
||||||
|
|
||||||
|
def extract_info_disclosure(data)
|
||||||
|
hash = {}
|
||||||
|
data.css('disclose').each do |d|
|
||||||
|
flag = d.attributes['flag'].value
|
||||||
|
next unless flag
|
||||||
|
hash[flag] = {}
|
||||||
|
d.children.each do |c|
|
||||||
|
hash[flag][c.name] = flag if %w( name email fax voice addr org_name ).include?(c.name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
hash
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def initialize(attributes={})
|
||||||
|
super
|
||||||
|
self.country_code = 'EE' if country_code.blank?
|
||||||
|
self.ident_type = 'bic' if ident_type.blank?
|
||||||
|
self.ident_country_code = 'EE' if ident_country_code.blank?
|
||||||
|
end
|
||||||
|
|
||||||
|
def save
|
||||||
|
create_xml = Depp::Contact.epp_xml.create(
|
||||||
|
{
|
||||||
|
id: { value: code },
|
||||||
|
email: { value: email },
|
||||||
|
voice: { value: phone },
|
||||||
|
postalInfo: {
|
||||||
|
name: { value: name },
|
||||||
|
org: { value: org_name },
|
||||||
|
addr: {
|
||||||
|
street: { value: street },
|
||||||
|
city: { value: city },
|
||||||
|
pc: { value: zip },
|
||||||
|
sp: { value: state },
|
||||||
|
cc: { value: country_code }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
extension_xml
|
||||||
|
)
|
||||||
|
data = Depp::Contact.user.request(create_xml)
|
||||||
|
self.id = data.css('id').text
|
||||||
|
handle_errors(data)
|
||||||
|
end
|
||||||
|
|
||||||
|
def update_attributes(params)
|
||||||
|
self.ident_country_code = params[:ident_country_code]
|
||||||
|
self.ident_type = params[:ident_type]
|
||||||
|
self.ident = params[:ident]
|
||||||
|
|
||||||
|
self.name = params[:name]
|
||||||
|
self.email = params[:email]
|
||||||
|
self.phone = params[:phone]
|
||||||
|
|
||||||
|
self.org_name = params[:org_name]
|
||||||
|
self.street = params[:street]
|
||||||
|
self.city = params[:city]
|
||||||
|
self.zip = params[:zip]
|
||||||
|
self.state = params[:state]
|
||||||
|
self.country_code = params[:country_code]
|
||||||
|
|
||||||
|
update_xml = Depp::Contact.epp_xml.update(
|
||||||
|
{
|
||||||
|
id: { value: id },
|
||||||
|
chg: {
|
||||||
|
voice: { value: phone },
|
||||||
|
email: { value: email },
|
||||||
|
postalInfo: {
|
||||||
|
name: { value: name },
|
||||||
|
org: { value: org_name },
|
||||||
|
addr: {
|
||||||
|
street: { value: street },
|
||||||
|
city: { value: city },
|
||||||
|
pc: { value: zip },
|
||||||
|
sp: { value: state },
|
||||||
|
cc: { value: country_code }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
authInfo: {
|
||||||
|
pw: { value: password }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
extension_xml
|
||||||
|
)
|
||||||
|
data = Depp::Contact.user.request(update_xml)
|
||||||
|
handle_errors(data)
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete
|
||||||
|
delete_xml = Contact.epp_xml.delete(
|
||||||
|
{
|
||||||
|
id: { value: id },
|
||||||
|
authInfo: { pw: { value: password } }
|
||||||
|
},
|
||||||
|
extension_xml
|
||||||
|
)
|
||||||
|
data = Depp::Contact.user.request(delete_xml)
|
||||||
|
handle_errors(data)
|
||||||
|
end
|
||||||
|
|
||||||
|
def extension_xml
|
||||||
|
ident_xml.merge(legal_document_xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
def ident_xml
|
||||||
|
{
|
||||||
|
_anonymus: [
|
||||||
|
ident: { value: ident, attrs: { type: ident_type, cc: ident_country_code } }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def legal_document_xml
|
||||||
|
return {} if legal_document.blank?
|
||||||
|
|
||||||
|
type = legal_document.original_filename.split('.').last.downcase
|
||||||
|
{
|
||||||
|
_anonymus: [
|
||||||
|
legalDocument: { value: Base64.encode64(legal_document.read), attrs: { type: type } }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def check(id)
|
||||||
|
xml = epp_xml.check(id: { value: id })
|
||||||
|
current_user.request(xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
def country_name
|
||||||
|
Country.new(country_code)
|
||||||
|
end
|
||||||
|
|
||||||
|
def bic?
|
||||||
|
ident_type == 'bic'
|
||||||
|
end
|
||||||
|
|
||||||
|
def priv?
|
||||||
|
ident_type == 'priv'
|
||||||
|
end
|
||||||
|
|
||||||
|
def persisted?
|
||||||
|
id.present?
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_errors(data)
|
||||||
|
data.css('result').each do |x|
|
||||||
|
success_codes = %(1000, 1300, 1301)
|
||||||
|
|
||||||
|
unless success_codes.include?(x['code'])
|
||||||
|
message = "#{x.css('msg').text} #{x.css('value').text}"
|
||||||
|
|
||||||
|
attr = message.split('[').last.strip.sub(']','') if message.include?('[')
|
||||||
|
|
||||||
|
attr = :base if attr.nil?
|
||||||
|
attr = 'phone' if attr == 'voice'
|
||||||
|
|
||||||
|
errors.add(attr, message)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
errors.blank?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
25
vendor/gems/depp/app/models/depp/dnskey.rb
vendored
Normal file
25
vendor/gems/depp/app/models/depp/dnskey.rb
vendored
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
module Depp
|
||||||
|
class Dnskey
|
||||||
|
FLAGS = [
|
||||||
|
['0 - not for DNSSEC validation', 0],
|
||||||
|
['256 - ZSK', 256],
|
||||||
|
['257 - KSK', 257]
|
||||||
|
]
|
||||||
|
|
||||||
|
ALGORITHMS = [
|
||||||
|
['3 - DSA/SHA-1', 3],
|
||||||
|
['5 - RSA/SHA-1', 5],
|
||||||
|
['6 - DSA-NSEC3-SHA1', 6],
|
||||||
|
['7 - RSASHA1-NSEC3-SHA1', 7],
|
||||||
|
['8 - RSA/SHA-256', 8],
|
||||||
|
['252 - Reserved for Indirect Keys', 252],
|
||||||
|
['253 - Private algorithm', 253],
|
||||||
|
['254 - Private algorithm OID', 254],
|
||||||
|
['255 - Reserved', 255]
|
||||||
|
]
|
||||||
|
|
||||||
|
PROTOCOLS = [3]
|
||||||
|
|
||||||
|
DS_DIGEST_TYPES = [1, 2]
|
||||||
|
end
|
||||||
|
end
|
300
vendor/gems/depp/app/models/depp/domain.rb
vendored
Normal file
300
vendor/gems/depp/app/models/depp/domain.rb
vendored
Normal file
|
@ -0,0 +1,300 @@
|
||||||
|
module Depp
|
||||||
|
class Domain
|
||||||
|
include ActiveModel::Conversion
|
||||||
|
extend ActiveModel::Naming
|
||||||
|
|
||||||
|
attr_accessor :name, :current_user, :epp_xml
|
||||||
|
|
||||||
|
DOMAIN_STATUSES = %w(
|
||||||
|
clientDeleteProhibited
|
||||||
|
clientHold
|
||||||
|
clientRenewProhibited
|
||||||
|
clientTransferProhibited
|
||||||
|
clientUpdateProhibited
|
||||||
|
)
|
||||||
|
|
||||||
|
def initialize(args = {})
|
||||||
|
self.current_user = args[:current_user]
|
||||||
|
self.epp_xml = EppXml::Domain.new(cl_trid_prefix: current_user.tag)
|
||||||
|
end
|
||||||
|
|
||||||
|
def info(domain_name)
|
||||||
|
xml = epp_xml.info(name: { value: domain_name })
|
||||||
|
current_user.request(xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
def check(domain_name)
|
||||||
|
xml = epp_xml.check(
|
||||||
|
_anonymus: [
|
||||||
|
name: { value: domain_name }
|
||||||
|
]
|
||||||
|
)
|
||||||
|
current_user.request(xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
def create(domain_params)
|
||||||
|
xml = epp_xml.create({
|
||||||
|
name: { value: domain_params[:name] },
|
||||||
|
registrant: { value: domain_params[:registrant] },
|
||||||
|
period: { value: domain_params[:period], attrs: { unit: domain_params[:period_unit] } },
|
||||||
|
ns: Domain.create_nameservers_hash(domain_params),
|
||||||
|
_anonymus: Domain.create_contacts_hash(domain_params)
|
||||||
|
}, {
|
||||||
|
_anonymus: Domain.create_dnskeys_hash(domain_params)
|
||||||
|
}, Domain.construct_custom_params_hash(domain_params))
|
||||||
|
|
||||||
|
current_user.request(xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
def update(domain_params)
|
||||||
|
data = current_user.request(epp_xml.info(name: { value: domain_params[:name] }))
|
||||||
|
old_domain_params = Depp::Domain.construct_params_from_server_data(data)
|
||||||
|
|
||||||
|
xml = epp_xml.update(
|
||||||
|
Depp::Domain.construct_edit_hash(domain_params, old_domain_params),
|
||||||
|
Depp::Domain.construct_ext_edit_hash(domain_params, old_domain_params),
|
||||||
|
Depp::Domain.construct_custom_params_hash(domain_params)
|
||||||
|
)
|
||||||
|
|
||||||
|
current_user.request(xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete(domain_params)
|
||||||
|
xml = epp_xml.delete({
|
||||||
|
name: { value: domain_params[:name] }
|
||||||
|
}, Depp::Domain.construct_custom_params_hash(domain_params))
|
||||||
|
|
||||||
|
current_user.request(xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
def renew(params)
|
||||||
|
current_user.request(epp_xml.renew(
|
||||||
|
name: { value: params[:domain_name] },
|
||||||
|
curExpDate: { value: params[:cur_exp_date] },
|
||||||
|
period: { value: params[:period], attrs: { unit: params[:period_unit] } }
|
||||||
|
))
|
||||||
|
end
|
||||||
|
|
||||||
|
def transfer(params)
|
||||||
|
op = params[:query] ? 'query' : nil
|
||||||
|
op = params[:approve] ? 'approve' : op
|
||||||
|
op = params[:reject] ? 'reject' : op
|
||||||
|
|
||||||
|
current_user.request(epp_xml.transfer({
|
||||||
|
name: { value: params[:domain_name] },
|
||||||
|
authInfo: { pw: { value: params[:password] } }
|
||||||
|
}, op, Domain.construct_custom_params_hash(params)))
|
||||||
|
end
|
||||||
|
|
||||||
|
def confirm_keyrelay(domain_params)
|
||||||
|
xml = epp_xml.update({
|
||||||
|
name: { value: domain_params[:name] }
|
||||||
|
}, {
|
||||||
|
add: Domain.create_dnskeys_hash(domain_params)
|
||||||
|
})
|
||||||
|
|
||||||
|
current_user.request(xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
def confirm_transfer(domain_params)
|
||||||
|
data = current_user.request(epp_xml.info(name: { value: domain_params[:name] }))
|
||||||
|
pw = data.css('pw').text
|
||||||
|
|
||||||
|
xml = epp_xml.transfer({
|
||||||
|
name: { value: domain_params[:name] },
|
||||||
|
authInfo: { pw: { value: pw } }
|
||||||
|
}, 'approve')
|
||||||
|
|
||||||
|
current_user.request(xml)
|
||||||
|
end
|
||||||
|
|
||||||
|
class << self
|
||||||
|
def default_params
|
||||||
|
ret = {}
|
||||||
|
|
||||||
|
ret[:contacts_attributes] ||= {}
|
||||||
|
ENV['default_admin_contacts_count'].to_i.times do |i|
|
||||||
|
ret[:contacts_attributes][i] = { code: '', type: 'admin' }
|
||||||
|
end
|
||||||
|
|
||||||
|
ret[:nameservers_attributes] ||= {}
|
||||||
|
ENV['default_nameservers_count'].to_i.times do |i|
|
||||||
|
ret[:nameservers_attributes][i] = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
ret[:dnskeys_attributes] ||= { 0 => {} }
|
||||||
|
ret[:statuses_attributes] ||= { 0 => {} }
|
||||||
|
ret.with_indifferent_access
|
||||||
|
end
|
||||||
|
|
||||||
|
def construct_params_from_server_data(data) # rubocop:disable Metrics/MethodLength
|
||||||
|
ret = default_params
|
||||||
|
ret[:name] = data.css('name').text
|
||||||
|
ret[:registrant] = data.css('registrant').text
|
||||||
|
|
||||||
|
data.css('contact').each_with_index do |x, i|
|
||||||
|
ret[:contacts_attributes][i] = { code: x.text, type: x['type'] }
|
||||||
|
end
|
||||||
|
|
||||||
|
data.css('hostAttr').each_with_index do |x, i|
|
||||||
|
ret[:nameservers_attributes][i] = {
|
||||||
|
hostname: x.css('hostName').text,
|
||||||
|
ipv4: x.css('hostAddr[ip="v4"]').text,
|
||||||
|
ipv6: x.css('hostAddr[ip="v6"]').text
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
data.css('dsData').each_with_index do |x, i|
|
||||||
|
ds = {
|
||||||
|
ds_key_tag: x.css('keyTag').first.try(:text),
|
||||||
|
ds_alg: x.css('alg').first.try(:text),
|
||||||
|
ds_digest_type: x.css('digestType').first.try(:text),
|
||||||
|
ds_digest: x.css('digest').first.try(:text)
|
||||||
|
}
|
||||||
|
|
||||||
|
kd = x.css('keyData').first
|
||||||
|
ds.merge!({
|
||||||
|
flags: kd.css('flags').first.try(:text),
|
||||||
|
protocol: kd.css('protocol').first.try(:text),
|
||||||
|
alg: kd.css('alg').first.try(:text),
|
||||||
|
public_key: kd.css('pubKey').first.try(:text)
|
||||||
|
}) if kd
|
||||||
|
|
||||||
|
ret[:dnskeys_attributes][i] = ds
|
||||||
|
end
|
||||||
|
|
||||||
|
data.css('status').each_with_index do |x, i|
|
||||||
|
next unless DOMAIN_STATUSES.include?(x['s'])
|
||||||
|
ret[:statuses_attributes][i] = {
|
||||||
|
code: x['s'],
|
||||||
|
description: x.text
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
ret
|
||||||
|
end
|
||||||
|
|
||||||
|
def construct_custom_params_hash(domain_params)
|
||||||
|
custom_params = {}
|
||||||
|
if domain_params[:legal_document].present?
|
||||||
|
type = domain_params[:legal_document].original_filename.split('.').last.downcase
|
||||||
|
custom_params = {
|
||||||
|
_anonymus: [
|
||||||
|
legalDocument: { value: Base64.encode64(domain_params[:legal_document].read), attrs: { type: type } }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
custom_params
|
||||||
|
end
|
||||||
|
|
||||||
|
def construct_edit_hash(domain_params, old_domain_params)
|
||||||
|
contacts = create_contacts_hash(domain_params) - create_contacts_hash(old_domain_params)
|
||||||
|
statuses = create_statuses_hash(domain_params) - create_statuses_hash(old_domain_params)
|
||||||
|
add_anon = contacts + statuses
|
||||||
|
|
||||||
|
contacts = create_contacts_hash(old_domain_params) - create_contacts_hash(domain_params)
|
||||||
|
statuses = create_statuses_hash(old_domain_params) - create_statuses_hash(domain_params)
|
||||||
|
rem_anon = contacts + statuses
|
||||||
|
|
||||||
|
if domain_params[:registrant] != old_domain_params[:registrant]
|
||||||
|
chg = [{ registrant: { value: domain_params[:registrant] } }]
|
||||||
|
end
|
||||||
|
|
||||||
|
{
|
||||||
|
name: { value: domain_params[:name] },
|
||||||
|
chg: chg,
|
||||||
|
add: [
|
||||||
|
{ ns: create_nameservers_hash(domain_params) - create_nameservers_hash(old_domain_params) },
|
||||||
|
{ _anonymus: add_anon }
|
||||||
|
],
|
||||||
|
rem: [
|
||||||
|
{ ns: create_nameservers_hash(old_domain_params) - create_nameservers_hash(domain_params) },
|
||||||
|
{ _anonymus: rem_anon }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def construct_ext_edit_hash(domain_params, old_domain_params)
|
||||||
|
{
|
||||||
|
add: create_dnskeys_hash(domain_params) - create_dnskeys_hash(old_domain_params),
|
||||||
|
rem: create_dnskeys_hash(old_domain_params) - create_dnskeys_hash(domain_params)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def create_nameservers_hash(domain_params)
|
||||||
|
ret = []
|
||||||
|
domain_params[:nameservers_attributes].each do |_k, v|
|
||||||
|
next if v['hostname'].blank?
|
||||||
|
|
||||||
|
host_attr = []
|
||||||
|
host_attr << { hostName: { value: v['hostname'] } }
|
||||||
|
host_attr << { hostAddr: { value: v['ipv4'], attrs: { ip: 'v4' } } } if v['ipv4'].present?
|
||||||
|
host_attr << { hostAddr: { value: v['ipv6'], attrs: { ip: 'v6' } } } if v['ipv6'].present?
|
||||||
|
|
||||||
|
ret << { hostAttr: host_attr }
|
||||||
|
end
|
||||||
|
|
||||||
|
ret
|
||||||
|
end
|
||||||
|
|
||||||
|
def create_contacts_hash(domain_params)
|
||||||
|
ret = []
|
||||||
|
domain_params[:contacts_attributes].each do |_k, v|
|
||||||
|
next if v['code'].blank?
|
||||||
|
ret << {
|
||||||
|
contact: { value: v['code'], attrs: { type: v['type'] } }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
ret
|
||||||
|
end
|
||||||
|
|
||||||
|
def create_dnskeys_hash(domain_params)
|
||||||
|
ret = []
|
||||||
|
domain_params[:dnskeys_attributes].each do |_k, v|
|
||||||
|
if v['ds_key_tag'].blank?
|
||||||
|
kd = create_key_data_hash(v)
|
||||||
|
ret << {
|
||||||
|
keyData: kd
|
||||||
|
} if kd
|
||||||
|
else
|
||||||
|
ret << {
|
||||||
|
dsData: [
|
||||||
|
keyTag: { value: v['ds_key_tag'] },
|
||||||
|
alg: { value: v['ds_alg'] },
|
||||||
|
digestType: { value: v['ds_digest_type'] },
|
||||||
|
digest: { value: v['ds_digest'] },
|
||||||
|
keyData: create_key_data_hash(v)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
ret
|
||||||
|
end
|
||||||
|
|
||||||
|
def create_key_data_hash(key_data_params)
|
||||||
|
return nil if key_data_params['public_key'].blank?
|
||||||
|
{
|
||||||
|
flags: { value: key_data_params['flags'] },
|
||||||
|
protocol: { value: key_data_params['protocol'] },
|
||||||
|
alg: { value: key_data_params['alg'] },
|
||||||
|
pubKey: { value: key_data_params['public_key'] }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def create_statuses_hash(domain_params)
|
||||||
|
ret = []
|
||||||
|
domain_params[:statuses_attributes].each do |_k, v|
|
||||||
|
next if v['code'].blank?
|
||||||
|
ret << {
|
||||||
|
status: { value: v['description'], attrs: { s: v['code'] } }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
ret
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
41
vendor/gems/depp/app/models/depp/keyrelay.rb
vendored
Normal file
41
vendor/gems/depp/app/models/depp/keyrelay.rb
vendored
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
module Depp
|
||||||
|
class Keyrelay
|
||||||
|
attr_accessor :current_user, :epp_xml
|
||||||
|
|
||||||
|
def initialize(args = {})
|
||||||
|
self.current_user = args[:current_user]
|
||||||
|
self.epp_xml = EppXml::Keyrelay.new(cl_trid_prefix: current_user.tag)
|
||||||
|
end
|
||||||
|
|
||||||
|
def keyrelay(params) # rubocop:disable Metrics/MethodLength
|
||||||
|
custom_params = {}
|
||||||
|
if params[:legal_document].present?
|
||||||
|
type = params[:legal_document].original_filename.split('.').last.downcase
|
||||||
|
custom_params = {
|
||||||
|
_anonymus: [
|
||||||
|
legalDocument: { value: Base64.encode64(params[:legal_document].read), attrs: { type: type } }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
xml = epp_xml.keyrelay({
|
||||||
|
name: { value: params['domain_name'] },
|
||||||
|
keyData: {
|
||||||
|
flags: { value: params['key_data_flags'] },
|
||||||
|
protocol: { value: params['key_data_protocol'] },
|
||||||
|
alg: { value: params['key_data_alg'] },
|
||||||
|
pubKey: { value: params['key_data_public_key'] }
|
||||||
|
},
|
||||||
|
authInfo: {
|
||||||
|
pw: { value: params['password'] }
|
||||||
|
},
|
||||||
|
expiry: {
|
||||||
|
relative: { value: params['expiry_relative'] },
|
||||||
|
absolute: { value: params['expiry_absolute'] }
|
||||||
|
}
|
||||||
|
}, custom_params)
|
||||||
|
|
||||||
|
current_user.request(xml)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
92
vendor/gems/depp/app/models/depp/user.rb
vendored
Normal file
92
vendor/gems/depp/app/models/depp/user.rb
vendored
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
module Depp
|
||||||
|
class User
|
||||||
|
include ActiveModel::Validations
|
||||||
|
include ActiveModel::Conversion
|
||||||
|
extend ActiveModel::Naming
|
||||||
|
|
||||||
|
attr_accessor :tag, :password, :pki
|
||||||
|
|
||||||
|
validates :tag, :password, presence: true
|
||||||
|
|
||||||
|
validate :validate_existance_in_server
|
||||||
|
|
||||||
|
def initialize(args = {})
|
||||||
|
args.each { |k, v| send(k.to_s + '=', v) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def server
|
||||||
|
client_cert = File.read(ENV['cert_path'])
|
||||||
|
client_key = File.read(ENV['key_path'])
|
||||||
|
port = Rails.env.test? ? 701 : ENV['epp_port']
|
||||||
|
|
||||||
|
@server_cache ||= Epp::Server.new({
|
||||||
|
server: ENV['epp_hostname'],
|
||||||
|
tag: tag,
|
||||||
|
password: password,
|
||||||
|
port: port,
|
||||||
|
cert: OpenSSL::X509::Certificate.new(client_cert),
|
||||||
|
key: OpenSSL::PKey::RSA.new(client_key)
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
def request(xml)
|
||||||
|
Nokogiri::XML(server.request(xml)).remove_namespaces!
|
||||||
|
end
|
||||||
|
|
||||||
|
def repp_request(path, params = {})
|
||||||
|
client_cert = File.read(ENV['cert_path'])
|
||||||
|
client_key = File.read(ENV['key_path'])
|
||||||
|
|
||||||
|
uri = URI.parse("#{ENV['repp_url']}#{path}")
|
||||||
|
uri.query = URI.encode_www_form(params)
|
||||||
|
|
||||||
|
req = Net::HTTP::Get.new(uri)
|
||||||
|
req.basic_auth tag, password
|
||||||
|
|
||||||
|
res = Net::HTTP.start(uri.hostname, uri.port,
|
||||||
|
use_ssl: (uri.scheme == 'https'),
|
||||||
|
verify_mode: OpenSSL::SSL::VERIFY_NONE,
|
||||||
|
cert: OpenSSL::X509::Certificate.new(client_cert),
|
||||||
|
key: OpenSSL::PKey::RSA.new(client_key)
|
||||||
|
) do |http|
|
||||||
|
http.request(req)
|
||||||
|
end
|
||||||
|
|
||||||
|
ret = OpenStruct.new(code: res.code)
|
||||||
|
ret.parsed_body = JSON.parse(res.body) if res.body.present?
|
||||||
|
|
||||||
|
if ret.parsed_body && ret.parsed_body['error']
|
||||||
|
ret.message = ret.parsed_body['error']
|
||||||
|
else
|
||||||
|
ret.message = res.message
|
||||||
|
end
|
||||||
|
|
||||||
|
ret
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def validate_existance_in_server
|
||||||
|
return if errors.any?
|
||||||
|
res = server.open_connection
|
||||||
|
unless Nokogiri::XML(res).css('greeting')
|
||||||
|
errors.add(:base, :failed_to_open_connection_to_epp_server)
|
||||||
|
server.close_connection # just in case
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
ex = EppXml::Session.new(cl_trid_prefix: tag)
|
||||||
|
xml = ex.login(clID: { value: tag }, pw: { value: password })
|
||||||
|
res = server.send_request(xml)
|
||||||
|
|
||||||
|
if Nokogiri::XML(res).css('result').first['code'] != '1000'
|
||||||
|
errors.add(:base, :authorization_error)
|
||||||
|
end
|
||||||
|
|
||||||
|
server.close_connection
|
||||||
|
|
||||||
|
rescue OpenSSL::SSL::SSLError
|
||||||
|
errors.add(:base, :invalid_cert)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
24
vendor/gems/depp/app/views/depp/contacts/_form.haml
vendored
Normal file
24
vendor/gems/depp/app/views/depp/contacts/_form.haml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
= form_for(@contact, html: {class: 'form-horizontal js-contact-form'}) do |f|
|
||||||
|
= render 'depp/shared/error_messages', f: f
|
||||||
|
= f.hidden_field :id
|
||||||
|
= f.hidden_field :password
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= render 'depp/contacts/form_partials/general', f: f
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= render 'depp/contacts/form_partials/address', f: f
|
||||||
|
- if !@contact.persisted?
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= render 'depp/contacts/form_partials/code', f: f
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= render 'depp/contacts/form_partials/legal_document', f: f
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12.text-right
|
||||||
|
- if @contact.persisted?
|
||||||
|
= button_tag(t(:save), class: 'btn btn-primary')
|
||||||
|
- else
|
||||||
|
= button_tag(t(:create), class: 'btn btn-primary')
|
33
vendor/gems/depp/app/views/depp/contacts/check.haml
vendored
Normal file
33
vendor/gems/depp/app/views/depp/contacts/check.haml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
= render 'depp/shared/title', name: t(:contact_info)
|
||||||
|
|
||||||
|
%hr
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= form_tag check_contacts_path, class: 'form-horizontal', method: :get do
|
||||||
|
.col-md-11
|
||||||
|
.form-group
|
||||||
|
= text_field_tag :contacts, params[:contacts], class: 'form-control', autocomplete: 'off'
|
||||||
|
|
||||||
|
.col-md-1.text-right.text-center-xs
|
||||||
|
.form-group
|
||||||
|
.col-md-offset-2.col-md-10
|
||||||
|
%button.btn.btn-primary
|
||||||
|
|
||||||
|
%span.glyphicon.glyphicon-search
|
||||||
|
|
||||||
|
|
||||||
|
- if @contacts
|
||||||
|
%hr
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th= t('id')
|
||||||
|
%th= t('value')
|
||||||
|
%tbody
|
||||||
|
- @contacts.each do |contact|
|
||||||
|
%tr
|
||||||
|
%td= contact[:id]
|
||||||
|
%td= contact[:reason]
|
18
vendor/gems/depp/app/views/depp/contacts/delete.haml
vendored
Normal file
18
vendor/gems/depp/app/views/depp/contacts/delete.haml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
- if @contact.persisted?
|
||||||
|
= render 'depp/shared/title', name: "#{t(:delete)}: #{@contact.name}"
|
||||||
|
|
||||||
|
= form_for(@contact, class: 'form-horizontal', multipart: true, method: :delete) do |f|
|
||||||
|
= render 'depp/shared/error_messages', f: f
|
||||||
|
= f.hidden_field :id
|
||||||
|
= f.hidden_field :password
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= render 'depp/contacts/form_partials/legal_document', f: f
|
||||||
|
|
||||||
|
%hr
|
||||||
|
.row
|
||||||
|
.col-md-12.text-right
|
||||||
|
= button_tag t(:delete), class: 'btn btn-danger'
|
||||||
|
- else
|
||||||
|
%h2= "#{t(:delete)}: #{t(:not_found)}"
|
3
vendor/gems/depp/app/views/depp/contacts/edit.haml
vendored
Normal file
3
vendor/gems/depp/app/views/depp/contacts/edit.haml
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
= render 'depp/shared/title', name: "#{t(:edit)}: #{@contact.name}"
|
||||||
|
|
||||||
|
= render 'form'
|
33
vendor/gems/depp/app/views/depp/contacts/form_partials/_address.haml
vendored
Normal file
33
vendor/gems/depp/app/views/depp/contacts/form_partials/_address.haml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t(:address)
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :street, t(:street) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.text_field :street, class: 'form-control'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :city, t(:city) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.text_field :city, class: 'form-control'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :zip, t(:zip) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.text_field :zip, class: 'form-control'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :state, t(:state)
|
||||||
|
.col-md-10
|
||||||
|
= f.text_field :state, class: 'form-control'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :country_code, t(:country) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.select(:country_code, SortedCountry.all_options(f.object.country_code))
|
9
vendor/gems/depp/app/views/depp/contacts/form_partials/_code.haml
vendored
Normal file
9
vendor/gems/depp/app/views/depp/contacts/form_partials/_code.haml
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t(:code)
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :code
|
||||||
|
.col-md-10
|
||||||
|
= f.text_field :code, class: 'form-control'
|
41
vendor/gems/depp/app/views/depp/contacts/form_partials/_disclose.haml
vendored
Normal file
41
vendor/gems/depp/app/views/depp/contacts/form_partials/_disclose.haml
vendored
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t('contact_disclosure')
|
||||||
|
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
= label_tag :contact_disclose_flag, t('flag_type'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
=# check_box_tag('contact[disclose][sv_policy]', @contact_params[:disclose][:sv_policy], class: 'form-control')
|
||||||
|
= select_tag('contact[disclose][flag]', options_for_select(Depp::Contact::DISCLOSURE_TYPES) )
|
||||||
|
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
= label_tag :contact_disclose_name, t('name'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= check_box_tag('contact[disclose][name]')
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :contact_disclose_email, t('email'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= check_box_tag('contact[disclose][email]')
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :contact_disclose_org_name, t('org_name'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= check_box_tag('contact[disclose][org_name]')
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :contact_disclose_address, t('address'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= check_box_tag('contact[disclose][address]')
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :contact_disclose_voice, t('voice'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= check_box_tag('contact[disclose][voice]')
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :contact_disclose_fax, t('fax'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= check_box_tag('contact[disclose][fax]')
|
50
vendor/gems/depp/app/views/depp/contacts/form_partials/_general.haml
vendored
Normal file
50
vendor/gems/depp/app/views/depp/contacts/form_partials/_general.haml
vendored
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t(:ident)
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :ident_country_code, t(:country) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.select(:ident_country_code, SortedCountry.all_options(f.object.ident_country_code), {},
|
||||||
|
class: 'js-ident-country-code')
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :ident_type, t(:type) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.select(:ident_type, Depp::Contact::SELECTION_TYPES, { selected: f.object.ident_type },
|
||||||
|
class: 'js-ident-type')
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :ident, t(:ident) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.text_field :ident, class: 'form-control'
|
||||||
|
- tip_visibility = f.object.ident_type == 'birthday' ? '' : 'display: none'
|
||||||
|
.js-ident-tip{ style: tip_visibility }
|
||||||
|
= t(:birthday_format)
|
||||||
|
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t(:general)
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :name, t(:name) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.text_field :name, class: 'form-control'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :email, t(:email) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.text_field :email, class: 'form-control'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
.col-md-2.control-label
|
||||||
|
= f.label :phone, t(:phone) + '*'
|
||||||
|
.col-md-10
|
||||||
|
= f.text_field(:phone, class: 'form-control', placeholder: '+372.12323344')
|
||||||
|
|
||||||
|
|
12
vendor/gems/depp/app/views/depp/contacts/form_partials/_legal_document.haml
vendored
Normal file
12
vendor/gems/depp/app/views/depp/contacts/form_partials/_legal_document.haml
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
.form-group
|
||||||
|
.col-md-10
|
||||||
|
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t(:legal_document)
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
.col-md-3.control-label
|
||||||
|
= f.label :legal_document, t(:legal_document)
|
||||||
|
.col-md-7
|
||||||
|
= f.file_field :legal_document, :value => ''
|
25
vendor/gems/depp/app/views/depp/contacts/index.haml
vendored
Normal file
25
vendor/gems/depp/app/views/depp/contacts/index.haml
vendored
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
- content_for :actions do
|
||||||
|
= link_to(t(:new), new_contact_path, class: 'btn btn-primary')
|
||||||
|
= render 'depp/shared/title', name: t(:contacts)
|
||||||
|
|
||||||
|
- if @response
|
||||||
|
.panel.panel-default
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed.domify
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th{class: 'col-xs-3'}= t(:name)
|
||||||
|
%th{class: 'col-xs-3'}= t(:code)
|
||||||
|
%th{class: 'col-xs-3'}= t(:ident)
|
||||||
|
%th{class: 'col-xs-3'}= t(:actions)
|
||||||
|
%tbody
|
||||||
|
- @contacts.each do |c|
|
||||||
|
%tr
|
||||||
|
%td= link_to(c[:name], contact_path(id: c[:code]))
|
||||||
|
%td= c[:code]
|
||||||
|
%td= c[:ident]
|
||||||
|
%td
|
||||||
|
= link_to(t(:edit), edit_contact_path(c[:code]), class: 'btn btn-primary btn-xs')
|
||||||
|
= link_to(t(:delete), delete_contact_path(c[:code]), class: 'btn btn-default btn-xs')
|
||||||
|
|
||||||
|
= paginate @paginatable_array
|
19
vendor/gems/depp/app/views/depp/contacts/info_index.haml
vendored
Normal file
19
vendor/gems/depp/app/views/depp/contacts/info_index.haml
vendored
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
= render 'depp/shared/title', name: t(:contacts_info)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= form_tag contact_path, class: 'form-horizontal', method: :get do
|
||||||
|
.form-group
|
||||||
|
= label_tag :contact_id, t('contact_id'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :contact_id, params[:contact_id], class: 'form-control', autocomplete: 'off'
|
||||||
|
.form-group
|
||||||
|
= label_tag :password, t('password'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :password, params[:password], class: 'form-control', autocomplete: 'off'
|
||||||
|
.form-group
|
||||||
|
.col-md-offset-2.col-md-10
|
||||||
|
%button.btn.btn-primary
|
||||||
|
|
||||||
|
%span.glyphicon.glyphicon-search
|
||||||
|
|
3
vendor/gems/depp/app/views/depp/contacts/new.haml
vendored
Normal file
3
vendor/gems/depp/app/views/depp/contacts/new.haml
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
= render 'depp/shared/title', name: t(:new_contact)
|
||||||
|
|
||||||
|
= render 'form'
|
23
vendor/gems/depp/app/views/depp/contacts/partials/_address.haml
vendored
Normal file
23
vendor/gems/depp/app/views/depp/contacts/partials/_address.haml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t(:address)
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
- if @contact.org_name.present?
|
||||||
|
%dt= t(:org_name)
|
||||||
|
%dd= @contact.org_name
|
||||||
|
|
||||||
|
%dt= t(:street)
|
||||||
|
%dd= @contact.street
|
||||||
|
|
||||||
|
%dt= t(:city)
|
||||||
|
%dd= @contact.city
|
||||||
|
|
||||||
|
%dt= t(:zip)
|
||||||
|
%dd= @contact.zip
|
||||||
|
|
||||||
|
%dt= t(:state)
|
||||||
|
%dd= @contact.state
|
||||||
|
|
||||||
|
%dt= t(:country)
|
||||||
|
%dd= @contact.country_name
|
10
vendor/gems/depp/app/views/depp/contacts/partials/_disclose.haml
vendored
Normal file
10
vendor/gems/depp/app/views/depp/contacts/partials/_disclose.haml
vendored
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
- @contact[:disclose].each do |flag, data|
|
||||||
|
- next if data.empty?
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t("disclosure-#{flag}")
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
- data.each do |k,v|
|
||||||
|
%dt= t(k)
|
||||||
|
|
23
vendor/gems/depp/app/views/depp/contacts/partials/_general.haml
vendored
Normal file
23
vendor/gems/depp/app/views/depp/contacts/partials/_general.haml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t(:general)
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
%dt= t(:ident)
|
||||||
|
%dd= ident_for(@contact)
|
||||||
|
|
||||||
|
%br
|
||||||
|
|
||||||
|
%dt= t(:email)
|
||||||
|
%dd= @contact.email
|
||||||
|
|
||||||
|
%dt= t(:phone)
|
||||||
|
%dd= @contact.phone
|
||||||
|
|
||||||
|
%br
|
||||||
|
|
||||||
|
%dt= t(:contact_code)
|
||||||
|
%dd= @contact.id
|
||||||
|
|
||||||
|
%dt= t(:password)
|
||||||
|
%dd= @contact.password
|
16
vendor/gems/depp/app/views/depp/contacts/partials/_statuses.haml
vendored
Normal file
16
vendor/gems/depp/app/views/depp/contacts/partials/_statuses.haml
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t(:statuses)
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th{class: 'col-xs-6'}= t(:status)
|
||||||
|
%th{class: 'col-xs-6'}= t(:description)
|
||||||
|
%tbody
|
||||||
|
- statuses.each do |s|
|
||||||
|
%tr
|
||||||
|
%td= s.first
|
||||||
|
%td= s.second
|
||||||
|
|
||||||
|
|
16
vendor/gems/depp/app/views/depp/contacts/show.haml
vendored
Normal file
16
vendor/gems/depp/app/views/depp/contacts/show.haml
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
- if @contact.id.present?
|
||||||
|
- content_for :actions do
|
||||||
|
= link_to(t(:edit), edit_contact_path(@contact.id), class: 'btn btn-primary')
|
||||||
|
= link_to(t(:delete), delete_contact_path(@contact.id), class: 'btn btn-default')
|
||||||
|
= render 'depp/shared/title', name: truncate(@contact.name)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-6= render 'depp/contacts/partials/general'
|
||||||
|
.col-md-6= render 'depp/contacts/partials/address'
|
||||||
|
.row
|
||||||
|
.col-md-12= render 'depp/contacts/partials/statuses', statuses: @contact.statuses
|
||||||
|
|
||||||
|
- else
|
||||||
|
.row
|
||||||
|
.col-sm-6
|
||||||
|
%h1= t(:not_found)
|
10
vendor/gems/depp/app/views/depp/domains/_check_form.haml
vendored
Normal file
10
vendor/gems/depp/app/views/depp/domains/_check_form.haml
vendored
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
= form_tag check_domains_path, class: 'form-horizontal', method: :get do
|
||||||
|
.col-md-11
|
||||||
|
.form-group
|
||||||
|
= text_field_tag :domain_name, params[:domain_name], class: 'form-control', placeholder: t('domain_name'), autocomplete: 'off'
|
||||||
|
.col-md-1.text-right.text-center-xs
|
||||||
|
.form-group
|
||||||
|
%button.btn.btn-primary
|
||||||
|
|
||||||
|
%span.glyphicon.glyphicon-search
|
||||||
|
|
41
vendor/gems/depp/app/views/depp/domains/_form.haml
vendored
Normal file
41
vendor/gems/depp/app/views/depp/domains/_form.haml
vendored
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
- path = (params[:domain_name]) ? update_domains_path : domains_path
|
||||||
|
= form_tag(path, class: 'form-horizontal', multipart: true) do
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
/ Nav tabs
|
||||||
|
%ul.nav.nav-tabs{:role => "tablist", id: 'tabs'}
|
||||||
|
%li.active
|
||||||
|
%a{"data-toggle" => "tab", :href => "#general-tab", :role => "tab"}= t('general')
|
||||||
|
- if params['domain_name']
|
||||||
|
%li
|
||||||
|
%a{"data-toggle" => "tab", :href => "#statuses-tab", :role => "tab"}= t('statuses')
|
||||||
|
/ Tab panes
|
||||||
|
.tab-content
|
||||||
|
#general-tab.tab-pane.active
|
||||||
|
= render 'depp/domains/form_partials/general'
|
||||||
|
= render 'depp/domains/form_partials/contacts'
|
||||||
|
%hr
|
||||||
|
= render 'depp/domains/form_partials/nameservers'
|
||||||
|
%hr
|
||||||
|
= render 'depp/domains/form_partials/dnskeys'
|
||||||
|
- if params['domain_name']
|
||||||
|
#statuses-tab.tab-pane
|
||||||
|
= render 'depp/domains/form_partials/statuses'
|
||||||
|
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t(:legal_document)
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
= label_tag 'domain[legal_document]', t('legal_document'),class: 'col-md-3 control-label'
|
||||||
|
.col-md-9
|
||||||
|
= file_field_tag 'domain[legal_document]'
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12.text-right
|
||||||
|
= button_tag(t('shared.save'), class: 'btn btn-primary')
|
||||||
|
|
||||||
|
:javascript
|
||||||
|
$(function () {
|
||||||
|
$('#tabs a:first').tab('show')
|
||||||
|
})
|
25
vendor/gems/depp/app/views/depp/domains/check.haml
vendored
Normal file
25
vendor/gems/depp/app/views/depp/domains/check.haml
vendored
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
= render 'depp/shared/title', name: t(:check_domain)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= render 'check_form'
|
||||||
|
|
||||||
|
%hr
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t('result')
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
%dt= t('name')
|
||||||
|
%dd= @data.css('name').text
|
||||||
|
|
||||||
|
- name = @data.css('name').first
|
||||||
|
%dt= t('available')
|
||||||
|
%dd= name['avail']
|
||||||
|
|
||||||
|
- if @data.css('reason').text.present?
|
||||||
|
%dt= t('reason')
|
||||||
|
%dd= @data.css('reason').text
|
5
vendor/gems/depp/app/views/depp/domains/check_index.haml
vendored
Normal file
5
vendor/gems/depp/app/views/depp/domains/check_index.haml
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
= render 'depp/shared/title', name: t(:check_domain)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= render 'check_form'
|
17
vendor/gems/depp/app/views/depp/domains/delete.haml
vendored
Normal file
17
vendor/gems/depp/app/views/depp/domains/delete.haml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
= render 'depp/shared/title', name: "#{t(:delete)}: #{params[:domain_name]}"
|
||||||
|
|
||||||
|
= form_tag(destroy_domains_path, class: 'form-horizontal', multipart: true, method: :delete) do
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
= t(:legal_document)
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
.col-md-4.control-label
|
||||||
|
= label_tag 'domain[legal_document]', t('legal_document')
|
||||||
|
.col-md-6
|
||||||
|
= file_field_tag 'domain[legal_document]'
|
||||||
|
= hidden_field_tag 'domain[name]', params[:domain_name]
|
||||||
|
%hr
|
||||||
|
.row
|
||||||
|
.col-md-12.text-right
|
||||||
|
= button_tag t('delete'), class: 'btn btn-danger'
|
4
vendor/gems/depp/app/views/depp/domains/edit.haml
vendored
Normal file
4
vendor/gems/depp/app/views/depp/domains/edit.haml
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
= render 'depp/shared/title', name: "#{t(:edit)}: #{params[:domain_name]}"
|
||||||
|
|
||||||
|
%hr
|
||||||
|
= render 'form'
|
24
vendor/gems/depp/app/views/depp/domains/form_partials/_contacts.haml
vendored
Normal file
24
vendor/gems/depp/app/views/depp/domains/form_partials/_contacts.haml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#domain-contacts
|
||||||
|
- @domain_params['contacts_attributes'].each do |k, v|
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t('contact')
|
||||||
|
.pull-right
|
||||||
|
= link_to(t('add_another'), '#', class: 'btn btn-primary btn-xs add-domain-contact')
|
||||||
|
= link_to(t('delete'), '#', class: 'btn btn-danger btn-xs destroy')
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_contacts_attributes_#{k}_type", t('contact_type'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag "domain[contacts_attributes][#{k}][type]", options_for_select(['admin', 'tech'], v['type']), {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_contacts_attributes_#{k}_code", t('contact_code'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10.has-feedback
|
||||||
|
= text_field_tag("domain[contacts_attributes][#{k}][code]", v['code'], class: 'form-control', placeholder: t('contact_code'), autocomplete: 'off')
|
||||||
|
:coffee
|
||||||
|
$("#domain-contacts").nestedAttributes
|
||||||
|
bindAddTo: $(".add-domain-contact")
|
||||||
|
afterAdd: (item) ->
|
||||||
|
item.find('select').each (k, v) ->
|
||||||
|
$(v).val($(v).find('option:first-child').val())
|
57
vendor/gems/depp/app/views/depp/domains/form_partials/_dnskeys.haml
vendored
Normal file
57
vendor/gems/depp/app/views/depp/domains/form_partials/_dnskeys.haml
vendored
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
#dnskeys
|
||||||
|
- @domain_params['dnskeys_attributes'].each do |k, v|
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t('dnskey')
|
||||||
|
.pull-right
|
||||||
|
= link_to(t('add_another'), '#', class: 'btn btn-primary btn-xs add-dnskey')
|
||||||
|
= link_to(t('delete'), '#', class: 'btn btn-danger btn-xs destroy')
|
||||||
|
.panel-body
|
||||||
|
- if ENV['show_ds_data_fields'] == 'true'
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_dnskeys_attributes_#{k}_ds_key_tag", t('ds_key_tag'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag "domain[dnskeys_attributes][#{k}][ds_key_tag]", v['ds_key_tag'], {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_dnskeys_attributes_#{k}_ds_alg", t('ds_algorithm'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag "domain[dnskeys_attributes][#{k}][ds_alg]", options_for_select(Depp::Dnskey::ALGORITHMS, v['ds_alg']), {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_dnskeys_attributes_#{k}_ds_digest_type", t('ds_digest_type'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag "domain[dnskeys_attributes][#{k}][ds_digest_type]", options_for_select(Depp::Dnskey::DS_DIGEST_TYPES, v['ds_digest_type']), {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_dnskeys_attributes_#{k}_ds_digest", t('ds_digest'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag "domain[dnskeys_attributes][#{k}][ds_digest]", v['ds_digest'], {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_dnskeys_attributes_#{k}_flags", t('flags'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag "domain[dnskeys_attributes][#{k}][flags]", options_for_select(Depp::Dnskey::FLAGS, v['flags']), {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_dnskeys_attributes_#{k}_protocol", t('protocol'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag "domain[dnskeys_attributes][#{k}][protocol]", options_for_select(Depp::Dnskey::PROTOCOLS, v['protocol']), {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_dnskeys_attributes_#{k}_alg", t('alg'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag "domain[dnskeys_attributes][#{k}][alg]", options_for_select(Depp::Dnskey::ALGORITHMS, v['alg']), {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_dnskeys_attributes_#{k}_public_key", t('public_key'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag "domain[dnskeys_attributes][#{k}][public_key]", v['public_key'], class: 'form-control'
|
||||||
|
:coffee
|
||||||
|
$("#dnskeys").nestedAttributes
|
||||||
|
bindAddTo: $(".add-dnskey")
|
||||||
|
afterAdd: (item) ->
|
||||||
|
item.find('select').each (k, v) ->
|
||||||
|
$(v).val($(v).find('option:first-child').val())
|
||||||
|
|
||||||
|
|
19
vendor/gems/depp/app/views/depp/domains/form_partials/_general.haml
vendored
Normal file
19
vendor/gems/depp/app/views/depp/domains/form_partials/_general.haml
vendored
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
.general-tab.panel.panel-default
|
||||||
|
.form-group
|
||||||
|
= label_tag :domain_name, t('name'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
- readonly = params[:domain_name] ? true : false
|
||||||
|
= text_field_tag('domain[name]', @domain_params[:name], class: 'form-control', readonly: readonly)
|
||||||
|
|
||||||
|
- unless params[:domain_name]
|
||||||
|
.form-group
|
||||||
|
= label_tag :domain_period, t('period'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-5
|
||||||
|
= text_field_tag('domain[period]', @domain_params[:period], class: 'form-control')
|
||||||
|
.col-md-5
|
||||||
|
= select_tag 'domain[period_unit]', options_for_select(['y', 'm', 'd'], @domain_params[:period_unit]), { class: 'form-control' }
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :domain_registrant, t('registrant'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag('domain[registrant]', @domain_params[:registrant], class: 'form-control', placeholder: t('contact_code'), autocomplete: 'off')
|
24
vendor/gems/depp/app/views/depp/domains/form_partials/_nameservers.haml
vendored
Normal file
24
vendor/gems/depp/app/views/depp/domains/form_partials/_nameservers.haml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#nameservers
|
||||||
|
- @domain_params['nameservers_attributes'].each do |k, v|
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t('nameserver')
|
||||||
|
.pull-right
|
||||||
|
= link_to(t('add_another'), '#', class: 'btn btn-primary btn-xs add-nameserver')
|
||||||
|
= link_to(t('delete'), '#', class: 'btn btn-danger btn-xs destroy')
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_nameservers_attributes_#{k}_hostname", t('hostname'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag "domain[nameservers_attributes][#{k}][hostname]", v['hostname'], class: 'form-control'
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_nameservers_attributes_#{k}_ipv4", t('ipv4'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag "domain[nameservers_attributes][#{k}][ipv4]", v['ipv4'], class: 'form-control'
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_nameservers_attributes_#{k}_ipv6", t('ipv6'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag "domain[nameservers_attributes][#{k}][ipv6]", v['ipv6'], class: 'form-control'
|
||||||
|
:coffee
|
||||||
|
$("#nameservers").nestedAttributes
|
||||||
|
bindAddTo: $(".add-nameserver")
|
24
vendor/gems/depp/app/views/depp/domains/form_partials/_statuses.haml
vendored
Normal file
24
vendor/gems/depp/app/views/depp/domains/form_partials/_statuses.haml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#domain-statuses
|
||||||
|
- @domain_params['statuses_attributes'].each do |k, v|
|
||||||
|
%br
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t('status')
|
||||||
|
.pull-right
|
||||||
|
= link_to(t('add_another'), '#', class: 'btn btn-primary btn-xs add-domain-status')
|
||||||
|
= link_to(t('delete'), '#', class: 'btn btn-danger btn-xs destroy')
|
||||||
|
.panel-body
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_statuses_attributes_#{k}_code", t('code'),class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag "domain[statuses_attributes][#{k}][code]", options_for_select(Depp::Domain::DOMAIN_STATUSES, v['code']), {class: 'form-control', prompt: ''}
|
||||||
|
.form-group
|
||||||
|
= label_tag "domain_statuses_attributes_#{k}_description", t('description'),class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag "domain[statuses_attributes][#{k}][description]", v['description'], class: 'form-control', autocomplete: 'off'
|
||||||
|
:coffee
|
||||||
|
$("#domain-statuses").nestedAttributes
|
||||||
|
bindAddTo: $(".add-domain-status")
|
||||||
|
afterAdd: (item) ->
|
||||||
|
item.find('select').each (k, v) ->
|
||||||
|
$(v).val($(v).find('option:first-child').val())
|
47
vendor/gems/depp/app/views/depp/domains/index.haml
vendored
Normal file
47
vendor/gems/depp/app/views/depp/domains/index.haml
vendored
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
- content_for :actions do
|
||||||
|
= link_to(t(:new), new_domain_path, class: 'btn btn-primary')
|
||||||
|
= link_to(t(:transfer), transfer_domains_path, class: 'btn btn-default')
|
||||||
|
= link_to(t(:keyrelay), keyrelay_path, class: 'btn btn-default')
|
||||||
|
= render 'depp/shared/title', name: t(:domains)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12{style: 'margin-bottom: -15px;'}
|
||||||
|
= form_tag info_domains_path, class: 'form-horizontal', method: :get do
|
||||||
|
.col-md-11
|
||||||
|
.form-group
|
||||||
|
= text_field_tag :domain_name, params[:domain_name], class: 'form-control', placeholder: t('domain_name'), autocomplete: 'off', autofocus: true
|
||||||
|
.col-md-1.text-right.text-center-xs
|
||||||
|
.form-group
|
||||||
|
%button.btn.btn-primary
|
||||||
|
|
||||||
|
%span.glyphicon.glyphicon-search
|
||||||
|
|
||||||
|
|
||||||
|
%hr
|
||||||
|
|
||||||
|
- if @response
|
||||||
|
.panel.panel-default
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed.domify
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th{class: 'col-xs-3'}= t(:name)
|
||||||
|
%th{class: 'col-xs-6'}= t(:valid)
|
||||||
|
%th{class: 'col-xs-3'}= t(:actions)
|
||||||
|
%tbody
|
||||||
|
- @response['domains'].each do |x|
|
||||||
|
%tr
|
||||||
|
%td= link_to(x['name'], info_domains_path(domain_name: x['name']))
|
||||||
|
%td
|
||||||
|
= Time.parse(x['valid_from']).try(:to_date)
|
||||||
|
\-
|
||||||
|
= Time.parse(x['valid_to']).try(:to_date)
|
||||||
|
%td
|
||||||
|
= link_to(t(:edit), edit_domains_path(domain_name: x['name']),
|
||||||
|
class: 'btn btn-primary btn-xs')
|
||||||
|
= link_to(t(:renew), renew_domains_path(domain_name: x['name']),
|
||||||
|
class: 'btn btn-default btn-xs')
|
||||||
|
= link_to(t(:delete), delete_domains_path(domain_name: x['name']),
|
||||||
|
class: 'btn btn-default btn-xs')
|
||||||
|
|
||||||
|
= paginate @paginatable_array
|
26
vendor/gems/depp/app/views/depp/domains/info.haml
vendored
Normal file
26
vendor/gems/depp/app/views/depp/domains/info.haml
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
- content_for :actions do
|
||||||
|
= link_to(t(:edit), edit_domains_path(domain_name: params[:domain_name]),
|
||||||
|
class: 'btn btn-primary')
|
||||||
|
= link_to(t(:renew), renew_domains_path(domain_name: params[:domain_name]),
|
||||||
|
class: 'btn btn-default')
|
||||||
|
= link_to(t(:delete), delete_domains_path(domain_name: params[:domain_name]),
|
||||||
|
class: 'btn btn-default')
|
||||||
|
= render 'depp/shared/title', name: truncate(@data.css('name').text)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-sm-12
|
||||||
|
- if @data.css('result').first['code'] == '1000'
|
||||||
|
.row
|
||||||
|
.col-md-12= render 'depp/domains/partials/general'
|
||||||
|
.row
|
||||||
|
.col-md-12= render 'depp/domains/partials/contacts'
|
||||||
|
.row
|
||||||
|
.col-md-12= render 'depp/domains/partials/statuses'
|
||||||
|
.row
|
||||||
|
.col-md-12= render 'depp/domains/partials/nameservers'
|
||||||
|
.row
|
||||||
|
.col-md-12= render 'depp/domains/partials/dnskeys'
|
||||||
|
- else
|
||||||
|
.row
|
||||||
|
.col-sm-6
|
||||||
|
%h1= t(:not_found)
|
3
vendor/gems/depp/app/views/depp/domains/new.haml
vendored
Normal file
3
vendor/gems/depp/app/views/depp/domains/new.haml
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
= render 'depp/shared/title', name: t(:new_domain)
|
||||||
|
|
||||||
|
= render 'form'
|
15
vendor/gems/depp/app/views/depp/domains/partials/_contacts.haml
vendored
Normal file
15
vendor/gems/depp/app/views/depp/domains/partials/_contacts.haml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#tech_contacts.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
%h3.panel-title= t(:contacts)
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th{class: 'col-xs-4'}= t('type')
|
||||||
|
%th{class: 'col-xs-8'}= t('code')
|
||||||
|
%tbody
|
||||||
|
- @data.css('contact').each do |x|
|
||||||
|
%tr
|
||||||
|
%td= x['type']
|
||||||
|
%td= x.text
|
||||||
|
|
33
vendor/gems/depp/app/views/depp/domains/partials/_dnskeys.haml
vendored
Normal file
33
vendor/gems/depp/app/views/depp/domains/partials/_dnskeys.haml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t('dnskeys')
|
||||||
|
.panel-body{style: 'word-wrap: break-word;'}
|
||||||
|
- @data.css('dsData').each do |x|
|
||||||
|
%dl.dl-horizontal
|
||||||
|
- if x.css('keyTag').text.present?
|
||||||
|
%dt= t('ds_key_tag')
|
||||||
|
%dd= x.css('keyTag').text
|
||||||
|
|
||||||
|
- if x.css('alg').first.text.present?
|
||||||
|
%dt= t('ds_algorithm')
|
||||||
|
%dd= x.css('alg').first.text
|
||||||
|
|
||||||
|
- if x.css('digestType').text.present?
|
||||||
|
%dt= t('ds_digest_type')
|
||||||
|
%dd= x.css('digestType').text
|
||||||
|
|
||||||
|
- if x.css('digest').text.present?
|
||||||
|
%dt= t('ds_digest')
|
||||||
|
%dd= x.css('digest').text
|
||||||
|
|
||||||
|
%dt= t('flag')
|
||||||
|
%dd= x.css('flags').text
|
||||||
|
|
||||||
|
%dt= t('protocol')
|
||||||
|
%dd= x.css('protocol').text
|
||||||
|
|
||||||
|
%dt= t('algorithm')
|
||||||
|
%dd= x.css('keyData > alg').text
|
||||||
|
|
||||||
|
%dt= t('public_key')
|
||||||
|
%dd= x.css('pubKey').text
|
22
vendor/gems/depp/app/views/depp/domains/partials/_general.haml
vendored
Normal file
22
vendor/gems/depp/app/views/depp/domains/partials/_general.haml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t(:general)
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
%dt= t(:password)
|
||||||
|
%dd= @data.css('pw').text
|
||||||
|
|
||||||
|
%dt= t(:registrant)
|
||||||
|
%dd= @data.css('registrant').text
|
||||||
|
|
||||||
|
%dt= t(:registered)
|
||||||
|
%dd= @data.css('crDate').text
|
||||||
|
|
||||||
|
%dt= t(:valid_to)
|
||||||
|
%dd= @data.css('exDate').text
|
||||||
|
|
||||||
|
%dt= t(:created)
|
||||||
|
%dd= @data.css('crDate').text
|
||||||
|
|
||||||
|
%dt= t(:updated)
|
||||||
|
%dd= @data.css('upDate').text
|
17
vendor/gems/depp/app/views/depp/domains/partials/_nameservers.haml
vendored
Normal file
17
vendor/gems/depp/app/views/depp/domains/partials/_nameservers.haml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
#nameservers.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
%h3.panel-title= t(:nameservers)
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th{class: 'col-xs-4'}= t('hostname')
|
||||||
|
%th{class: 'col-xs-4'}= t('ipv4')
|
||||||
|
%th{class: 'col-xs-4'}= t('ipv6')
|
||||||
|
%tbody
|
||||||
|
- @data.css('hostAttr').each do |x|
|
||||||
|
%tr
|
||||||
|
%td= x.css('hostName').text
|
||||||
|
%td= x.css('hostAddr[ip="v4"]').text
|
||||||
|
%td= x.css('hostAddr[ip="v6"]').text
|
||||||
|
|
14
vendor/gems/depp/app/views/depp/domains/partials/_statuses.haml
vendored
Normal file
14
vendor/gems/depp/app/views/depp/domains/partials/_statuses.haml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#domain_statuses.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
%h3.panel-title= t(:statuses)
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th{class: 'col-xs-6'}= t('status')
|
||||||
|
%th{class: 'col-xs-6'}= t('description')
|
||||||
|
%tbody
|
||||||
|
- @data.css('status').each do |x|
|
||||||
|
%tr
|
||||||
|
%td= x['s']
|
||||||
|
%td= x.text
|
14
vendor/gems/depp/app/views/depp/domains/renew.haml
vendored
Normal file
14
vendor/gems/depp/app/views/depp/domains/renew.haml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
= render 'depp/shared/title', name: t(:renew_domain)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t('result')
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
%dt= t('domain_name')
|
||||||
|
%dd= @data.css('name').text
|
||||||
|
|
||||||
|
%dt= t('valid_to')
|
||||||
|
%dd= @data.css('exDate').text
|
22
vendor/gems/depp/app/views/depp/domains/renew_index.haml
vendored
Normal file
22
vendor/gems/depp/app/views/depp/domains/renew_index.haml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
= render 'depp/shared/title', name: t(:renew_domain)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= form_tag renew_domains_path, class: 'form-horizontal', method: :get do
|
||||||
|
.form-group
|
||||||
|
= label_tag :domain_name, t('name'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :domain_name, params[:domain_name], class: 'form-control', placeholder: t('domain_name'), autocomplete: 'off'
|
||||||
|
.form-group
|
||||||
|
= label_tag :cur_exp_date, t('cur_exp_date'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :cur_exp_date, params[:cur_exp_date], class: 'form-control', placeholder: 'yyyy-mm-dd', autocomplete: 'off'
|
||||||
|
.form-group
|
||||||
|
= label_tag :domain_period, t('period'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-5
|
||||||
|
= text_field_tag(:period, params[:period], class: 'form-control')
|
||||||
|
.col-md-5
|
||||||
|
= select_tag :period_unit, options_for_select(['y', 'm', 'd'], params[:period_unit]), { class: 'form-control' }
|
||||||
|
.form-group
|
||||||
|
.col-md-offset-2.col-md-10
|
||||||
|
%button.btn.btn-primary= t('renew')
|
16
vendor/gems/depp/app/views/depp/domains/transfer.haml
vendored
Normal file
16
vendor/gems/depp/app/views/depp/domains/transfer.haml
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
= render 'depp/shared/title', name: t(:transfer_domain)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t('result')
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
%dt= t('domain_name')
|
||||||
|
%dd= @data.css('name').text
|
||||||
|
|
||||||
|
- @data.css('trnData').children.each do |x|
|
||||||
|
- next if x.blank?
|
||||||
|
%dt= t(x.name)
|
||||||
|
%dd= x.text
|
22
vendor/gems/depp/app/views/depp/domains/transfer_index.haml
vendored
Normal file
22
vendor/gems/depp/app/views/depp/domains/transfer_index.haml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
= render 'depp/shared/title', name: t(:transfer_domain)
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= form_tag transfer_domains_path, class: 'form-horizontal', method: :post, multipart: true do
|
||||||
|
.form-group
|
||||||
|
= label_tag :domain_name, t('name'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :domain_name, params[:domain_name], class: 'form-control', placeholder: t('domain_name'), autocomplete: 'off', autofocus: true
|
||||||
|
.form-group
|
||||||
|
= label_tag :password, t('password'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :password, params[:password], class: 'form-control', autocomplete: 'off'
|
||||||
|
.form-group
|
||||||
|
= label_tag 'legal_document', t('legal_document'),class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= file_field_tag 'legal_document'
|
||||||
|
.form-group
|
||||||
|
.col-md-offset-2.col-md-10
|
||||||
|
%button.btn.btn-primary{ name: 'query' }= t('query')
|
||||||
|
%button.btn.btn-primary{ name: 'approve' }= t('approve')
|
||||||
|
%button.btn.btn-primary{ name: 'reject' }= t('reject')
|
55
vendor/gems/depp/app/views/depp/keyrelays/show.haml
vendored
Normal file
55
vendor/gems/depp/app/views/depp/keyrelays/show.haml
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
.row
|
||||||
|
.col-sm-12
|
||||||
|
%h2.text-center-xs= t('keyrelay')
|
||||||
|
%hr
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= form_tag keyrelay_path, class: 'form-horizontal', method: :post, multipart: true do
|
||||||
|
.form-group
|
||||||
|
= label_tag :domain_name, t('domain_name'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :domain_name, params[:domain_name], class: 'form-control', autocomplete: 'off'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :password, t('password'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :password, params[:password], class: 'form-control', autocomplete: 'off'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :expiry_relative, t('expiry_relative'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :expiry_relative, params[:expiry_relative], class: 'form-control', autocomplete: 'off'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :expiry_absolute, t('expiry_absolute'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :expiry_absolute, params[:expiry_absolute], class: 'form-control', autocomplete: 'off'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :key_data_flags, t('flag'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag :key_data_flags, options_for_select(Depp::Dnskey::FLAGS, params['key_data_flags']), {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :key_data_protocol, t('protocol'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag :key_data_protocol, options_for_select(Depp::Dnskey::PROTOCOLS, params['key_data_protocol']), {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :key_data_alg, t('algorithm'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= select_tag :key_data_alg, options_for_select(Depp::Dnskey::ALGORITHMS, params['key_data_alg']), {class: 'form-control'}
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :key_data_public_key, t('public_key'), class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= text_field_tag :key_data_public_key, params['key_data_public_key'], class: 'form-control'
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
= label_tag :legal_document, t('legal_document'),class: 'col-md-2 control-label'
|
||||||
|
.col-md-10
|
||||||
|
= file_field_tag :legal_document
|
||||||
|
|
||||||
|
.form-group
|
||||||
|
.col-md-offset-2.col-md-10
|
||||||
|
%button.btn.btn-primary= t('upload_key')
|
89
vendor/gems/depp/app/views/depp/polls/show.haml
vendored
Normal file
89
vendor/gems/depp/app/views/depp/polls/show.haml
vendored
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
- if @data.css('msgQ').any?
|
||||||
|
- msg_q = @data.css('msgQ').first
|
||||||
|
.row
|
||||||
|
.col-sm-12
|
||||||
|
%h2= t('messages', count: msg_q['count'])
|
||||||
|
%hr
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading.clearfix
|
||||||
|
.pull-left= t('message_no', id: msg_q['id'])
|
||||||
|
.pull-right
|
||||||
|
- if @data.css('panData').any? # this is a keyrelay request
|
||||||
|
= link_to(t('confirm'), 'javascript: void(0);', class: 'btn btn-primary btn-xs js-keyrelay-confirm')
|
||||||
|
- if @data.css('trnData trStatus').any? # this is a transfer request
|
||||||
|
- unless ['serverApproved', 'clientApproved'].include?(@data.css('trStatus').first.text)
|
||||||
|
= link_to(t('confirm'), 'javascript: void(0);', class: 'btn btn-primary btn-xs js-transfer-confirm')
|
||||||
|
= link_to(t('dequeue'), poll_path(id: msg_q['id']), method: :delete, class: 'btn btn-primary btn-xs')
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
%dt= t('message')
|
||||||
|
%dd= msg_q.css('msg').text
|
||||||
|
|
||||||
|
%dt= t('queue_date')
|
||||||
|
%dd= @data.css('qDate').text
|
||||||
|
|
||||||
|
%dl.dl-horizontal
|
||||||
|
/ keyrelay
|
||||||
|
- if @data.css('panData').any?
|
||||||
|
%dt= t('domain_name')
|
||||||
|
%dd= @data.css('name').text
|
||||||
|
|
||||||
|
%dt= t('password')
|
||||||
|
%dd= @data.css('pw').text
|
||||||
|
|
||||||
|
- if @data.css('relative').text.present?
|
||||||
|
%dt= t('expiry_relative')
|
||||||
|
%dd= @data.css('relative').text
|
||||||
|
|
||||||
|
- if @data.css('absolute').text.present?
|
||||||
|
%dt= t('expiry_absolute')
|
||||||
|
%dd= @data.css('absolute').text
|
||||||
|
|
||||||
|
%dt paDate
|
||||||
|
%dd= @data.css('paDate').text
|
||||||
|
|
||||||
|
%dt= t('flag')
|
||||||
|
%dd= @data.css('flags').text
|
||||||
|
|
||||||
|
%dt= t('protocol')
|
||||||
|
%dd= @data.css('protocol').text
|
||||||
|
|
||||||
|
%dt= t('algorithm')
|
||||||
|
%dd= @data.css('alg').text
|
||||||
|
|
||||||
|
%dt= t('public_key')
|
||||||
|
%dd= @data.css('pubKey').text
|
||||||
|
|
||||||
|
= form_tag confirm_keyrelay_poll_path, class: 'js-keyrelay-form' do
|
||||||
|
= hidden_field_tag 'domain[name]', @data.css('name').text
|
||||||
|
= hidden_field_tag 'domain[dnskeys_attributes][0][flags]', @data.css('flags').text
|
||||||
|
= hidden_field_tag 'domain[dnskeys_attributes][0][protocol]', @data.css('protocol').text
|
||||||
|
= hidden_field_tag 'domain[dnskeys_attributes][0][alg]', @data.css('alg').text
|
||||||
|
= hidden_field_tag 'domain[dnskeys_attributes][0][public_key]', @data.css('pubKey').text
|
||||||
|
|
||||||
|
- else
|
||||||
|
- if @data.css('trnData trStatus').any? # this is a transfer request
|
||||||
|
= form_tag confirm_transfer_poll_path, class: 'js-transfer-form' do
|
||||||
|
= hidden_field_tag 'domain[name]', @data.css('name').text
|
||||||
|
|
||||||
|
- @data.css('trnData').children.each do |x|
|
||||||
|
- next if x.blank?
|
||||||
|
%dt= t(x.name)
|
||||||
|
%dd= x.text
|
||||||
|
- else
|
||||||
|
.row
|
||||||
|
.col-sm-12
|
||||||
|
%h2= t('messages', count: 0)
|
||||||
|
%hr
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%p.bg-info{style: 'padding: 15px;'}= t('you_have_no_new_messages')
|
||||||
|
|
||||||
|
:coffee
|
||||||
|
$(".js-keyrelay-confirm").on "click", ->
|
||||||
|
$(".js-keyrelay-form").submit()
|
||||||
|
|
||||||
|
$(".js-transfer-confirm").on "click", ->
|
||||||
|
$(".js-transfer-form").submit()
|
29
vendor/gems/depp/app/views/depp/shared/_epp_results.haml
vendored
Normal file
29
vendor/gems/depp/app/views/depp/shared/_epp_results.haml
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
- if @data && @data.css('result')
|
||||||
|
- @results ||= @data.css('result')
|
||||||
|
|
||||||
|
- if @results || flash[:epp_results]
|
||||||
|
- success_codes = %(1000, 1300, 1301, 200)
|
||||||
|
|
||||||
|
- if @results
|
||||||
|
- @results.each do |x|
|
||||||
|
- next if success_codes.include?(x['code'])
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%p{class: "alert alert-danger"}
|
||||||
|
= x.css('msg').text.split('[').first
|
||||||
|
- if x.css('value').text.present?
|
||||||
|
= " - #{x.css('value').text}"
|
||||||
|
%span.pull-right
|
||||||
|
= "[code: #{x['code']}]"
|
||||||
|
|
||||||
|
- if flash[:epp_results]
|
||||||
|
- flash[:epp_results].each do |x|
|
||||||
|
- next if success_codes.include?(x['code'])
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
%p{class: "alert alert-danger"}
|
||||||
|
= x['msg'].split('[').first
|
||||||
|
- if x['value'].present?
|
||||||
|
= " - #{x['value']}"
|
||||||
|
%span.pull-right
|
||||||
|
= "[code: #{x['code']}]"
|
5
vendor/gems/depp/app/views/depp/shared/_error_messages.haml
vendored
Normal file
5
vendor/gems/depp/app/views/depp/shared/_error_messages.haml
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
- if f.object.errors.present?
|
||||||
|
.alert.alert-warning
|
||||||
|
%ul
|
||||||
|
- f.object.errors.messages.each do |message|
|
||||||
|
%li= message.second.first.split('[').first
|
5
vendor/gems/depp/app/views/depp/shared/_errors.haml
vendored
Normal file
5
vendor/gems/depp/app/views/depp/shared/_errors.haml
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
- if object.errors.any?
|
||||||
|
%p.text-danger
|
||||||
|
- object.errors.each do |attr, err|
|
||||||
|
= err
|
||||||
|
%br
|
4
vendor/gems/depp/app/views/depp/shared/_flash.haml
vendored
Normal file
4
vendor/gems/depp/app/views/depp/shared/_flash.haml
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- if flash[:notice].present? || flash[:alert].present?
|
||||||
|
#flash
|
||||||
|
- type = (flash[:notice]) ? 'bg-success' : 'bg-danger'
|
||||||
|
.alert{class: type}= flash[:notice] || flash[:alert]
|
4
vendor/gems/depp/app/views/depp/shared/_flash_messages.haml
vendored
Normal file
4
vendor/gems/depp/app/views/depp/shared/_flash_messages.haml
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- display = (flash.empty?) ? 'none' : 'block'
|
||||||
|
#flash{style: "display: #{display};"}
|
||||||
|
- type = (flash[:notice]) ? 'bg-success' : 'bg-danger'
|
||||||
|
.alert{class: type}= flash[:notice] || flash[:alert]
|
13
vendor/gems/depp/app/views/depp/shared/_nav.haml
vendored
Normal file
13
vendor/gems/depp/app/views/depp/shared/_nav.haml
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
- content_for :tabs do
|
||||||
|
.container.subnav
|
||||||
|
%ul.nav.nav-tabs.navbar-right
|
||||||
|
%li{role: :presentation, class: active == :domains ? 'active' : ''}
|
||||||
|
= link_to t(:all), domains_path
|
||||||
|
%li{role: :presentation, class: active == :new ? 'active' : ''}
|
||||||
|
= link_to t(:new), new_domain_path
|
||||||
|
%li{role: :presentation, class: active == :check ? 'active' : ''}
|
||||||
|
= link_to t(:check), check_domains_path
|
||||||
|
%li{role: :presentation, class: active == :transfer ? 'active' : ''}
|
||||||
|
= link_to t(:transfer), transfer_domains_path
|
||||||
|
%li{role: :presentation, class: active == :keyrelay ? 'active' : ''}
|
||||||
|
= link_to t(:keyrelay), keyrelay_path
|
9
vendor/gems/depp/app/views/depp/shared/_title.haml
vendored
Normal file
9
vendor/gems/depp/app/views/depp/shared/_title.haml
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
- content_for :window_title do
|
||||||
|
%title= name
|
||||||
|
|
||||||
|
.row.title-row
|
||||||
|
.col-sm-6
|
||||||
|
%h1= name
|
||||||
|
.col-sm-6
|
||||||
|
.top-actions
|
||||||
|
= yield :actions
|
12
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/check.xml
vendored
Normal file
12
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/check.xml
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<check>
|
||||||
|
<contact:check
|
||||||
|
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
|
||||||
|
<contact:id>sh8013</contact:id>
|
||||||
|
</contact:check>
|
||||||
|
</check>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
14
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/check_multiple.xml
vendored
Normal file
14
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/check_multiple.xml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<check>
|
||||||
|
<contact:check
|
||||||
|
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
|
||||||
|
<contact:id>sh8013</contact:id>
|
||||||
|
<contact:id>sh13</contact:id>
|
||||||
|
<contact:id>vsdfvq</contact:id>
|
||||||
|
</contact:check>
|
||||||
|
</check>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
34
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/create.xml
vendored
Normal file
34
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/create.xml
vendored
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<create>
|
||||||
|
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
|
||||||
|
<contact:postalInfo>
|
||||||
|
<contact:name>Sillius Soddus</contact:name>
|
||||||
|
<contact:addr>
|
||||||
|
<contact:street>123 Example Dr.</contact:street>
|
||||||
|
<contact:street>Suite 100</contact:street>
|
||||||
|
<contact:street/>
|
||||||
|
<contact:city>Megaton</contact:city>
|
||||||
|
<contact:sp>F3 </contact:sp>
|
||||||
|
<contact:pc>201-33</contact:pc>
|
||||||
|
<contact:cc>EE</contact:cc>
|
||||||
|
</contact:addr>
|
||||||
|
</contact:postalInfo>
|
||||||
|
<contact:voice>+372.1234567</contact:voice>
|
||||||
|
<contact:email>example@test.example</contact:email>
|
||||||
|
</contact:create>
|
||||||
|
</create>
|
||||||
|
<extension>
|
||||||
|
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||||
|
<eis:ident type="bic" cc="EE">
|
||||||
|
123
|
||||||
|
</eis:ident>
|
||||||
|
<eis:legalDocument type="pdf">
|
||||||
|
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||||
|
</eis:legalDocument>
|
||||||
|
</eis:extdata>
|
||||||
|
</extension>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
22
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/delete.xml
vendored
Normal file
22
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/delete.xml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<delete>
|
||||||
|
<contact:delete
|
||||||
|
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
|
||||||
|
<contact:id>sh8013</contact:id>
|
||||||
|
<contact:authInfo>
|
||||||
|
<contact:pw>wrong-one</contact:pw>
|
||||||
|
</contact:authInfo>
|
||||||
|
</contact:delete>
|
||||||
|
</delete>
|
||||||
|
<extension>
|
||||||
|
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||||
|
<eis:legalDocument type="pdf">
|
||||||
|
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||||
|
</eis:legalDocument>
|
||||||
|
</eis:extdata>
|
||||||
|
</extension>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
14
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/info.xml
vendored
Normal file
14
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/info.xml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<info>
|
||||||
|
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
|
||||||
|
<contact:id>sh8013</contact:id>
|
||||||
|
<contact:authInfo>
|
||||||
|
<contact:pw>Aas34fq</contact:pw>
|
||||||
|
</contact:authInfo>
|
||||||
|
</contact:info>
|
||||||
|
</info>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
36
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/update_chg.xml
vendored
Normal file
36
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/contact/update_chg.xml
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<update>
|
||||||
|
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
|
||||||
|
<contact:id>sh8013</contact:id>
|
||||||
|
<contact:chg>
|
||||||
|
<contact:postalInfo>
|
||||||
|
<contact:name>John Doe</contact:name>
|
||||||
|
<contact:addr>
|
||||||
|
<contact:street>123 Example Dr.</contact:street>
|
||||||
|
<contact:street>Suite 100</contact:street>
|
||||||
|
<contact:city>Dulles</contact:city>
|
||||||
|
<contact:sp>VA</contact:sp>
|
||||||
|
<contact:pc>20166-6503</contact:pc>
|
||||||
|
<contact:cc>EE</contact:cc>
|
||||||
|
</contact:addr>
|
||||||
|
</contact:postalInfo>
|
||||||
|
<contact:voice>+123.7035555555</contact:voice>
|
||||||
|
<contact:email>jdoe@example.com</contact:email>
|
||||||
|
</contact:chg>
|
||||||
|
<contact:authInfo>
|
||||||
|
<contact:pw>2fooBAR</contact:pw>
|
||||||
|
</contact:authInfo>
|
||||||
|
</contact:update>
|
||||||
|
</update>
|
||||||
|
<extension>
|
||||||
|
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||||
|
<eis:legalDocument type="pdf">
|
||||||
|
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||||
|
</eis:legalDocument>
|
||||||
|
</eis:extdata>
|
||||||
|
</extension>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
12
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/check.xml
vendored
Normal file
12
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/check.xml
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<check>
|
||||||
|
<domain:check
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||||
|
<domain:name>example.ee</domain:name>
|
||||||
|
</domain:check>
|
||||||
|
</check>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
44
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/create.xml
vendored
Normal file
44
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/create.xml
vendored
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<create>
|
||||||
|
<domain:create
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||||
|
<domain:name>example.ee</domain:name>
|
||||||
|
<domain:period unit="y">1</domain:period>
|
||||||
|
<domain:ns>
|
||||||
|
<domain:hostAttr>
|
||||||
|
<domain:hostName>ns1.example.net</domain:hostName>
|
||||||
|
</domain:hostAttr>
|
||||||
|
<domain:hostAttr>
|
||||||
|
<domain:hostName>ns2.example.net</domain:hostName>
|
||||||
|
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
|
||||||
|
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
|
||||||
|
</domain:hostAttr>
|
||||||
|
</domain:ns>
|
||||||
|
<domain:registrant>jd1234</domain:registrant>
|
||||||
|
<domain:contact type="admin">sh8013</domain:contact>
|
||||||
|
<domain:contact type="tech">sh8013</domain:contact>
|
||||||
|
<domain:contact type="tech">sh801333</domain:contact>
|
||||||
|
</domain:create>
|
||||||
|
</create>
|
||||||
|
<extension>
|
||||||
|
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
|
||||||
|
<secDNS:keyData>
|
||||||
|
<secDNS:flags>257</secDNS:flags>
|
||||||
|
<secDNS:protocol>3</secDNS:protocol>
|
||||||
|
<secDNS:alg>8</secDNS:alg>
|
||||||
|
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
|
||||||
|
</secDNS:keyData>
|
||||||
|
</secDNS:create>
|
||||||
|
</extension>
|
||||||
|
<extension>
|
||||||
|
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||||
|
<eis:legalDocument type="pdf">
|
||||||
|
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||||
|
</eis:legalDocument>
|
||||||
|
</eis:extdata>
|
||||||
|
</extension>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
19
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/delete.xml
vendored
Normal file
19
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/delete.xml
vendored
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<delete>
|
||||||
|
<domain:delete
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||||
|
<domain:name>example.ee</domain:name>
|
||||||
|
</domain:delete>
|
||||||
|
</delete>
|
||||||
|
<extension>
|
||||||
|
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||||
|
<eis:legalDocument type="pdf">
|
||||||
|
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||||
|
</eis:legalDocument>
|
||||||
|
</eis:extdata>
|
||||||
|
</extension>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
15
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/info.xml
vendored
Normal file
15
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/info.xml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<info>
|
||||||
|
<domain:info
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||||
|
<domain:name hosts="all">example.ee</domain:name>
|
||||||
|
<domain:authInfo>
|
||||||
|
<domain:pw>2fooBAR</domain:pw>
|
||||||
|
</domain:authInfo>
|
||||||
|
</domain:info>
|
||||||
|
</info>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
14
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/renew.xml
vendored
Normal file
14
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/renew.xml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<renew>
|
||||||
|
<domain:renew
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||||
|
<domain:name>example.ee</domain:name>
|
||||||
|
<domain:curExpDate>2014-08-07</domain:curExpDate>
|
||||||
|
<domain:period unit="y">1</domain:period>
|
||||||
|
</domain:renew>
|
||||||
|
</renew>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
22
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/transfer.xml
vendored
Normal file
22
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/transfer.xml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<transfer op="query">
|
||||||
|
<domain:transfer
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||||
|
<domain:name>example.ee</domain:name>
|
||||||
|
<domain:authInfo>
|
||||||
|
<domain:pw roid="JD1234-REP">2BARfoo</domain:pw>
|
||||||
|
</domain:authInfo>
|
||||||
|
</domain:transfer>
|
||||||
|
</transfer>
|
||||||
|
<extension>
|
||||||
|
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||||
|
<eis:legalDocument type="pdf">
|
||||||
|
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||||
|
</eis:legalDocument>
|
||||||
|
</eis:extdata>
|
||||||
|
</extension>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
48
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/update.xml
vendored
Normal file
48
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/domain/update.xml
vendored
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||||
|
<command>
|
||||||
|
<update>
|
||||||
|
<domain:update
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||||
|
<domain:name>example.ee</domain:name>
|
||||||
|
<domain:chg>
|
||||||
|
<domain:registrant>mak21</domain:registrant>
|
||||||
|
</domain:chg>
|
||||||
|
<domain:add>
|
||||||
|
<domain:ns>
|
||||||
|
<domain:hostObj>ns1.example.com</domain:hostObj>
|
||||||
|
<domain:hostObj>ns2.example.com</domain:hostObj>
|
||||||
|
</domain:ns>
|
||||||
|
<domain:contact type="tech">mak21</domain:contact>
|
||||||
|
<domain:status s="clientHold"
|
||||||
|
lang="en">Payment overdue.</domain:status>
|
||||||
|
<domain:status s="clientUpdateProhibited"/>
|
||||||
|
</domain:add>
|
||||||
|
<domain:rem>
|
||||||
|
<domain:ns>
|
||||||
|
<domain:hostObj>ns1.example.com</domain:hostObj>
|
||||||
|
</domain:ns>
|
||||||
|
<domain:contact type="tech">mak21</domain:contact>
|
||||||
|
<domain:status s="clientHold"/>
|
||||||
|
</domain:rem>
|
||||||
|
</domain:update>
|
||||||
|
</update>
|
||||||
|
<extension>
|
||||||
|
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
|
||||||
|
<secDNS:rem>
|
||||||
|
<secDNS:keyData>
|
||||||
|
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
|
||||||
|
</secDNS:keyData>
|
||||||
|
</secDNS:rem>
|
||||||
|
</secDNS:update>
|
||||||
|
</extension>
|
||||||
|
<extension>
|
||||||
|
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||||
|
<eis:legalDocument type="pdf">
|
||||||
|
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||||
|
</eis:legalDocument>
|
||||||
|
</eis:extdata>
|
||||||
|
</extension>
|
||||||
|
<clTRID>ABC-12345</clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
24
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/keyrelay/keyrelay.xml
vendored
Normal file
24
vendor/gems/depp/app/views/depp/xml_consoles/epp_requests/keyrelay/keyrelay.xml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
|
||||||
|
<command>
|
||||||
|
<ext:keyrelay>
|
||||||
|
<ext:name>example6.ee</ext:name>
|
||||||
|
<ext:keyData>
|
||||||
|
<secDNS:flags>256</secDNS:flags>
|
||||||
|
<secDNS:protocol>3</secDNS:protocol>
|
||||||
|
<secDNS:alg>8</secDNS:alg>
|
||||||
|
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
|
||||||
|
</ext:keyData>
|
||||||
|
<ext:authInfo>
|
||||||
|
<domain:pw>7521f360ae480e67c3096e4c046beb84</domain:pw>
|
||||||
|
</ext:authInfo>
|
||||||
|
<ext:expiry>
|
||||||
|
<ext:relative>P1D</ext:relative>
|
||||||
|
</ext:expiry>
|
||||||
|
</ext:keyrelay>
|
||||||
|
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||||
|
<eis:legalDocument type="pdf">JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==</eis:legalDocument>
|
||||||
|
</eis:extdata>
|
||||||
|
<ext:clTRID>1422542244</ext:clTRID>
|
||||||
|
</command>
|
||||||
|
</epp>
|
66
vendor/gems/depp/app/views/depp/xml_consoles/show.haml
vendored
Normal file
66
vendor/gems/depp/app/views/depp/xml_consoles/show.haml
vendored
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
.row
|
||||||
|
.col-md-8
|
||||||
|
= form_tag(xml_console_path) do
|
||||||
|
.form-group
|
||||||
|
= text_area_tag(:payload, params[:payload], class: 'form-control', rows: 15, style: 'font-family:monospace; font-size: 11px;')
|
||||||
|
|
||||||
|
= button_tag t('send_epp_request'), class: 'btn btn-default'
|
||||||
|
.col-md-4
|
||||||
|
%h4 Domain
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'domain', epp_action: 'create'}}
|
||||||
|
Create
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'domain', epp_action: 'update'}}
|
||||||
|
Update
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'domain', epp_action: 'info'}}
|
||||||
|
Info
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'domain', epp_action: 'renew'}}
|
||||||
|
Renew
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'domain', epp_action: 'check'}}
|
||||||
|
Check
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'domain', epp_action: 'transfer'}}
|
||||||
|
Transfer
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'domain', epp_action: 'delete'}}
|
||||||
|
Delete
|
||||||
|
|
||||||
|
%h4 Keyrelay
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'keyrelay', epp_action: 'keyrelay'}}
|
||||||
|
Keyrelay
|
||||||
|
|
||||||
|
%h4 Contact
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'contact', epp_action: 'create'}}
|
||||||
|
Create
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'contact', epp_action: 'check'}}
|
||||||
|
Check
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'contact', epp_action: 'check_multiple'}}
|
||||||
|
Check(multiple)
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'contact', epp_action: 'delete'}}
|
||||||
|
Delete
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'contact', epp_action: 'info'}}
|
||||||
|
Info
|
||||||
|
,
|
||||||
|
%a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'contact', epp_action: 'update_chg'}}
|
||||||
|
Update(chg)
|
||||||
|
|
||||||
|
- if @result
|
||||||
|
%hr
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= preserve do
|
||||||
|
= CodeRay.scan(@result.to_s.force_encoding("UTF-8"), :xml).div().html_safe
|
||||||
|
|
||||||
|
:javascript
|
||||||
|
$('.js-load-xml').click(function() {
|
||||||
|
$.get('xml_console/load_xml', {obj: $(this).data('obj'), epp_action: $(this).data('epp-action')}, function(data) {
|
||||||
|
$('textarea[name="payload"]').html(data);
|
||||||
|
});
|
||||||
|
});
|
42
vendor/gems/depp/app/views/layouts/depp/application.haml
vendored
Normal file
42
vendor/gems/depp/app/views/layouts/depp/application.haml
vendored
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
%html{lang: I18n.locale.to_s}
|
||||||
|
%head
|
||||||
|
%meta{charset: "utf-8"}/
|
||||||
|
%meta{content: "IE=edge", "http-equiv" => "X-UA-Compatible"}/
|
||||||
|
%meta{content: "width=device-width, initial-scale=1", name: "viewport"}/
|
||||||
|
%meta{content: "EPP-Client", name: "description"}/
|
||||||
|
%meta{content: "Gitlab LTD", name: "author"}/
|
||||||
|
= csrf_meta_tags
|
||||||
|
= stylesheet_link_tag 'depp/application', media: 'all', 'data-turbolinks-track' => true
|
||||||
|
= javascript_include_tag 'depp/application', 'data-turbolinks-track' => true
|
||||||
|
= favicon_link_tag 'favicon.ico'
|
||||||
|
= yield :window_title
|
||||||
|
%body{:style => env_style}
|
||||||
|
/ Static navbar
|
||||||
|
.navbar.navbar-default.navbar-static-top{role: "navigation"}
|
||||||
|
.container
|
||||||
|
.navbar-header
|
||||||
|
%button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", type: "button"}
|
||||||
|
%span.sr-only Toggle navigation
|
||||||
|
%span.icon-bar
|
||||||
|
%span.icon-bar
|
||||||
|
%span.icon-bar
|
||||||
|
= link_to 'EPP Client', root_path, class: 'navbar-brand'
|
||||||
|
.navbar-collapse.collapse
|
||||||
|
%ul.nav.navbar-nav
|
||||||
|
- active_class = %w(domains check renew tranfer keyrelays).include?(params[:controller]) ? 'active' :nil
|
||||||
|
%li{class: active_class}= link_to t(:domains), domains_path
|
||||||
|
|
||||||
|
- active_class = ['contacts'].include?(params[:controller]) ? 'active' :nil
|
||||||
|
%li{class: active_class}= link_to t(:contacts), contacts_path
|
||||||
|
|
||||||
|
- active_class = ['xml_consoles'].include?(params[:controller]) ? 'active' :nil
|
||||||
|
%li{class: active_class}= link_to t(:xml_console), xml_console_path
|
||||||
|
|
||||||
|
%ul.nav.navbar-nav.navbar-right
|
||||||
|
%li= link_to t(:log_out, user: depp_current_user.tag), '/logout'
|
||||||
|
/ /.nav-collapse
|
||||||
|
|
||||||
|
.container
|
||||||
|
= render 'depp/shared/flash'
|
||||||
|
= render 'depp/shared/epp_results'
|
||||||
|
= yield
|
12
vendor/gems/depp/bin/rails
vendored
Executable file
12
vendor/gems/depp/bin/rails
vendored
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
# This command will automatically be run when you run "rails" with Rails 4 gems installed from the root of your application.
|
||||||
|
|
||||||
|
ENGINE_ROOT = File.expand_path('../..', __FILE__)
|
||||||
|
ENGINE_PATH = File.expand_path('../../lib/depp/engine', __FILE__)
|
||||||
|
|
||||||
|
# Set up gems listed in the Gemfile.
|
||||||
|
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
|
||||||
|
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
||||||
|
|
||||||
|
require 'rails/all'
|
||||||
|
require 'rails/engine/commands'
|
126
vendor/gems/depp/config/locales/en.yml
vendored
Normal file
126
vendor/gems/depp/config/locales/en.yml
vendored
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
en:
|
||||||
|
activemodel:
|
||||||
|
errors:
|
||||||
|
models:
|
||||||
|
'depp/user':
|
||||||
|
attributes:
|
||||||
|
base:
|
||||||
|
failed_to_open_connection_to_epp_server: 'Failed to open connection to EPP server!'
|
||||||
|
authorization_error: 'Authorization error'
|
||||||
|
invalid_cert: 'Invalid certificate'
|
||||||
|
tag:
|
||||||
|
blank: "Username can't be blank"
|
||||||
|
password:
|
||||||
|
blank: "Password can't be blank"
|
||||||
|
|
||||||
|
username: 'Username'
|
||||||
|
password: 'Password'
|
||||||
|
log_in: 'Log in'
|
||||||
|
log_out: 'Log out (%{user})'
|
||||||
|
domain_name: 'Domain name'
|
||||||
|
domains: 'Domains'
|
||||||
|
register: 'Register'
|
||||||
|
check: 'Check'
|
||||||
|
contacts: 'Contacts'
|
||||||
|
domain_info: 'Domain info'
|
||||||
|
domain_details: 'Domain details'
|
||||||
|
xml_console: 'XML Console'
|
||||||
|
info: 'Info'
|
||||||
|
register: 'Register'
|
||||||
|
send_epp_request: 'Send EPP Request'
|
||||||
|
registrant: 'Registrant'
|
||||||
|
created_at: 'Created at'
|
||||||
|
valid_to: 'Valid to'
|
||||||
|
updated_at: 'Updated at'
|
||||||
|
tech_contacts: 'Tech contacts'
|
||||||
|
name: 'Name'
|
||||||
|
type: 'Type'
|
||||||
|
code: 'Code'
|
||||||
|
nameservers: 'Nameservers'
|
||||||
|
hostname: 'Hostname'
|
||||||
|
ipv4: 'IPv4'
|
||||||
|
ipv6: 'IPv6'
|
||||||
|
dnskeys: 'DNS Keys'
|
||||||
|
flag: 'Flag'
|
||||||
|
protocol: 'Protocol'
|
||||||
|
algorithm: 'Algorithm'
|
||||||
|
public_key: 'Public key'
|
||||||
|
ds_key_tag: 'DS key tag'
|
||||||
|
ds_algorithm: 'DS algorithm'
|
||||||
|
ds_digest_type: 'DS digest type'
|
||||||
|
ds_digest: 'DS digest'
|
||||||
|
statuses: 'Statuses'
|
||||||
|
status: 'Status'
|
||||||
|
description: 'Description'
|
||||||
|
check_domain: 'Check domain'
|
||||||
|
result: 'Result'
|
||||||
|
available: 'Available'
|
||||||
|
reason: 'Reason'
|
||||||
|
contact_code: 'Code'
|
||||||
|
add_another: 'Add another'
|
||||||
|
delete: 'Delete'
|
||||||
|
contact_type: 'Contact type'
|
||||||
|
edit_domain: 'Edit domain'
|
||||||
|
new_domain: 'New domain'
|
||||||
|
edit: 'Edit'
|
||||||
|
delete: 'Delete'
|
||||||
|
are_you_sure: 'Are you sure?'
|
||||||
|
renew: 'Renew'
|
||||||
|
renew_domain: 'Renew domain'
|
||||||
|
cur_exp_date: 'curExpDate'
|
||||||
|
transfer: 'Transfer'
|
||||||
|
query: 'Query'
|
||||||
|
transfer_domain: 'Transfer domain'
|
||||||
|
reject: 'Reject'
|
||||||
|
approve: 'Approve'
|
||||||
|
contact_info: 'Contact info'
|
||||||
|
contact_id: 'Contact ID'
|
||||||
|
address: 'Address'
|
||||||
|
street: 'Street'
|
||||||
|
city: 'City'
|
||||||
|
messages: 'Messages (%{count})'
|
||||||
|
message: 'Message'
|
||||||
|
message_no: 'Message #%{id}'
|
||||||
|
queue_date: 'Queue date'
|
||||||
|
messages_in_queue: 'Messages in queue'
|
||||||
|
you_have_no_new_messages: 'You have no new messages'
|
||||||
|
message_id: 'Message ID'
|
||||||
|
trStatus: 'Status'
|
||||||
|
reID: 'Transfer from'
|
||||||
|
reDate: 'Transfer requested at'
|
||||||
|
acID: 'Transfer to'
|
||||||
|
acDate: 'Accept date'
|
||||||
|
exDate: 'Valid to'
|
||||||
|
dequeue: 'Dequeue'
|
||||||
|
are_you_sure_you_want_to_delete_domain: 'Are you sure you want to delete domain %{domain}?'
|
||||||
|
keyrelay: 'Keyrelay'
|
||||||
|
expiry_relative: 'Expiry relative'
|
||||||
|
expiry_absolute: 'Expiry absolute'
|
||||||
|
upload_key: 'Upload key'
|
||||||
|
legal_document: 'Legal document'
|
||||||
|
delete_domain: 'Delete domain'
|
||||||
|
index: 'Index'
|
||||||
|
ident: 'Ident'
|
||||||
|
email: 'E-mail'
|
||||||
|
value: 'Value'
|
||||||
|
phone: 'Phone'
|
||||||
|
org_name: Org name
|
||||||
|
ident_type: Ident code
|
||||||
|
country: Country
|
||||||
|
period: Period
|
||||||
|
birthday_format: 'Insert birthday in format: YYYY-MM-DD'
|
||||||
|
your_session_has_timed_out: 'Your session has timed out. Please log in again.'
|
||||||
|
certificate_loaded: 'Certificate (already loaded)'
|
||||||
|
private_key_loaded: 'Private key (already loaded)'
|
||||||
|
credentials: 'Credentials'
|
||||||
|
pki: 'PKI'
|
||||||
|
zip: Postcode
|
||||||
|
contact_details: Contact Details
|
||||||
|
general: General
|
||||||
|
id_card: 'ID Card'
|
||||||
|
m_id: 'M-ID'
|
||||||
|
destroyed: It was successfully deleted.
|
||||||
|
not_found: Not found
|
||||||
|
no_connection_to_registry: Connection issue to the registry server! Please try again later.
|
||||||
|
domain_not_found: 'Domain was not found'
|
||||||
|
new_contact: 'New contact'
|
4
vendor/gems/depp/config/locales/et.yml
vendored
Normal file
4
vendor/gems/depp/config/locales/et.yml
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
et:
|
||||||
|
username: 'Kasutajanimi'
|
||||||
|
password: 'Parool'
|
||||||
|
log_in: 'Logi sisse'
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue