1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2025-07-31 12:41:08 +00:00

Added django-login-required-middleware

Thus eliminating need for login_requred decorator on every view
This commit is contained in:
Real-Gecko 2020-05-27 12:43:29 +06:00 committed by catborise
parent 8cdd0b5a0f
commit 470ec309ea
14 changed files with 13 additions and 57 deletions

View file

@ -15,9 +15,9 @@
{% endif %} {% endif %}
<form class="form-signin" method="post" role="form" aria-label="Login form">{% csrf_token %} <form class="form-signin" method="post" role="form" aria-label="Login form">{% csrf_token %}
<h2 class="form-signin-heading">{% trans "Sign In" %}</h2> <h2 class="form-signin-heading">{% trans "Sign In" %}</h2>
<input type="text" class="form-control" name="username" placeholder="Login" autocapitalize="none" autocorrect="off" autofocus> <input type="text" class="form-control" name="username" placeholder="{% trans "Login" %}" autocapitalize="none" autocorrect="off" autofocus>
<input type="password" class="form-control" name="password" placeholder="Password"> <input type="password" class="form-control" name="password" placeholder="{% trans "Password" %}">
<input name="next" id="next" type="hidden" value="{% url 'allinstances' %}"> <input type="hidden" name="next" value="{{ next }}">
<button class="btn btn-lg btn-success btn-block" type="submit">{% trans "Sign In" %}</button> <button class="btn btn-lg btn-success btn-block" type="submit">{% trans "Sign In" %}</button>
</form> </form>
</div> </div>

View file

@ -3,7 +3,6 @@ from django.shortcuts import render
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.decorators import login_required
from django.core.validators import ValidationError from django.core.validators import ValidationError
from instances.models import Instance from instances.models import Instance
from accounts.models import * from accounts.models import *
@ -13,7 +12,6 @@ from accounts.forms import UserAddForm
import sass import sass
import os import os
@login_required
def profile(request): def profile(request):
""" """
:param request: :param request:
@ -72,7 +70,6 @@ def profile(request):
return render(request, 'profile.html', locals()) return render(request, 'profile.html', locals())
@login_required
def accounts(request): def accounts(request):
""" """
:param request: :param request:
@ -153,7 +150,6 @@ def accounts(request):
return render(request, accounts_template_file, locals()) return render(request, accounts_template_file, locals())
@login_required
def account(request, user_id): def account(request, user_id):
""" """
:param request: :param request:

View file

@ -3,7 +3,6 @@ from django.utils import timezone
from django.http import HttpResponse, HttpResponseRedirect from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
from django.shortcuts import render, get_object_or_404 from django.shortcuts import render, get_object_or_404
from django.contrib.auth.decorators import login_required
from libvirt import libvirtError from libvirt import libvirtError
from instances.models import Instance from instances.models import Instance
from accounts.models import UserInstance from accounts.models import UserInstance
@ -13,7 +12,6 @@ from vrtManager.hostdetails import wvmHostDetails
from vrtManager.connection import CONN_SSH, CONN_TCP, CONN_TLS, CONN_SOCKET, connection_manager, wvmConnect from vrtManager.connection import CONN_SSH, CONN_TCP, CONN_TLS, CONN_SOCKET, connection_manager, wvmConnect
@login_required
def computes(request): def computes(request):
""" """
:param request: :param request:
@ -135,7 +133,6 @@ def computes(request):
return render(request, 'computes.html', locals()) return render(request, 'computes.html', locals())
@login_required
def overview(request, compute_id): def overview(request, compute_id):
""" """
:param request: :param request:
@ -168,7 +165,6 @@ def overview(request, compute_id):
return render(request, 'overview.html', locals()) return render(request, 'overview.html', locals())
@login_required
def compute_graph(request, compute_id): def compute_graph(request, compute_id):
""" """
:param request: :param request:
@ -199,7 +195,6 @@ def compute_graph(request, compute_id):
return response return response
@login_required
def get_compute_disk_buses(request, compute_id, arch, machine, disk): def get_compute_disk_buses(request, compute_id, arch, machine, disk):
""" """
:param request: :param request:
@ -234,7 +229,6 @@ def get_compute_disk_buses(request, compute_id, arch, machine, disk):
return HttpResponse(json.dumps(data)) return HttpResponse(json.dumps(data))
@login_required
def get_compute_machine_types(request, compute_id, arch): def get_compute_machine_types(request, compute_id, arch):
""" """
:param request: :param request:
@ -256,7 +250,6 @@ def get_compute_machine_types(request, compute_id, arch):
return HttpResponse(json.dumps(data)) return HttpResponse(json.dumps(data))
@login_required
def get_compute_video_models(request, compute_id, arch, machine): def get_compute_video_models(request, compute_id, arch, machine):
""" """
:param request: :param request:
@ -279,7 +272,6 @@ def get_compute_video_models(request, compute_id, arch, machine):
return HttpResponse(json.dumps(data)) return HttpResponse(json.dumps(data))
@login_required
def get_dom_capabilities(request, compute_id, arch, machine): def get_dom_capabilities(request, compute_id, arch, machine):
""" """
:param request: :param request:

View file

@ -1,9 +1,12 @@
Django==2.2.12 Django==2.2.12
websockify==0.9.0 django-login-required-middleware==0.5.0
gunicorn==20.0.4 gunicorn==20.0.4
lxml==4.5.0 libsass
libvirt-python==6.3.0 libvirt-python==6.3.0
six lxml==4.5.0
pytz numpy==1.18.4
rwlock pytz==2020.1
libsass rwlock==0.0.7
six==1.15.0
sqlparse==0.3.1
websockify==0.9.0

View file

@ -1,13 +1,11 @@
import re import re
from django.shortcuts import render from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from libvirt import libvirtError from libvirt import libvirtError
from instances.models import Instance from instances.models import Instance
from vrtManager.instance import wvmInstance from vrtManager.instance import wvmInstance
from webvirtcloud.settings import WS_PUBLIC_PORT, WS_PUBLIC_HOST from webvirtcloud.settings import WS_PUBLIC_PORT, WS_PUBLIC_HOST
@login_required
def console(request): def console(request):
""" """
:param request: :param request:

View file

@ -2,7 +2,6 @@ from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.urls import reverse from django.urls import reverse
from django.contrib.auth.decorators import login_required
from django.contrib import messages from django.contrib import messages
from libvirt import libvirtError from libvirt import libvirtError
from computes.models import Compute from computes.models import Compute
@ -16,7 +15,6 @@ from logs.views import addlogmsg
from webvirtcloud.settings import QEMU_CONSOLE_LISTEN_ADDRESSES from webvirtcloud.settings import QEMU_CONSOLE_LISTEN_ADDRESSES
@login_required
def create_instance_select_type(request, compute_id): def create_instance_select_type(request, compute_id):
""" """
:param request: :param request:
@ -71,7 +69,6 @@ def create_instance_select_type(request, compute_id):
return render(request, 'create_instance_w1.html', locals()) return render(request, 'create_instance_w1.html', locals())
@login_required
def create_instance(request, compute_id, arch, machine): def create_instance(request, compute_id, arch, machine):
""" """
:param request: :param request:

View file

