Set sub-permission labels as 'Mainlabel (Sublabel)'

This commit is contained in:
Alexandre Aubin 2020-09-27 18:20:29 +02:00
parent c4dc8b4cea
commit dd9df5943e
3 changed files with 11 additions and 5 deletions

View file

@ -283,7 +283,7 @@ ynh_permission_create() {
if [[ -n ${label:-} ]]; then if [[ -n ${label:-} ]]; then
label=",label='$label'" label=",label='$label'"
else else
label=",label='$YNH_APP_LABEL ($permission)'" label=",label='$permission'"
fi fi
if [[ -n ${show_tile:-} ]] if [[ -n ${show_tile:-} ]]

View file

@ -429,7 +429,7 @@ def app_upgrade(app=[], url=None, file=None, force=False):
""" """
from packaging import version from packaging import version
from yunohost.hook import hook_add, hook_remove, hook_exec, hook_callback from yunohost.hook import hook_add, hook_remove, hook_exec, hook_callback
from yunohost.permission import permission_sync_to_user, user_permission_list from yunohost.permission import permission_sync_to_user
from yunohost.regenconf import manually_modified_files from yunohost.regenconf import manually_modified_files
apps = app apps = app
@ -521,7 +521,6 @@ def app_upgrade(app=[], url=None, file=None, force=False):
env_dict["YNH_APP_ID"] = app_id env_dict["YNH_APP_ID"] = app_id
env_dict["YNH_APP_INSTANCE_NAME"] = app_instance_name env_dict["YNH_APP_INSTANCE_NAME"] = app_instance_name
env_dict["YNH_APP_INSTANCE_NUMBER"] = str(app_instance_nb) env_dict["YNH_APP_INSTANCE_NUMBER"] = str(app_instance_nb)
env_dict["YNH_APP_LABEL"] = user_permission_list(full=True, ignore_system_perms=True, full_path=False)['permissions'][app_id+".main"]['label']
env_dict["YNH_APP_UPGRADE_TYPE"] = upgrade_type env_dict["YNH_APP_UPGRADE_TYPE"] = upgrade_type
env_dict["YNH_APP_MANIFEST_VERSION"] = str(app_new_version) env_dict["YNH_APP_MANIFEST_VERSION"] = str(app_new_version)
env_dict["YNH_APP_CURRENT_VERSION"] = str(app_current_version) env_dict["YNH_APP_CURRENT_VERSION"] = str(app_current_version)
@ -756,7 +755,6 @@ def app_install(operation_logger, app, label=None, args=None, no_remove_on_failu
env_dict["YNH_APP_ID"] = app_id env_dict["YNH_APP_ID"] = app_id
env_dict["YNH_APP_INSTANCE_NAME"] = app_instance_name env_dict["YNH_APP_INSTANCE_NAME"] = app_instance_name
env_dict["YNH_APP_INSTANCE_NUMBER"] = str(instance_number) env_dict["YNH_APP_INSTANCE_NUMBER"] = str(instance_number)
env_dict["YNH_APP_LABEL"] = label
env_dict["YNH_APP_MANIFEST_VERSION"] = manifest.get("version", "?") env_dict["YNH_APP_MANIFEST_VERSION"] = manifest.get("version", "?")
# Start register change on system # Start register change on system

View file

@ -93,11 +93,19 @@ def user_permission_list(short=False, full=False, ignore_system_perms=False, ful
permissions[name] = perm permissions[name] = perm
# Make sure labels for sub-permissions are the form " Applabel (Sublabel) "
if full:
for name, infos in {k: v for k, v in permissions if not k.endswith(".main")}:
main_perm_name = name.split(".")[0] + ".main"
main_perm_label = permissions[main_perm_name]["label"]
infos["label"] = "%s (%s)" % (main_perm_label, infos["label"])
if short: if short:
permissions = permissions.keys() permissions = permissions.keys()
return {'permissions': permissions} return {'permissions': permissions}
@is_unit_operation() @is_unit_operation()
def user_permission_update(operation_logger, permission, add=None, remove=None, def user_permission_update(operation_logger, permission, add=None, remove=None,
label=None, show_tile=None, label=None, show_tile=None,