|
|
|
@ -7860,6 +7860,16 @@ class servRepl(shareLdap):
|
|
|
|
|
resSearch = self.searchLdapDN(userName, relWorkedDN, "uid")
|
|
|
|
|
return resSearch
|
|
|
|
|
|
|
|
|
|
@adminConnectLdap
|
|
|
|
|
def delReplWorkedUser(self, userName):
|
|
|
|
|
"""Удаляет пользователя из ветки Worked"""
|
|
|
|
|
if self.searchWorkedUser(userName):
|
|
|
|
|
relWorkedDN = self.getRelWorkedDN()
|
|
|
|
|
delDN = self.addDN("uid=" + userName, relWorkedDN)
|
|
|
|
|
if not self.delDN(delDN):
|
|
|
|
|
return False
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
@adminConnectLdap
|
|
|
|
|
def addReplWorkedUser(self, userName):
|
|
|
|
|
"""Добавляем запись в Worked ветку (uid, имя сервера)"""
|
|
|
|
@ -8020,12 +8030,22 @@ class servRepl(shareLdap):
|
|
|
|
|
self.clVars.Get("sr_mail_path"),
|
|
|
|
|
os.path.join(self.clVars.Get("sr_ftp_path"), "pub/users")]
|
|
|
|
|
pathProg = os.getcwd()
|
|
|
|
|
flagError = False
|
|
|
|
|
for path in foundPaths:
|
|
|
|
|
if os.path.isdir(path):
|
|
|
|
|
os.chdir(path)
|
|
|
|
|
users = os.listdir(".")
|
|
|
|
|
users = filter(lambda x: os.path.isdir(x), users)
|
|
|
|
|
for userName in users:
|
|
|
|
|
# Удаляем пользователя из ветки
|
|
|
|
|
if not self.delReplWorkedUser(userName):
|
|
|
|
|
errMessage = _("Can not remove user %s in the LDAP \
|
|
|
|
|
branch 'Worked'")
|
|
|
|
|
if logObj:
|
|
|
|
|
logObj.writeError(errMessage)
|
|
|
|
|
self.printERROR(errMessage)
|
|
|
|
|
flagError = True
|
|
|
|
|
break
|
|
|
|
|
if not self.servUnixObj.searchUnixUser(userName) and\
|
|
|
|
|
not self.servUnixObj.searchPasswdUser(userName):
|
|
|
|
|
self.removeDir(userName)
|
|
|
|
@ -8036,6 +8056,9 @@ class servRepl(shareLdap):
|
|
|
|
|
self.printWARNING(message)
|
|
|
|
|
if os.path.exists(pathProg):
|
|
|
|
|
os.chdir(pathProg)
|
|
|
|
|
if flagError:
|
|
|
|
|
return False
|
|
|
|
|
else:
|
|
|
|
|
if logObj:
|
|
|
|
|
logObj.writeSuccess(_("end script ... [ok]"))
|
|
|
|
|
return True
|
|
|
|
|