mirror of
https://github.com/internetee/registry.git
synced 2025-05-16 17:37:17 +02:00
Version refactored
This commit is contained in:
parent
c1949e7069
commit
3e2be53853
48 changed files with 379 additions and 147 deletions
|
@ -17,3 +17,6 @@
|
||||||
color: #777
|
color: #777
|
||||||
padding-top: 15px
|
padding-top: 15px
|
||||||
font-size: 10px
|
font-size: 10px
|
||||||
|
|
||||||
|
.nowrap
|
||||||
|
white-space: nowrap
|
||||||
|
|
|
@ -2,12 +2,16 @@ class Admin::DomainVersionsController < AdminController
|
||||||
load_and_authorize_resource
|
load_and_authorize_resource
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@q = DomainVersion.deleted.search(params[:q])
|
@domain = Domain.find(params[:domain_id])
|
||||||
@domains = @q.result.page(params[:page])
|
@versions = @domain.versions
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
# def index
|
||||||
@versions = DomainVersion.where(item_id: params[:id])
|
# # @q = DomainVersion.deleted.search(params[:q])
|
||||||
@name = @versions.last.name
|
# # @domains = @q.result.page(params[:page])
|
||||||
end
|
# end
|
||||||
|
|
||||||
|
# def show
|
||||||
|
# @versions = DomainVersion.where(item_id: params[:id])
|
||||||
|
# end
|
||||||
end
|
end
|
||||||
|
|
|
@ -16,13 +16,23 @@ class ApplicationController < ActionController::Base
|
||||||
|
|
||||||
def user_for_paper_trail
|
def user_for_paper_trail
|
||||||
if defined?(current_api_user) && current_api_user.present?
|
if defined?(current_api_user) && current_api_user.present?
|
||||||
"#{current_api_user.id}-api-#{current_api_user.username}"
|
# Most of the time it's not loaded in correct time because PaperTrail before filter kicks in
|
||||||
|
# before current_api_user is defined. PaperTrail is triggered also at current_api_user
|
||||||
|
api_user_log_str(current_api_user)
|
||||||
elsif current_user.present?
|
elsif current_user.present?
|
||||||
"#{current_user.id}-#{current_user.username}"
|
"#{current_user.id}-#{current_user.username}"
|
||||||
else
|
else
|
||||||
'public'
|
'public'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def api_user_log_str(user)
|
||||||
|
if user.present?
|
||||||
|
"#{user.id}-api-#{user.username}"
|
||||||
|
else
|
||||||
|
'api-public'
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class ApplicationController < ActionController::Base
|
class ApplicationController < ActionController::Base
|
||||||
|
|
|
@ -22,7 +22,14 @@ class EppController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_api_user
|
def current_api_user
|
||||||
@current_api_user ||= ApiUser.find(epp_session[:api_user_id]) if epp_session[:api_user_id]
|
return @current_api_user if @current_api_user
|
||||||
|
|
||||||
|
@current_api_user ||= ApiUser.find_by_id(epp_session[:api_user_id])
|
||||||
|
# by default PaperTrail uses before filter and at that
|
||||||
|
# time current_api_user is not yet present
|
||||||
|
::PaperTrail.whodunnit = api_user_log_str(@current_api_user)
|
||||||
|
::PaperSession.session = epp_session.session_id if epp_session.session_id.present?
|
||||||
|
@current_api_user
|
||||||
end
|
end
|
||||||
|
|
||||||
# ERROR + RESPONSE HANDLING
|
# ERROR + RESPONSE HANDLING
|
||||||
|
|
12
app/models/concerns/version_session.rb
Normal file
12
app/models/concerns/version_session.rb
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
module VersionSession
|
||||||
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
|
included do
|
||||||
|
before_save :add_session
|
||||||
|
|
||||||
|
def add_session
|
||||||
|
self.session = PaperSession.session
|
||||||
|
true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -5,6 +5,7 @@ module Versions
|
||||||
included do
|
included do
|
||||||
has_paper_trail class_name: "#{model_name}Version"
|
has_paper_trail class_name: "#{model_name}Version"
|
||||||
|
|
||||||
|
# add creator and updator
|
||||||
before_create :add_creator
|
before_create :add_creator
|
||||||
before_create :add_updator
|
before_create :add_updator
|
||||||
before_update :add_updator
|
before_update :add_updator
|
||||||
|
@ -18,5 +19,14 @@ module Versions
|
||||||
self.updator_str = ::PaperTrail.whodunnit
|
self.updator_str = ::PaperTrail.whodunnit
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# callbacks
|
||||||
|
def touch_domain_version
|
||||||
|
domain.try(:touch_with_version)
|
||||||
|
end
|
||||||
|
|
||||||
|
def touch_domains_version
|
||||||
|
domains.each(&:touch_with_version)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
class Domain < ActiveRecord::Base
|
class Domain < ActiveRecord::Base
|
||||||
include Versions # version/domain_version.rb
|
include Versions # version/domain_version.rb
|
||||||
|
has_paper_trail class_name: "DomainVersion", meta: { children: :children_log }
|
||||||
|
|
||||||
# TODO: whois requests ip whitelist for full info for own domains and partial info for other domains
|
# TODO: whois requests ip whitelist for full info for own domains and partial info for other domains
|
||||||
# TODO: most inputs should be trimmed before validatation, probably some global logic?
|
# TODO: most inputs should be trimmed before validatation, probably some global logic?
|
||||||
paginates_per 10 # just for showoff
|
paginates_per 10 # just for showoff
|
||||||
|
@ -50,6 +52,10 @@ class Domain < ActiveRecord::Base
|
||||||
before_create :set_validity_dates
|
before_create :set_validity_dates
|
||||||
before_create :attach_default_contacts
|
before_create :attach_default_contacts
|
||||||
after_save :manage_automatic_statuses
|
after_save :manage_automatic_statuses
|
||||||
|
before_save :touch_always_version
|
||||||
|
def touch_always_version
|
||||||
|
self.updated_at = Time.now
|
||||||
|
end
|
||||||
|
|
||||||
validates :name_dirty, domain_name: true, uniqueness: true
|
validates :name_dirty, domain_name: true, uniqueness: true
|
||||||
validates :period, numericality: { only_integer: true }
|
validates :period, numericality: { only_integer: true }
|
||||||
|
@ -280,11 +286,20 @@ class Domain < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def children_log
|
||||||
|
log = HashWithIndifferentAccess.new
|
||||||
|
log[:admin_contacts] = admin_contacts.map {|ac| ac.attributes}
|
||||||
|
log[:tech_contacts] = tech_contacts.map {|tc| tc.attributes}
|
||||||
|
log[:nameservers] = nameservers.map {|ns| ns.attributes}
|
||||||
|
log[:owner_contact] = [owner_contact.try(:attributes)]
|
||||||
|
log
|
||||||
|
end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
def convert_period_to_time(period, unit)
|
def convert_period_to_time(period, unit)
|
||||||
return period.to_i.days if unit == 'd'
|
return period.to_i.days if unit == 'd'
|
||||||
return period.to_i.months if unit == 'm'
|
return period.to_i.months if unit == 'm'
|
||||||
return period.to_i.years if unit == 'y'
|
return period.to_i.years if unit == 'y'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -162,36 +162,36 @@ class Epp::EppDomain < Domain
|
||||||
end
|
end
|
||||||
|
|
||||||
def detach_contacts(contact_list)
|
def detach_contacts(contact_list)
|
||||||
to_delete = []
|
to_destroy = []
|
||||||
contact_list.each do |k, v|
|
contact_list.each do |k, v|
|
||||||
v.each do |x|
|
v.each do |x|
|
||||||
contact = domain_contacts.joins(:contact).where(contacts: { code: x[:contact] }, contact_type: k.to_s)
|
contact = domain_contacts.joins(:contact).where(contacts: { code: x[:contact] }, contact_type: k.to_s)
|
||||||
if contact.blank?
|
if contact.blank?
|
||||||
add_epp_error('2303', 'contact', x[:contact], [:domain_contacts, :not_found])
|
add_epp_error('2303', 'contact', x[:contact], [:domain_contacts, :not_found])
|
||||||
else
|
else
|
||||||
to_delete << contact
|
to_destroy << contact
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
domain_contacts.delete(to_delete)
|
domain_contacts.destroy(to_destroy)
|
||||||
end
|
end
|
||||||
|
|
||||||
def detach_nameservers(ns_list)
|
def detach_nameservers(ns_list)
|
||||||
to_delete = []
|
to_destroy = []
|
||||||
ns_list.each do |ns_attrs|
|
ns_list.each do |ns_attrs|
|
||||||
nameserver = nameservers.where(ns_attrs)
|
nameserver = nameservers.where(ns_attrs)
|
||||||
if nameserver.blank?
|
if nameserver.blank?
|
||||||
add_epp_error('2303', 'hostAttr', ns_attrs[:hostname], [:nameservers, :not_found])
|
add_epp_error('2303', 'hostAttr', ns_attrs[:hostname], [:nameservers, :not_found])
|
||||||
else
|
else
|
||||||
to_delete << nameserver
|
to_destroy << nameserver
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
nameservers.delete(to_delete)
|
nameservers.destroy(to_destroy)
|
||||||
end
|
end
|
||||||
|
|
||||||
def detach_statuses(status_list)
|
def detach_statuses(status_list)
|
||||||
to_delete = []
|
to_destroy = []
|
||||||
status_list.each do |x|
|
status_list.each do |x|
|
||||||
unless DomainStatus::CLIENT_STATUSES.include?(x[:value])
|
unless DomainStatus::CLIENT_STATUSES.include?(x[:value])
|
||||||
add_epp_error('2303', 'status', x[:value], [:domain_statuses, :not_found])
|
add_epp_error('2303', 'status', x[:value], [:domain_statuses, :not_found])
|
||||||
|
@ -202,11 +202,11 @@ class Epp::EppDomain < Domain
|
||||||
if status.blank?
|
if status.blank?
|
||||||
add_epp_error('2303', 'status', x[:value], [:domain_statuses, :not_found])
|
add_epp_error('2303', 'status', x[:value], [:domain_statuses, :not_found])
|
||||||
else
|
else
|
||||||
to_delete << status
|
to_destroy << status
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
domain_statuses.delete(to_delete)
|
domain_statuses.destroy(to_destroy)
|
||||||
end
|
end
|
||||||
|
|
||||||
def attach_dnskeys(dnssec_data)
|
def attach_dnskeys(dnssec_data)
|
||||||
|
@ -258,13 +258,13 @@ class Epp::EppDomain < Domain
|
||||||
|
|
||||||
def detach_dnskeys(dnssec_data)
|
def detach_dnskeys(dnssec_data)
|
||||||
return false unless validate_dnssec_data(dnssec_data)
|
return false unless validate_dnssec_data(dnssec_data)
|
||||||
to_delete = []
|
to_destroy = []
|
||||||
dnssec_data[:ds_data].each do |x|
|
dnssec_data[:ds_data].each do |x|
|
||||||
ds = dnskeys.where(ds_key_tag: x[:ds_key_tag])
|
ds = dnskeys.where(ds_key_tag: x[:ds_key_tag])
|
||||||
if ds.blank?
|
if ds.blank?
|
||||||
add_epp_error('2303', 'keyTag', x[:key_tag], [:dnskeys, :not_found])
|
add_epp_error('2303', 'keyTag', x[:key_tag], [:dnskeys, :not_found])
|
||||||
else
|
else
|
||||||
to_delete << ds
|
to_destroy << ds
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -273,11 +273,11 @@ class Epp::EppDomain < Domain
|
||||||
if ds.blank?
|
if ds.blank?
|
||||||
add_epp_error('2303', 'publicKey', x[:public_key], [:dnskeys, :not_found])
|
add_epp_error('2303', 'publicKey', x[:public_key], [:dnskeys, :not_found])
|
||||||
else
|
else
|
||||||
to_delete << ds
|
to_destroy << ds
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
dnskeys.delete(to_delete)
|
dnskeys.destroy(to_destroy)
|
||||||
end
|
end
|
||||||
|
|
||||||
### RENEW ###
|
### RENEW ###
|
||||||
|
|
|
@ -16,6 +16,8 @@ class Keyrelay < ActiveRecord::Base
|
||||||
|
|
||||||
validate :validate_expiry_relative_xor_expiry_absolute
|
validate :validate_expiry_relative_xor_expiry_absolute
|
||||||
|
|
||||||
|
after_save :touch_domain_version
|
||||||
|
|
||||||
def epp_code_map
|
def epp_code_map
|
||||||
{
|
{
|
||||||
'2005' => [
|
'2005' => [
|
||||||
|
|
|
@ -8,6 +8,7 @@ class Registrar < ActiveRecord::Base
|
||||||
|
|
||||||
validates :name, :reg_no, :address, :country, :email, presence: true
|
validates :name, :reg_no, :address, :country, :email, presence: true
|
||||||
validates :name, :reg_no, uniqueness: true
|
validates :name, :reg_no, uniqueness: true
|
||||||
|
after_save :touch_domains_version
|
||||||
|
|
||||||
validates :email, :billing_email, format: /@/, allow_blank: true
|
validates :email, :billing_email, format: /@/, allow_blank: true
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class AddressVersion < PaperTrail::Version
|
class AddressVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_addresses
|
self.table_name = :log_addresses
|
||||||
self.sequence_name = :log_addresses_id_seq
|
self.sequence_name = :log_addresses_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class ApiUserVersion < PaperTrail::Version
|
class ApiUserVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_api_users
|
self.table_name = :log_api_users
|
||||||
self.sequence_name = :log_api_users_id_seq
|
self.sequence_name = :log_api_users_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class ContactDisclosureVersion < PaperTrail::Version
|
class ContactDisclosureVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_contact_disclosures
|
self.table_name = :log_contact_disclosures
|
||||||
self.sequence_name = :log_contact_disclosures_id_seq
|
self.sequence_name = :log_contact_disclosures_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class ContactStatusVersion < PaperTrail::Version
|
class ContactStatusVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_contact_statuses
|
self.table_name = :log_contact_statuses
|
||||||
self.sequence_name = :log_contact_statuses_id_seq
|
self.sequence_name = :log_contact_statuses_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class ContactVersion < PaperTrail::Version
|
class ContactVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_contacts
|
self.table_name = :log_contacts
|
||||||
self.sequence_name = :log_contacts_id_seq
|
self.sequence_name = :log_contacts_id_seq
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class CountryVersion < PaperTrail::Version
|
class CountryVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_countries
|
self.table_name = :log_countries
|
||||||
self.sequence_name = :log_countries_id_seq
|
self.sequence_name = :log_countries_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class DnskeyVersion < PaperTrail::Version
|
class DnskeyVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_dnskeys
|
self.table_name = :log_dnskeys
|
||||||
self.sequence_name = :log_dnskeys_id_seq
|
self.sequence_name = :log_dnskeys_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class DomainContactVersion < PaperTrail::Version
|
class DomainContactVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_domain_contacts
|
self.table_name = :log_domain_contacts
|
||||||
self.sequence_name = :log_domain_contacts_id_seq
|
self.sequence_name = :log_domain_contacts_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class DomainStatusVersion < PaperTrail::Version
|
class DomainStatusVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_domain_statuses
|
self.table_name = :log_domain_statuses
|
||||||
self.sequence_name = :log_domain_statuses_id_seq
|
self.sequence_name = :log_domain_statuses_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class DomainTransferVersion < PaperTrail::Version
|
class DomainTransferVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_domain_transfers
|
self.table_name = :log_domain_transfers
|
||||||
self.sequence_name = :log_domain_transfers_id_seq
|
self.sequence_name = :log_domain_transfers_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
class DomainVersion < PaperTrail::Version
|
class DomainVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
|
|
||||||
self.table_name = :log_domains
|
self.table_name = :log_domains
|
||||||
self.sequence_name = :log_domains_id_seq
|
self.sequence_name = :log_domains_id_seq
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class KeyrelayVersion < PaperTrail::Version
|
class KeyrelayVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_keyrelays
|
self.table_name = :log_keyrelays
|
||||||
self.sequence_name = :log_keyrelays_id_seq
|
self.sequence_name = :log_keyrelays_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class LegalDocumentVersion < PaperTrail::Version
|
class LegalDocumentVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_legal_documents
|
self.table_name = :log_legal_documents
|
||||||
self.sequence_name = :log_legal_documents_id_seq
|
self.sequence_name = :log_legal_documents_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class MessageVersion < PaperTrail::Version
|
class MessageVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_messages
|
self.table_name = :log_messages
|
||||||
self.sequence_name = :log_messages_id_seq
|
self.sequence_name = :log_messages_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class NameserverVersion < PaperTrail::Version
|
class NameserverVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_nameservers
|
self.table_name = :log_nameservers
|
||||||
self.sequence_name = :log_nameservers_id_seq
|
self.sequence_name = :log_nameservers_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class RegistrarVersion < PaperTrail::Version
|
class RegistrarVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_registrars
|
self.table_name = :log_registrars
|
||||||
self.sequence_name = :log_registrars_id_seq
|
self.sequence_name = :log_registrars_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class ReservedDomainVersion < PaperTrail::Version
|
class ReservedDomainVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_reserved_domains
|
self.table_name = :log_reserved_domains
|
||||||
self.sequence_name = :log_reserved_domains_id_seq
|
self.sequence_name = :log_reserved_domains_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class SettingVersion < PaperTrail::Version
|
class SettingVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_settings
|
self.table_name = :log_settings
|
||||||
self.sequence_name = :log_settings_id_seq
|
self.sequence_name = :log_settings_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class UserVersion < PaperTrail::Version
|
class UserVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_users
|
self.table_name = :log_users
|
||||||
self.sequence_name = :log_users_id_seq
|
self.sequence_name = :log_users_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
class ZonefileSettingVersion < PaperTrail::Version
|
class ZonefileSettingVersion < PaperTrail::Version
|
||||||
|
include VersionSession
|
||||||
self.table_name = :log_zonefile_settings
|
self.table_name = :log_zonefile_settings
|
||||||
self.sequence_name = :log_zonefile_settings_id_seq
|
self.sequence_name = :log_zonefile_settings_id_seq
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,63 +1,125 @@
|
||||||
%td{ class: changes.include?(:domain) ? 'edit-highlight' : 'no-highlight' }
|
- children = HashWithIndifferentAccess.new(version.children)
|
||||||
- if children[:domain]
|
- nameservers = children[:nameservers] || []
|
||||||
%p{:style => "font-size:x-small;"}
|
- tech_contacts = children[:tech_contacts] || []
|
||||||
= children[:domain][:period]
|
- admin_contacts = children[:admin_contacts] || []
|
||||||
= children[:domain][:period_unit] if children[:domain][:period]
|
- owner_contact = children[:owner_contact] || []
|
||||||
- if children[:domain][:valid_to] && children[:domain][:valid_from]
|
|
||||||
= ","
|
|
||||||
= l(children[:domain][:valid_from], format: :date) + '-' + l(children[:domain][:valid_to], format: :date)
|
|
||||||
- if children[:domain].try(:[], :registrar_id)
|
|
||||||
= ","
|
|
||||||
= Registrar.find(children[:domain][:registrar_id]).try(:name)
|
|
||||||
- if children[:domain][:status]
|
|
||||||
= ',' + children[:domain][:status]
|
|
||||||
|
|
||||||
|
|
||||||
%td{ class: changes.include?(:owner_contact) ? 'edit-highlight' : 'no-highlight' }
|
|
||||||
- if children[:owner_contact]
|
|
||||||
%p{:style => "font-size:x-small;"}
|
|
||||||
= children[:owner_contact][:name]
|
|
||||||
= ","
|
|
||||||
= children[:owner_contact][:phone]
|
|
||||||
= ","
|
|
||||||
= children[:owner_contact][:email]
|
|
||||||
= ","
|
|
||||||
= children[:owner_contact][:code]
|
|
||||||
|
|
||||||
%td{ class: changes.include?(:admin_contacts) ? 'edit-highlight' : 'no-highlight' }
|
|
||||||
- if children[:admin_contacts]
|
|
||||||
- children[:admin_contacts].each do |ac|
|
|
||||||
%p{:style => "font-size:x-small;"}
|
|
||||||
= ac[:name]
|
|
||||||
= ","
|
|
||||||
= ac[:phone]
|
|
||||||
= ","
|
|
||||||
= ac[:email]
|
|
||||||
= ","
|
|
||||||
= ac[:code]
|
|
||||||
|
|
||||||
%td{ class: changes.include?(:tech_contacts) ? 'edit-highlight' : 'no-highlight' }
|
|
||||||
- if children[:tech_contacts]
|
|
||||||
- children[:tech_contacts].each do |tc|
|
|
||||||
%p{:style => "font-size:x-small;"}
|
|
||||||
= tc[:name]
|
|
||||||
= ","
|
|
||||||
= tc[:phone]
|
|
||||||
= ","
|
|
||||||
= tc[:email]
|
|
||||||
= ","
|
|
||||||
= tc[:code]
|
|
||||||
|
|
||||||
%td{ class: changes.include?(:nameservers) ? 'edit-highlight' : 'no-highlight' }
|
|
||||||
- if children[:nameservers]
|
|
||||||
- children[:nameservers].each do |ns|
|
|
||||||
%p{:style => "font-size:x-small;"}
|
|
||||||
= ns[:hostname]
|
|
||||||
= ","
|
|
||||||
= ns[:ipv4] || ns[:ipv6]
|
|
||||||
|
|
||||||
%td
|
%td
|
||||||
%p{ :style => 'font-size:x-small;' }
|
%p.nowrap
|
||||||
= l(version.created_at, format: :short)
|
= l(domain.updated_at, format: :short)
|
||||||
= whodunnit_with_protocol(version.whodunnit)
|
|
||||||
= version.event
|
= version.event
|
||||||
|
%p.text-right
|
||||||
|
= version.terminator
|
||||||
|
|
||||||
|
%td
|
||||||
|
%p
|
||||||
|
= "#{domain.period}#{domain.period_unit}"
|
||||||
|
= "#{l(domain.valid_from, format: :date)} - #{l(domain.valid_to, format: :date)}"
|
||||||
|
%p
|
||||||
|
= domain.status
|
||||||
|
|
||||||
|
%td
|
||||||
|
- owner_contact.each do |oc|
|
||||||
|
%p
|
||||||
|
= oc[:name]
|
||||||
|
= oc[:phone]
|
||||||
|
= oc[:email]
|
||||||
|
%p
|
||||||
|
= oc[:code]
|
||||||
|
|
||||||
|
%td
|
||||||
|
- admin_contacts.each do |ac|
|
||||||
|
%p
|
||||||
|
= ac[:name]
|
||||||
|
= ac[:phone]
|
||||||
|
= ac[:email]
|
||||||
|
%p
|
||||||
|
= ac[:code]
|
||||||
|
|
||||||
|
%td
|
||||||
|
- tech_contacts.each do |tc|
|
||||||
|
%p
|
||||||
|
= tc[:name]
|
||||||
|
= tc[:phone]
|
||||||
|
= tc[:email]
|
||||||
|
%p
|
||||||
|
= tc[:code]
|
||||||
|
|
||||||
|
%td
|
||||||
|
- nameservers.each do |ns|
|
||||||
|
%p
|
||||||
|
= ns[:hostname]
|
||||||
|
%br
|
||||||
|
= ns[:ipv4]
|
||||||
|
= ns[:ipv6]
|
||||||
|
|
||||||
|
%td
|
||||||
|
%p
|
||||||
|
= domain.registrar.name
|
||||||
|
|
||||||
|
-# %td
|
||||||
|
-# = version.children.inspect
|
||||||
|
|
||||||
|
-# %td{ class: changes.include?(:domain) ? 'edit-highlight' : 'no-highlight' }
|
||||||
|
-# - if children[:domain]
|
||||||
|
-# %p{:style => "font-size:x-small;"}
|
||||||
|
-# = children[:domain][:period]
|
||||||
|
-# = children[:domain][:period_unit] if children[:domain][:period]
|
||||||
|
-# - if children[:domain][:valid_to] && children[:domain][:valid_from]
|
||||||
|
-# = ","
|
||||||
|
-# = l(children[:domain][:valid_from], format: :date) + '-' + l(children[:domain][:valid_to], format: :date)
|
||||||
|
-# - if children[:domain].try(:[], :registrar_id)
|
||||||
|
-# = ","
|
||||||
|
-# = Registrar.find(children[:domain][:registrar_id]).try(:name)
|
||||||
|
-# - if children[:domain][:status]
|
||||||
|
-# = ',' + children[:domain][:status]
|
||||||
|
|
||||||
|
|
||||||
|
-# %td{ class: changes.include?(:owner_contact) ? 'edit-highlight' : 'no-highlight' }
|
||||||
|
-# - if children[:owner_contact]
|
||||||
|
-# %p{:style => "font-size:x-small;"}
|
||||||
|
-# = children[:owner_contact][:name]
|
||||||
|
-# = ","
|
||||||
|
-# = children[:owner_contact][:phone]
|
||||||
|
-# = ","
|
||||||
|
-# = children[:owner_contact][:email]
|
||||||
|
-# = ","
|
||||||
|
-# = children[:owner_contact][:code]
|
||||||
|
|
||||||
|
-# %td{ class: changes.include?(:admin_contacts) ? 'edit-highlight' : 'no-highlight' }
|
||||||
|
-# - if children[:admin_contacts]
|
||||||
|
-# - children[:admin_contacts].each do |ac|
|
||||||
|
-# %p{:style => "font-size:x-small;"}
|
||||||
|
-# = ac[:name]
|
||||||
|
-# = ","
|
||||||
|
-# = ac[:phone]
|
||||||
|
-# = ","
|
||||||
|
-# = ac[:email]
|
||||||
|
-# = ","
|
||||||
|
-# = ac[:code]
|
||||||
|
|
||||||
|
-# %td{ class: changes.include?(:tech_contacts) ? 'edit-highlight' : 'no-highlight' }
|
||||||
|
-# - if children[:tech_contacts]
|
||||||
|
-# - children[:tech_contacts].each do |tc|
|
||||||
|
-# %p{:style => "font-size:x-small;"}
|
||||||
|
-# = tc[:name]
|
||||||
|
-# = ","
|
||||||
|
-# = tc[:phone]
|
||||||
|
-# = ","
|
||||||
|
-# = tc[:email]
|
||||||
|
-# = ","
|
||||||
|
-# = tc[:code]
|
||||||
|
|
||||||
|
-# %td{ class: changes.include?(:nameservers) ? 'edit-highlight' : 'no-highlight' }
|
||||||
|
-# - if children[:nameservers]
|
||||||
|
-# - children[:nameservers].each do |ns|
|
||||||
|
-# %p{:style => "font-size:x-small;"}
|
||||||
|
-# = ns[:hostname]
|
||||||
|
-# = ","
|
||||||
|
-# = ns[:ipv4] || ns[:ipv6]
|
||||||
|
|
||||||
|
-# %td
|
||||||
|
-# %p{ :style => 'font-size:x-small;' }
|
||||||
|
-# = l(version.created_at, format: :short)
|
||||||
|
-# = whodunnit_with_protocol(version.whodunnit)
|
||||||
|
-# = version.event
|
||||||
|
|
|
@ -1,28 +1,31 @@
|
||||||
.row
|
.row
|
||||||
.col-sm-12
|
.col-sm-6
|
||||||
%h2.text-center-xs= t('domains')
|
%h2.text-center-xs
|
||||||
|
= "#{t(:domain_history)}: #{@domain.name}"
|
||||||
|
.col-sm-6
|
||||||
|
%h2.text-right.text-center-xs
|
||||||
|
|
||||||
%hr
|
%hr
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.table-responsive
|
.table-responsive
|
||||||
%table.table.table-hover.table-bordered.table-condensed
|
%table.table-hover.table-bordered.table-condensed
|
||||||
%thead
|
%thead
|
||||||
%tr
|
%tr
|
||||||
%th{class: 'col-xs-1'}
|
%th{class: 'col-xs-1'}= t(:timestap)
|
||||||
= t('name')
|
%th{class: 'col-xs-2'}= t(:period)
|
||||||
%th{class: 'col-xs-1'}
|
%th{class: 'col-xs-2'}= t(:owner)
|
||||||
= sort_link(@q, 'whodunnit')
|
%th{class: 'col-xs-2'}= t(:admin)
|
||||||
%th{class: 'col-xs-1'}
|
%th{class: 'col-xs-2'}= t(:tech)
|
||||||
= sort_link(@q, 'created_at')
|
%th{class: 'col-xs-2'}= t(:nameservers)
|
||||||
|
%th{class: 'col-xs-2'}= t(:registrar)
|
||||||
|
|
||||||
%tbody
|
%tbody
|
||||||
- @domains.each do |domain|
|
%tr.small
|
||||||
- obj = domain.reify
|
= render 'admin/domain_versions/version',
|
||||||
%tr
|
domain: @domain, version: @domain.versions.last
|
||||||
%td= link_to(obj.name, admin_domain_version_path(obj))
|
|
||||||
%td= whodunnit_with_protocol(domain.whodunnit) unless domain.whodunnit.nil?
|
|
||||||
%td= l(obj.created_at, format: :short)
|
|
||||||
|
|
||||||
.row
|
- @domain.versions.not_creates.reverse.each do |version|
|
||||||
.col-md-12
|
%tr.small
|
||||||
= paginate @domains
|
= render 'admin/domain_versions/version',
|
||||||
|
domain: version.reify, version: version.previous
|
||||||
|
|
28
app/views/admin/domain_versions/oldindex.haml
Normal file
28
app/views/admin/domain_versions/oldindex.haml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
-# .row
|
||||||
|
-# .col-sm-12
|
||||||
|
-# %h2.text-center-xs= t('domains')
|
||||||
|
-# %hr
|
||||||
|
-# .row
|
||||||
|
-# .col-md-12
|
||||||
|
-# .table-responsive
|
||||||
|
-# %table.table.table-hover.table-bordered.table-condensed
|
||||||
|
-# %thead
|
||||||
|
-# %tr
|
||||||
|
-# %th{class: 'col-xs-1'}
|
||||||
|
-# = t('name')
|
||||||
|
-# %th{class: 'col-xs-1'}
|
||||||
|
-# = sort_link(@q, 'whodunnit')
|
||||||
|
-# %th{class: 'col-xs-1'}
|
||||||
|
-# = sort_link(@q, 'created_at')
|
||||||
|
|
||||||
|
-# %tbody
|
||||||
|
-# - @domains.each do |domain|
|
||||||
|
-# - obj = domain.reify
|
||||||
|
-# %tr
|
||||||
|
-# %td= link_to(obj.name, admin_domain_version_path(obj))
|
||||||
|
-# %td= whodunnit_with_protocol(domain.whodunnit) unless domain.whodunnit.nil?
|
||||||
|
-# %td= l(obj.created_at, format: :short)
|
||||||
|
|
||||||
|
-# .row
|
||||||
|
-# .col-md-12
|
||||||
|
-# = paginate @domains
|
|
@ -1,29 +0,0 @@
|
||||||
.row
|
|
||||||
.col-sm-6
|
|
||||||
%h2.text-center-xs
|
|
||||||
= "#{t(:domain_history)} for " + @name.to_s
|
|
||||||
.col-sm-6
|
|
||||||
%h2.text-right.text-center-xs
|
|
||||||
|
|
||||||
%hr
|
|
||||||
.row
|
|
||||||
.col-md-12
|
|
||||||
.table-responsive
|
|
||||||
%table.table-hover.table-bordered.table-condensed
|
|
||||||
%thead
|
|
||||||
%tr
|
|
||||||
%th{class: 'col-xs-2'}= t(:'domain_info')
|
|
||||||
%th{class: 'col-xs-2'}= t(:'owner_contact')
|
|
||||||
%th{class: 'col-xs-2'}= t(:'admin_contacts')
|
|
||||||
%th{class: 'col-xs-2'}= t(:'tech_contacts')
|
|
||||||
%th{class: 'col-xs-2'}= t(:'nameservers')
|
|
||||||
%th{class: 'col-xs-1'}= t(:'changes_info')
|
|
||||||
|
|
||||||
%tbody
|
|
||||||
- @versions.each do |version|
|
|
||||||
%tr
|
|
||||||
- children = version.load_snapshot
|
|
||||||
- next unless children.is_a?(Hash)
|
|
||||||
- children = HashWithIndifferentAccess.new(children)
|
|
||||||
- changes = version.changed_elements
|
|
||||||
= render 'admin/domain_versions/version', children: children, version: version, changes: changes
|
|
|
@ -4,8 +4,8 @@
|
||||||
= "#{t('domain_details')}"
|
= "#{t('domain_details')}"
|
||||||
.col-sm-6
|
.col-sm-6
|
||||||
%h2.text-right.text-center-xs
|
%h2.text-right.text-center-xs
|
||||||
= link_to(t('edit_statuses'), edit_admin_domain_path(@domain), class: 'btn btn-primary')
|
= link_to(t(:edit_statuses), edit_admin_domain_path(@domain), class: 'btn btn-primary')
|
||||||
= link_to(t(:'history'), admin_domain_version_path(@domain.id), method: :get, class: 'btn btn-primary')
|
= link_to(t(:history), admin_domain_domain_versions_path(@domain.id), method: :get, class: 'btn btn-primary')
|
||||||
|
|
||||||
%hr
|
%hr
|
||||||
.row
|
.row
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
%li.dropdown-header= t('system')
|
%li.dropdown-header= t('system')
|
||||||
%li= link_to t('settings'), admin_settings_path
|
%li= link_to t('settings'), admin_settings_path
|
||||||
%li= link_to t('zonefile'), admin_zonefile_settings_path
|
%li= link_to t('zonefile'), admin_zonefile_settings_path
|
||||||
%li= link_to t(:domains_history), admin_domain_versions_path
|
-# %li= link_to t(:domains_history), admin_domain_versions_path
|
||||||
%li= link_to t(:epp_logs), admin_epp_logs_path
|
%li= link_to t(:epp_logs), admin_epp_logs_path
|
||||||
%li= link_to t(:repp_logs), admin_repp_logs_path
|
%li= link_to t(:repp_logs), admin_repp_logs_path
|
||||||
%li= link_to t(:background_jobs), admin_delayed_jobs_path
|
%li= link_to t(:background_jobs), admin_delayed_jobs_path
|
||||||
|
|
|
@ -12,3 +12,15 @@ elsif File.basename($PROGRAM_NAME) == "rake"
|
||||||
# rake username does not work when spring enabled
|
# rake username does not work when spring enabled
|
||||||
PaperTrail.whodunnit = "rake-#{`whoami`.strip} #{ARGV.join ' '}"
|
PaperTrail.whodunnit = "rake-#{`whoami`.strip} #{ARGV.join ' '}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class PaperSession
|
||||||
|
class << self
|
||||||
|
def session
|
||||||
|
@session ||= Time.now.to_s(:db)
|
||||||
|
end
|
||||||
|
|
||||||
|
def session=(code)
|
||||||
|
@session = code
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -27,7 +27,11 @@ Rails.application.routes.draw do
|
||||||
resources :legal_documents
|
resources :legal_documents
|
||||||
|
|
||||||
resources :keyrelays
|
resources :keyrelays
|
||||||
resources :domains
|
|
||||||
|
resources :domains do
|
||||||
|
resources :domain_versions
|
||||||
|
end
|
||||||
|
|
||||||
resources :settings
|
resources :settings
|
||||||
resources :registrars do
|
resources :registrars do
|
||||||
collection do
|
collection do
|
||||||
|
@ -43,7 +47,6 @@ Rails.application.routes.draw do
|
||||||
|
|
||||||
resources :users
|
resources :users
|
||||||
resources :api_users
|
resources :api_users
|
||||||
resources :domain_versions
|
|
||||||
|
|
||||||
resources :delayed_jobs
|
resources :delayed_jobs
|
||||||
|
|
||||||
|
|
5
db/migrate/20150130155904_add_name_server_version_ids.rb
Normal file
5
db/migrate/20150130155904_add_name_server_version_ids.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
class AddNameServerVersionIds < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :log_domains, :nameserver_version_ids, :text, array: true, default: []
|
||||||
|
end
|
||||||
|
end
|
7
db/migrate/20150130180452_add_meta_to_domain.rb
Normal file
7
db/migrate/20150130180452_add_meta_to_domain.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
class AddMetaToDomain < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
rename_column :log_domains, :nameserver_version_ids, :nameserver_ids
|
||||||
|
add_column :log_domains, :tech_contact_ids, :text, array: true, default: []
|
||||||
|
add_column :log_domains, :admin_contact_ids, :text, array: true, default: []
|
||||||
|
end
|
||||||
|
end
|
13
db/migrate/20150130191056_add_session_id_to_log.rb
Normal file
13
db/migrate/20150130191056_add_session_id_to_log.rb
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
class AddSessionIdToLog < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
%w(address contact_disclosure contact contact_status country dnskey
|
||||||
|
domain_contact domain domain_status domain_transfer api_user keyrelay
|
||||||
|
legal_document message nameserver registrar
|
||||||
|
reserved_domain setting user zonefile_setting
|
||||||
|
).each do |name|
|
||||||
|
table_name = name.tableize
|
||||||
|
add_column "log_#{table_name}", :session, :string
|
||||||
|
add_column "log_#{table_name}", :children, :json
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
51
db/schema.rb
51
db/schema.rb
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20150129144652) do
|
ActiveRecord::Schema.define(version: 20150130191056) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
@ -260,6 +260,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_addresses", ["item_type", "item_id"], name: "index_log_addresses_on_item_type_and_item_id", using: :btree
|
add_index "log_addresses", ["item_type", "item_id"], name: "index_log_addresses_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -273,6 +275,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_api_users", ["item_type", "item_id"], name: "index_log_api_users_on_item_type_and_item_id", using: :btree
|
add_index "log_api_users", ["item_type", "item_id"], name: "index_log_api_users_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -286,6 +290,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_contact_disclosures", ["item_type", "item_id"], name: "index_log_contact_disclosures_on_item_type_and_item_id", using: :btree
|
add_index "log_contact_disclosures", ["item_type", "item_id"], name: "index_log_contact_disclosures_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -299,6 +305,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_contact_statuses", ["item_type", "item_id"], name: "index_log_contact_statuses_on_item_type_and_item_id", using: :btree
|
add_index "log_contact_statuses", ["item_type", "item_id"], name: "index_log_contact_statuses_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -312,6 +320,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_contacts", ["item_type", "item_id"], name: "index_log_contacts_on_item_type_and_item_id", using: :btree
|
add_index "log_contacts", ["item_type", "item_id"], name: "index_log_contacts_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -325,6 +335,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_countries", ["item_type", "item_id"], name: "index_log_countries_on_item_type_and_item_id", using: :btree
|
add_index "log_countries", ["item_type", "item_id"], name: "index_log_countries_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -338,6 +350,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_dnskeys", ["item_type", "item_id"], name: "index_log_dnskeys_on_item_type_and_item_id", using: :btree
|
add_index "log_dnskeys", ["item_type", "item_id"], name: "index_log_dnskeys_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -351,6 +365,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_domain_contacts", ["item_type", "item_id"], name: "index_log_domain_contacts_on_item_type_and_item_id", using: :btree
|
add_index "log_domain_contacts", ["item_type", "item_id"], name: "index_log_domain_contacts_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -364,6 +380,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_domain_statuses", ["item_type", "item_id"], name: "index_log_domain_statuses_on_item_type_and_item_id", using: :btree
|
add_index "log_domain_statuses", ["item_type", "item_id"], name: "index_log_domain_statuses_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -377,19 +395,26 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_domain_transfers", ["item_type", "item_id"], name: "index_log_domain_transfers_on_item_type_and_item_id", using: :btree
|
add_index "log_domain_transfers", ["item_type", "item_id"], name: "index_log_domain_transfers_on_item_type_and_item_id", using: :btree
|
||||||
add_index "log_domain_transfers", ["whodunnit"], name: "index_log_domain_transfers_on_whodunnit", using: :btree
|
add_index "log_domain_transfers", ["whodunnit"], name: "index_log_domain_transfers_on_whodunnit", using: :btree
|
||||||
|
|
||||||
create_table "log_domains", force: :cascade do |t|
|
create_table "log_domains", force: :cascade do |t|
|
||||||
t.string "item_type", null: false
|
t.string "item_type", null: false
|
||||||
t.integer "item_id", null: false
|
t.integer "item_id", null: false
|
||||||
t.string "event", null: false
|
t.string "event", null: false
|
||||||
t.string "whodunnit"
|
t.string "whodunnit"
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.text "nameserver_ids", default: [], array: true
|
||||||
|
t.text "tech_contact_ids", default: [], array: true
|
||||||
|
t.text "admin_contact_ids", default: [], array: true
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_domains", ["item_type", "item_id"], name: "index_log_domains_on_item_type_and_item_id", using: :btree
|
add_index "log_domains", ["item_type", "item_id"], name: "index_log_domains_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -403,6 +428,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_keyrelays", ["item_type", "item_id"], name: "index_log_keyrelays_on_item_type_and_item_id", using: :btree
|
add_index "log_keyrelays", ["item_type", "item_id"], name: "index_log_keyrelays_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -416,6 +443,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_legal_documents", ["item_type", "item_id"], name: "index_log_legal_documents_on_item_type_and_item_id", using: :btree
|
add_index "log_legal_documents", ["item_type", "item_id"], name: "index_log_legal_documents_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -429,6 +458,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_messages", ["item_type", "item_id"], name: "index_log_messages_on_item_type_and_item_id", using: :btree
|
add_index "log_messages", ["item_type", "item_id"], name: "index_log_messages_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -442,6 +473,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_nameservers", ["item_type", "item_id"], name: "index_log_nameservers_on_item_type_and_item_id", using: :btree
|
add_index "log_nameservers", ["item_type", "item_id"], name: "index_log_nameservers_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -455,6 +488,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_registrars", ["item_type", "item_id"], name: "index_log_registrars_on_item_type_and_item_id", using: :btree
|
add_index "log_registrars", ["item_type", "item_id"], name: "index_log_registrars_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -468,6 +503,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_reserved_domains", ["item_type", "item_id"], name: "index_log_reserved_domains_on_item_type_and_item_id", using: :btree
|
add_index "log_reserved_domains", ["item_type", "item_id"], name: "index_log_reserved_domains_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -481,6 +518,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_settings", ["item_type", "item_id"], name: "index_log_settings_on_item_type_and_item_id", using: :btree
|
add_index "log_settings", ["item_type", "item_id"], name: "index_log_settings_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -494,6 +533,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_users", ["item_type", "item_id"], name: "index_log_users_on_item_type_and_item_id", using: :btree
|
add_index "log_users", ["item_type", "item_id"], name: "index_log_users_on_item_type_and_item_id", using: :btree
|
||||||
|
@ -507,6 +548,8 @@ ActiveRecord::Schema.define(version: 20150129144652) do
|
||||||
t.json "object"
|
t.json "object"
|
||||||
t.json "object_changes"
|
t.json "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
t.string "session"
|
||||||
|
t.json "children"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "log_zonefile_settings", ["item_type", "item_id"], name: "index_log_zonefile_settings_on_item_type_and_item_id", using: :btree
|
add_index "log_zonefile_settings", ["item_type", "item_id"], name: "index_log_zonefile_settings_on_item_type_and_item_id", using: :btree
|
||||||
|
|
|
@ -77,7 +77,7 @@ describe 'EPP Contact', epp: true do
|
||||||
log.request_command.should == 'create'
|
log.request_command.should == 'create'
|
||||||
log.request_object.should == 'contact'
|
log.request_object.should == 'contact'
|
||||||
log.request_successful.should == true
|
log.request_successful.should == true
|
||||||
log.api_user_name.should == 'gitlab'
|
log.api_user_name.should == '1-api-gitlab'
|
||||||
log.api_user_registrar.should == 'Registrar OÜ'
|
log.api_user_registrar.should == 'Registrar OÜ'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ describe 'EPP Domain', epp: true do
|
||||||
log.request_command.should == 'create'
|
log.request_command.should == 'create'
|
||||||
log.request_object.should == 'domain'
|
log.request_object.should == 'domain'
|
||||||
log.request_successful.should == false
|
log.request_successful.should == false
|
||||||
log.api_user_name.should == 'registrar1'
|
log.api_user_name.should == '1-api-registrar1'
|
||||||
log.api_user_registrar.should == 'Registrar OÜ'
|
log.api_user_registrar.should == 'Registrar OÜ'
|
||||||
log.request.should_not be_blank
|
log.request.should_not be_blank
|
||||||
log.response.should_not be_blank
|
log.response.should_not be_blank
|
||||||
|
@ -819,7 +819,7 @@ describe 'EPP Domain', epp: true do
|
||||||
log.request_command.should == 'transfer'
|
log.request_command.should == 'transfer'
|
||||||
log.request_object.should == 'domain'
|
log.request_object.should == 'domain'
|
||||||
log.request_successful.should == true
|
log.request_successful.should == true
|
||||||
log.api_user_name.should == 'registrar2'
|
log.api_user_name.should == '2-api-registrar2'
|
||||||
log.api_user_registrar.should == 'registrar2'
|
log.api_user_registrar.should == 'registrar2'
|
||||||
log.request.should_not be_blank
|
log.request.should_not be_blank
|
||||||
log.response.should_not be_blank
|
log.response.should_not be_blank
|
||||||
|
|
|
@ -33,7 +33,7 @@ describe 'EPP Poll', epp: true do
|
||||||
log.request_command.should == 'poll'
|
log.request_command.should == 'poll'
|
||||||
log.request_object.should == 'poll'
|
log.request_object.should == 'poll'
|
||||||
log.request_successful.should == true
|
log.request_successful.should == true
|
||||||
log.api_user_name.should == 'registrar1'
|
log.api_user_name.should == '1-api-registrar1'
|
||||||
log.api_user_registrar.should == 'Registrar OÜ'
|
log.api_user_registrar.should == 'Registrar OÜ'
|
||||||
log.request.should_not be_blank
|
log.request.should_not be_blank
|
||||||
log.response.should_not be_blank
|
log.response.should_not be_blank
|
||||||
|
|
|
@ -66,7 +66,7 @@ describe 'EPP Session', epp: true do
|
||||||
log = ApiLog::EppLog.last
|
log = ApiLog::EppLog.last
|
||||||
log.request_command.should == 'login'
|
log.request_command.should == 'login'
|
||||||
log.request_successful.should == false
|
log.request_successful.should == false
|
||||||
log.api_user_name.should == 'gitlab'
|
log.api_user_name.should == '1-api-gitlab'
|
||||||
log.api_user_registrar.should == 'Registrar OÜ'
|
log.api_user_registrar.should == 'Registrar OÜ'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Fabricator(:epp_session) do
|
Fabricator(:epp_session) do
|
||||||
session_id 'test'
|
session_id 'test'
|
||||||
data { { epp_user_id: 1 } }
|
data { { api_user_id: 1 } }
|
||||||
end
|
end
|
||||||
|
|
|
@ -27,8 +27,8 @@ Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
|
||||||
ActiveRecord::Migration.maintain_test_schema!
|
ActiveRecord::Migration.maintain_test_schema!
|
||||||
|
|
||||||
RSpec.configure do |config|
|
RSpec.configure do |config|
|
||||||
# config.filter_run focus: true
|
config.filter_run focus: true
|
||||||
# config.run_all_when_everything_filtered = true
|
config.run_all_when_everything_filtered = true
|
||||||
|
|
||||||
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
||||||
# examples within a transaction, remove the following line or assign false
|
# examples within a transaction, remove the following line or assign false
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue