Fix variable definition for permission in backup

This commit is contained in:
Josué Tille 2019-07-27 11:03:16 +02:00
parent e9e857c325
commit e556d010bc
No known key found for this signature in database
GPG key ID: 716A6C99B04194EF

View file

@ -1250,7 +1250,9 @@ class RestoreManager():
'(&(objectClass=permissionYnh)(!(cn=main.mail))(!(cn=main.metronome))(!(cn=main.sftp)))', '(&(objectClass=permissionYnh)(!(cn=main.mail))(!(cn=main.metronome))(!(cn=main.sftp)))',
['cn']): ['cn']):
if not ldap.remove('cn=%s,ou=permission' % per['cn'][0]): if not ldap.remove('cn=%s,ou=permission' % per['cn'][0]):
raise YunohostError('permission_deletion_failed', permission=permission, app=app) raise YunohostError('permission_deletion_failed',
permission=per['cn'][0].split('.')[0],
app=per['cn'][0].split('.')[1])
# Restore permission for the app which is installed # Restore permission for the app which is installed
for per in old_apps_permission: for per in old_apps_permission:
@ -1370,7 +1372,7 @@ class RestoreManager():
# Restore permissions # Restore permissions
if os.path.isfile(app_settings_in_archive + '/permission.ldif'): if os.path.isfile(app_settings_in_archive + '/permission.ldif'):
filtred_entries = ['entryUUID', 'creatorsName', 'createTimestamp', 'entryCSN', 'structuralObjectClass', filtred_entries = ['entryUUID', 'creatorsName', 'createTimestamp', 'entryCSN', 'structuralObjectClass',
'modifiersName', 'modifyTimestamp', 'inheritPermission', 'memberUid'] 'modifiersName', 'modifyTimestamp', 'inheritPermission', 'memberUid']
entries = read_ldif('%s/permission.ldif' % app_settings_in_archive, filtred_entries) entries = read_ldif('%s/permission.ldif' % app_settings_in_archive, filtred_entries)
group_list = user_group_list(['cn'])['groups'] group_list = user_group_list(['cn'])['groups']
for dn, entry in entries: for dn, entry in entries:
@ -1379,9 +1381,10 @@ class RestoreManager():
group_name = group.split(',')[0].split('=')[1] group_name = group.split(',')[0].split('=')[1]
if group_name not in group_list: if group_name not in group_list:
entry['groupPermission'].remove(group) entry['groupPermission'].remove(group)
print(entry)
if not ldap.add('cn=%s,ou=permission' % entry['cn'][0], entry): if not ldap.add('cn=%s,ou=permission' % entry['cn'][0], entry):
raise YunohostError('apps_permission_restoration_failed', permission=permission_name, app=app_name) raise YunohostError('apps_permission_restoration_failed',
permission=entry['cn'][0].split('.')[0],
app=entry['cn'][0].split('.')[1])
else: else:
from yunohost.tools import _get_migration_by_name from yunohost.tools import _get_migration_by_name
setup_group_permission = _get_migration_by_name("setup_group_permission") setup_group_permission = _get_migration_by_name("setup_group_permission")