diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 73f69e095..000000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
-# Editor-based HTTP Client requests
-/httpRequests/
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index fbdc941de..000000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 522f775f7..000000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/registry.iml b/.idea/registry.iml
deleted file mode 100644
index 452ddb22e..000000000
--- a/.idea/registry.iml
+++ /dev/null
@@ -1,148 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7f4..000000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/models/concerns/domain/registry_lockable.rb b/app/models/concerns/domain/registry_lockable.rb
index 240694d8e..f34741a22 100644
--- a/app/models/concerns/domain/registry_lockable.rb
+++ b/app/models/concerns/domain/registry_lockable.rb
@@ -12,11 +12,11 @@ module Domain::RegistryLockable
end
def apply_registry_lock
- # binding.pry
return unless registry_lockable?
return if locked_by_registrant?
transaction do
+ self.admin_store_statuses_history = self.statuses
self.statuses |= LOCK_STATUSES
self.locked_by_registrant_at = Time.zone.now
alert_registrar_lock_changes!(lock: true)
@@ -29,7 +29,7 @@ module Domain::RegistryLockable
(statuses & [DomainStatus::PENDING_DELETE_CONFIRMATION,
DomainStatus::PENDING_CREATE, DomainStatus::PENDING_UPDATE,
DomainStatus::PENDING_DELETE, DomainStatus::PENDING_RENEW,
- DomainStatus::PENDING_TRANSFER, DomainStatus::FORCE_DELETE]).empty?
+ DomainStatus::PENDING_TRANSFER]).empty?
end
def locked_by_registrant?
diff --git a/app/models/domain.rb b/app/models/domain.rb
index 703bfadcf..5e8a284d5 100644
--- a/app/models/domain.rb
+++ b/app/models/domain.rb
@@ -122,7 +122,7 @@ class Domain < ApplicationRecord
def status_is_consistant
has_error = (hold_status? && statuses.include?(DomainStatus::SERVER_MANUAL_INZONE))
if !has_error && (statuses & DELETE_STATUSES).any?
- has_error = statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
+ has_error = statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED unless locked_by_registrant?
end
errors.add(:domains, I18n.t(:object_status_prohibits_operation)) if has_error
end
diff --git a/app/models/registrant_user.rb b/app/models/registrant_user.rb
index 82ace6e89..f7e85c5af 100644
--- a/app/models/registrant_user.rb
+++ b/app/models/registrant_user.rb
@@ -17,13 +17,12 @@ class RegistrantUser < User
Country.new(alpha2_code)
end
- def companies(company_register = nil)
+ def companies(company_register = CompanyRegister::Client.new)
return [] if ident.include?('-')
- [OpenStruct.new(registration_number: '43344412', company_name: 'TestFirma'),
- OpenStruct.new(registration_number: '12345678', company_name: 'SuperFirma OU')]
+ company_register.representation_rights(citizen_personal_code: ident,
+ citizen_country_code: country.alpha3)
end
-
def contacts(representable: true)
Contact.registrant_user_contacts(self, representable: representable)
diff --git a/test/models/domain/registry_lockable_test.rb b/test/models/domain/registry_lockable_test.rb
index e4398762f..ed1a7d6f2 100644
--- a/test/models/domain/registry_lockable_test.rb
+++ b/test/models/domain/registry_lockable_test.rb
@@ -30,8 +30,8 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase
assert @domain.locked_by_registrant?
@domain.remove_registry_lock
- assert_not @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
- assert_not @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
+ assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
+ assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
end
@@ -156,6 +156,32 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase
assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
+ assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
+
+ @domain.remove_registry_lock
+
+ assert @domain.statuses.include? DomainStatus::FORCE_DELETE
+ assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
+ assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED
+ end
+
+ def test_set_force_delete_for_locked_domain
+ assert @domain.apply_registry_lock
+
+ @domain.schedule_force_delete(type: :soft)
+ @domain.reload
+
+ assert @domain.force_delete_scheduled?
+
+ assert @domain.statuses.include? DomainStatus::FORCE_DELETE
+ assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED
+ assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
+ assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
+
+ @domain.cancel_force_delete
+
+ assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
+ assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
end