mirror of
https://github.com/internetee/registry.git
synced 2025-08-04 00:42:04 +02:00
Merge branch 'master' of github.com:internetee/registry
This commit is contained in:
commit
a0c9c303db
25 changed files with 440 additions and 174 deletions
|
@ -13,6 +13,8 @@ class DomainTransfer < ActiveRecord::Base
|
|||
|
||||
before_create :set_wait_until
|
||||
|
||||
delegate :name, :valid_to, to: :domain, prefix: true
|
||||
|
||||
def set_wait_until
|
||||
wait_time = Setting.transfer_wait_time
|
||||
return if wait_time == 0
|
||||
|
|
|
@ -285,7 +285,12 @@ class Epp::EppDomain < Domain
|
|||
|
||||
pt = pending_transfer
|
||||
if pt && params[:action] == 'approve'
|
||||
return approve_pending_transfer(params[:current_user])
|
||||
if approve_pending_transfer(params[:current_user])
|
||||
return pt.reload
|
||||
else
|
||||
return false
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if !pt && params[:action] != 'query'
|
||||
|
@ -297,17 +302,24 @@ class Epp::EppDomain < Domain
|
|||
return false unless can_be_transferred_to?(params[:current_user].registrar)
|
||||
end
|
||||
|
||||
return true if pt
|
||||
return pt if pt
|
||||
|
||||
if Setting.transfer_wait_time > 0
|
||||
domain_transfers.create(
|
||||
dt = domain_transfers.create(
|
||||
status: DomainTransfer::PENDING,
|
||||
transfer_requested_at: Time.zone.now,
|
||||
transfer_to: params[:current_user].registrar,
|
||||
transfer_from: registrar
|
||||
)
|
||||
|
||||
registrar.messages.create(
|
||||
body: I18n.t('transfer_requested'),
|
||||
attached_obj_id: dt.id,
|
||||
attached_obj_type: dt.class.to_s
|
||||
)
|
||||
|
||||
else
|
||||
domain_transfers.create(
|
||||
dt = domain_transfers.create(
|
||||
status: DomainTransfer::SERVER_APPROVED,
|
||||
transfer_requested_at: Time.zone.now,
|
||||
transferred_at: Time.zone.now,
|
||||
|
@ -320,6 +332,8 @@ class Epp::EppDomain < Domain
|
|||
self.registrar = params[:current_user].registrar
|
||||
save(validate: false)
|
||||
end
|
||||
|
||||
dt
|
||||
end
|
||||
# rubocop: enable Metrics/PerceivedComplexity
|
||||
# rubocop: enable Metrics/MethodLength
|
||||
|
|
|
@ -16,5 +16,9 @@ class EppUser < ActiveRecord::Base
|
|||
def to_s
|
||||
username
|
||||
end
|
||||
|
||||
def queued_messages
|
||||
registrar.messages.queued
|
||||
end
|
||||
end
|
||||
# rubocop: enable Metrics/ClassLength
|
||||
|
|
12
app/models/message.rb
Normal file
12
app/models/message.rb
Normal file
|
@ -0,0 +1,12 @@
|
|||
class Message < ActiveRecord::Base
|
||||
belongs_to :registrar
|
||||
|
||||
before_create -> { self.queued = true }
|
||||
|
||||
scope :queued, -> { where(queued: true) }
|
||||
|
||||
def dequeue
|
||||
self.queued = false
|
||||
save
|
||||
end
|
||||
end
|
|
@ -4,6 +4,7 @@ class Registrar < ActiveRecord::Base
|
|||
has_many :contacts, dependent: :restrict_with_error
|
||||
has_many :epp_users, dependent: :restrict_with_error
|
||||
has_many :users, dependent: :restrict_with_error
|
||||
has_many :messages
|
||||
|
||||
validates :name, :reg_no, :address, :country, presence: true
|
||||
validates :name, :reg_no, uniqueness: true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue