mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Implement migration
This commit is contained in:
parent
ca4c4c2e62
commit
171f37a589
1 changed files with 37 additions and 0 deletions
|
@ -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"})
|
Loading…
Add table
Reference in a new issue