From fc68f769f9c2e3923838be99fe8701ca239cdd48 Mon Sep 17 00:00:00 2001 From: axolotle Date: Mon, 25 Sep 2023 14:37:18 +0200 Subject: [PATCH] domain: add recovery passoword in config panel --- src/dns.py | 3 +++ src/domain.py | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/dns.py b/src/dns.py index e25d0f3ec..fbb461463 100644 --- a/src/dns.py +++ b/src/dns.py @@ -545,6 +545,9 @@ def _get_registrar_config_section(domain): "value": "yunohost", } ) + registrar_infos["recovery_password"] = OrderedDict( + {"type": "password", "ask": m18n.n("ask_dyndns_recovery_password"), "default": ""} + ) return OrderedDict(registrar_infos) elif is_special_use_tld(dns_zone): registrar_infos["registrar"] = OrderedDict( diff --git a/src/domain.py b/src/domain.py index 40e8b50d0..b68c7dffc 100644 --- a/src/domain.py +++ b/src/domain.py @@ -317,6 +317,11 @@ def domain_add( pass raise e + if dyndns and dyndns_recovery_password: + domain_config_set( + domain, "dns.registrar.recovery_password", dyndns_recovery_password + ) + hook_callback("post_domain_add", args=[domain]) logger.success(m18n.n("domain_created")) @@ -704,6 +709,14 @@ class DomainConfigPanel(ConfigPanel): domain=self.entity, other_app=app_map(raw=True)[self.entity]["/"]["id"], ) + if ( + "recovery_password" in self.future_values + and self.future_values["recovery_password"] + != self.values["recovery_password"] + ): + domain_dyndns_set_recovery_password( + self.entity, self.future_values["recovery_password"] + ) super()._apply()