Files
CyberPanel/mailServer/views.py

236 lines
6.5 KiB
Python
Raw Normal View History

2017-10-24 19:16:36 +05:00
# -*- coding: utf-8 -*-
2019-12-10 15:09:10 +05:00
2017-10-24 19:16:36 +05:00
2018-10-08 22:12:05 +05:00
from django.shortcuts import redirect
2017-10-24 19:16:36 +05:00
from django.http import HttpResponse
from loginSystem.views import loadLoginPage
import json
2018-10-08 22:12:05 +05:00
from mailserverManager import MailServerManager
from pluginManager import pluginManager
2017-10-24 19:16:36 +05:00
def loadEmailHome(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.loadEmailHome()
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
def createEmailAccount(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.createEmailAccount()
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
2019-08-13 16:27:56 +05:00
def listEmails(request):
try:
msM = MailServerManager(request)
return msM.listEmails()
except KeyError:
return redirect(loadLoginPage)
def fetchEmails(request):
try:
msM = MailServerManager(request)
return msM.fetchEmails()
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def submitEmailCreation(request):
try:
2018-02-24 20:32:25 +05:00
2018-10-08 22:12:05 +05:00
result = pluginManager.preSubmitEmailCreation(request)
if result != 200:
return result
2018-02-24 20:32:25 +05:00
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
coreResult = msM.submitEmailCreation()
2018-02-24 20:32:25 +05:00
2018-10-08 22:12:05 +05:00
result = pluginManager.postSubmitEmailCreation(request, coreResult)
if result != 200:
return result
2018-02-24 20:32:25 +05:00
2018-10-08 22:12:05 +05:00
return coreResult
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def deleteEmailAccount(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.deleteEmailAccount()
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
def getEmailsForDomain(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.getEmailsForDomain()
2019-12-10 15:09:10 +05:00
except KeyError as msg:
2017-10-24 19:16:36 +05:00
data_ret = {'fetchStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def submitEmailDeletion(request):
try:
2018-10-08 22:12:05 +05:00
result = pluginManager.preSubmitEmailDeletion(request)
if result != 200:
return result
msM = MailServerManager(request)
coreResult = msM.submitEmailDeletion()
result = pluginManager.postSubmitEmailDeletion(request, coreResult)
if result != 200:
return result
return coreResult
2019-12-10 15:09:10 +05:00
except KeyError as msg:
2017-10-24 19:16:36 +05:00
data_ret = {'deleteEmailStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
2018-06-12 03:56:19 +05:00
def emailForwarding(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.emailForwarding()
2018-06-12 03:56:19 +05:00
except KeyError:
return redirect(loadLoginPage)
def fetchCurrentForwardings(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.fetchCurrentForwardings()
2019-12-10 15:09:10 +05:00
except KeyError as msg:
2018-06-12 03:56:19 +05:00
data_ret = {'fetchStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def submitForwardDeletion(request):
try:
2018-10-08 22:12:05 +05:00
result = pluginManager.preSubmitForwardDeletion(request)
if result != 200:
return result
msM = MailServerManager(request)
coreResult = msM.submitForwardDeletion()
result = pluginManager.postSubmitForwardDeletion(request, coreResult)
if result != 200:
return result
return coreResult
2019-12-10 15:09:10 +05:00
except KeyError as msg:
2018-06-12 03:56:19 +05:00
data_ret = {'deleteEmailStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def submitEmailForwardingCreation(request):
try:
2018-10-08 22:12:05 +05:00
result = pluginManager.preSubmitEmailForwardingCreation(request)
if result != 200:
return result
2018-06-12 03:56:19 +05:00
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
coreResult = msM.submitEmailForwardingCreation()
2018-06-12 03:56:19 +05:00
2018-10-08 22:12:05 +05:00
result = pluginManager.postSubmitEmailForwardingCreation(request, coreResult)
if result != 200:
return result
2018-06-12 03:56:19 +05:00
2018-10-08 22:12:05 +05:00
return coreResult
2019-12-10 15:09:10 +05:00
except KeyError as msg:
2018-06-12 03:56:19 +05:00
data_ret = {'createStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
2017-10-24 19:16:36 +05:00
#######
def changeEmailAccountPassword(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.changeEmailAccountPassword()
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
def submitPasswordChange(request):
try:
2018-10-08 22:12:05 +05:00
result = pluginManager.preSubmitPasswordChange(request)
if result != 200:
return result
msM = MailServerManager(request)
coreResult = msM.submitPasswordChange()
result = pluginManager.postSubmitPasswordChange(request, coreResult)
if result != 200:
return result
return coreResult
2019-12-10 15:09:10 +05:00
except KeyError as msg:
2017-10-24 19:16:36 +05:00
data_ret = {'passChangeStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
2018-05-08 21:25:37 +05:00
#######
2018-05-03 01:22:28 +05:00
def dkimManager(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.dkimManager()
2018-05-03 01:22:28 +05:00
except KeyError:
return redirect(loadLoginPage)
def fetchDKIMKeys(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.fetchDKIMKeys()
2019-12-10 15:09:10 +05:00
except KeyError as msg:
2018-05-03 01:22:28 +05:00
data_ret = {'fetchStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def generateDKIMKeys(request):
try:
2018-10-08 22:12:05 +05:00
result = pluginManager.preGenerateDKIMKeys(request)
if result != 200:
return result
msM = MailServerManager(request)
coreResult = msM.generateDKIMKeys()
result = pluginManager.postGenerateDKIMKeys(request, coreResult)
if result != 200:
return result
return coreResult
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2018-05-03 01:22:28 +05:00
data_ret = {'generateStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def installOpenDKIM(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager(request)
return msM.installOpenDKIM()
2018-05-03 01:22:28 +05:00
except KeyError:
final_dic = {'installOpenDKIM': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
def installStatusOpenDKIM(request):
try:
2018-10-08 22:12:05 +05:00
msM = MailServerManager()
return msM.installStatusOpenDKIM()
2018-05-03 01:22:28 +05:00
except KeyError:
final_dic = {'abort':1,'installed':0, 'error_message': "Not Logged In, please refresh the page or login again."}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)