added customization feature for enable new statuses

This commit is contained in:
olegphenomenon 2021-09-10 12:58:00 +03:00
parent ca80846577
commit 00aae6b51f
5 changed files with 20 additions and 5 deletions

View file

@ -162,8 +162,8 @@ module Epp
@prefix = 'update > update >' @prefix = 'update > update >'
requires 'name' requires 'name'
dnskey_update_enabled dnskey_update_enabled if Feature.obj_and_extensions_statuses_enabled?
dnkey_update_prohibited dnkey_update_prohibited if Feature.obj_and_extensions_statuses_enabled?
status_editing_disabled status_editing_disabled
end end

View file

@ -155,7 +155,7 @@ class DomainStatus < ApplicationRecord
def admin_statuses_map def admin_statuses_map
[ admin_statuses = [
['Hold', SERVER_HOLD], ['Hold', SERVER_HOLD],
['ManualInzone', SERVER_MANUAL_INZONE], ['ManualInzone', SERVER_MANUAL_INZONE],
['RenewProhibited', SERVER_RENEW_PROHIBITED], ['RenewProhibited', SERVER_RENEW_PROHIBITED],
@ -166,9 +166,14 @@ class DomainStatus < ApplicationRecord
['UpdateProhibited', SERVER_UPDATE_PROHIBITED], ['UpdateProhibited', SERVER_UPDATE_PROHIBITED],
['DeleteProhibited', SERVER_DELETE_PROHIBITED], ['DeleteProhibited', SERVER_DELETE_PROHIBITED],
['ReleaseProhibited', SERVER_RELEASE_PROHIBITED], ['ReleaseProhibited', SERVER_RELEASE_PROHIBITED],
['ExtensionUpdateProhibited', SERVER_EXTENSION_UPDATE_PROHIBITED],
['ObjUpdateProhibited', SERVER_OBJ_UPDATE_PROHIBITED],
] ]
if Feature.obj_and_extensions_statuses_enabled?
admin_statuses << ['ExtensionUpdateProhibited', SERVER_EXTENSION_UPDATE_PROHIBITED]
admin_statuses << ['ObjUpdateProhibited', SERVER_OBJ_UPDATE_PROHIBITED]
end
admin_statuses
end end
def admin_not_deletable_statuses def admin_not_deletable_statuses

6
app/models/feature.rb Normal file
View file

@ -0,0 +1,6 @@
class Feature
def self.obj_and_extensions_statuses_enabled?
return false if ENV['obj_and_extensions_prohibited'] == 'false'
ENV['obj_and_extensions_prohibited'] || false
end
end

View file

@ -59,6 +59,7 @@ contact_org_enabled: 'false'
# System default for legal document types is: pdf,asice,sce,asics,scs,adoc,edoc,bdoc,ddoc,zip,rar,gz,tar,7z,odt,doc,docx # System default for legal document types is: pdf,asice,sce,asics,scs,adoc,edoc,bdoc,ddoc,zip,rar,gz,tar,7z,odt,doc,docx
# legal_document_types: "pdf,asice,sce,asics,scs,adoc,edoc,bdoc,ddoc,zip,rar,gz,tar,7z,odt,doc,docx" # legal_document_types: "pdf,asice,sce,asics,scs,adoc,edoc,bdoc,ddoc,zip,rar,gz,tar,7z,odt,doc,docx"
# obj_and_extensions_prohibited: 'true'
# #
# REGISTRAR configuration (DEPP) # REGISTRAR configuration (DEPP)

View file

@ -49,6 +49,7 @@ class EppDomainUpdateBaseTest < EppTestCase
end end
def test_update_domain_data_out_of_extension_block_with_serverObjUpdateProhibited def test_update_domain_data_out_of_extension_block_with_serverObjUpdateProhibited
ENV['obj_and_extensions_prohibited'] = 'true'
@domain = domains(:shop) @domain = domains(:shop)
@domain.statuses << DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED @domain.statuses << DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED
@domain.save @domain.save
@ -94,6 +95,7 @@ class EppDomainUpdateBaseTest < EppTestCase
end end
def test_update_domain_data_out_of_extension_block_with_extension_update_prohibited def test_update_domain_data_out_of_extension_block_with_extension_update_prohibited
ENV['obj_and_extensions_prohibited'] = 'true'
@domain = domains(:shop) @domain = domains(:shop)
@domain.statuses << DomainStatus::SERVER_EXTENSION_UPDATE_PROHIBITED @domain.statuses << DomainStatus::SERVER_EXTENSION_UPDATE_PROHIBITED
@domain.save @domain.save
@ -131,6 +133,7 @@ class EppDomainUpdateBaseTest < EppTestCase
end end
def test_update_domain_dns_with_extension_update_prohibited def test_update_domain_dns_with_extension_update_prohibited
ENV['obj_and_extensions_prohibited'] = 'true'
@domain = domains(:shop) @domain = domains(:shop)
@domain.statuses << DomainStatus::SERVER_EXTENSION_UPDATE_PROHIBITED @domain.statuses << DomainStatus::SERVER_EXTENSION_UPDATE_PROHIBITED
@domain.save @domain.save