mirror of
https://github.com/internetee/registry.git
synced 2025-08-01 23:42:04 +02:00
Merge + validation fixes
Conflicts: Gemfile.lock config/locales/en.yml
This commit is contained in:
commit
03da7e7bc3
24 changed files with 457 additions and 63 deletions
0
.dockerignore
Normal file
0
.dockerignore
Normal file
44
Dockerfile
Normal file
44
Dockerfile
Normal file
|
@ -0,0 +1,44 @@
|
|||
FROM gitlab/registry
|
||||
MAINTAINER Gitlab <info@gitlab.eu>
|
||||
|
||||
# Initial build
|
||||
# SSH authorized keys setup
|
||||
# ADD ./doc/docker/ssh/authorized_keys /root/.ssh/authorized_keys
|
||||
#
|
||||
# Apache2 setup
|
||||
ADD ./doc/docker/apache2/ /etc/apache2/sites-enabled
|
||||
|
||||
# Use baseimage-docker's init process.
|
||||
CMD ["/sbin/my_init"]
|
||||
|
||||
# Set correct environment variables.
|
||||
ENV RAILS_ENV production
|
||||
ENV HOME /home/app
|
||||
|
||||
# Registry
|
||||
# WORKDIR /home/app/registry
|
||||
# ADD . /home/app/registry
|
||||
# RUN chown -R app:www-data .; chmod -R 750 .; chmod g+s .; umask 027
|
||||
# RUN setuser app ls -la /home/app/registry/vendor/
|
||||
# # RUN setuser app ls -la /home/app/registry/vendor/bundle
|
||||
# RUN rm /home/app/registry/vendor/bundle -rf
|
||||
# RUN setuser app bundle install --deployment
|
||||
# RUN setuser app rake assets:precompile
|
||||
|
||||
# Registry test
|
||||
# WORKDIR /home/app/registry-test
|
||||
# ADD . /home/app/registry-test
|
||||
# RUN chown -R app:www-data .; chmod -R 750 .; chmod g+s .; umask 027
|
||||
# RUN setuser app bundle install
|
||||
|
||||
# Ports
|
||||
# Registry admin:
|
||||
EXPOSE 80
|
||||
# EPP:
|
||||
EXPOSE 700
|
||||
# Test env what jenkins uses
|
||||
# for debugging only:
|
||||
# EXPOSE 81
|
||||
|
||||
# Clean up when done.
|
||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
2
Gemfile
2
Gemfile
|
@ -80,6 +80,7 @@ group :development, :test do
|
|||
gem 'capybara', '~> 2.4.1'
|
||||
# For feature testing
|
||||
# gem 'capybara-webkit', '1.2.0' # Webkit driver didn't work with turbolinks
|
||||
gem 'phantomjs-binaries', '~> 1.9.2.4'
|
||||
gem 'phantomjs', '~> 1.9.7.1', require: 'phantomjs/poltergeist'
|
||||
gem 'poltergeist', '~> 1.5.1' # We are using PhantomJS instead
|
||||
|
||||
|
@ -108,3 +109,4 @@ group :development, :test do
|
|||
# For unique IDs (used by the epp gem)
|
||||
gem 'uuidtools', '~> 2.1.4'
|
||||
end
|
||||
|
||||
|
|
50
Gemfile.lock
50
Gemfile.lock
|
@ -29,7 +29,9 @@ GEM
|
|||
tzinfo (~> 1.1)
|
||||
arel (5.0.1.20140414130214)
|
||||
ast (2.0.0)
|
||||
bootstrap-sass (3.2.0.1)
|
||||
astrolabe (1.3.0)
|
||||
parser (>= 2.2.0.pre.3, < 3.0)
|
||||
bootstrap-sass (3.2.0.2)
|
||||
sass (~> 3.2)
|
||||
builder (3.2.2)
|
||||
capybara (2.4.1)
|
||||
|
@ -38,14 +40,14 @@ GEM
|
|||
rack (>= 1.0.0)
|
||||
rack-test (>= 0.5.4)
|
||||
xpath (~> 2.0)
|
||||
celluloid (0.15.2)
|
||||
timers (~> 1.1.0)
|
||||
celluloid (0.16.0)
|
||||
timers (~> 4.0.0)
|
||||
cliver (0.3.2)
|
||||
coderay (1.1.0)
|
||||
coffee-rails (4.0.1)
|
||||
coffee-script (>= 2.2.0)
|
||||
railties (>= 4.0.0, < 5.0)
|
||||
coffee-script (2.2.0)
|
||||
coffee-script (2.3.0)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.7.0)
|
||||
|
@ -55,7 +57,7 @@ GEM
|
|||
hpricot
|
||||
libxml-ruby
|
||||
erubis (2.7.0)
|
||||
execjs (2.2.0)
|
||||
execjs (2.2.1)
|
||||
fabrication (2.11.3)
|
||||
faker (1.3.0)
|
||||
i18n (~> 0.5)
|
||||
|
@ -81,13 +83,14 @@ GEM
|
|||
haml (>= 3.1, < 5.0)
|
||||
railties (>= 4.0.1)
|
||||
hike (1.2.3)
|
||||
hitimes (1.2.2)
|
||||
hpricot (0.8.6)
|
||||
i18n (0.6.11)
|
||||
isikukood (0.1.2)
|
||||
jbuilder (2.1.1)
|
||||
jbuilder (2.1.3)
|
||||
activesupport (>= 3.0.0, < 5)
|
||||
multi_json (~> 1.2)
|
||||
jquery-rails (3.1.0)
|
||||
jquery-rails (3.1.2)
|
||||
railties (>= 3.0, < 5.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
json (1.8.1)
|
||||
|
@ -95,7 +98,7 @@ GEM
|
|||
actionpack (>= 3.0.0)
|
||||
activesupport (>= 3.0.0)
|
||||
kgio (2.9.2)
|
||||
libv8 (3.16.14.3)
|
||||
libv8 (3.16.14.5)
|
||||
libxml-ruby (2.7.0)
|
||||
listen (2.7.9)
|
||||
celluloid (>= 0.15.2)
|
||||
|
@ -108,7 +111,7 @@ GEM
|
|||
method_source (0.8.2)
|
||||
mime-types (1.25.1)
|
||||
mini_portile (0.6.0)
|
||||
minitest (5.4.0)
|
||||
minitest (5.4.1)
|
||||
multi_json (1.10.1)
|
||||
nokogiri (1.6.2.1)
|
||||
mini_portile (= 0.6.0)
|
||||
|
@ -118,6 +121,8 @@ GEM
|
|||
slop (~> 3.4, >= 3.4.5)
|
||||
pg (0.17.1)
|
||||
phantomjs (1.9.7.1)
|
||||
phantomjs-binaries (1.9.2.4)
|
||||
sys-uname (= 0.9.0)
|
||||
poltergeist (1.5.1)
|
||||
capybara (~> 2.1)
|
||||
cliver (~> 0.3.1)
|
||||
|
@ -161,7 +166,7 @@ GEM
|
|||
rb-fsevent (0.9.4)
|
||||
rb-inotify (0.9.5)
|
||||
ffi (>= 0.5.0)
|
||||
rdoc (4.1.1)
|
||||
rdoc (4.1.2)
|
||||
json (~> 1.4)
|
||||
ref (1.0.5)
|
||||
rspec (3.0.0)
|
||||
|
@ -184,7 +189,8 @@ GEM
|
|||
rspec-mocks (~> 3.0.0)
|
||||
rspec-support (~> 3.0.0)
|
||||
rspec-support (3.0.4)
|
||||
rubocop (0.25.0)
|
||||
rubocop (0.26.0)
|
||||
astrolabe (~> 1.3)
|
||||
parser (>= 2.2.0.pre.4, < 3.0)
|
||||
powerpack (~> 0.0.6)
|
||||
rainbow (>= 1.99.1, < 3.0)
|
||||
|
@ -196,10 +202,10 @@ GEM
|
|||
sass (~> 3.2.0)
|
||||
sprockets (~> 2.8, <= 2.11.0)
|
||||
sprockets-rails (~> 2.0)
|
||||
sdoc (0.4.0)
|
||||
json (~> 1.8)
|
||||
rdoc (~> 4.0, < 5.0)
|
||||
shoulda-matchers (2.6.1)
|
||||
sdoc (0.4.1)
|
||||
json (~> 1.7, >= 1.7.7)
|
||||
rdoc (~> 4.0)
|
||||
shoulda-matchers (2.6.2)
|
||||
activesupport (>= 3.0.0)
|
||||
simpleidn (0.0.5)
|
||||
slop (3.6.0)
|
||||
|
@ -209,32 +215,35 @@ GEM
|
|||
multi_json (~> 1.0)
|
||||
rack (~> 1.0)
|
||||
tilt (~> 1.1, != 1.3.0)
|
||||
sprockets-rails (2.1.3)
|
||||
sprockets-rails (2.1.4)
|
||||
actionpack (>= 3.0)
|
||||
activesupport (>= 3.0)
|
||||
sprockets (~> 2.8)
|
||||
sys-uname (0.9.0)
|
||||
ffi (>= 1.0.0)
|
||||
therubyracer (0.12.1)
|
||||
libv8 (~> 3.16.14.0)
|
||||
ref
|
||||
thor (0.19.1)
|
||||
thread_safe (0.3.4)
|
||||
tilt (1.4.1)
|
||||
timers (1.1.0)
|
||||
timers (4.0.1)
|
||||
hitimes
|
||||
treetop (1.4.15)
|
||||
polyglot
|
||||
polyglot (>= 0.3.1)
|
||||
turbolinks (2.2.2)
|
||||
turbolinks (2.3.0)
|
||||
coffee-rails
|
||||
tzinfo (1.2.2)
|
||||
thread_safe (~> 0.1)
|
||||
uglifier (2.5.1)
|
||||
uglifier (2.5.3)
|
||||
execjs (>= 0.3.0)
|
||||
json (>= 1.8.0)
|
||||
unicorn (4.8.3)
|
||||
kgio (~> 2.6)
|
||||
rack
|
||||
raindrops (~> 0.7)
|
||||
uuidtools (2.1.4)
|
||||
uuidtools (2.1.5)
|
||||
websocket-driver (0.3.4)
|
||||
xpath (2.0.0)
|
||||
nokogiri (~> 1.3)
|
||||
|
@ -262,6 +271,7 @@ DEPENDENCIES
|
|||
nprogress-rails (~> 0.1.3.1)
|
||||
pg
|
||||
phantomjs (~> 1.9.7.1)
|
||||
phantomjs-binaries (~> 1.9.2.4)
|
||||
poltergeist (~> 1.5.1)
|
||||
pry (~> 0.10.1)
|
||||
rails (= 4.1.4)
|
||||
|
|
|
@ -1,15 +1,50 @@
|
|||
class Admin::ContactsController < ApplicationController
|
||||
before_action :set_contact, only: [:show]
|
||||
|
||||
def new
|
||||
@contact = Contact.new
|
||||
end
|
||||
# TODO created_by and updated_by ids
|
||||
before_action :set_contact, only: [:show, :destroy, :edit, :update]
|
||||
|
||||
def index
|
||||
@q = Contact.search(params[:q])
|
||||
@contacts = @q.result.page(params[:page])
|
||||
end
|
||||
|
||||
def new
|
||||
@contact = Contact.new
|
||||
@contact.build_local_address
|
||||
@contact.build_international_address
|
||||
end
|
||||
|
||||
def create
|
||||
@contact = Contact.new(contact_params)
|
||||
@contact.generate_code
|
||||
if @contact.save
|
||||
flash[:notice] = I18n.t('shared.contact_added')
|
||||
redirect_to [:admin, @contact]
|
||||
else
|
||||
flash[:alert] = I18n.t('shared.failed_to_create_contact')
|
||||
render "new"
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
if @contact.destroy_and_clean
|
||||
flash[:notice] = I18n.t('shared.contact_deleted')
|
||||
redirect_to admin_contacts_path
|
||||
else
|
||||
flash[:alert] = I18n.t('shared.failed_to_delete_contact')
|
||||
redirect_to [:admin, @contact]
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
if @contact.update_attributes(contact_params)
|
||||
flash[:notice] = I18n.t('shared.contact_updated')
|
||||
redirect_to [:admin, @contact]
|
||||
else
|
||||
flash[:alert] = I18n.t('shared.failed_to_update_contact')
|
||||
redirect_to [:admin, @contact]
|
||||
end
|
||||
end
|
||||
|
||||
def search
|
||||
render json: Contact.search_by_query(params[:q])
|
||||
end
|
||||
|
@ -19,4 +54,10 @@ class Admin::ContactsController < ApplicationController
|
|||
def set_contact
|
||||
@contact = Contact.find(params[:id])
|
||||
end
|
||||
|
||||
def contact_params
|
||||
params.require(:contact).permit( :email, :phone, :fax, :ident_type, :ident, :auth_info,
|
||||
local_address_attributes: [:city, :street, :zip, :street2, :street3, :name, :org_name, :country_id],
|
||||
international_address_attributes: [:city, :street, :zip, :street2, :street3, :name, :org_name, :country_id])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,6 +19,7 @@ class Contact < ActiveRecord::Base
|
|||
validates :code, :phone, :email, :ident, presence: true
|
||||
|
||||
validate :ident_must_be_valid
|
||||
validate :presence_of_one_address
|
||||
|
||||
validates :phone, format: /\+[0-9]{1,3}\.[0-9]{1,14}?/ # /\+\d{3}\.\d+/
|
||||
validates :email, format: /@/
|
||||
|
@ -44,12 +45,21 @@ class Contact < ActiveRecord::Base
|
|||
CONTACT_TYPE_ADMIN = 'admin'
|
||||
CONTACT_TYPES = [CONTACT_TYPE_TECH, CONTACT_TYPE_ADMIN]
|
||||
|
||||
# TEMP Scope until confusion with contact name is sorted out
|
||||
# scope :named, -> { joins(:international_address).uniq.all }
|
||||
|
||||
# TEMP METHOD for transaction to STI
|
||||
def address
|
||||
international_address
|
||||
end
|
||||
##
|
||||
|
||||
def presence_of_one_address
|
||||
return true if local_address || international_address
|
||||
errors.add(:local_address, 'Local or international address must be present')
|
||||
errors.add(:international_address, 'Local or international address must be present')
|
||||
end
|
||||
|
||||
def ident_must_be_valid
|
||||
# TODO: Ident can also be passport number or company registry code.
|
||||
# so have to make changes to validations (and doc/schema) accordingly
|
||||
|
@ -79,7 +89,6 @@ class Contact < ActiveRecord::Base
|
|||
end
|
||||
|
||||
# generate random id for contact
|
||||
#
|
||||
def generate_code
|
||||
self.code = SecureRandom.hex(4)
|
||||
end
|
||||
|
@ -124,6 +133,9 @@ class Contact < ActiveRecord::Base
|
|||
end
|
||||
|
||||
class << self
|
||||
# non-EPP
|
||||
|
||||
# EPP
|
||||
def extract_attributes(ph, type = :create)
|
||||
contact_hash = {
|
||||
phone: ph[:voice],
|
||||
|
|
|
@ -1 +1,77 @@
|
|||
to be done
|
||||
= form_for([:admin, @contact]) do |f|
|
||||
- if @contact.errors.any?
|
||||
- @contact.errors.each do |attr, err|
|
||||
= err
|
||||
%br
|
||||
- if @contact.errors.any?
|
||||
%hr
|
||||
|
||||
.row
|
||||
.col-md-6.text-left
|
||||
.form-group
|
||||
= f.label :email
|
||||
= f.text_field(:email, class: 'form-control')
|
||||
= f.label :phone
|
||||
= f.text_field(:phone, class: 'form-control')
|
||||
= f.label :fax
|
||||
= f.text_field(:fax, class: 'form-control')
|
||||
|
||||
.col-md-6.text-left
|
||||
.form-group
|
||||
= f.label :ident_type
|
||||
= f.select :ident_type, options_for_select(Contact::IDENT_TYPES, @contact.ident_type), {}, {class: 'form-control'}
|
||||
= f.label :ident
|
||||
= f.text_field(:ident, class: 'form-control')
|
||||
= f.label :auth_info
|
||||
= f.text_field(:auth_info, class: 'form-control')
|
||||
|
||||
%hr
|
||||
.row
|
||||
.col-md-6.text-left
|
||||
%h3
|
||||
International Address
|
||||
.form-group
|
||||
= f.fields_for :international_address do |ia|
|
||||
= ia.label :name
|
||||
= ia.text_field(:name, class: 'form-control')
|
||||
= ia.label :org_name
|
||||
= ia.text_field(:org_name, class: 'form-control')
|
||||
|
||||
= ia.label :country_id, t(:country)
|
||||
= ia.collection_select :country_id, Country.all, :id, :name,{}, { class: 'form-control' }
|
||||
|
||||
= ia.label :city
|
||||
= ia.text_field(:city, class: 'form-control')
|
||||
= ia.label :street
|
||||
= ia.text_field(:street, class: 'form-control')
|
||||
= ia.label :street2
|
||||
= ia.text_field(:street2, class: 'form-control')
|
||||
= ia.label :street3
|
||||
= ia.text_field(:street2, class: 'form-control')
|
||||
|
||||
|
||||
.col-md-6.text-left
|
||||
%h3
|
||||
Local Address
|
||||
= f.fields_for :local_address do |ia|
|
||||
= ia.label :name
|
||||
= ia.text_field(:name, class: 'form-control')
|
||||
|
||||
= ia.label :country_id, t(:country)
|
||||
= ia.collection_select :country_id, Country.all, :id, :name,{}, { class: 'form-control' }
|
||||
|
||||
= ia.label :org_name
|
||||
= ia.text_field(:org_name, class: 'form-control')
|
||||
|
||||
= ia.label :city
|
||||
= ia.text_field(:city, class: 'form-control')
|
||||
= ia.label :street
|
||||
= ia.text_field(:street, class: 'form-control')
|
||||
= ia.label :street2
|
||||
= ia.text_field(:street2, class: 'form-control')
|
||||
= ia.label :street3
|
||||
= ia.text_field(:street2, class: 'form-control')
|
||||
|
||||
.row
|
||||
.col-md-12.text-right
|
||||
= button_tag(t('shared.save'), class: 'btn btn-primary')
|
||||
|
|
9
app/views/admin/contacts/edit.haml
Normal file
9
app/views/admin/contacts/edit.haml
Normal file
|
@ -0,0 +1,9 @@
|
|||
.row
|
||||
.col-sm-6
|
||||
%h2.text-center-xs
|
||||
= "#{t('shared.edit_contact')}"
|
||||
.col-sm-6
|
||||
%h2.text-right.text-center-xs
|
||||
= link_to(t('shared.back_to_contact'), [:admin, @contact], class: 'btn btn-default')
|
||||
%hr
|
||||
= render 'form'
|
|
@ -1,6 +1,7 @@
|
|||
.row
|
||||
.col-sm-6
|
||||
%h2.text-center-xs= t('shared.contacts')
|
||||
= render 'admin/contacts/partials/search'
|
||||
.col-sm-6
|
||||
%h2.text-right.text-center-xs
|
||||
= link_to(t('shared.add'), new_admin_contact_path, class: 'btn btn-primary')
|
||||
|
|
6
app/views/admin/contacts/partials/_search.haml
Normal file
6
app/views/admin/contacts/partials/_search.haml
Normal file
|
@ -0,0 +1,6 @@
|
|||
= search_form_for [:admin, @q] do |f|
|
||||
= f.search_field :international_address_name_cont
|
||||
= f.submit do
|
||||
%span.glyphicon.glyphicon-search
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ require 'sprockets/railtie'
|
|||
# you've limited to :test, :development, or :production.
|
||||
Bundler.require(*Rails.groups)
|
||||
|
||||
module Internetee
|
||||
module Registry
|
||||
class Application < Rails::Application
|
||||
# Settings in config/environments/* take precedence over those specified here.
|
||||
# Application configuration should go into files in config/initializers
|
||||
|
|
|
@ -3,13 +3,17 @@ default: &default
|
|||
adapter: postgresql
|
||||
encoding: unicode
|
||||
pool: 5
|
||||
username: internetee
|
||||
password: internetee_pwd
|
||||
username: registry
|
||||
password: registry_pwd
|
||||
|
||||
development:
|
||||
<<: *default
|
||||
database: internetee_development
|
||||
database: registry_development
|
||||
|
||||
test:
|
||||
<<: *default
|
||||
database: internetee_test
|
||||
database: registry_test
|
||||
|
||||
production:
|
||||
<<: *default
|
||||
database: registry_production
|
||||
|
|
80
config/deploy.rb
Normal file
80
config/deploy.rb
Normal file
|
@ -0,0 +1,80 @@
|
|||
require 'mina/bundler'
|
||||
require 'mina/rails'
|
||||
require 'mina/git'
|
||||
# require 'mina/rbenv' # for rbenv support. (http://rbenv.org)
|
||||
# require 'mina/rvm' # for rvm support. (http://rvm.io)
|
||||
|
||||
# Basic settings:
|
||||
# domain - The hostname to SSH to.
|
||||
# deploy_to - Path to deploy into.
|
||||
# repository - Git repo to clone from. (needed by mina/git)
|
||||
# branch - Branch name to deploy. (needed by mina/git)
|
||||
|
||||
set :domain, 'testregistry'
|
||||
set :deploy_to, '/home/app/registry'
|
||||
set :repository, 'https://github.com/internetee/registry'
|
||||
set :branch, 'master'
|
||||
|
||||
# Manually create these paths in shared/ (eg: shared/config/database.yml) in your server.
|
||||
# They will be linked in the 'deploy:link_shared_paths' step.
|
||||
set :shared_paths, [
|
||||
'config/database.yml',
|
||||
'config/secrets.yml',
|
||||
'log',
|
||||
'public/system',
|
||||
'public/assets'
|
||||
]
|
||||
|
||||
# Optional settings:
|
||||
# set :user, 'foobar' # Username in the server to SSH to.
|
||||
# set :port, '30000' # SSH port number.
|
||||
|
||||
# This task is the environment that is loaded for most commands, such as
|
||||
# `mina deploy` or `mina rake`.
|
||||
task :environment do
|
||||
# If you're using rbenv, use this to load the rbenv environment.
|
||||
# Be sure to commit your .rbenv-version to your repository.
|
||||
# invoke :'rbenv:load'
|
||||
|
||||
# For those using RVM, use this to load an RVM version@gemset.
|
||||
# invoke :'rvm:use[ruby-1.9.3-p125@default]'
|
||||
end
|
||||
|
||||
# Put any custom mkdir's in here for when `mina setup` is ran.
|
||||
# For Rails apps, we'll make some of the shared paths that are shared between
|
||||
# all releases.
|
||||
task :setup => :environment do
|
||||
queue! %[mkdir -p "#{deploy_to}/shared/log"]
|
||||
queue! %[chmod g+rx,u+rwx "#{deploy_to}/shared/log"]
|
||||
|
||||
queue! %[mkdir -p "#{deploy_to}/shared/config"]
|
||||
queue! %[chmod g+rx,u+rwx "#{deploy_to}/shared/config"]
|
||||
|
||||
queue! %[touch "#{deploy_to}/shared/config/database.yml"]
|
||||
queue %[echo "-----> Be sure to edit 'shared/config/database.yml'."]
|
||||
end
|
||||
|
||||
desc "Deploys the current version to the server."
|
||||
task :deploy => :environment do
|
||||
deploy do
|
||||
# Put things that will set up an empty directory into a fully set-up
|
||||
# instance of your project.
|
||||
invoke :'git:clone'
|
||||
invoke :'deploy:link_shared_paths'
|
||||
invoke :'bundle:install'
|
||||
invoke :'rails:db_migrate'
|
||||
invoke :'rails:assets_precompile'
|
||||
|
||||
to :launch do
|
||||
queue "mkdir -p #{deploy_to}/current/tmp; touch #{deploy_to}/current/tmp/restart.txt"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# For help in making your deploy script, see the Mina documentation:
|
||||
#
|
||||
# - http://nadarei.co/mina
|
||||
# - http://nadarei.co/mina/tasks
|
||||
# - http://nadarei.co/mina/settings
|
||||
# - http://nadarei.co/mina/helpers
|
||||
|
|
@ -1 +1 @@
|
|||
Internetee::Application.config.autoload_paths += %W(#{Internetee::Application.config.root}/app/validators/)
|
||||
Registry::Application.config.autoload_paths += %W(#{Registry::Application.config.root}/app/validators/)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
Rails.application.config.session_store :cookie_store, key: '_internetee_session'
|
||||
Rails.application.config.session_store :cookie_store, key: '_registry_session'
|
||||
|
|
|
@ -265,3 +265,10 @@ en:
|
|||
add_another: 'Add another'
|
||||
domain_updated: 'Domain updated!'
|
||||
failed_to_update_domain: 'Failed to update domain'
|
||||
failed_to_create_contact: 'Failed to create contact'
|
||||
contact_deleted: 'Contact deleted'
|
||||
failed_to_delete_contact: 'Failed to delete contact'
|
||||
edit_contact: 'Edit contact'
|
||||
failed_to_update_contact: 'Failed to update contact'
|
||||
contact_updated: 'Contact updated'
|
||||
search: 'Search'
|
||||
|
|
|
@ -5,4 +5,4 @@ test:
|
|||
secret_key_base: generate-your-secret-key-by-rake-secret
|
||||
|
||||
production:
|
||||
secret_key_base:
|
||||
secret_key_base: please-change
|
||||
|
|
18
doc/docker/apache2/epp-tester.conf
Normal file
18
doc/docker/apache2/epp-tester.conf
Normal file
|
@ -0,0 +1,18 @@
|
|||
Listen 8888
|
||||
<VirtualHost *:8888>
|
||||
ServerName registry.gitlab.eu
|
||||
ServerAdmin info@gitlab.eu
|
||||
|
||||
PassengerEnabled on
|
||||
RailsEnv production
|
||||
DocumentRoot /home/app/epp-tester/current/public
|
||||
|
||||
ErrorLog /var/log/apache2/epp-tester.error.log
|
||||
LogLevel info ssl:warn
|
||||
CustomLog /var/log/apache2/epp-tester.access.log combined
|
||||
|
||||
<Directory /home/app/epp-tester/current/public>
|
||||
Require all granted
|
||||
Options -MultiViews
|
||||
</Directory>
|
||||
</VirtualHost>
|
21
doc/docker/apache2/epp.conf
Normal file
21
doc/docker/apache2/epp.conf
Normal file
|
@ -0,0 +1,21 @@
|
|||
<IfModule mod_epp.c>
|
||||
Listen 700
|
||||
<VirtualHost *:700>
|
||||
SSLEngine on
|
||||
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
|
||||
SSLCertificateFile /etc/apache2/ssl/apache.crt
|
||||
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
|
||||
|
||||
SSLVerifyClient optional_no_ca
|
||||
|
||||
EPPEngine On
|
||||
EPPCommandRoot /proxy/command
|
||||
EPPSessionRoot /proxy/session
|
||||
EPPErrorRoot /proxy/error
|
||||
|
||||
ProxyPass /proxy/ http://localhost:80/epp/
|
||||
|
||||
EPPAuthURI implicit
|
||||
EPPReturncodeHeader X-EPP-Returncode
|
||||
</VirtualHost>
|
||||
</IfModule>
|
39
doc/docker/apache2/registry-test.conf
Normal file
39
doc/docker/apache2/registry-test.conf
Normal file
|
@ -0,0 +1,39 @@
|
|||
Listen 81
|
||||
<VirtualHost *:81>
|
||||
ServerAdmin info@gitlab.eu
|
||||
|
||||
PassengerEnabled on
|
||||
RailsEnv test
|
||||
DocumentRoot /home/app/registry-test/public
|
||||
|
||||
ErrorLog /var/log/apache2/registry-test.error.log
|
||||
LogLevel info ssl:warn
|
||||
CustomLog /var/log/apache2/registry-test.access.log combined
|
||||
|
||||
<Directory /home/app/registry-test/public>
|
||||
Require all granted
|
||||
Options -MultiViews
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
|
||||
<IfModule mod_epp.c>
|
||||
Listen 701
|
||||
<VirtualHost *:701>
|
||||
SSLEngine on
|
||||
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
|
||||
SSLCertificateFile /etc/apache2/ssl/apache.crt
|
||||
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
|
||||
|
||||
SSLVerifyClient optional_no_ca
|
||||
|
||||
EPPEngine On
|
||||
EPPCommandRoot /proxy/command
|
||||
EPPSessionRoot /proxy/session
|
||||
EPPErrorRoot /proxy/error
|
||||
|
||||
ProxyPass /proxy/ http://localhost:81/epp/
|
||||
|
||||
EPPAuthURI implicit
|
||||
EPPReturncodeHeader X-EPP-Returncode
|
||||
</VirtualHost>
|
||||
</IfModule>
|
17
doc/docker/apache2/registry.conf
Normal file
17
doc/docker/apache2/registry.conf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<VirtualHost *:80>
|
||||
ServerName registry.gitlab.eu
|
||||
ServerAdmin info@gitlab.eu
|
||||
|
||||
PassengerEnabled on
|
||||
RailsEnv production
|
||||
DocumentRoot /home/app/registry/current/public
|
||||
|
||||
ErrorLog /var/log/apache2/registry.error.log
|
||||
LogLevel info ssl:warn
|
||||
CustomLog /var/log/apache2/registry.access.log combined
|
||||
|
||||
<Directory /home/app/registry/current/public>
|
||||
Require all granted
|
||||
Options -MultiViews
|
||||
</Directory>
|
||||
</VirtualHost>
|
3
doc/docker/ssh/authorized_keys
Executable file
3
doc/docker/ssh/authorized_keys
Executable file
|
@ -0,0 +1,3 @@
|
|||
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz+n4Sln0oxme+9hyrgPud9k0C00Nm0T2YufHcQUAdtJssCfeKp2qo/gy0LmOXTB8efyavFn4NW2GZs8gxJ0BV5GoHLmnERAWDOi/wg3KLl4r/ei+HQX6Po/V7WOMHWzKPSSGtqW7cZc1g0y2ci571ZUmgEBoGoGPfoQToGEn2yV4hQmHIjbwtfNNCHx/i12DCoJnD+3cIvhHf4FbZRBW9Wu0I24iqLcxLOAwGWVsnzi0OqN+rj3DenPQfjcPhSsmTu+8mn2AIwMxWeLZSslEYfyBeo9dLBntj3dnxWpw/MJEfMmWgWKGqMaVGB731ZWDOrRrzgl5+s24YBv9LyYWyQ==
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXF8qkkQg8We6c2eCRQTuQUAffuDcYijlnVNAH0V7eUMxKC/9aPIhHaM9JVY4exXDVEQOK0+KsF6twTtewK8XBFfHXcOV3k+11KOJ1LsfphQIbwS9Qufw2maxCWJHxQwKGViGLqePuecQhfQ3UAVXZ1ZO7qGrLB9JBlRimbItJsG3F2o1T7pJAMucf+zCv5KmMeeddDyhAg2ufQHnuPKIMAgr4XH/TD4mg5tqORXCdk/2apuqUz35WqAyRNt/J66bTJOJ39QJv50cyT6/Bb74MNfJSejsM5EUnKF4Nq7edR8F8tlnXmL/wvvVs81oHywCnMqP8eEISLumy1nhNpgbn martin@gitlab.eu
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC13V94raEKiCzg4sACsIFxiHPcRSUryUHxXpcyHMi7OJvTtszOPR3hZnB36c0NxnznD0t3rH2n5vIX+tBmX+JND7bvM+YKgTGcGN+HvS08nSsvwHLie/UAHkWy/4xFvyKnq8MIZtYxkPdIGph6hFMr5LljJu05V08hZF09HutBsjXw5wmZRUJoD/Jl0FO/pf6WxH1VHjhz0kGuM8VREU2SC8uzV1AIZ86zsaxJld1m0doyt+arnJkPYgjXHHpu/IWzIHYjbVo5W8JmYagDCYxaPHN7EesHAEzFi1LDtq1aIrqWrczKaJGSryxSba6pnYiK69MTojF/SAXMsJ1u5q1P andres.kesk@gmail.com
|
|
@ -1,35 +1,37 @@
|
|||
require 'rspec/core/rake_task'
|
||||
require 'open3'
|
||||
if Rails.env.test?
|
||||
require 'rspec/core/rake_task'
|
||||
require 'open3'
|
||||
|
||||
desc 'Run all specs against server'
|
||||
task 'test' do
|
||||
test_against_server { Rake::Task['spec'].invoke }
|
||||
end
|
||||
desc 'Run all specs against server'
|
||||
task 'test' do
|
||||
test_against_server { Rake::Task['spec'].invoke }
|
||||
end
|
||||
|
||||
desc 'Run EPP specs against server'
|
||||
task 'test:epp' do
|
||||
test_against_server { Rake::Task['spec:epp'].invoke }
|
||||
end
|
||||
desc 'Run EPP specs against server'
|
||||
task 'test:epp' do
|
||||
test_against_server { Rake::Task['spec:epp'].invoke }
|
||||
end
|
||||
|
||||
desc 'Run all but EPP specs'
|
||||
RSpec::Core::RakeTask.new('test:other') do |t|
|
||||
t.rspec_opts = '--tag ~epp'
|
||||
end
|
||||
desc 'Run all but EPP specs'
|
||||
RSpec::Core::RakeTask.new('test:other') do |t|
|
||||
t.rspec_opts = '--tag ~epp'
|
||||
end
|
||||
|
||||
desc 'Run all but EPP specs'
|
||||
RSpec::Core::RakeTask.new('test:all_but_features') do |t|
|
||||
t.rspec_opts = '--tag ~feature'
|
||||
end
|
||||
desc 'Run all but EPP specs'
|
||||
RSpec::Core::RakeTask.new('test:all_but_features') do |t|
|
||||
t.rspec_opts = '--tag ~feature'
|
||||
end
|
||||
|
||||
Rake::Task[:default].prerequisites.clear
|
||||
task default: :test
|
||||
Rake::Task[:default].prerequisites.clear
|
||||
task default: :test
|
||||
|
||||
def test_against_server
|
||||
stdin, stdout, stderr, wait_thr = Open3.popen3('unicorn -E test -p 8989')
|
||||
pid = wait_thr.pid
|
||||
begin
|
||||
yield
|
||||
ensure
|
||||
`kill #{pid}`
|
||||
def test_against_server
|
||||
stdin, stdout, stderr, wait_thr = Open3.popen3('unicorn -E test -p 8989')
|
||||
pid = wait_thr.pid
|
||||
begin
|
||||
yield
|
||||
ensure
|
||||
`kill #{pid}`
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -25,7 +25,9 @@ describe Contact do
|
|||
code: ['Required parameter missing - code'],
|
||||
phone: ['Required parameter missing - phone', 'Phone nr is invalid'],
|
||||
email: ['Required parameter missing - email', 'Email is invalid'],
|
||||
ident: ['Required parameter missing - ident']
|
||||
ident: ['Required parameter missing - ident'],
|
||||
local_address: ['Local or international address must be present'],
|
||||
international_address: ['Local or international address must be present']
|
||||
})
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue