domain:config: make 'registrar' info a frozen input since an alert has no value

This commit is contained in:
axolotle 2023-10-22 17:53:50 +02:00
parent 3a31984e3c
commit 9134515604

View file

@ -502,11 +502,26 @@ def _get_relative_name_for_dns_zone(domain, base_dns_zone):
def _get_registrar_config_section(domain): def _get_registrar_config_section(domain):
from lexicon.providers.auto import _relevant_provider_for_domain from lexicon.providers.auto import _relevant_provider_for_domain
registrar_infos = { registrar_infos = OrderedDict(
{
"name": m18n.n( "name": m18n.n(
"registrar_infos" "registrar_infos"
), # This is meant to name the config panel section, for proper display in the webadmin ), # This is meant to name the config panel section, for proper display in the webadmin
"registrar": OrderedDict(
{
"readonly": True,
"visible": False,
"default": None,
} }
),
"infos": OrderedDict(
{
"type": "alert",
"style": "info",
}
),
}
)
dns_zone = _get_dns_zone_for_domain(domain) dns_zone = _get_dns_zone_for_domain(domain)
@ -519,61 +534,34 @@ def _get_registrar_config_section(domain):
else: else:
parent_domain_link = parent_domain parent_domain_link = parent_domain
registrar_infos["registrar"] = OrderedDict( registrar_infos["registrar"]["default"] = "parent_domain"
{ registrar_infos["infos"]["ask"] = m18n.n(
"type": "alert",
"style": "info",
"ask": m18n.n(
"domain_dns_registrar_managed_in_parent_domain", "domain_dns_registrar_managed_in_parent_domain",
parent_domain=parent_domain, parent_domain=parent_domain,
parent_domain_link=parent_domain_link, parent_domain_link=parent_domain_link,
),
"default": "parent_domain",
}
) )
return OrderedDict(registrar_infos) return registrar_infos
# TODO big project, integrate yunohost's dynette as a registrar-like provider # TODO big project, integrate yunohost's dynette as a registrar-like provider
# TODO big project, integrate other dyndns providers such as netlib.re, or cf the list of dyndns providers supported by cloudron... # TODO big project, integrate other dyndns providers such as netlib.re, or cf the list of dyndns providers supported by cloudron...
if is_yunohost_dyndns_domain(dns_zone): if is_yunohost_dyndns_domain(dns_zone):
registrar_infos["registrar"] = OrderedDict( registrar_infos["registrar"]["default"] = "yunohost"
{ registrar_infos["infos"]["style"] = "success"
"type": "alert", registrar_infos["infos"]["ask"] = m18n.n("domain_dns_registrar_yunohost")
"style": "success",
"ask": m18n.n("domain_dns_registrar_yunohost"), return registrar_infos
"default": "yunohost",
}
)
return OrderedDict(registrar_infos)
elif is_special_use_tld(dns_zone): elif is_special_use_tld(dns_zone):
registrar_infos["registrar"] = OrderedDict( registrar_infos["infos"]["ask"] = m18n.n("domain_dns_conf_special_use_tld")
{
"type": "alert",
"style": "info",
"ask": m18n.n("domain_dns_conf_special_use_tld"),
"default": None,
}
)
try: try:
registrar = _relevant_provider_for_domain(dns_zone)[0] registrar = _relevant_provider_for_domain(dns_zone)[0]
except ValueError: except ValueError:
registrar_infos["registrar"] = OrderedDict( registrar_infos["registrar"]["default"] = None
{ registrar_infos["infos"]["ask"] = m18n.n("domain_dns_registrar_not_supported")
"type": "alert",
"style": "warning",
"ask": m18n.n("domain_dns_registrar_not_supported"),
"default": None,
}
)
else: else:
registrar_infos["registrar"] = OrderedDict( registrar_infos["registrar"]["default"] = registrar
{ registrar_infos["infos"]["ask"] = m18n.n(
"type": "alert", "domain_dns_registrar_supported", registrar=registrar
"style": "info",
"ask": m18n.n("domain_dns_registrar_supported", registrar=registrar),
"default": registrar,
}
) )
TESTED_REGISTRARS = ["ovh", "gandi"] TESTED_REGISTRARS = ["ovh", "gandi"]
@ -601,7 +589,7 @@ def _get_registrar_config_section(domain):
infos["optional"] = infos.get("optional", "False") infos["optional"] = infos.get("optional", "False")
registrar_infos.update(registrar_credentials) registrar_infos.update(registrar_credentials)
return OrderedDict(registrar_infos) return registrar_infos
def _get_registar_settings(domain): def _get_registar_settings(domain):