|
|
|
@ -31,9 +31,11 @@ from calculate.lib.utils.common import getUserPrimaryGroup
|
|
|
|
|
from calculate.lib.utils.portage import isPkgInstalled
|
|
|
|
|
from calculate.lib.utils.device import getUdevDeviceInfo
|
|
|
|
|
from calculate.lib.encrypt import sha256_crypt
|
|
|
|
|
from calculate.core.server.admin import Admins
|
|
|
|
|
from calculate.lib.variables.system import RootType
|
|
|
|
|
from autopartition import SchemeOpt, SchemeDevices
|
|
|
|
|
from calculate.lib.encrypt import get_shadow_hash, get_grub_hash
|
|
|
|
|
from calculate.core.server.admin import Admins
|
|
|
|
|
import calculate.lib.cl_ini_parser as cl_ini_parser
|
|
|
|
|
|
|
|
|
|
from calculate.lib.cl_lang import setLocalTranslate, _
|
|
|
|
@ -297,7 +299,7 @@ class VariableClMigrateData(UserHelper, TableVariable):
|
|
|
|
|
type = 'table'
|
|
|
|
|
opt = ["--user", "-u"]
|
|
|
|
|
metavalue = 'USER[:ADMIN[:GROUPS]]'
|
|
|
|
|
source = ['cl_migrate_user', 'cl_migrate_admin_set',
|
|
|
|
|
source = ['cl_migrate_user', 'cl_migrate_admin',
|
|
|
|
|
'cl_migrate_user_groups',
|
|
|
|
|
'cl_migrate_user_pwd']
|
|
|
|
|
untrusted = True
|
|
|
|
@ -322,7 +324,7 @@ class VariableClMigrateDataBrief(UserHelper, TableVariable):
|
|
|
|
|
"""
|
|
|
|
|
User migrate data table for brief view
|
|
|
|
|
"""
|
|
|
|
|
source = ['cl_migrate_user', 'cl_migrate_admin_set', 'cl_migrate_user_groups']
|
|
|
|
|
source = ['cl_migrate_user', 'cl_migrate_admin', 'cl_migrate_user_groups']
|
|
|
|
|
|
|
|
|
|
def init(self):
|
|
|
|
|
self.label = _("Migrating users")
|
|
|
|
@ -351,52 +353,30 @@ class VariableClMigrateUser(UserHelper, Variable):
|
|
|
|
|
raise VariableError(_("Username is missing"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class VariableClMigrateAdmins(Variable):
|
|
|
|
|
"""
|
|
|
|
|
Список пользователей администраторов
|
|
|
|
|
"""
|
|
|
|
|
type = "list"
|
|
|
|
|
|
|
|
|
|
def get_admins(self):
|
|
|
|
|
from calculate.lib.cl_template import SystemIni
|
|
|
|
|
iniobj = SystemIni(dv=self.parent)
|
|
|
|
|
admins_value = iniobj.getVar("install","admin").strip()
|
|
|
|
|
if not admins_value and self.Get('os_root_type') == 'livecd':
|
|
|
|
|
yield "guest"
|
|
|
|
|
for admin in (x.strip() for x in admins_value.split(',') if x.strip()):
|
|
|
|
|
yield admin
|
|
|
|
|
|
|
|
|
|
def get(self):
|
|
|
|
|
return list(self.get_admins())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class VariableClInstallAdmins(ReadonlyVariable):
|
|
|
|
|
"""
|
|
|
|
|
Список администраторов в устанавливаемой системе
|
|
|
|
|
"""
|
|
|
|
|
def get(self):
|
|
|
|
|
return ",".join(self.select('cl_migrate_user',
|
|
|
|
|
cl_migrate_admin_set='on'))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class VariableClMigrateAdminSet(UserHelper, Variable):
|
|
|
|
|
class VariableClMigrateAdmin(UserHelper, Variable):
|
|
|
|
|
"""
|
|
|
|
|
Migrate users list
|
|
|
|
|
"""
|
|
|
|
|
type = 'bool-list'
|
|
|
|
|
default_value = "off"
|
|
|
|
|
type = 'choice-list'
|
|
|
|
|
default_value = "none"
|
|
|
|
|
|
|
|
|
|
def init(self):
|
|
|
|
|
self.label = _("Administrator")
|
|
|
|
|
|
|
|
|
|
def choice(self):
|
|
|
|
|
return [
|
|
|
|
|
(_("None"), "none"),
|
|
|
|
|
(_("Update system"), "update_system"),
|
|
|
|
|
(_("All"), "all")
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
def get(self):
|
|
|
|
|
"""
|
|
|
|
|
Migrating users (users above 1000 uid)
|
|
|
|
|
"""
|
|
|
|
|
admin_users = self.Get('cl_migrate_admins')
|
|
|
|
|
|
|
|
|
|
return list(map(lambda x: "on" if x in admin_users else "off",
|
|
|
|
|
self.Get('cl_migrate_user')))
|
|
|
|
|
admins = Admins(self.parent)
|
|
|
|
|
return [admins[x] or self.default_value
|
|
|
|
|
for x in self.Get('cl_migrate_user')]
|
|
|
|
|
|
|
|
|
|
def set(self, value):
|
|
|
|
|
return map(lambda x: x if x else self.default_value, value)
|
|
|
|
|