diff --git a/app/controllers/registrar/domains_controller.rb b/app/controllers/registrar/domains_controller.rb index 2e268af0b..d477c2c27 100644 --- a/app/controllers/registrar/domains_controller.rb +++ b/app/controllers/registrar/domains_controller.rb @@ -64,6 +64,7 @@ class Registrar def info authorize! :info, Depp::Domain @data = @domain.info(params[:domain_name]) if params[:domain_name] + @pending_delete = domain_delete_pending(@data) @client_holded = client_holded(@data) if response_ok? render 'info' @@ -131,6 +132,7 @@ class Registrar @data = @domain.delete(params[:domain]) @results = @data.css('result') if response_ok? + flash[:notice] = t('.deleting_request') redirect_to info_registrar_domains_url(domain_name: params[:domain][:name]) else params[:domain_name] = params[:domain][:name] @@ -182,6 +184,11 @@ class Registrar &.any? { |status| status == DomainStatus::CLIENT_HOLD } end + def domain_delete_pending(data) + data.css('status')&.map { |element| element.attribute('s').value } + &.any? { |status| status.include?(DomainStatus::PENDING_DELETE) } + end + def contacts current_registrar_user.registrar.contacts end diff --git a/app/views/registrar/domains/_domain.html.erb b/app/views/registrar/domains/_domain.html.erb index 74f29dc15..8cc6da6f7 100644 --- a/app/views/registrar/domains/_domain.html.erb +++ b/app/views/registrar/domains/_domain.html.erb @@ -7,7 +7,9 @@ class: 'btn btn-primary btn-xs' %> <%= link_to t('.renew_btn'), renew_registrar_domains_path(domain_name: domain.name), class: 'btn btn-default btn-xs' %> + <% unless (domain.statuses & %w[pendingDelete pendingDeleteConfirmation]).any? %> <%= link_to t('.delete_btn'), delete_registrar_domains_path(domain_name: domain.name), class: 'btn btn-default btn-xs' %> + <% end %> diff --git a/app/views/registrar/domains/info.html.erb b/app/views/registrar/domains/info.html.erb index e88882233..c2f219bf9 100644 --- a/app/views/registrar/domains/info.html.erb +++ b/app/views/registrar/domains/info.html.erb @@ -4,8 +4,10 @@ class: 'btn btn-default') %> <%= link_to(t(:renew), renew_registrar_domains_path(domain_name: params[:domain_name]), class: 'btn btn-default') %> + <% unless @pending_delete %> <%= link_to(t(:delete), delete_registrar_domains_path(domain_name: params[:domain_name]), class: 'btn btn-default') %> + <% end %> <% if @client_holded %> <%= link_to(t(:remove_client_hold), remove_hold_registrar_domains_path(domain_name: params[:domain_name]), class: 'btn btn-default') %> diff --git a/config/locales/registrar/domains.en.yml b/config/locales/registrar/domains.en.yml index c98002b8f..b8605bd42 100644 --- a/config/locales/registrar/domains.en.yml +++ b/config/locales/registrar/domains.en.yml @@ -16,6 +16,9 @@ en: info: transfer_btn: Transfer + destroy: + deleting_request: Domain deletion request was sent + search_form: download_btn: Download CSV reset_btn: Reset