Skip to content

Commit 570fc14

Browse files
committed
complete gDrive configuration interface
1 parent ca6bd24 commit 570fc14

File tree

7 files changed

+501
-10
lines changed

7 files changed

+501
-10
lines changed

backup/backupManager.py

Lines changed: 162 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ def gDrive(self, request = None, userID = None, data = None):
6464
for items in gDriveAccts:
6565
gDriveAcctsList.append(items.name)
6666

67-
return render(request, 'backup/googleDrive.html', {'accounts': gDriveAcctsList})
67+
websitesName = ACLManager.findAllSites(currentACL, userID)
68+
69+
return render(request, 'backup/googleDrive.html', {'accounts': gDriveAcctsList, 'websites': websitesName})
6870
except BaseException as msg:
6971
return HttpResponse(str(msg))
7072

@@ -88,13 +90,172 @@ def gDriveSetup(self, userID = None, request = None):
8890
gD = GDrive(owner=admin, name=gDriveData['name'],auth=json.dumps(gDriveData))
8991
gD.save()
9092

93+
9194
final_json = json.dumps({'status': 1, 'message': 'Successfully saved.'})
9295
return HttpResponse(final_json)
9396
except BaseException as msg:
9497
final_dic = {'status': 0, 'fetchStatus': 0, 'error_message': str(msg)}
9598
final_json = json.dumps(final_dic)
9699
return HttpResponse(final_json)
97100

101+
def fetchgDriveSites(self, request = None, userID = None, data = None):
102+
try:
103+
104+
userID = request.session['userID']
105+
currentACL = ACLManager.loadedACL(userID)
106+
admin = Administrator.objects.get(pk=userID)
107+
108+
data = json.loads(request.body)
109+
110+
selectedAccount = data['selectedAccount']
111+
recordsToShow = int(data['recordsToShow'])
112+
page = int(str(data['page']).strip('\n'))
113+
114+
gD = GDrive.objects.get(name=selectedAccount)
115+
116+
websites = gD.gdrivesites_set.all()
117+
118+
from s3Backups.s3Backups import S3Backups
119+
120+
pagination = S3Backups.getPagination(len(websites), recordsToShow)
121+
endPageNumber, finalPageNumber = S3Backups.recordsPointer(page, recordsToShow)
122+
finalWebsites = websites[finalPageNumber:endPageNumber]
123+
124+
json_data = "["
125+
checker = 0
126+
counter = 0
127+
128+
from plogical.backupSchedule import backupSchedule
129+
130+
for website in finalWebsites:
131+
132+
dic = {
133+
'name': website.domain
134+
}
135+
136+
if checker == 0:
137+
json_data = json_data + json.dumps(dic)
138+
checker = 1
139+
else:
140+
json_data = json_data + ',' + json.dumps(dic)
141+
142+
counter = counter + 1
143+
144+
json_data = json_data + ']'
145+
146+
currently = gD.runTime
147+
148+
data_ret = {'status': 1, 'websites': json_data, 'pagination': pagination, 'currently': currently}
149+
json_data = json.dumps(data_ret)
150+
return HttpResponse(json_data)
151+
152+
153+
except BaseException as msg:
154+
data_ret = {'status': 0, 'error_message': str(msg)}
155+
json_data = json.dumps(data_ret)
156+
return HttpResponse(json_data)
157+
158+
def addSitegDrive(self, request = None, userID = None, data = None):
159+
try:
160+
161+
userID = request.session['userID']
162+
currentACL = ACLManager.loadedACL(userID)
163+
admin = Administrator.objects.get(pk=userID)
164+
165+
data = json.loads(request.body)
166+
167+
selectedAccount = data['selectedAccount']
168+
selectedWebsite = data['selectedWebsite']
169+
170+
gD = GDrive.objects.get(name=selectedAccount)
171+
172+
gdSite = GDriveSites(owner=gD, domain=selectedWebsite)
173+
gdSite.save()
174+
175+
data_ret = {'status': 1}
176+
json_data = json.dumps(data_ret)
177+
return HttpResponse(json_data)
178+
179+
except BaseException as msg:
180+
data_ret = {'status': 0, 'error_message': str(msg)}
181+
json_data = json.dumps(data_ret)
182+
return HttpResponse(json_data)
183+
184+
def deleteAccountgDrive(self, request = None, userID = None, data = None):
185+
try:
186+
187+
userID = request.session['userID']
188+
currentACL = ACLManager.loadedACL(userID)
189+
admin = Administrator.objects.get(pk=userID)
190+
191+
data = json.loads(request.body)
192+
193+
selectedAccount = data['selectedAccount']
194+
195+
gD = GDrive.objects.get(name=selectedAccount)
196+
197+
gD.delete()
198+
199+
data_ret = {'status': 1}
200+
json_data = json.dumps(data_ret)
201+
return HttpResponse(json_data)
202+
203+
except BaseException as msg:
204+
data_ret = {'status': 0, 'error_message': str(msg)}
205+
json_data = json.dumps(data_ret)
206+
return HttpResponse(json_data)
207+
208+
def changeAccountFrequencygDrive(self, request = None, userID = None, data = None):
209+
try:
210+
211+
userID = request.session['userID']
212+
currentACL = ACLManager.loadedACL(userID)
213+
admin = Administrator.objects.get(pk=userID)
214+
215+
data = json.loads(request.body)
216+
217+
selectedAccount = data['selectedAccount']
218+
backupFrequency = data['backupFrequency']
219+
220+
gD = GDrive.objects.get(name=selectedAccount)
221+
gD.runTime = backupFrequency
222+
223+
gD.save()
224+
225+
data_ret = {'status': 1}
226+
json_data = json.dumps(data_ret)
227+
return HttpResponse(json_data)
228+
229+
except BaseException as msg:
230+
data_ret = {'status': 0, 'error_message': str(msg)}
231+
json_data = json.dumps(data_ret)
232+
return HttpResponse(json_data)
233+
234+
def deleteSitegDrive(self, request = None, userID = None, data = None):
235+
try:
236+
237+
userID = request.session['userID']
238+
currentACL = ACLManager.loadedACL(userID)
239+
admin = Administrator.objects.get(pk=userID)
240+
241+
data = json.loads(request.body)
242+
243+
selectedAccount = data['selectedAccount']
244+
website = data['website']
245+
246+
gD = GDrive.objects.get(name=selectedAccount)
247+
gDSite = GDriveSites.objects.get(owner=gD, domain=website)
248+
gDSite.delete()
249+
250+
data_ret = {'status': 1}
251+
json_data = json.dumps(data_ret)
252+
return HttpResponse(json_data)
253+
254+
except BaseException as msg:
255+
data_ret = {'status': 0, 'error_message': str(msg)}
256+
json_data = json.dumps(data_ret)
257+
return HttpResponse(json_data)
258+
98259
def restoreSite(self, request = None, userID = None, data = None):
99260
try:
100261
currentACL = ACLManager.loadedACL(userID)

0 commit comments

Comments
 (0)