diff --git a/src/utils/resources.py b/src/utils/resources.py index 15d139f4b..77bd53cb3 100644 --- a/src/utils/resources.py +++ b/src/utils/resources.py @@ -153,9 +153,6 @@ class AppResource: for key, value in properties.items(): if isinstance(value, str): value = value.replace("__APP__", self.app) - # This one is needed for custom permission urls where the domain might be used - if "__DOMAIN__" in value: - value.replace("__DOMAIN__", self.get_setting("domain")) setattr(self, key, value) def get_setting(self, key): @@ -340,6 +337,11 @@ class PermissionsResource(AppResource): super().__init__({"permissions": properties}, *args, **kwargs) + for perm, infos in self.permissions.items(): + if "__DOMAIN__" in infos.get("url", ""): + infos["url"] = infos["url"].replace("__DOMAIN__", self.get_setting("domain")) + infos["additional_urls"] = [u.replace("__DOMAIN__", self.get_setting("domain")) for u in infos.get("additional_urls")] + def provision_or_update(self, context: Dict = {}): from yunohost.permission import ( permission_create,