Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions app/controllers/domains_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,15 @@ def regenerate_transfer_code
redirect_to domain_path(domain_name: @response.domain[:name])
end

def cancel_pending_update
conn = ApiConnector::Domains::PendingUpdateCanceller.new(**auth_info)
result = conn.call_action(payload: { name: params[:domain_name] })
handle_response(result); return if performed?

flash.notice = @message
redirect_to domain_path(domain_name: @response.domain[:name])
end

def delete
authorize! :delete, 'Epp::Domain'
end
Expand Down
23 changes: 23 additions & 0 deletions app/services/api_connector/domains/pending_update_canceller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# frozen_string_literal: true

class ApiConnector
module Domains
class PendingUpdateCanceller < ApiConnector
ACTION = 'cancel_pending_update'
ENDPOINT = {
method: 'delete',
endpoint: '/domains',
}.freeze

def cancel_pending_update(payload: nil)
request(url: url_with_id(CGI.escape(payload[:name])), method: method)
end

private

def url_with_id(domain_name)
"#{endpoint_url}/#{domain_name}/pending_update"
end
end
end
end
9 changes: 9 additions & 0 deletions app/views/domains/show.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,15 @@
<%= link_to t(:delete), delete_domain_path(domain_name: @domain[:name]), class: 'button button--danger' %>
</div>
<% end %>
<% if @domain[:statuses].key?('pendingUpdate') %>
<div class="col-xs-auto">
<%= link_to t('.cancel_pending_update'),
domain_cancel_pending_update_path(domain_name: @domain[:name]),
class: 'button button--danger',
data: { 'turbo-method': 'delete',
turbo_confirm: t('.cancel_pending_update_confirm') } %>
</div>
<% end %>
</div>
</div>
</div>
Expand Down
4 changes: 3 additions & 1 deletion config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,9 @@ en:
flag: "Flag"
public_key: "Public key"
regenerate: "Regenerate transfer code"

cancel_pending_update: "Cancel registrant change"
cancel_pending_update_confirm: "Cancel the pending registrant change of this domain?"

edit:
title: "Edit domain"

Expand Down
4 changes: 3 additions & 1 deletion config/locales/et.yml
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,9 @@ et:
flag: "Lipp"
public_key: "Avalik võti"
regenerate: "Regenerate transfer code"

cancel_pending_update: "Tühista registreerija vahetus"
cancel_pending_update_confirm: "Kas tühistada selle domeeni ootel registreerija vahetus?"

edit:
title: "Muuda domeeni"

Expand Down
2 changes: 1 addition & 1 deletion config/locales/statuses.en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ et:
pendingRenew_text: "Renew command has been processed for the domain registration, but the action has not been completed by the server."
pendingTransfer: "pendingTransfer"
pendingTransfer_text: "Transfer command has been processed for the domain registration, but the action has not been completed by the server."
pendingUpdate": "pendingUpdate"
pendingUpdate: "pendingUpdate"
pendingUpdate_text: "Update command has been processed for the domain registration, but the action has not been completed by the server."
serverAdminChangeProhibited: "serverAdminChangeProhibited"
serverAdminChangeProhibited_text: "Requests to replace admin contacts are rejected."
Expand Down
2 changes: 1 addition & 1 deletion config/locales/statuses.et.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ et:
pendingRenew_text: "Domeeni registreeringu pikendamine on ootel."
pendingTransfer: "Registripidaja vahetus ootel"
pendingTransfer_text: "Registripidaja vahetus on ootel."
pendingUpdate": "Andmete muutmine ootel"
pendingUpdate: "Andmete muutmine ootel"
pendingUpdate_text: "Oodatakse registreerija kinnitust registreerija vahetuse päringule"
serverAdminChangeProhibited: "Halduskontakti vahetus keelatud"
serverAdminChangeProhibited_text: "Domeeni halduskontakti(de) muutmine on keelatud"
Expand Down
2 changes: 2 additions & 0 deletions config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
post 'domains/transfer', to: 'domains#transfer', as: :domain_transfer
post 'domains/renew', to: 'domains#renew', as: :domain_renew
delete 'domains/destroy', to: 'domains#destroy', as: :destroy_domain
delete 'domain/cancel_pending_update', to: 'domains#cancel_pending_update',
as: :domain_cancel_pending_update
resources :domains, except: %i[destroy update show edit]

resources :bulk_change, only: %i[show update], controller: 'steps_controllers/bulk_change'
Expand Down
7 changes: 7 additions & 0 deletions spec/controllers/domains_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,13 @@
params: {
domain_name: domain,
},
},
{
method: :cancel_pending_update,
http_method: :delete,
params: {
domain_name: domain,
},
}
]

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading