From f613295f7b7c0bf704a722d59c63379c8c3b3832 Mon Sep 17 00:00:00 2001 From: Mike Khiretskiy Date: Tue, 31 Mar 2015 14:20:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BC=D0=B5=D1=82=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B1=D1=8B=D1=81=D1=82=D1=80=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=85?= =?UTF-8?q?=D0=BE=D0=B4=D0=B0=20=D0=B2=20=D1=81=D0=B5=D0=B0=D0=BD=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pym/desktop/desktop.py | 20 +++++++++++++++++++- pym/desktop/utils/cl_desktop.py | 5 +++++ pym/desktop/variables/desktop.py | 7 +++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/pym/desktop/desktop.py b/pym/desktop/desktop.py index 850c411..8af9cb7 100644 --- a/pym/desktop/desktop.py +++ b/pym/desktop/desktop.py @@ -29,7 +29,8 @@ from calculate.lib.cl_template import (Template, ProgressTemplate, TemplatesError,templateFunction,iniParser) from calculate.lib.utils.files import (runOsCommand, isMount,process, getRunCommands,STDOUT,childMounts,getLoopFromPath, - getMdRaidDevices,listDirectory,removeDir) + getMdRaidDevices,listDirectory,removeDir, + makeDirectory) from calculate.lib.utils.common import (getpathenv,appendProgramToEnvFile, removeProgramToEnvFile,mountEcryptfs, CommonError, isBootstrapDataOnly) @@ -245,6 +246,23 @@ class Desktop: return False return True + def setFastlogin(self, urLogin): + """ + Отметить пользователя, что для него может быть + использовать "быстрой логин" + """ + fastlogin = self.clVars.Get('cl_desktop_fastlogin_path') + if not path.exists(fastlogin): + makeDirectory(fastlogin) + fastlogin_user = path.join(fastlogin, urLogin) + if not path.exists(fastlogin_user): + try: + open(fastlogin_user,'w').close() + return True + except: + self.printWARNING(_("Failed to create the fastlogin mark file")) + return False + def userLogout(self, urLogin): """ Выполнить logout пользователя через dbus diff --git a/pym/desktop/utils/cl_desktop.py b/pym/desktop/utils/cl_desktop.py index 9968d3a..82ad2ef 100644 --- a/pym/desktop/utils/cl_desktop.py +++ b/pym/desktop/utils/cl_desktop.py @@ -92,6 +92,11 @@ class ClDesktopAction(Action): 'condition':lambda Get: Get('cl_desktop_force_setup_set') == 'on' or \ Get('cl_desktop_update_profile_set') == 'on' }, + {'name':'fast_login', + 'method':'Desktop.setFastlogin(ur_login)', + 'essential':False, + 'condition':lambda Get: Get('ur_domain_set') == 'off' + }, # отключить ресурсы подключенные в каталоге пользователя {'name':'umount_userres', 'message': _("Unmouning user resources"), diff --git a/pym/desktop/variables/desktop.py b/pym/desktop/variables/desktop.py index 82fe5e9..67b82d7 100644 --- a/pym/desktop/variables/desktop.py +++ b/pym/desktop/variables/desktop.py @@ -406,3 +406,10 @@ class VariableClDesktopHashFace(Variable): hashlib.md5(login).digest()))%len(icon_list)]) else: return "" + +class VariableClDesktopFastloginPath(ReadonlyVariable): + """ + Путь до каталога в котором указаны пользователи быстрого входа в сеанс + """ + value = "/var/lib/calculate/calculate-desktop/fastlogin" +