|
|
|
@ -1,5 +1,7 @@
|
|
|
|
|
from django.shortcuts import render
|
|
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
|
|
from django.contrib.auth.forms import PasswordChangeForm
|
|
|
|
|
from django.contrib.auth import login as auth_login
|
|
|
|
|
from django.db.models import Q
|
|
|
|
|
from django.views.generic import CreateView
|
|
|
|
|
from django.urls import reverse_lazy, reverse
|
|
|
|
@ -16,17 +18,32 @@ from .forms import CustomUserCreationForm
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
|
def profile(request):
|
|
|
|
|
return render(request, "profile/profile.html", {})
|
|
|
|
|
pwForm = None
|
|
|
|
|
|
|
|
|
|
if request.method == "POST":
|
|
|
|
|
if request.POST.get("submit", None) == "pwchange":
|
|
|
|
|
pwForm = PasswordChangeForm(user=request.user, data=request.POST)
|
|
|
|
|
if pwForm.is_valid():
|
|
|
|
|
pwForm.save()
|
|
|
|
|
auth_login(request, pwForm.user)
|
|
|
|
|
messages.success(request, "Password changed")
|
|
|
|
|
|
|
|
|
|
return HttpResponseRedirect(reverse("profile"))
|
|
|
|
|
|
|
|
|
|
if not pwForm:
|
|
|
|
|
pwForm = PasswordChangeForm(user=request.user)
|
|
|
|
|
|
|
|
|
|
return render(request, "registration/profile.html", {'pwForm': pwForm})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
|
def dashboard(request):
|
|
|
|
|
mnts = request.user.maintainer_set.all()
|
|
|
|
|
ownMnts = request.user.maintainer_set.filter(rir=False, lir=False).all()
|
|
|
|
|
asns = ASNumber.objects.filter(Q(mnt_by__in=ownMnts) | Q(mnt_lower__in=ownMnts))
|
|
|
|
|
inetnums = InetNum.objects.filter(Q(mnt_by__in=ownMnts) | Q(mnt_lower__in=ownMnts))
|
|
|
|
|
domains = Domain.objects.filter(mnt_by__in=mnts)
|
|
|
|
|
rrequests = Request.objects.filter((Q(provider__in=mnts) | Q(applicant__in=mnts)) & Q(status=Request.STATE_OPEN))
|
|
|
|
|
ownMnts = request.user.maintainer_set.filter(rir=False, lir=False).all().distinct()
|
|
|
|
|
asns = ASNumber.objects.filter(Q(mnt_by__in=ownMnts) | Q(mnt_lower__in=ownMnts)).distinct()
|
|
|
|
|
inetnums = InetNum.objects.filter(Q(mnt_by__in=ownMnts) | Q(mnt_lower__in=ownMnts)).distinct()
|
|
|
|
|
domains = Domain.objects.filter(mnt_by__in=mnts).distinct()
|
|
|
|
|
rrequests = Request.objects.filter((Q(provider__in=mnts) | Q(applicant__in=mnts)) & Q(status=Request.STATE_OPEN)).distinct()
|
|
|
|
|
|
|
|
|
|
return render(request, "dncore/dashboard.html", {"asns": asns, "inetnums": inetnums, "domains": domains, 'rrequests': rrequests})
|
|
|
|
|
|
|
|
|
|