Files
CyberPanel/plogical/httpProc.py

91 lines
3.1 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
2019-12-10 15:09:10 +05:00
from django.shortcuts import render, HttpResponse
import json
class httpProc:
2021-02-23 23:38:58 +05:00
def __init__(self, request, templateName, data = None, function = None):
self.request = request
self.templateName = templateName
self.data = data
2021-02-23 23:38:58 +05:00
self.function = function
2021-02-21 13:09:50 +05:00
def render(self):
try:
userID = self.request.session['userID']
try:
from loginSystem.models import Administrator
from plogical.acl import ACLManager
2021-02-23 23:38:58 +05:00
currentACL = ACLManager.loadedACL(userID)
2021-05-29 01:00:32 +05:00
admin = Administrator.objects.get(pk=userID)
2021-02-23 23:38:58 +05:00
### Permissions Check
2021-02-21 13:09:50 +05:00
if self.function != None:
if not currentACL['admin']:
if not currentACL[self.function]:
templateName = 'baseTemplate/error.html'
return render(self.request, templateName, {'error_message': 'You are not authorized to access %s' % (self.function)})
2021-02-21 13:09:50 +05:00
###
2021-02-21 13:09:50 +05:00
if self.data == None:
self.data = {}
2021-02-21 13:09:50 +05:00
ipFile = "/etc/cyberpanel/machineIP"
f = open(ipFile)
ipData = f.read()
ipAddress = ipData.split('\n', 1)[0]
self.data['ipAddress'] = ipAddress
2021-05-29 01:00:32 +05:00
self.data['fullName'] = '%s %s' % (admin.firstName, admin.lastName)
2021-02-23 23:38:58 +05:00
self.data.update(currentACL)
return render(self.request, self.templateName, self.data)
except BaseException as msg:
templateName = 'baseTemplate/error.html'
return render(self.request, templateName, {'error_message': str(msg)})
except:
from loginSystem.views import loadLoginPage
from django.shortcuts import redirect
return redirect(loadLoginPage)
2021-02-21 13:09:50 +05:00
def renderPre(self):
if self.data == None:
return render(self.request, self.templateName)
else:
return render(self.request, self.templateName, self.data)
2019-01-27 01:18:49 +05:00
def ajaxPre(self, status, errorMessage, success = None):
final_dic = {'status': status, 'error_message': errorMessage, 'success': success}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
2019-01-27 01:18:49 +05:00
def ajax(self, status, errorMessage, data = None):
if data == None:
finalDic = {'status': status, 'error_message': errorMessage}
finalJson = json.dumps(finalDic)
return HttpResponse(finalJson)
else:
finalDic = {}
finalDic['status'] = status
finalDic['error_message'] = errorMessage
2019-12-10 15:09:10 +05:00
for key, value in data.items():
finalDic[key] = value
finalJson = json.dumps(finalDic)
return HttpResponse(finalJson)
2019-01-27 01:18:49 +05:00
@staticmethod
def AJAX(status, errorMessage, success = None):
final_dic = {'status': status, 'error_message': errorMessage, 'success': success}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
2021-02-21 13:09:50 +05:00