51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
| from django.shortcuts import render
 | |
| from django.contrib.auth.decorators import login_required
 | |
| from django.db.models import Q
 | |
| from django.views.generic import CreateView
 | |
| from django.urls import reverse_lazy, reverse
 | |
| from django.contrib import messages
 | |
| from django.http import HttpResponseRedirect
 | |
| 
 | |
| 
 | |
| from whoisdb.models import ASNumber, InetNum
 | |
| from domains.models import Domain
 | |
| from rrequests.models import Request
 | |
| 
 | |
| from .forms import CustomUserCreationForm
 | |
| 
 | |
| 
 | |
| @login_required
 | |
| def profile(request):
 | |
| 	return render(request, "profile/profile.html", {})
 | |
| 
 | |
| 
 | |
| @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))
 | |
| 
 | |
| 	return render(request, "dncore/dashboard.html", {"asns": asns, "inetnums": inetnums, "domains": domains, 'rrequests': rrequests})
 | |
| 
 | |
| 
 | |
| def index(request):
 | |
| 	if request.user.is_authenticated():
 | |
| 		return HttpResponseRedirect(reverse("dashboard"))
 | |
| 
 | |
| 	return render(request, "index.html", {})
 | |
| 
 | |
| 
 | |
| class RegisterUser(CreateView):
 | |
| 	template_name = "dncore/registration.html"
 | |
| 	form_class = CustomUserCreationForm
 | |
| 	success_url = reverse_lazy("user:login")
 | |
| 
 | |
| 	def form_valid(self, form):
 | |
| 		ret = super(RegisterUser, self).form_valid(form)
 | |
| 		messages.success(self.request, "You successfully registered as user %s and can now log in!" % form.instance.username)
 | |
| 
 | |
| 		return ret
 |