Skip to content

Commit 7a7f99f

Browse files
committed
preserve site user while backup/restore
1 parent 5748ad5 commit 7a7f99f

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

plogical/backupUtilities.py

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,12 @@ def prepareBackupMeta(backupDomain, backupName, tempStoragePath, backupPath):
112112
child = SubElement(metaFileXML, 'state')
113113
child.text = siteUser.state
114114

115+
child = SubElement(metaFileXML, 'initWebsitesLimit')
116+
child.text = str(siteUser.initWebsitesLimit)
117+
118+
child = SubElement(metaFileXML, 'aclName')
119+
child.text = siteUser.acl.name
120+
115121
#####################
116122

117123
childDomains = website.childdomains_set.all()
@@ -516,6 +522,33 @@ def createWebsiteFromBackup(backupFileOrig, dir):
516522
phpSelection = backupMetaData.find('phpSelection').text
517523
externalApp = backupMetaData.find('externalApp').text
518524

525+
### Fetch user details
526+
527+
userName = backupMetaData.find('userName').text
528+
529+
try:
530+
siteUser = Administrator.objects.get(userName=userName)
531+
except:
532+
userPassword = backupMetaData.find('userPassword').text
533+
firstName = backupMetaData.find('firstName').text
534+
lastName = backupMetaData.find('lastName').text
535+
email = backupMetaData.find('email').text
536+
type = int(backupMetaData.find('type').text)
537+
owner = int(backupMetaData.find('owner').text)
538+
token = backupMetaData.find('token').text
539+
api = int(backupMetaData.find('api').text)
540+
securityLevel = int(backupMetaData.find('securityLevel').text)
541+
state = backupMetaData.find('state').text
542+
initWebsitesLimit = int(backupMetaData.find('initWebsitesLimit').text)
543+
from loginSystem.models import ACL
544+
acl = ACL.objects.get(name=backupMetaData.find('aclName').text)
545+
siteUser = Administrator(userName=userName, password=userPassword, firstName=firstName,
546+
initWebsitesLimit=initWebsitesLimit, acl=acl,
547+
lastName=lastName, email=email, type=type, owner=owner, token=token,
548+
api=api, securityLevel=securityLevel, state=state)
549+
siteUser.save()
550+
551+
519552
## Pre-creation checks
520553

521554
if Websites.objects.filter(domain=domain).count() > 0:
@@ -531,8 +564,8 @@ def createWebsiteFromBackup(backupFileOrig, dir):
531564

532565
## Create Configurations
533566

534-
result = virtualHostUtilities.createVirtualHost(domain, admin.email, phpSelection, externalApp, 0, 1, 0,
535-
admin.userName, 'Default', 0)
567+
result = virtualHostUtilities.createVirtualHost(domain, siteUser.email, phpSelection, externalApp, 0, 1, 0,
568+
siteUser.userName, 'Default', 0)
536569

537570
if result[0] == 0:
538571
raise BaseException(result[1])

0 commit comments

Comments
 (0)