Fix epp domains controller to apply add or rem changes to status

From this patch epp domains controller will allow to update
domain statuses only if there is only one status - clientHold.
This was made to allow usage of new ForceDelete procedures.
This commit is contained in:
Alex Sherman 2019-12-23 15:34:13 +05:00
parent 3dcc476114
commit a863c3c7ba
2 changed files with 56 additions and 0 deletions

View file

@ -311,6 +311,7 @@ module Epp
def status_editing_disabled
return true if Setting.client_status_editing_enabled
return true if check_client_hold
return true if params[:parsed_frame].css('status').empty?
epp_errors << {
code: '2306',
@ -318,6 +319,11 @@ module Epp
}
end
def check_client_hold
statuses = params[:parsed_frame].css('status').map { |element| element['s'] }
statuses == [::DomainStatus::CLIENT_HOLD]
end
def balance_ok?(operation, period = nil, unit = nil)
@domain_pricelist = @domain.pricelist(operation, period.try(:to_i), unit)
if @domain_pricelist.try(:price) # checking if price list is not found