adjust some functions

This commit is contained in:
usmannasir
2023-12-22 07:15:19 +05:00
parent af6a5dc3f8
commit e4f31be181
8 changed files with 76 additions and 18 deletions

View File

@@ -1,5 +1,8 @@
from django.conf.urls import url from django.conf.urls import url
from django.urls import path
from . import views from . import views
from websiteFunctions.views import Dockersitehome
urlpatterns = [ urlpatterns = [
url(r'^$', views.loadDockerHome, name='dockerHome'), url(r'^$', views.loadDockerHome, name='dockerHome'),
@@ -26,4 +29,6 @@ urlpatterns = [
url(r'^installDocker', views.installDocker, name='installDocker'), url(r'^installDocker', views.installDocker, name='installDocker'),
url(r'^images', views.images, name='containerImage'), url(r'^images', views.images, name='containerImage'),
url(r'^view/(?P<name>(.*))$', views.viewContainer, name='viewContainer'), url(r'^view/(?P<name>(.*))$', views.viewContainer, name='viewContainer'),
path('manage/<int:dockerapp>/app', Dockersitehome, name='Dockersitehome'),
] ]

View File

@@ -97,9 +97,6 @@ REWRITERULE ^(.*)$ HTTP://docker{port}/$1 [P]
WriteToFile.write(HTAccessContent) WriteToFile.write(HTAccessContent)
WriteToFile.close() WriteToFile.close()
from plogical.installUtilities import installUtilities
installUtilities.reStartLiteSpeed()
# Takes # Takes
# ComposePath, MySQLPath, MySQLRootPass, MySQLDBName, MySQLDBNUser, MySQLPassword, CPUsMySQL, MemoryMySQL, # ComposePath, MySQLPath, MySQLRootPass, MySQLDBName, MySQLDBNUser, MySQLPassword, CPUsMySQL, MemoryMySQL,
# port, SitePath, CPUsSite, MemorySite, ComposePath, SiteName # port, SitePath, CPUsSite, MemorySite, ComposePath, SiteName
@@ -336,6 +333,11 @@ services:
command = f"chown -R nobody:{group} /home/docker/{self.data['finalURL']}/data" command = f"chown -R nobody:{group} /home/docker/{self.data['finalURL']}/data"
ProcessUtilities.executioner(command) ProcessUtilities.executioner(command)
### just restart ls for htaccess
from plogical.installUtilities import installUtilities
installUtilities.reStartLiteSpeed()
logging.statusWriter(self.JobID, 'Completed. [200]') logging.statusWriter(self.JobID, 'Completed. [200]')
# command = f"docker-compose -f {self.data['ComposePath']} ps -q wordpress" # command = f"docker-compose -f {self.data['ComposePath']} ps -q wordpress"
@@ -592,6 +594,7 @@ services:
return 0, str(msg) return 0, str(msg)
### pass container id and number of lines to fetch from logs ### pass container id and number of lines to fetch from logs
def ContainerInfo(self): def ContainerInfo(self):
try: try:
import docker import docker

View File

@@ -739,7 +739,6 @@ class ACLManager:
except: except:
return 0 return 0
@staticmethod @staticmethod
def checkOwnershipZone(domain, admin, currentACL): def checkOwnershipZone(domain, admin, currentACL):
try: try:
@@ -1086,3 +1085,4 @@ class ACLManager:
pass pass

View File

@@ -14,5 +14,6 @@
</script> </script>
<h2> Docker Site Home</h2> <h2> Docker Site Home</h2>
<p>{{ dockerSite.SiteName }}</p>
{% endblock %} {% endblock %}

View File

@@ -68,7 +68,7 @@
{% trans "File Manager" %}</a> {% trans "File Manager" %}</a>
</div> </div>
<div class="col-md-2 content-box-header" style="text-transform: none;"> <div class="col-md-2 content-box-header" style="text-transform: none;">
<a href="/websites/{$ web.domain $}/Dockersitehome" target="_self" title="Manage Website"> <a href="/docker/manage/{$ web.id $}/app" target="_self" title="Manage Website">
<i class="p fa fa-external-link btn-icon">&emsp;</i> <i class="p fa fa-external-link btn-icon">&emsp;</i>
<span>{% trans "Manage" %}</span> <span>{% trans "Manage" %}</span>
</a> </a>

View File

@@ -199,7 +199,7 @@ urlpatterns = [
url(r'^submitDockerSiteCreation$', views.submitDockerSiteCreation, name='submitDockerSiteCreation'), url(r'^submitDockerSiteCreation$', views.submitDockerSiteCreation, name='submitDockerSiteCreation'),
url(r'^ListDockerSites$', views.ListDockerSites, name='ListDockerSites'), url(r'^ListDockerSites$', views.ListDockerSites, name='ListDockerSites'),
url(r'^fetchDockersite$', views.fetchDockersite, name='fetchDockersite'), url(r'^fetchDockersite$', views.fetchDockersite, name='fetchDockersite'),
url(r'^(?P<domain>(.*))/Dockersitehome', views.Dockersitehome, name='Dockersitehome'),
### SSH Configs ### SSH Configs

View File

@@ -1846,10 +1846,10 @@ def fetchDockersite(request):
except KeyError: except KeyError:
return redirect(loadLoginPage) return redirect(loadLoginPage)
def Dockersitehome(request, domain): def Dockersitehome(request, dockerapp):
try: try:
userID = request.session['userID'] userID = request.session['userID']
wm = WebsiteManager(domain) wm = WebsiteManager(dockerapp)
return wm.Dockersitehome(request, userID, None) return wm.Dockersitehome(request, userID, None)
except KeyError: except KeyError:
return redirect(loadLoginPage) return redirect(loadLoginPage)

View File

@@ -6608,6 +6608,13 @@ StrictHostKeyChecking no
def CreateDockerPackage(self, request=None, userID=None, data=None, DeleteID=None): def CreateDockerPackage(self, request=None, userID=None, data=None, DeleteID=None):
Data = {} Data = {}
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
try: try:
if DeleteID != None: if DeleteID != None:
DockerPackagesDelete = DockerPackages.objects.get(pk=DeleteID) DockerPackagesDelete = DockerPackages.objects.get(pk=DeleteID)
@@ -6623,6 +6630,13 @@ StrictHostKeyChecking no
def AssignPackage(self, request=None, userID=None, data=None, DeleteID=None): def AssignPackage(self, request=None, userID=None, data=None, DeleteID=None):
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
try: try:
if DeleteID != None: if DeleteID != None:
DockerPackagesDelete = PackageAssignment.objects.get(pk=DeleteID) DockerPackagesDelete = PackageAssignment.objects.get(pk=DeleteID)
@@ -6647,6 +6661,13 @@ StrictHostKeyChecking no
def AddDockerpackage(self, userID=None, data=None): def AddDockerpackage(self, userID=None, data=None):
try: try:
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
admin = Administrator.objects.get(pk=userID) admin = Administrator.objects.get(pk=userID)
name = data['name'] name = data['name']
@@ -6668,6 +6689,13 @@ StrictHostKeyChecking no
def Getpackage(self, userID=None, data=None): def Getpackage(self, userID=None, data=None):
try: try:
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
admin = Administrator.objects.get(pk=userID) admin = Administrator.objects.get(pk=userID)
id = data['id'] id = data['id']
@@ -6694,6 +6722,14 @@ StrictHostKeyChecking no
def Updatepackage(self, userID=None, data=None): def Updatepackage(self, userID=None, data=None):
try: try:
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
admin = Administrator.objects.get(pk=userID) admin = Administrator.objects.get(pk=userID)
id = data['id'] id = data['id']
CPU = data['CPU'] CPU = data['CPU']
@@ -6720,6 +6756,15 @@ StrictHostKeyChecking no
def AddAssignment(self, userID=None, data=None): def AddAssignment(self, userID=None, data=None):
try: try:
currentACL = ACLManager.loadedACL(userID)
if currentACL['admin'] == 1:
pass
else:
return ACLManager.loadError()
admin = Administrator.objects.get(pk=userID) admin = Administrator.objects.get(pk=userID)
package = data['package'] package = data['package']
@@ -6845,11 +6890,19 @@ StrictHostKeyChecking no
return HttpResponse(final_json) return HttpResponse(final_json)
def ListDockerSites(self, request=None, userID=None, data=None, DeleteID=None): def ListDockerSites(self, request=None, userID=None, data=None, DeleteID=None):
admin = Administrator.objects.get(pk=userID)
currentACL = ACLManager.loadedACL(userID) currentACL = ACLManager.loadedACL(userID)
fdata={} fdata={}
try: try:
if DeleteID != None: if DeleteID != None:
DockerSitesDelete = DockerSites.objects.get(pk=DeleteID) DockerSitesDelete = DockerSites.objects.get(pk=DeleteID)
if ACLManager.checkOwnership(DockerSitesDelete.admin, admin, currentACL) == 1:
pass
else:
return ACLManager.loadError()
passdata={} passdata={}
passdata["domain"] = DockerSitesDelete.admin.domain passdata["domain"] = DockerSitesDelete.admin.domain
passdata["JobID"] = None passdata["JobID"] = None
@@ -6875,21 +6928,13 @@ StrictHostKeyChecking no
recordsToShow = int(data['recordsToShow']) recordsToShow = int(data['recordsToShow'])
endPageNumber, finalPageNumber = self.recordsPointer(pageNumber, recordsToShow) endPageNumber, finalPageNumber = self.recordsPointer(pageNumber, recordsToShow)
dockersites = ACLManager.findDockersiteObjects(currentACL, userID) dockersites = ACLManager.findDockersiteObjects(currentACL, userID)
pagination = self.getPagination(len(dockersites), recordsToShow) pagination = self.getPagination(len(dockersites), recordsToShow)
logging.CyberCPLogFileWriter.writeToFile("Our dockersite" + str(dockersites)) logging.CyberCPLogFileWriter.writeToFile("Our dockersite" + str(dockersites))
json_data = self.findDockersitesListJson(dockersites[finalPageNumber:endPageNumber]) json_data = self.findDockersitesListJson(dockersites[finalPageNumber:endPageNumber])
@@ -6904,13 +6949,17 @@ StrictHostKeyChecking no
return HttpResponse(final_json) return HttpResponse(final_json)
def Dockersitehome(self, request=None, userID=None, data=None, DeleteID=None): def Dockersitehome(self, request=None, userID=None, data=None, DeleteID=None):
currentACL = ACLManager.loadedACL(userID) currentACL = ACLManager.loadedACL(userID)
admin = Administrator.objects.get(pk=userID) admin = Administrator.objects.get(pk=userID)
if ACLManager.checkOwnership(self.domain, admin, currentACL) == 1:
ds = DockerSites.objects.get(pk=self.domain)
if ACLManager.checkOwnership(ds.admin.domain, admin, currentACL) == 1:
pass pass
else: else:
return ACLManager.loadError() return ACLManager.loadError()
proc = httpProc(request, 'websiteFunctions/DockerSiteHome.html', proc = httpProc(request, 'websiteFunctions/DockerSiteHome.html',
None) {'dockerSite': ds})
return proc.render() return proc.render()