Implement migration

This commit is contained in:
Josué Tille 2019-12-23 16:13:48 +01:00
parent ca4c4c2e62
commit 171f37a589
No known key found for this signature in database
GPG key ID: 716A6C99B04194EF

View file

@ -0,0 +1,37 @@
import time
import os
from moulinette import m18n
from yunohost.utils.error import YunohostError
from moulinette.utils.log import getActionLogger
from yunohost.tools import Migration
from yunohost.permission import user_permission_list, SYSTEM_PERMS
logger = getActionLogger('yunohost.migration')
###################################################
# Tools used also for restoration
###################################################
class MyMigration(Migration):
"""
Add protected attribute in LDAP permission
"""
required = True
def run(self):
from yunohost.utils.ldap import _get_ldap_interface
ldap = _get_ldap_interface()
permission_list = user_permission_list(short=True)
for permission in permission_list:
if permission in SYSTEM_PERMS:
ldap.update('cn=%s,ou=permission' % permission, 'isProtected': "TRUE"})
elif permission.end_with(".main"):
ldap.update('cn=%s,ou=permission' % permission, 'isProtected': "FALSE"})
else:
ldap.update('cn=%s,ou=permission' % permission, 'isProtected': "TRUE"})