mirror of
https://github.com/internetee/registry.git
synced 2025-06-12 23:54:44 +02:00
Add remove clientHold to registrar UI
This commit is contained in:
parent
adba253d01
commit
3b332da0bb
9 changed files with 30 additions and 0 deletions
|
@ -153,6 +153,14 @@ class Registrar
|
|||
render json: scope.pluck(:name, :code).map { |c| { display_key: "#{c.second} #{c.first}", value: c.second } }
|
||||
end
|
||||
|
||||
def remove_hold
|
||||
authorize! :remove_hold, Depp::Domain
|
||||
return unless params[:domain_name]
|
||||
|
||||
@data = @domain.remove_hold(params)
|
||||
redirect_to info_registrar_domains_url(domain_name: params[:domain_name])
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def init_domain
|
||||
|
|
|
@ -50,6 +50,7 @@ class Ability
|
|||
can(:check, Epp::Domain)
|
||||
can(:create, Epp::Domain)
|
||||
can(:renew, Epp::Domain) { |d| d.registrar_id == @user.registrar_id }
|
||||
can(:remove_hold, Epp::Domain) { |d| d.registrar_id == @user.registrar_id }
|
||||
can(:update, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.transfer_code == pw }
|
||||
can(:transfer, Epp::Domain)
|
||||
can(:delete, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.transfer_code == pw }
|
||||
|
|
|
@ -34,6 +34,10 @@ module Concerns::Domain::ForceDelete # rubocop:disable Metrics/ModuleLength
|
|||
force_delete_start.present? && force_delete_lte_today && force_delete_lte_valid_date
|
||||
end
|
||||
|
||||
def client_holded?
|
||||
statuses.include?(DomainStatus::CLIENT_HOLD)
|
||||
end
|
||||
|
||||
def force_delete_lte_today
|
||||
force_delete_start + Setting.expire_warning_period.days <= Time.zone.now
|
||||
end
|
||||
|
|
9
app/models/concerns/remove_hold.rb
Normal file
9
app/models/concerns/remove_hold.rb
Normal file
|
@ -0,0 +1,9 @@
|
|||
module RemoveHold
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def remove_hold(params)
|
||||
xml = epp_xml.update(name: { value: params[:domain_name] },
|
||||
rem: [status: { attrs: { s: 'clientHold' }, value: '' }])
|
||||
current_user.request(xml)
|
||||
end
|
||||
end
|
|
@ -1,6 +1,7 @@
|
|||
module Depp
|
||||
class Domain
|
||||
include ActiveModel::Conversion
|
||||
include RemoveHold
|
||||
extend ActiveModel::Naming
|
||||
|
||||
attr_accessor :name, :current_user, :epp_xml
|
||||
|
|
|
@ -9,5 +9,9 @@
|
|||
class: 'btn btn-default btn-xs' %>
|
||||
<%= link_to t('.delete_btn'), delete_registrar_domains_path(domain_name: domain.name),
|
||||
class: 'btn btn-default btn-xs' %>
|
||||
<% if domain.client_holded? %>
|
||||
<%= link_to t('.client_hold_btn'), remove_hold_registrar_domains_path(domain_name: domain.name),
|
||||
class: 'btn btn-default btn-xs' %>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -580,6 +580,7 @@ en:
|
|||
tech: Tech contact
|
||||
valid: Valid
|
||||
object_is_not_eligible_for_renewal: 'Object is not eligible for renewal'
|
||||
object_is_not_holded: 'Object is not holded'
|
||||
bank_statement_desc: 'Import file row will match only when matching following attributes: <b><br>ref number<br>payment amount<br>invoice number (the first numerical value in comment field)</b>.'
|
||||
create_bank_statement: 'Create bank statement'
|
||||
create_bank_transaction: 'Create bank transaction'
|
||||
|
|
|
@ -24,6 +24,7 @@ en:
|
|||
edit_btn: Edit
|
||||
renew_btn: Renew
|
||||
delete_btn: Delete
|
||||
client_hold_btn: Remove Hold
|
||||
|
||||
form:
|
||||
save_btn: Save
|
||||
|
|
|
@ -99,6 +99,7 @@ Rails.application.routes.draw do
|
|||
get 'check'
|
||||
get 'delete'
|
||||
get 'search_contacts'
|
||||
get 'remove_hold'
|
||||
end
|
||||
end
|
||||
resources :domain_transfers, only: %i[new create]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue