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 } }
|
render json: scope.pluck(:name, :code).map { |c| { display_key: "#{c.second} #{c.first}", value: c.second } }
|
||||||
end
|
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
|
private
|
||||||
|
|
||||||
def init_domain
|
def init_domain
|
||||||
|
|
|
@ -50,6 +50,7 @@ class Ability
|
||||||
can(:check, Epp::Domain)
|
can(:check, Epp::Domain)
|
||||||
can(:create, Epp::Domain)
|
can(:create, Epp::Domain)
|
||||||
can(:renew, Epp::Domain) { |d| d.registrar_id == @user.registrar_id }
|
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(:update, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.transfer_code == pw }
|
||||||
can(:transfer, Epp::Domain)
|
can(:transfer, Epp::Domain)
|
||||||
can(:delete, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.transfer_code == pw }
|
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
|
force_delete_start.present? && force_delete_lte_today && force_delete_lte_valid_date
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def client_holded?
|
||||||
|
statuses.include?(DomainStatus::CLIENT_HOLD)
|
||||||
|
end
|
||||||
|
|
||||||
def force_delete_lte_today
|
def force_delete_lte_today
|
||||||
force_delete_start + Setting.expire_warning_period.days <= Time.zone.now
|
force_delete_start + Setting.expire_warning_period.days <= Time.zone.now
|
||||||
end
|
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
|
module Depp
|
||||||
class Domain
|
class Domain
|
||||||
include ActiveModel::Conversion
|
include ActiveModel::Conversion
|
||||||
|
include RemoveHold
|
||||||
extend ActiveModel::Naming
|
extend ActiveModel::Naming
|
||||||
|
|
||||||
attr_accessor :name, :current_user, :epp_xml
|
attr_accessor :name, :current_user, :epp_xml
|
||||||
|
|
|
@ -9,5 +9,9 @@
|
||||||
class: 'btn btn-default btn-xs' %>
|
class: 'btn btn-default btn-xs' %>
|
||||||
<%= link_to t('.delete_btn'), delete_registrar_domains_path(domain_name: domain.name),
|
<%= link_to t('.delete_btn'), delete_registrar_domains_path(domain_name: domain.name),
|
||||||
class: 'btn btn-default btn-xs' %>
|
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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -580,6 +580,7 @@ en:
|
||||||
tech: Tech contact
|
tech: Tech contact
|
||||||
valid: Valid
|
valid: Valid
|
||||||
object_is_not_eligible_for_renewal: 'Object is not eligible for renewal'
|
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>.'
|
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_statement: 'Create bank statement'
|
||||||
create_bank_transaction: 'Create bank transaction'
|
create_bank_transaction: 'Create bank transaction'
|
||||||
|
|
|
@ -24,6 +24,7 @@ en:
|
||||||
edit_btn: Edit
|
edit_btn: Edit
|
||||||
renew_btn: Renew
|
renew_btn: Renew
|
||||||
delete_btn: Delete
|
delete_btn: Delete
|
||||||
|
client_hold_btn: Remove Hold
|
||||||
|
|
||||||
form:
|
form:
|
||||||
save_btn: Save
|
save_btn: Save
|
||||||
|
|
|
@ -99,6 +99,7 @@ Rails.application.routes.draw do
|
||||||
get 'check'
|
get 'check'
|
||||||
get 'delete'
|
get 'delete'
|
||||||
get 'search_contacts'
|
get 'search_contacts'
|
||||||
|
get 'remove_hold'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
resources :domain_transfers, only: %i[new create]
|
resources :domain_transfers, only: %i[new create]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue