bug fix: inc backups;

This commit is contained in:
Usman Nasir
2020-01-23 16:07:07 +05:00
parent f9159a8e4d
commit 4fb6355bf3
5 changed files with 22 additions and 12 deletions

View File

@@ -461,15 +461,18 @@ class IncJobs(multi.Thread):
userToTry = mysqlUtilities.mysqlUtilities.fetchuser(items.dbName) userToTry = mysqlUtilities.mysqlUtilities.fetchuser(items.dbName)
if userToTry == 0 or userToTry == 1:
continue
try: try:
dbuser = DBUsers.objects.get(user=userToTry) dbuser = DBUsers.objects.get(user=userToTry)
except: except:
dbusers = DBUsers.objects.all().filter(user=userToTry) dbusers = DBUsers.objects.all().filter(user=userToTry)
for it in dbusers: for it in dbusers:
if it.find('_') > -1:
dbuser = it dbuser = it
break break
databaseXML = Element('database') databaseXML = Element('database')
child = SubElement(databaseXML, 'dbName') child = SubElement(databaseXML, 'dbName')

View File

@@ -190,10 +190,10 @@ class DatabaseManager:
userName = data['dbUserName'] userName = data['dbUserName']
dbPassword = data['dbPassword'] dbPassword = data['dbPassword']
db = Databases.objects.get(dbUser=userName) db = Databases.objects.filter(dbUser=userName)
admin = Administrator.objects.get(pk=userID) admin = Administrator.objects.get(pk=userID)
if ACLManager.checkOwnership(db.website.domain, admin, currentACL) == 1: if ACLManager.checkOwnership(db[0].website.domain, admin, currentACL) == 1:
pass pass
else: else:
return ACLManager.loadErrorJson() return ACLManager.loadErrorJson()

View File

@@ -115,15 +115,18 @@ class backupUtilities:
userToTry = mysqlUtilities.mysqlUtilities.fetchuser(items.dbName) userToTry = mysqlUtilities.mysqlUtilities.fetchuser(items.dbName)
if userToTry == 0 or userToTry == 1:
continue
try: try:
dbuser = DBUsers.objects.get(user=userToTry) dbuser = DBUsers.objects.get(user=userToTry)
except: except:
try: try:
dbusers = DBUsers.objects.all().filter(user=userToTry) dbusers = DBUsers.objects.all().filter(user=userToTry)
for it in dbusers: for it in dbusers:
if it.find('_') > -1:
dbuser = it dbuser = it
break break
except BaseException as msg: except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile( logging.CyberCPLogFileWriter.writeToFile(
'While creating backup for %s, we failed to backup database %s. Error message: %s' % ( 'While creating backup for %s, we failed to backup database %s. Error message: %s' % (

View File

@@ -727,13 +727,11 @@ password=%s
return 0 return 0
@staticmethod @staticmethod
def fetchuser(userName): def fetchuser(databaseName):
try: try:
connection, cursor = mysqlUtilities.setupConnection() connection, cursor = mysqlUtilities.setupConnection()
cursor.execute("use mysql") cursor.execute("use mysql")
database = Databases.objects.get(dbName=databaseName)
database = Databases.objects.get(dbUser=userName)
databaseName = database.dbName
databaseName = databaseName.replace('_', '\_') databaseName = databaseName.replace('_', '\_')
query = "select user from db where db = '%s'" % (databaseName) query = "select user from db where db = '%s'" % (databaseName)
@@ -748,6 +746,7 @@ password=%s
if row[0].find('_') > -1: if row[0].find('_') > -1:
database.dbUser = row[0] database.dbUser = row[0]
database.save() database.save()
try: try:
connection.close() connection.close()
except: except:

View File

@@ -526,6 +526,11 @@ class Upgrade:
except: except:
pass pass
try:
cursor.execute('alter table databases_databases drop index dbUser;')
except:
pass
try: try:
cursor.execute("ALTER TABLE loginSystem_administrator ADD state varchar(15) DEFAULT 'ACTIVE'") cursor.execute("ALTER TABLE loginSystem_administrator ADD state varchar(15) DEFAULT 'ACTIVE'")
except: except: