Merge pull request #1637 from YunoHost/enh-perms-declaration

Support variables in permissions declaration
This commit is contained in:
Alexandre Aubin 2023-04-11 13:58:19 +02:00 committed by GitHub
commit b489d8bd99
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -563,15 +563,15 @@ class PermissionsResource(AppResource):
super().__init__({"permissions": properties}, *args, **kwargs)
from yunohost.app import _get_app_settings, _hydrate_app_template
settings = _get_app_settings(self.app)
for perm, infos in self.permissions.items():
if infos.get("url") and "__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", [])
]
if infos.get("url") and "__" in infos.get("url"):
infos["url"] = _hydrate_app_template(infos["url"], settings)
if infos.get("additional_urls"):
infos["additional_urls"] = [_hydrate_app_template(url) for url in infos["additional_urls"]]
def provision_or_update(self, context: Dict = {}):
from yunohost.permission import (