mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Try to uh simplify the whole full_path=True / False thing, most of the time internally we want it set to False
This commit is contained in:
parent
de96b094b2
commit
fb44bd1c66
7 changed files with 48 additions and 56 deletions
|
@ -177,7 +177,7 @@ def app_info(app, full=False):
|
||||||
ret['supports_backup_restore'] = (os.path.exists(os.path.join(APPS_SETTING_PATH, app, "scripts", "backup")) and
|
ret['supports_backup_restore'] = (os.path.exists(os.path.join(APPS_SETTING_PATH, app, "scripts", "backup")) and
|
||||||
os.path.exists(os.path.join(APPS_SETTING_PATH, app, "scripts", "restore")))
|
os.path.exists(os.path.join(APPS_SETTING_PATH, app, "scripts", "restore")))
|
||||||
ret['supports_multi_instance'] = is_true(local_manifest.get("multi_instance", False))
|
ret['supports_multi_instance'] = is_true(local_manifest.get("multi_instance", False))
|
||||||
permissions = user_permission_list(full=True, full_path=True)["permissions"]
|
permissions = user_permission_list(full=True, absolute_urls=True)["permissions"]
|
||||||
ret['permissions'] = {p: i for p, i in permissions.items() if p.startswith(app + ".") and (i["url"] or i['additional_urls'])}
|
ret['permissions'] = {p: i for p, i in permissions.items() if p.startswith(app + ".") and (i["url"] or i['additional_urls'])}
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
@ -249,7 +249,7 @@ def app_map(app=None, raw=False, user=None):
|
||||||
else:
|
else:
|
||||||
apps = os.listdir(APPS_SETTING_PATH)
|
apps = os.listdir(APPS_SETTING_PATH)
|
||||||
|
|
||||||
permissions = user_permission_list(full=True, full_path=True)["permissions"]
|
permissions = user_permission_list(full=True, absolute_urls=True)["permissions"]
|
||||||
for app_id in apps:
|
for app_id in apps:
|
||||||
app_settings = _get_app_settings(app_id)
|
app_settings = _get_app_settings(app_id)
|
||||||
if not app_settings:
|
if not app_settings:
|
||||||
|
@ -640,7 +640,7 @@ def app_install(operation_logger, app, label=None, args=None, no_remove_on_failu
|
||||||
|
|
||||||
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.log import OperationLogger
|
from yunohost.log import OperationLogger
|
||||||
from yunohost.permission import user_permission_list, user_permission_update, permission_create, permission_url, permission_delete, permission_sync_to_user
|
from yunohost.permission import user_permission_list, user_permission_info, user_permission_update, permission_create, permission_url, permission_delete, permission_sync_to_user
|
||||||
from yunohost.regenconf import manually_modified_files
|
from yunohost.regenconf import manually_modified_files
|
||||||
|
|
||||||
# Fetch or extract sources
|
# Fetch or extract sources
|
||||||
|
@ -926,7 +926,7 @@ def app_install(operation_logger, app, label=None, args=None, no_remove_on_failu
|
||||||
app_settings = _get_app_settings(app_instance_name)
|
app_settings = _get_app_settings(app_instance_name)
|
||||||
domain = app_settings.get('domain', None)
|
domain = app_settings.get('domain', None)
|
||||||
path = app_settings.get('path', None)
|
path = app_settings.get('path', None)
|
||||||
if domain and path and user_permission_list(full=True, full_path=False)['permissions'][app_instance_name + '.main']['url'] is None:
|
if domain and path and user_permission_info(app_instance_name + '.main')['url'] is None:
|
||||||
permission_url(app_instance_name + ".main", url='/', sync_perm=False)
|
permission_url(app_instance_name + ".main", url='/', sync_perm=False)
|
||||||
user_permission_update(app_instance_name + ".main", show_tile=True, sync_perm=False)
|
user_permission_update(app_instance_name + ".main", show_tile=True, sync_perm=False)
|
||||||
|
|
||||||
|
@ -1199,7 +1199,7 @@ def app_setting(app, key, value=None, delete=False):
|
||||||
|
|
||||||
logger.warning("/!\\ Packagers! This app is still using the skipped/protected/unprotected_uris/regex settings which are now obsolete and deprecated... Instead, you should use the new helpers 'ynh_permission_{create,urls,update,delete}' and the 'visitors' group to initialize the public/private access. Check out the documentation at the bottom of yunohost.org/groups_and_permissions to learn how to use the new permission mechanism.")
|
logger.warning("/!\\ Packagers! This app is still using the skipped/protected/unprotected_uris/regex settings which are now obsolete and deprecated... Instead, you should use the new helpers 'ynh_permission_{create,urls,update,delete}' and the 'visitors' group to initialize the public/private access. Check out the documentation at the bottom of yunohost.org/groups_and_permissions to learn how to use the new permission mechanism.")
|
||||||
from permission import user_permission_list, user_permission_update, permission_create, permission_delete, permission_url
|
from permission import user_permission_list, user_permission_update, permission_create, permission_delete, permission_url
|
||||||
permissions = user_permission_list(full=True, full_path=False)['permissions']
|
permissions = user_permission_list(full=True)['permissions']
|
||||||
permission_name = "%s.legacy_%s_uris" % (app, key.split('_')[0])
|
permission_name = "%s.legacy_%s_uris" % (app, key.split('_')[0])
|
||||||
permission = permissions.get(permission_name)
|
permission = permissions.get(permission_name)
|
||||||
|
|
||||||
|
@ -1331,7 +1331,7 @@ def app_ssowatconf():
|
||||||
|
|
||||||
main_domain = _get_maindomain()
|
main_domain = _get_maindomain()
|
||||||
domains = domain_list()['domains']
|
domains = domain_list()['domains']
|
||||||
all_permissions = user_permission_list(full=True, ignore_system_perms=True, full_path=True)['permissions']
|
all_permissions = user_permission_list(full=True, ignore_system_perms=True, absolute_urls=True)['permissions']
|
||||||
|
|
||||||
permissions = {
|
permissions = {
|
||||||
'core_skipped': {
|
'core_skipped': {
|
||||||
|
|
|
@ -697,7 +697,7 @@ class BackupManager():
|
||||||
|
|
||||||
# backup permissions
|
# backup permissions
|
||||||
logger.debug(m18n.n('backup_permission', app=app))
|
logger.debug(m18n.n('backup_permission', app=app))
|
||||||
permissions = user_permission_list(full=True, full_path=False)["permissions"]
|
permissions = user_permission_list(full=True)["permissions"]
|
||||||
this_app_permissions = {name: infos for name, infos in permissions.items() if name.startswith(app + ".")}
|
this_app_permissions = {name: infos for name, infos in permissions.items() if name.startswith(app + ".")}
|
||||||
write_to_yaml("%s/permissions.yml" % settings_dir, this_app_permissions)
|
write_to_yaml("%s/permissions.yml" % settings_dir, this_app_permissions)
|
||||||
|
|
||||||
|
@ -1158,7 +1158,7 @@ class RestoreManager():
|
||||||
|
|
||||||
# Backup old permission for apps
|
# Backup old permission for apps
|
||||||
# We need to do that because in case of an app is installed we can't remove the permission for this app
|
# We need to do that because in case of an app is installed we can't remove the permission for this app
|
||||||
old_apps_permission = user_permission_list(ignore_system_perms=True, full=True, full_path=False)["permissions"]
|
old_apps_permission = user_permission_list(ignore_system_perms=True, full=True)["permissions"]
|
||||||
|
|
||||||
# Start register change on system
|
# Start register change on system
|
||||||
operation_logger = OperationLogger('backup_restore_system')
|
operation_logger = OperationLogger('backup_restore_system')
|
||||||
|
|
|
@ -37,7 +37,7 @@ class MyMigration(Migration):
|
||||||
|
|
||||||
logger.info(m18n.n("migration_0019_add_new_attributes_in_ldap"))
|
logger.info(m18n.n("migration_0019_add_new_attributes_in_ldap"))
|
||||||
ldap = _get_ldap_interface()
|
ldap = _get_ldap_interface()
|
||||||
permission_list = user_permission_list(short=True, full_path=False)["permissions"]
|
permission_list = user_permission_list(short=True)["permissions"]
|
||||||
|
|
||||||
labels = {}
|
labels = {}
|
||||||
for app in _installed_apps():
|
for app in _installed_apps():
|
||||||
|
|
|
@ -45,7 +45,7 @@ SYSTEM_PERMS = ["mail", "xmpp", "sftp", "ssh"]
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
def user_permission_list(short=False, full=False, ignore_system_perms=False, full_path=True):
|
def user_permission_list(short=False, full=False, ignore_system_perms=False, absolute_urls=False):
|
||||||
"""
|
"""
|
||||||
List permissions and corresponding accesses
|
List permissions and corresponding accesses
|
||||||
"""
|
"""
|
||||||
|
@ -86,7 +86,7 @@ def user_permission_list(short=False, full=False, ignore_system_perms=False, ful
|
||||||
perm["url"] = infos.get("URL", [None])[0]
|
perm["url"] = infos.get("URL", [None])[0]
|
||||||
perm["additional_urls"] = infos.get("additionalUrls", [])
|
perm["additional_urls"] = infos.get("additionalUrls", [])
|
||||||
|
|
||||||
if full_path:
|
if absolute_urls:
|
||||||
app_base_path = apps_base_path[app] if app in apps_base_path else "" # Meh in some situation where the app is currently installed/removed, this function may be called and we still need to act as if the corresponding permission indeed exists ... dunno if that's really the right way to proceed but okay.
|
app_base_path = apps_base_path[app] if app in apps_base_path else "" # Meh in some situation where the app is currently installed/removed, this function may be called and we still need to act as if the corresponding permission indeed exists ... dunno if that's really the right way to proceed but okay.
|
||||||
perm["url"] = _get_absolute_url(perm["url"], app_base_path)
|
perm["url"] = _get_absolute_url(perm["url"], app_base_path)
|
||||||
perm["additional_urls"] = [_get_absolute_url(url, app_base_path) for url in perm["additional_urls"]]
|
perm["additional_urls"] = [_get_absolute_url(url, app_base_path) for url in perm["additional_urls"]]
|
||||||
|
@ -132,7 +132,7 @@ def user_permission_update(operation_logger, permission, add=None, remove=None,
|
||||||
if "." not in permission:
|
if "." not in permission:
|
||||||
permission = permission + ".main"
|
permission = permission + ".main"
|
||||||
|
|
||||||
existing_permission = user_permission_list(full=True, full_path=False)["permissions"].get(permission, None)
|
existing_permission = user_permission_info(permission)
|
||||||
|
|
||||||
# Refuse to add "visitors" to mail, xmpp ... they require an account to make sense.
|
# Refuse to add "visitors" to mail, xmpp ... they require an account to make sense.
|
||||||
if add and "visitors" in add and permission.split(".")[0] in SYSTEM_PERMS:
|
if add and "visitors" in add and permission.split(".")[0] in SYSTEM_PERMS:
|
||||||
|
@ -145,9 +145,6 @@ def user_permission_update(operation_logger, permission, add=None, remove=None,
|
||||||
|
|
||||||
# Fetch currently allowed groups for this permission
|
# Fetch currently allowed groups for this permission
|
||||||
|
|
||||||
if existing_permission is None:
|
|
||||||
raise YunohostError('permission_not_found', permission=permission)
|
|
||||||
|
|
||||||
current_allowed_groups = existing_permission["allowed"]
|
current_allowed_groups = existing_permission["allowed"]
|
||||||
operation_logger.related_to.append(('app', permission.split(".")[0]))
|
operation_logger.related_to.append(('app', permission.split(".")[0]))
|
||||||
|
|
||||||
|
@ -223,9 +220,7 @@ def user_permission_reset(operation_logger, permission, sync_perm=True):
|
||||||
|
|
||||||
# Fetch existing permission
|
# Fetch existing permission
|
||||||
|
|
||||||
existing_permission = user_permission_list(full=True, full_path=False)["permissions"].get(permission, None)
|
existing_permission = user_permission_info(permission)
|
||||||
if existing_permission is None:
|
|
||||||
raise YunohostError('permission_not_found', permission=permission)
|
|
||||||
|
|
||||||
if existing_permission["allowed"] == ["all_users"]:
|
if existing_permission["allowed"] == ["all_users"]:
|
||||||
logger.warning(m18n.n("permission_already_up_to_date"))
|
logger.warning(m18n.n("permission_already_up_to_date"))
|
||||||
|
@ -400,9 +395,7 @@ def permission_url(operation_logger, permission,
|
||||||
|
|
||||||
# Fetch existing permission
|
# Fetch existing permission
|
||||||
|
|
||||||
existing_permission = user_permission_list(full=True, full_path=False)["permissions"].get(permission, None)
|
existing_permission = user_permission_info(permission)
|
||||||
if not existing_permission:
|
|
||||||
raise YunohostError('permission_not_found', permission=permission)
|
|
||||||
|
|
||||||
show_tile = existing_permission['show_tile']
|
show_tile = existing_permission['show_tile']
|
||||||
|
|
||||||
|
@ -461,7 +454,7 @@ def permission_url(operation_logger, permission,
|
||||||
permission_sync_to_user()
|
permission_sync_to_user()
|
||||||
|
|
||||||
logger.debug(m18n.n('permission_updated', permission=permission))
|
logger.debug(m18n.n('permission_updated', permission=permission))
|
||||||
return user_permission_list(full=True)["permissions"][permission]
|
return user_permission_info(permission)
|
||||||
|
|
||||||
|
|
||||||
@is_unit_operation()
|
@is_unit_operation()
|
||||||
|
@ -485,9 +478,7 @@ def permission_delete(operation_logger, permission, force=False, sync_perm=True)
|
||||||
|
|
||||||
# Make sure this permission exists
|
# Make sure this permission exists
|
||||||
|
|
||||||
existing_permission = user_permission_list(full=True)["permissions"].get(permission, None)
|
_ = user_permission_info(permission)
|
||||||
if not existing_permission:
|
|
||||||
raise YunohostError('permission_not_found', permission=permission)
|
|
||||||
|
|
||||||
# Actually delete the permission
|
# Actually delete the permission
|
||||||
|
|
||||||
|
@ -516,7 +507,7 @@ def permission_sync_to_user():
|
||||||
ldap = _get_ldap_interface()
|
ldap = _get_ldap_interface()
|
||||||
|
|
||||||
groups = user_group_list(full=True)["groups"]
|
groups = user_group_list(full=True)["groups"]
|
||||||
permissions = user_permission_list(full=True, full_path=False)["permissions"]
|
permissions = user_permission_list(full=True)["permissions"]
|
||||||
|
|
||||||
for permission_name, permission_infos in permissions.items():
|
for permission_name, permission_infos in permissions.items():
|
||||||
|
|
||||||
|
@ -575,7 +566,7 @@ def _update_ldap_group_permission(permission, allowed,
|
||||||
from yunohost.utils.ldap import _get_ldap_interface
|
from yunohost.utils.ldap import _get_ldap_interface
|
||||||
ldap = _get_ldap_interface()
|
ldap = _get_ldap_interface()
|
||||||
|
|
||||||
existing_permission = user_permission_list(full=True, full_path=False)["permissions"][permission]
|
existing_permission = user_permission_info(permission)
|
||||||
|
|
||||||
update = {}
|
update = {}
|
||||||
|
|
||||||
|
@ -612,7 +603,7 @@ def _update_ldap_group_permission(permission, allowed,
|
||||||
if sync_perm:
|
if sync_perm:
|
||||||
permission_sync_to_user()
|
permission_sync_to_user()
|
||||||
|
|
||||||
new_permission = user_permission_list(full=True)["permissions"][permission]
|
new_permission = user_permission_info(permission)
|
||||||
|
|
||||||
# Trigger app callbacks
|
# Trigger app callbacks
|
||||||
|
|
||||||
|
|
|
@ -518,7 +518,7 @@ def test_backup_and_restore_with_ynh_restore(mocker):
|
||||||
@pytest.mark.with_permission_app_installed
|
@pytest.mark.with_permission_app_installed
|
||||||
def test_backup_and_restore_permission_app(mocker):
|
def test_backup_and_restore_permission_app(mocker):
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=False)['permissions']
|
res = user_permission_list(full=True)['permissions']
|
||||||
assert "permissions_app.main" in res
|
assert "permissions_app.main" in res
|
||||||
assert "permissions_app.admin" in res
|
assert "permissions_app.admin" in res
|
||||||
assert "permissions_app.dev" in res
|
assert "permissions_app.dev" in res
|
||||||
|
@ -533,7 +533,7 @@ def test_backup_and_restore_permission_app(mocker):
|
||||||
|
|
||||||
_test_backup_and_restore_app(mocker, "permissions_app")
|
_test_backup_and_restore_app(mocker, "permissions_app")
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=False)['permissions']
|
res = user_permission_list(full=True)['permissions']
|
||||||
assert "permissions_app.main" in res
|
assert "permissions_app.main" in res
|
||||||
assert "permissions_app.admin" in res
|
assert "permissions_app.admin" in res
|
||||||
assert "permissions_app.dev" in res
|
assert "permissions_app.dev" in res
|
||||||
|
|
|
@ -305,12 +305,10 @@ def test_permission_list():
|
||||||
assert set(res['wiki.main']['corresponding_users']) == set(["alice", "bob"])
|
assert set(res['wiki.main']['corresponding_users']) == set(["alice", "bob"])
|
||||||
assert res['blog.main']['corresponding_users'] == ["alice"]
|
assert res['blog.main']['corresponding_users'] == ["alice"]
|
||||||
assert res['blog.api']['corresponding_users'] == []
|
assert res['blog.api']['corresponding_users'] == []
|
||||||
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
assert res['wiki.main']['url'] == "/"
|
||||||
assert res['blog.main']['url'] == maindomain + "/blog"
|
assert res['blog.main']['url'] == "/"
|
||||||
assert res['blog.api']['url'] == None
|
assert res['blog.api']['url'] == None
|
||||||
assert set(res['wiki.main']['additional_urls']) == {maindomain + '/wiki/whatever', maindomain + '/wiki/idontnow'}
|
assert set(res['wiki.main']['additional_urls']) == {'/whatever', '/idontnow'}
|
||||||
assert res['blog.main']['additional_urls'] == []
|
|
||||||
assert res['blog.api']['additional_urls'] == []
|
|
||||||
assert res['wiki.main']['protected'] == False
|
assert res['wiki.main']['protected'] == False
|
||||||
assert res['blog.main']['protected'] == False
|
assert res['blog.main']['protected'] == False
|
||||||
assert res['blog.api']['protected'] == True
|
assert res['blog.api']['protected'] == True
|
||||||
|
@ -324,10 +322,13 @@ def test_permission_list():
|
||||||
assert res['blog.main']['auth_header'] == True
|
assert res['blog.main']['auth_header'] == True
|
||||||
assert res['blog.api']['auth_header'] == True
|
assert res['blog.api']['auth_header'] == True
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=False)['permissions']
|
res = user_permission_list(full=True, absolute_urls=True)['permissions']
|
||||||
assert res['wiki.main']['url'] == "/"
|
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
||||||
assert res['blog.main']['url'] == "/"
|
assert res['blog.main']['url'] == maindomain + "/blog"
|
||||||
assert set(res['wiki.main']['additional_urls']) == {'/whatever', '/idontnow'}
|
assert res['blog.api']['url'] == None
|
||||||
|
assert set(res['wiki.main']['additional_urls']) == {maindomain + '/wiki/whatever', maindomain + '/wiki/idontnow'}
|
||||||
|
assert res['blog.main']['additional_urls'] == []
|
||||||
|
assert res['blog.api']['additional_urls'] == []
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -416,7 +417,7 @@ def test_permission_create_with_urls_management_simple_domain(mocker):
|
||||||
url="/", additional_urls=['/whatever','/idontnow'], auth_header=False,
|
url="/", additional_urls=['/whatever','/idontnow'], auth_header=False,
|
||||||
domain=maindomain, path='/site')
|
domain=maindomain, path='/site')
|
||||||
|
|
||||||
res = user_permission_list(full=True)['permissions']
|
res = user_permission_list(full=True, absolute_urls=True)['permissions']
|
||||||
assert "site.main" in res
|
assert "site.main" in res
|
||||||
assert res['site.main']['url'] == maindomain + "/site"
|
assert res['site.main']['url'] == maindomain + "/site"
|
||||||
assert set(res['site.main']['additional_urls']) == {maindomain + "/site/whatever", maindomain + "/site/idontnow"}
|
assert set(res['site.main']['additional_urls']) == {maindomain + "/site/whatever", maindomain + "/site/idontnow"}
|
||||||
|
@ -433,7 +434,7 @@ def test_permission_create_with_urls_management_multiple_domain(mocker):
|
||||||
auth_header=True,
|
auth_header=True,
|
||||||
domain=maindomain, path='/site')
|
domain=maindomain, path='/site')
|
||||||
|
|
||||||
res = user_permission_list(full=True)['permissions']
|
res = user_permission_list(full=True, absolute_urls=True)['permissions']
|
||||||
assert "site.main" in res
|
assert "site.main" in res
|
||||||
assert res['site.main']['url'] == maindomain + "/site/something"
|
assert res['site.main']['url'] == maindomain + "/site/something"
|
||||||
assert set(res['site.main']['additional_urls']) == {other_domains[0] + "/blabla", other_domains[1] + "/ahh"}
|
assert set(res['site.main']['additional_urls']) == {other_domains[0] + "/blabla", other_domains[1] + "/ahh"}
|
||||||
|
@ -640,7 +641,7 @@ def test_permission_protected_update(mocker):
|
||||||
def test_permission_redefine_url():
|
def test_permission_redefine_url():
|
||||||
permission_url("blog.main", url="/pwet")
|
permission_url("blog.main", url="/pwet")
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=False)['permissions']
|
res = user_permission_list(full=True)['permissions']
|
||||||
assert res["blog.main"]["url"] == "/pwet"
|
assert res["blog.main"]["url"] == "/pwet"
|
||||||
|
|
||||||
|
|
||||||
|
@ -654,10 +655,10 @@ def test_permission_remove_url():
|
||||||
def test_permission_main_url_regex():
|
def test_permission_main_url_regex():
|
||||||
permission_url("blog.main", url="re:/[a-z]+reboy/.*")
|
permission_url("blog.main", url="re:/[a-z]+reboy/.*")
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=False)['permissions']
|
res = user_permission_list(full=True)['permissions']
|
||||||
assert res["blog.main"]["url"] == "re:/[a-z]+reboy/.*"
|
assert res["blog.main"]["url"] == "re:/[a-z]+reboy/.*"
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=True)['permissions']
|
res = user_permission_list(full=True, absolute_urls=True)['permissions']
|
||||||
assert res["blog.main"]["url"] == "re:%s/blog/[a-z]+reboy/.*" % maindomain.replace('.', '\.')
|
assert res["blog.main"]["url"] == "re:%s/blog/[a-z]+reboy/.*" % maindomain.replace('.', '\.')
|
||||||
|
|
||||||
|
|
||||||
|
@ -670,7 +671,7 @@ def test_permission_main_url_bad_regex(mocker):
|
||||||
def test_permission_add_additional_url():
|
def test_permission_add_additional_url():
|
||||||
permission_url("wiki.main", add_url=[other_domains[0] + "/heyby", "/myhouse"])
|
permission_url("wiki.main", add_url=[other_domains[0] + "/heyby", "/myhouse"])
|
||||||
|
|
||||||
res = user_permission_list(full=True)['permissions']
|
res = user_permission_list(full=True, absolute_urls=True)['permissions']
|
||||||
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
||||||
assert set(res['wiki.main']['additional_urls']) == {maindomain + '/wiki/whatever',
|
assert set(res['wiki.main']['additional_urls']) == {maindomain + '/wiki/whatever',
|
||||||
maindomain + '/wiki/idontnow',
|
maindomain + '/wiki/idontnow',
|
||||||
|
@ -681,10 +682,10 @@ def test_permission_add_additional_url():
|
||||||
def test_permission_add_additional_regex():
|
def test_permission_add_additional_regex():
|
||||||
permission_url("blog.main", add_url=["re:/[a-z]+reboy/.*"])
|
permission_url("blog.main", add_url=["re:/[a-z]+reboy/.*"])
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=False)['permissions']
|
res = user_permission_list(full=True)['permissions']
|
||||||
assert res["blog.main"]["additional_urls"] == ["re:/[a-z]+reboy/.*"]
|
assert res["blog.main"]["additional_urls"] == ["re:/[a-z]+reboy/.*"]
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=True)['permissions']
|
res = user_permission_list(full=True, absolute_urls=True)['permissions']
|
||||||
assert res["blog.main"]["additional_urls"] == ["re:%s/blog/[a-z]+reboy/.*" % maindomain.replace('.', '\.')]
|
assert res["blog.main"]["additional_urls"] == ["re:%s/blog/[a-z]+reboy/.*" % maindomain.replace('.', '\.')]
|
||||||
|
|
||||||
|
|
||||||
|
@ -696,7 +697,7 @@ def test_permission_add_additional_bad_regex(mocker):
|
||||||
def test_permission_remove_additional_url():
|
def test_permission_remove_additional_url():
|
||||||
permission_url("wiki.main", remove_url=['/whatever'])
|
permission_url("wiki.main", remove_url=['/whatever'])
|
||||||
|
|
||||||
res = user_permission_list(full=True)['permissions']
|
res = user_permission_list(full=True, absolute_urls=True)['permissions']
|
||||||
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
||||||
assert res['wiki.main']['additional_urls'] == [maindomain + '/wiki/idontnow']
|
assert res['wiki.main']['additional_urls'] == [maindomain + '/wiki/idontnow']
|
||||||
|
|
||||||
|
@ -705,7 +706,7 @@ def test_permssion_add_additional_url_already_exist():
|
||||||
permission_url("wiki.main", add_url=['/whatever', "/myhouse"])
|
permission_url("wiki.main", add_url=['/whatever', "/myhouse"])
|
||||||
permission_url("wiki.main", add_url=['/whatever'])
|
permission_url("wiki.main", add_url=['/whatever'])
|
||||||
|
|
||||||
res = user_permission_list(full=True)['permissions']
|
res = user_permission_list(full=True, absolute_urls=True)['permissions']
|
||||||
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
||||||
assert set(res['wiki.main']['additional_urls']) == {maindomain + '/wiki/whatever',
|
assert set(res['wiki.main']['additional_urls']) == {maindomain + '/wiki/whatever',
|
||||||
maindomain + '/wiki/idontnow',
|
maindomain + '/wiki/idontnow',
|
||||||
|
@ -716,7 +717,7 @@ def test_permission_remove_additional_url_dont_exist():
|
||||||
permission_url("wiki.main", remove_url=['/shouldntexist', '/whatever'])
|
permission_url("wiki.main", remove_url=['/shouldntexist', '/whatever'])
|
||||||
permission_url("wiki.main", remove_url=['/shouldntexist'])
|
permission_url("wiki.main", remove_url=['/shouldntexist'])
|
||||||
|
|
||||||
res = user_permission_list(full=True)['permissions']
|
res = user_permission_list(full=True, absolute_urls=True)['permissions']
|
||||||
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
assert res['wiki.main']['url'] == maindomain + "/wiki"
|
||||||
assert res['wiki.main']['additional_urls'] == [maindomain + '/wiki/idontnow']
|
assert res['wiki.main']['additional_urls'] == [maindomain + '/wiki/idontnow']
|
||||||
|
|
||||||
|
@ -814,7 +815,7 @@ def test_show_tile_cant_be_enabled():
|
||||||
allowed=["all_users"], protected=False, sync_perm=True,
|
allowed=["all_users"], protected=False, sync_perm=True,
|
||||||
domain=maindomain, path="/web")
|
domain=maindomain, path="/web")
|
||||||
|
|
||||||
permissions = user_permission_list(full=True, full_path=False)['permissions']
|
permissions = user_permission_list(full=True)['permissions']
|
||||||
|
|
||||||
assert permissions['site.main']['show_tile'] == False
|
assert permissions['site.main']['show_tile'] == False
|
||||||
assert permissions['web.main']['show_tile'] == False
|
assert permissions['web.main']['show_tile'] == False
|
||||||
|
@ -830,7 +831,7 @@ def test_permission_app_install():
|
||||||
app_install(os.path.join(get_test_apps_dir(), "permissions_app_ynh"),
|
app_install(os.path.join(get_test_apps_dir(), "permissions_app_ynh"),
|
||||||
args="domain=%s&domain_2=%s&path=%s&is_public=0&admin=%s" % (maindomain, other_domains[0], "/urlpermissionapp", "alice"), force=True)
|
args="domain=%s&domain_2=%s&path=%s&is_public=0&admin=%s" % (maindomain, other_domains[0], "/urlpermissionapp", "alice"), force=True)
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=False)['permissions']
|
res = user_permission_list(full=True)['permissions']
|
||||||
assert "permissions_app.main" in res
|
assert "permissions_app.main" in res
|
||||||
assert "permissions_app.admin" in res
|
assert "permissions_app.admin" in res
|
||||||
assert "permissions_app.dev" in res
|
assert "permissions_app.dev" in res
|
||||||
|
@ -871,14 +872,14 @@ def test_permission_app_change_url():
|
||||||
args="domain=%s&domain_2=%s&path=%s&admin=%s" % (maindomain, other_domains[0], "/urlpermissionapp", "alice"), force=True)
|
args="domain=%s&domain_2=%s&path=%s&admin=%s" % (maindomain, other_domains[0], "/urlpermissionapp", "alice"), force=True)
|
||||||
|
|
||||||
# FIXME : should rework this test to look for differences in the generated app map / app tiles ...
|
# FIXME : should rework this test to look for differences in the generated app map / app tiles ...
|
||||||
res = user_permission_list(full=True, full_path=False)['permissions']
|
res = user_permission_list(full=True)['permissions']
|
||||||
assert res['permissions_app.main']['url'] == "/"
|
assert res['permissions_app.main']['url'] == "/"
|
||||||
assert res['permissions_app.admin']['url'] == "/admin"
|
assert res['permissions_app.admin']['url'] == "/admin"
|
||||||
assert res['permissions_app.dev']['url'] == "/dev"
|
assert res['permissions_app.dev']['url'] == "/dev"
|
||||||
|
|
||||||
app_change_url("permissions_app", maindomain, "/newchangeurl")
|
app_change_url("permissions_app", maindomain, "/newchangeurl")
|
||||||
|
|
||||||
res = user_permission_list(full=True, full_path=False)['permissions']
|
res = user_permission_list(full=True)['permissions']
|
||||||
assert res['permissions_app.main']['url'] == "/"
|
assert res['permissions_app.main']['url'] == "/"
|
||||||
assert res['permissions_app.admin']['url'] == "/admin"
|
assert res['permissions_app.admin']['url'] == "/admin"
|
||||||
assert res['permissions_app.dev']['url'] == "/dev"
|
assert res['permissions_app.dev']['url'] == "/dev"
|
||||||
|
|
|
@ -461,7 +461,7 @@ def user_info(username):
|
||||||
|
|
||||||
if service_status("dovecot")["status"] != "running":
|
if service_status("dovecot")["status"] != "running":
|
||||||
logger.warning(m18n.n('mailbox_used_space_dovecot_down'))
|
logger.warning(m18n.n('mailbox_used_space_dovecot_down'))
|
||||||
elif username not in user_permission_list(full=True)["permissions"]["mail.main"]["corresponding_users"]:
|
elif username not in user_permission_info("mail.main")["corresponding_users"]:
|
||||||
logger.warning(m18n.n('mailbox_disabled', user=username))
|
logger.warning(m18n.n('mailbox_disabled', user=username))
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
@ -768,7 +768,7 @@ def user_group_info(groupname):
|
||||||
|
|
||||||
def user_permission_list(short=False, full=False):
|
def user_permission_list(short=False, full=False):
|
||||||
import yunohost.permission
|
import yunohost.permission
|
||||||
return yunohost.permission.user_permission_list(short, full)
|
return yunohost.permission.user_permission_list(short, full, absolute_urls=True)
|
||||||
|
|
||||||
|
|
||||||
def user_permission_update(permission, add=None, remove=None, label=None, show_tile=None, sync_perm=True):
|
def user_permission_update(permission, add=None, remove=None, label=None, show_tile=None, sync_perm=True):
|
||||||
|
|
Loading…
Add table
Reference in a new issue