Merge branch 'story/118912395-epp-log' into staging

# Conflicts:
#	app/models/domain.rb
This commit is contained in:
Vladimir Krylov 2016-05-20 16:39:14 +03:00
commit 229a249c36
7 changed files with 52 additions and 10 deletions

View file

@ -1,3 +1,27 @@
20.05.2016
* Portal for registrars
* domain details view new displays contact name in addition to ID (#117226457)
* added an option to set veryfied = "yes" parameter to GUI for registrant change and domain delete opertions (#116209751)
* Admin interface
* BUG: fixed number of sorting issues on different views (#117350717)
* BUG: internal error on filtered list sorting (#115043065)
* BUG: account activities csv export messes up registrars (#117702653)
* usability fixes to history view (#115762063)
* Registry
* epp-xml gem reference updated to v 1.0.5 (#116209751)
* epp-xml gem is now taken from local repo https://github.com/internetee/epp-xml/blob/master, the version in RubyGems is not updated any more (#116209751)
* BUG: domains set to force delete were deleted a day ahead of time (#117131083)
* BUG: QUE - undefined method `code' for nil:NilClass - if contact is removed before Que gets to it (#117612061)
* BUG: Que - uninitialized constant RegenerateWhoisRecordJob (#117986917)
* EPP
* BUG: poll message on domain delete does not validate against .ee xml schemas (#118827261)
* BUG: internal error on domain delete (#118159567)
* RestWHOIS
* BUG: statuses not in array for not registered reserved and blocked domains (#118911315)
...
21.09.2015 21.09.2015
* eis-1.0.xsd schema file updated without a new version, please publish a new updated schema file to public. * eis-1.0.xsd schema file updated without a new version, please publish a new updated schema file to public.

View file

@ -56,4 +56,8 @@ class Epp::KeyrelaysController < EppController
# domain # domain
end end
def resource
@domain
end
end end

View file

@ -54,4 +54,8 @@ class Epp::PollsController < EppController
def validate_poll def validate_poll
requires_attribute 'poll', 'op', values: %(ack req), allow_blank: true requires_attribute 'poll', 'op', values: %(ack req), allow_blank: true
end end
def resource
@message
end
end end

View file

@ -137,4 +137,9 @@ class Epp::SessionsController < EppController
pw = params[:parsed_frame].css('pw').first.text pw = params[:parsed_frame].css('pw').first.text
{ username: user, password: pw } { username: user, password: pw }
end end
private
def resource
@api_user
end
end end

View file

@ -6,8 +6,15 @@ class EppController < ApplicationController
before_action :generate_svtrid before_action :generate_svtrid
before_action :latin_only before_action :latin_only
before_action :validate_against_schema before_action :validate_against_schema
before_action :validate_request
before_action :update_epp_session
around_action :catch_epp_errors
helper_method :current_user
helper_method :resource
def validate_against_schema def validate_against_schema
return if ['hello', 'error', 'keyrelay'].include?(params[:action]) return if ['hello', 'error', 'keyrelay'].include?(params[:action])
schema.validate(params[:nokogiri_frame]).each do |error| schema.validate(params[:nokogiri_frame]).each do |error|
@ -20,10 +27,7 @@ class EppController < ApplicationController
handle_errors and return if epp_errors.any? handle_errors and return if epp_errors.any?
end end
before_action :validate_request
before_action :update_epp_session
around_action :catch_epp_errors
def catch_epp_errors def catch_epp_errors
err = catch(:epp_error) do err = catch(:epp_error) do
yield yield
@ -34,7 +38,6 @@ class EppController < ApplicationController
handle_errors handle_errors
end end
helper_method :current_user
rescue_from StandardError do |e| rescue_from StandardError do |e|
@errors ||= [] @errors ||= []
@ -367,7 +370,7 @@ class EppController < ApplicationController
request: trimmed_request, request: trimmed_request,
request_command: request_command, request_command: request_command,
request_successful: epp_errors.empty?, request_successful: epp_errors.empty?,
request_object: params[:epp_object_type], request_object: resource ? "#{params[:epp_object_type]}: #{resource.class} - #{resource.id} - #{resource.name}" : params[:epp_object_type],
response: @response, response: @response,
api_user_name: @api_user.try(:username) || current_user.try(:username) || 'api-public', api_user_name: @api_user.try(:username) || current_user.try(:username) || 'api-public',
api_user_registrar: @api_user.try(:registrar).try(:to_s) || current_user.try(:registrar).try(:to_s), api_user_registrar: @api_user.try(:registrar).try(:to_s) || current_user.try(:registrar).try(:to_s),
@ -383,4 +386,9 @@ class EppController < ApplicationController
return if current_user.blank? return if current_user.blank?
counter_update(current_user.registrar_code, ENV['iptables_server_ip']) counter_update(current_user.registrar_code, ENV['iptables_server_ip'])
end end
def resource
name = self.class.to_s.sub("Epp::","").sub("Controller","").underscore.singularize
instance_variable_get("@#{name}")
end
end end

View file

@ -741,9 +741,6 @@ class Domain < ActiveRecord::Base
# rubocop: enable Metrics/CyclomaticComplexity # rubocop: enable Metrics/CyclomaticComplexity
# rubocop: enable Metrics/PerceivedComplexity # rubocop: enable Metrics/PerceivedComplexity
# small optimization that we'are using to_a if it was done already
# otherwise just getting ids
def children_log def children_log
log = HashWithIndifferentAccess.new log = HashWithIndifferentAccess.new
log[:admin_contacts] = admin_contact_ids log[:admin_contacts] = admin_contact_ids