@ -11,7 +11,6 @@ from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
from django.shortcuts import render, get_object_or_404 from django.shortcuts import render, get_object_or_404
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.decorators import login_required
from computes.models import Compute from computes.models import Compute
from instances.models import Instance from instances.models import Instance
from appsettings.models import AppSettings from appsettings.models import AppSettings
@ -30,7 +29,6 @@ from django.contrib import messages
from collections import OrderedDict from collections import OrderedDict
@login_required
def index(request): def index(request):
""" """
:param request: :param request:
@ -39,7 +37,6 @@ def index(request):
return HttpResponseRedirect(reverse('allinstances')) return HttpResponseRedirect(reverse('allinstances'))
@login_required
def allinstances(request): def allinstances(request):
""" """
INSTANCES LIST FOR ALL HOSTS INSTANCES LIST FOR ALL HOSTS
@ -72,7 +69,6 @@ def allinstances(request):
return render(request, 'allinstances.html', locals()) return render(request, 'allinstances.html', locals())
@login_required
def instances(request, compute_id): def instances(request, compute_id):
""" """
:param request: :param request:
@ -101,7 +97,6 @@ def instances(request, compute_id):
return render(request, 'instances.html', locals()) return render(request, 'instances.html', locals())
@login_required
def instance(request, compute_id, vname): def instance(request, compute_id, vname):
""" """
:param request: :param request:
@ -1061,7 +1056,6 @@ def instance(request, compute_id, vname):
return render(request, 'instance.html', locals()) return render(request, 'instance.html', locals())
@login_required
def inst_status(request, compute_id, vname): def inst_status(request, compute_id, vname):
""" """
:param request: :param request:
@ -1256,7 +1250,6 @@ def instances_actions(request):
return HttpResponseRedirect(request.get_full_path()) return HttpResponseRedirect(request.get_full_path())
@login_required
def inst_graph(request, compute_id, vname): def inst_graph(request, compute_id, vname):
""" """
:param request: :param request:
@ -1319,7 +1312,6 @@ def _get_dhcp_mac_address(vname):
return mac return mac
@login_required
def guess_mac_address(request, vname): def guess_mac_address(request, vname):
data = {'vname': vname} data = {'vname': vname}
mac = _get_dhcp_mac_address(vname) mac = _get_dhcp_mac_address(vname)
@ -1338,14 +1330,12 @@ def _get_random_mac_address():
return mac return mac
@login_required
def random_mac_address(request): def random_mac_address(request):
data = dict() data = dict()
data['mac'] = _get_random_mac_address() data['mac'] = _get_random_mac_address()
return HttpResponse(json.dumps(data)) return HttpResponse(json.dumps(data))
@login_required
def guess_clone_name(request): def guess_clone_name(request):
dhcp_file = '/srv/webvirtcloud/dhcpd.conf' dhcp_file = '/srv/webvirtcloud/dhcpd.conf'
prefix = appsettings.get(key="CLONE_INSTANCE_DEFAULT_PREFIX").value prefix = appsettings.get(key="CLONE_INSTANCE_DEFAULT_PREFIX").value
@ -1362,7 +1352,6 @@ def guess_clone_name(request):
return HttpResponse(json.dumps({})) return HttpResponse(json.dumps({}))
@login_required
def check_instance(request, vname): def check_instance(request, vname):
instance = Instance.objects.filter(name=vname) instance = Instance.objects.filter(name=vname)
data = {'vname': vname, 'exists': False} data = {'vname': vname, 'exists': False}

View file

@ -1,15 +1,12 @@
from django.shortcuts import render, get_object_or_404 from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
from django.contrib.auth.decorators import login_required
from libvirt import libvirtError from libvirt import libvirtError
from computes.models import Compute from computes.models import Compute
from interfaces.forms import AddInterface from interfaces.forms import AddInterface
from vrtManager.interface import wvmInterface, wvmInterfaces from vrtManager.interface import wvmInterface, wvmInterfaces
@login_required
def interfaces(request, compute_id): def interfaces(request, compute_id):
""" """
:param request: :param request:
@ -58,7 +55,6 @@ def interfaces(request, compute_id):
return render(request, 'interfaces.html', locals()) return render(request, 'interfaces.html', locals())
@login_required
def interface(request, compute_id, iface): def interface(request, compute_id, iface):
""" """
:param request: :param request:

View file

@ -2,7 +2,6 @@ import json
from django.shortcuts import render from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
from django.contrib.auth.decorators import login_required
from appsettings.models import AppSettings from appsettings.models import AppSettings
from instances.models import Instance from instances.models import Instance
from logs.models import Logs from logs.models import Logs
@ -19,7 +18,6 @@ def addlogmsg(user, instance, message):
add_log_msg.save() add_log_msg.save()
@login_required
def showlogs(request, page=1): def showlogs(request, page=1):
""" """
:param request: :param request:
@ -41,7 +39,6 @@ def showlogs(request, page=1):
return render(request, 'showlogs.html', locals()) return render(request, 'showlogs.html', locals())
@login_required
def vm_logs(request, vname): def vm_logs(request, vname):
""" """
:param request: :param request:

