mirror of
https://github.com/internetee/registry.git
synced 2025-07-19 17:25:57 +02:00
Add domain transfers UI
This commit is contained in:
parent
6b1c98f431
commit
f42a390968
12 changed files with 173 additions and 1 deletions
56
app/controllers/client/domain_transfers_controller.rb
Normal file
56
app/controllers/client/domain_transfers_controller.rb
Normal file
|
@ -0,0 +1,56 @@
|
|||
class Client::DomainTransfersController < ClientController
|
||||
before_action :set_domain_transfer, only: :show
|
||||
before_action :set_domain, only: [:create]
|
||||
|
||||
def new
|
||||
@domain_transfer = DomainTransfer.new
|
||||
end
|
||||
|
||||
def create
|
||||
@domain_transfer = @domain.pending_transfer || @domain.domain_transfers.create(domain_transfer_params)
|
||||
if can? :read, @domain_transfer
|
||||
flash[:notice] = I18n.t('shared.domain_transfer_requested')
|
||||
redirect_to [:client, @domain_transfer]
|
||||
else
|
||||
flash[:alert] = I18n.t('shared.other_registrar_has_already_requested_to_transfer_this_domain')
|
||||
render 'new'
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_domain_transfer
|
||||
@domain_transfer = DomainTransfer.find(params[:id])
|
||||
end
|
||||
|
||||
def domain_transfer_params
|
||||
ret = {
|
||||
status: DomainTransfer::PENDING,
|
||||
transfer_requested_at: Time.zone.now,
|
||||
transfer_to: current_user.registrar,
|
||||
transfer_from: @domain.registrar
|
||||
}
|
||||
|
||||
wait_time = SettingGroup.domain_general.setting(:transfer_wait_time).value.to_i
|
||||
|
||||
if wait_time == 0
|
||||
ret[:status] = DomainTransfer::SERVER_APPROVED
|
||||
ret[:transferred_at] = Time.zone.now
|
||||
end
|
||||
|
||||
ret
|
||||
end
|
||||
|
||||
def set_domain
|
||||
@domain_transfer = DomainTransfer.new
|
||||
@domain = Domain.find_by(name: params[:domain_name])
|
||||
if @domain
|
||||
return if @domain.auth_info == params[:domain_pw]
|
||||
flash[:alert] = I18n.t('shared.password_invalid')
|
||||
render 'new'
|
||||
else
|
||||
flash[:alert] = I18n.t('shared.domain_was_not_found')
|
||||
render 'new'
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue