develop
asamoukin 16 years ago
parent 2d7c3ca623
commit ffce6fae4b

@ -2030,7 +2030,8 @@ service"))
if not self.isServiceSetup("unix"):
return False
# Ищем пользователя в Samba
if self.servSambaObj.searchSambaUser(userName):
if self.isServiceSetup("samba", False) and\
self.servSambaObj.searchSambaUser(userName):
self.printERROR (_("ERROR") + ": " +\
_("User %s is found in Samba service") %\
str(userName) + " ...")
@ -2039,7 +2040,8 @@ service"))
)
return False
# Ищем пользователя в Mail
if self.servMailObj.searchMailUserToName(userName):
if self.isServiceSetup("mail", False) and\
self.servMailObj.searchMailUserToName(userName):
self.printERROR (_("ERROR") + ": " +\
_("User %s is found in Mail service") %\
str(userName) + " ...")
@ -7792,21 +7794,34 @@ class servRepl(shareLdap):
userNetlogonDir =\
os.path.join(self.clVars.Get("sr_samba_winlogon_path"),
userName)
userDirs = [userHomeDir, winProfDir, linProfDir, userNetlogonDir]
userDirs = [("home",userHomeDir),
("netlogon",userNetlogonDir),
("win_prof",winProfDir),
('lin_prof',linProfDir)]
flagError = False
flagHomeDir = True
for userDir in userDirs:
for name, userDir in userDirs:
if not os.path.exists(userDir):
if not self.createUserDir(uid, gid, userDir):
flagError = True
break
if flagHomeDir:
flagHomeDir = False
if name == "home":
# Cоздаем иконку в домашней директории
fileTxt = "[Desktop Entry]\nIcon=user-home"
fileDirectory = os.path.join(userDir,".directory")
if not self.createUserFile(fileDirectory,
fileTxt, uid, gid):
fileTxt, uid, gid):
flagError = True
break
elif name == "netlogon":
# Создаем start.cmd
netbios = self.clVars.Get("sr_samba_netbios")
netbios = netbios.upper()
fileTxt='NET USE R: /D\r\nNET USE R: \\\\%s\\share\
\r\nNET USE T: /D\r\nNET VIEW \\\\%s | find "ftp"\r\n\
if %%errorlevel%%==0 NET USE T: \\\\%s\\ftp' %(netbios,netbios,netbios)
fileDirectory = os.path.join(userDir,"start.cmd")
if not self.createUserFile(fileDirectory,
fileTxt, uid, gid):
flagError = True
break
if flagError:
@ -7847,6 +7862,18 @@ class servRepl(shareLdap):
return False
return True
@adminConnectLdap
def delSysDN(self):
"""Удаляет служебную ветку в LDAP если она существует"""
if self.isSysDNExists():
sysLdapOU = "ou=%s"%self.clVars.Get("ld_ldap_login")
sysLdapRelDN = self.addDN(sysLdapOU, self.ServicesDN)
if not self.deleteDN(sysLdapRelDN):
self.printERROR(_("Can not remove 'Services/LDAP' DN")+" ...")
return False
return True
@adminConnectLdap
def addReplDN(self):
"""Добавляет ветки репликации в LDAP"""
@ -8181,6 +8208,62 @@ calculate-server")
"""Начальная настройка репликации"""
# Cоздаем объект переменные
self.createClVars()
if options.has_key('off'):
if self.clVars.Get("ld_repl_set") == "off":
self.printWARNING(_("Replication off for all services"))
return True
elif service == "samba" and\
self.clVars.Get("ld_repl_samba_set") == "off":
self.printWARNING(_("Replication off for service Samba"))
return True
self.printWARNING(_("Undo can be achieved by executing a command"))
self.printWARNING(_("when the backup was created on this server \
'cl-rebuild',"))
self.printWARNING(_("if taken from another server \
'cl-rebuild --repl'"))
bFile = self.servLdapObj.getArchFile()
if not bFile:
return Falses
archFileTime = time.localtime(os.stat(bFile)[stat.ST_MTIME])
timeFile = datetime.datetime(archFileTime[0],archFileTime[1],
archFileTime[2],archFileTime[3],
archFileTime[4],archFileTime[5])
localTime = time.localtime()
timeLocal = datetime.datetime(localTime[0],localTime[1],
localTime[2],localTime[3],
localTime[4],localTime[5])
if timeLocal < timeFile:
self.printERROR(_("Incorrect system time or time create\
file %s")%bFile)
return False
deltaTime = timeLocal - timeFile
if deltaTime.days == 0:
deltaSec = deltaTime.seconds
dHours = int(deltaSec/3600)
dMinutes = int((deltaSec - dHours*3600)/60)
dSeconds = deltaSec - dHours*3600 - dMinutes*60
hours = _("hours")
minutes = _("minutes")
seconds = _("seconds")
if dHours:
timeBackup = "%s %s %s %s %s %s"%\
(dHours,hours,dMinutes,minutes,dSeconds,seconds)
elif dMinutes:
timeBackup = "%s %s %s %s"%(dMinutes,minutes,dSeconds,\
seconds)
elif dSeconds:
timeBackup = "%s %s"%(dSeconds,seconds)
self.printWARNING(_("The backup file is created %s ago")\
%timeBackup)
else:
self.printWARNING(_("The backup file is created %s days ago")\
%deltaTime.days)
self.printWARNING(_("If the backup is obsolete, use cl-backup."))
messDialog = \
_("If you are ready to continue executing the program")+", "+\
_("input 'yes'") +", "+ _("if not 'no'")
if not self.dialogYesNo(messDialog):
return True
# Удаляем переменную из /var/calculate.calculate.env
self.clVars.Delete("ld_repl_ids","local","server")
# Cоздаем объект переменные
@ -8302,6 +8385,10 @@ calculate-server")
self.printERROR(_("Not found 'serverID' this server") + " ...")
self.printERROR(_("variable 'ld_repl_id' empty") + " ...")
return False
# Удаляем служебную ветку ldap
if options.has_key('off') and self.clVars.Get("ld_repl_set") == "off":
if not self.delSysDN():
return False
# Делаем update cервиса Samba в случае опции off
if service == "unix" and self.clVars.Get("sr_samba_set") == "on" and\
options.has_key('off'):

Loading…
Cancel
Save