View file

@ -2,7 +2,6 @@ from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.urls import reverse from django.urls import reverse
from django.contrib.auth.decorators import login_required
from django.contrib import messages from django.contrib import messages
from libvirt import libvirtError from libvirt import libvirtError
from computes.models import Compute from computes.models import Compute
@ -11,7 +10,6 @@ from vrtManager.network import wvmNetwork, wvmNetworks
from vrtManager.network import network_size from vrtManager.network import network_size
@login_required
def networks(request, compute_id): def networks(request, compute_id):
""" """
:param request: :param request:
@ -69,7 +67,6 @@ def networks(request, compute_id):
return render(request, 'networks.html', locals()) return render(request, 'networks.html', locals())
@login_required
def network(request, compute_id, pool): def network(request, compute_id, pool):
""" """
:param request: :param request:

View file

@ -2,7 +2,6 @@ from django.http import HttpResponseRedirect
from django.shortcuts import render, get_object_or_404 from django.shortcuts import render, get_object_or_404
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.urls import reverse from django.urls import reverse
from django.contrib.auth.decorators import login_required
from libvirt import libvirtError from libvirt import libvirtError
from computes.models import Compute from computes.models import Compute
from vrtManager import util from vrtManager import util
@ -11,7 +10,6 @@ from vrtManager.instance import wvmInstances, wvmInstance
from logs.views import addlogmsg from logs.views import addlogmsg
@login_required
def nwfilters(request, compute_id): def nwfilters(request, compute_id):
""" """
:param request: :param request:
@ -109,7 +107,6 @@ def nwfilters(request, compute_id):
'compute': compute}) 'compute': compute})
@login_required
def nwfilter(request, compute_id, nwfltr): def nwfilter(request, compute_id, nwfltr):
""" """
:param request: :param request:

View file

@ -1,15 +1,12 @@
from django.shortcuts import render, get_object_or_404 from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
from django.contrib.auth.decorators import login_required
from libvirt import libvirtError from libvirt import libvirtError
from computes.models import Compute from computes.models import Compute
from secrets.forms import AddSecret from secrets.forms import AddSecret
from vrtManager.secrets import wvmSecrets from vrtManager.secrets import wvmSecrets
@login_required
def secrets(request, compute_id): def secrets(request, compute_id):
""" """
:param request: :param request:

View file

@ -3,7 +3,6 @@ from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect, HttpResponse from django.http import HttpResponseRedirect, HttpResponse
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.urls import reverse from django.urls import reverse
from django.contrib.auth.decorators import login_required
from django.contrib import messages from django.contrib import messages
from libvirt import libvirtError from libvirt import libvirtError
from computes.models import Compute from computes.models import Compute
@ -12,7 +11,6 @@ from storages.forms import AddStgPool, AddImage, CloneImage
from vrtManager.storage import wvmStorage, wvmStorages from vrtManager.storage import wvmStorage, wvmStorages
@login_required
def storages(request, compute_id): def storages(request, compute_id):
""" """
:param request: :param request:
@ -70,7 +68,6 @@ def storages(request, compute_id):
return render(request, 'storages.html', locals()) return render(request, 'storages.html', locals())
@login_required
def storage(request, compute_id, pool): def storage(request, compute_id, pool):
""" """
:param request: :param request:
@ -219,7 +216,6 @@ def storage(request, compute_id, pool):
return render(request, 'storage.html', locals()) return render(request, 'storage.html', locals())
@login_required
def get_volumes(request, compute_id, pool): def get_volumes(request, compute_id, pool):
""" """
:param request: :param request:

View file

@ -45,6 +45,7 @@ MIDDLEWARE = [
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'login_required.middleware.LoginRequiredMiddleware',
'django.contrib.auth.middleware.RemoteUserMiddleware', 'django.contrib.auth.middleware.RemoteUserMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',