core: accounts: separate views i multiple files
This commit is contained in:
		@ -1,10 +1,10 @@
 | 
			
		||||
from django.urls import path
 | 
			
		||||
 | 
			
		||||
from . import views
 | 
			
		||||
from .views import login, register, delete, change_password
 | 
			
		||||
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
    path("login", views.Login.as_view(), name="login"),
 | 
			
		||||
    path("register", views.Register.as_view(), name="register"),
 | 
			
		||||
    path("delete", views.Delete.as_view(), name="delete"),
 | 
			
		||||
    path("change_password", views.ChangePassword.as_view(), name="delete"),
 | 
			
		||||
    path("login", login.Login.as_view(), name="login"),
 | 
			
		||||
    path("register", register.Register.as_view(), name="register"),
 | 
			
		||||
    path("delete", delete.Delete.as_view(), name="delete"),
 | 
			
		||||
    path("change_password", change_password.ChangePassword.as_view(), name="change_password"),
 | 
			
		||||
]
 | 
			
		||||
@ -1,108 +0,0 @@
 | 
			
		||||
from django.shortcuts import render
 | 
			
		||||
from django.views import View 
 | 
			
		||||
 | 
			
		||||
# Create your views here.
 | 
			
		||||
from django.http import HttpResponse
 | 
			
		||||
from django.contrib.auth.models import User
 | 
			
		||||
from django.db.models.query import QuerySet
 | 
			
		||||
 | 
			
		||||
from .status_code import *
 | 
			
		||||
from .settings import *
 | 
			
		||||
 | 
			
		||||
class Login(View):
 | 
			
		||||
    def get(self, request):
 | 
			
		||||
        return render(request, "login.html")
 | 
			
		||||
    
 | 
			
		||||
    def post(self, request):
 | 
			
		||||
        username = request.POST.get("username")
 | 
			
		||||
        if (username == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        password = request.POST.get("password")
 | 
			
		||||
        if (password == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        query: QuerySet = User.objects.filter(username=username)
 | 
			
		||||
        if (not query.exists()):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user: User = User.objects.get(username=username)
 | 
			
		||||
        if (not user.check_password(password)):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        return HttpResponse(USER_VALID)
 | 
			
		||||
 | 
			
		||||
class Register(View):
 | 
			
		||||
    def get(self, request):
 | 
			
		||||
        return render(request, "register.html") 
 | 
			
		||||
 | 
			
		||||
    def post(self, request):
 | 
			
		||||
        password = request.POST.get("password")
 | 
			
		||||
        if (password == None or not PASSWORD_MAX_SIZE >= len(password) >= PASSWORD_MIN_SIZE):
 | 
			
		||||
            return HttpResponse(INVALID_PASSWORD)
 | 
			
		||||
        username = request.POST.get("username")
 | 
			
		||||
        if (username == None or not USERNAME_MAX_SIZE >= len(username) >= USERNAME_MIN_SIZE):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME)
 | 
			
		||||
        
 | 
			
		||||
        if User.objects.filter(username=username).exists():
 | 
			
		||||
            return HttpResponse(USERNAME_ALREADY_USED)
 | 
			
		||||
        
 | 
			
		||||
        user = User.objects.create_user(username, password=password)
 | 
			
		||||
        user.save()
 | 
			
		||||
        
 | 
			
		||||
        return HttpResponse(USER_ADDED)
 | 
			
		||||
 | 
			
		||||
class Delete(View):
 | 
			
		||||
    def get(self, request):
 | 
			
		||||
        return render(request, "delete.html")
 | 
			
		||||
    
 | 
			
		||||
    def post(self, request):
 | 
			
		||||
        username = request.POST.get("username")
 | 
			
		||||
        if (username == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        password = request.POST.get("password")
 | 
			
		||||
        if (password == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        query: QuerySet = User.objects.filter(username=username)
 | 
			
		||||
        if (not query.exists()):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user: User = User.objects.get(username=username)
 | 
			
		||||
        if (not user.check_password(password)):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user.delete()
 | 
			
		||||
        
 | 
			
		||||
        return HttpResponse(USER_DELETED)
 | 
			
		||||
    
 | 
			
		||||
class ChangePassword(View):
 | 
			
		||||
    def get(self, request):
 | 
			
		||||
        return render(request, "change_password.html")
 | 
			
		||||
    
 | 
			
		||||
    def post(self, request):
 | 
			
		||||
        username = request.POST.get("username")
 | 
			
		||||
        if (username == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        current_password = request.POST.get("current_password")
 | 
			
		||||
        if (current_password == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        query: QuerySet = User.objects.filter(username=username)
 | 
			
		||||
        if (not query.exists()):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user: User = User.objects.get(username=username)
 | 
			
		||||
        if (not user.check_password(current_password)):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        new_password = request.POST.get("new_password")
 | 
			
		||||
        if (new_password == None or not PASSWORD_MAX_SIZE >= len(new_password) >= PASSWORD_MIN_SIZE):
 | 
			
		||||
            return HttpResponse(INVALID_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user.set_password(new_password)
 | 
			
		||||
        user.save()
 | 
			
		||||
        
 | 
			
		||||
        return HttpResponse(PASSWORD_UPDATED)
 | 
			
		||||
							
								
								
									
										38
									
								
								django/trancendence/accounts/views/change_password.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								django/trancendence/accounts/views/change_password.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
			
		||||
from django.shortcuts import render
 | 
			
		||||
from django.views import View
 | 
			
		||||
from django.http import HttpResponse
 | 
			
		||||
from django.contrib.auth.models import User
 | 
			
		||||
from django.db.models.query import QuerySet
 | 
			
		||||
 | 
			
		||||
from ..status_code import *
 | 
			
		||||
from ..settings import *
 | 
			
		||||
 | 
			
		||||
class ChangePassword(View):
 | 
			
		||||
    def get(self, request):
 | 
			
		||||
        return render(request, "change_password.html")
 | 
			
		||||
    
 | 
			
		||||
    def post(self, request):
 | 
			
		||||
        username = request.POST.get("username")
 | 
			
		||||
        if (username == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        current_password = request.POST.get("current_password")
 | 
			
		||||
        if (current_password == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        query: QuerySet = User.objects.filter(username=username)
 | 
			
		||||
        if (not query.exists()):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user: User = User.objects.get(username=username)
 | 
			
		||||
        if (not user.check_password(current_password)):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        new_password = request.POST.get("new_password")
 | 
			
		||||
        if (new_password == None or not PASSWORD_MAX_SIZE >= len(new_password) >= PASSWORD_MIN_SIZE):
 | 
			
		||||
            return HttpResponse(INVALID_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user.set_password(new_password)
 | 
			
		||||
        user.save()
 | 
			
		||||
        
 | 
			
		||||
        return HttpResponse(PASSWORD_UPDATED)
 | 
			
		||||
							
								
								
									
										34
									
								
								django/trancendence/accounts/views/delete.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								django/trancendence/accounts/views/delete.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
			
		||||
from django.shortcuts import render
 | 
			
		||||
from django.views import View
 | 
			
		||||
from django.http import HttpResponse
 | 
			
		||||
from django.contrib.auth.models import User
 | 
			
		||||
from django.db.models.query import QuerySet
 | 
			
		||||
 | 
			
		||||
from ..status_code import *
 | 
			
		||||
from ..settings import *
 | 
			
		||||
 | 
			
		||||
class Delete(View):
 | 
			
		||||
    def get(self, request):
 | 
			
		||||
        return render(request, "delete.html")
 | 
			
		||||
    
 | 
			
		||||
    def post(self, request):
 | 
			
		||||
        username = request.POST.get("username")
 | 
			
		||||
        if (username == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        password = request.POST.get("password")
 | 
			
		||||
        if (password == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        query: QuerySet = User.objects.filter(username=username)
 | 
			
		||||
        if (not query.exists()):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user: User = User.objects.get(username=username)
 | 
			
		||||
        if (not user.check_password(password)):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user.delete()
 | 
			
		||||
        
 | 
			
		||||
        return HttpResponse(USER_DELETED)
 | 
			
		||||
    
 | 
			
		||||
							
								
								
									
										32
									
								
								django/trancendence/accounts/views/login.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								django/trancendence/accounts/views/login.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
			
		||||
from django.shortcuts import render
 | 
			
		||||
from django.views import View
 | 
			
		||||
from django.http import HttpResponse
 | 
			
		||||
from django.contrib.auth.models import User
 | 
			
		||||
from django.db.models.query import QuerySet
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
from ..status_code import *
 | 
			
		||||
from ..settings import *
 | 
			
		||||
 | 
			
		||||
class Login(View):
 | 
			
		||||
    def get(self, request):
 | 
			
		||||
        return render(request, "login.html")
 | 
			
		||||
    
 | 
			
		||||
    def post(self, request):
 | 
			
		||||
        username = request.POST.get("username")
 | 
			
		||||
        if (username == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        password = request.POST.get("password")
 | 
			
		||||
        if (password == None):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        query: QuerySet = User.objects.filter(username=username)
 | 
			
		||||
        if (not query.exists()):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        user: User = User.objects.get(username=username)
 | 
			
		||||
        if (not user.check_password(password)):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME_PASSWORD)
 | 
			
		||||
        
 | 
			
		||||
        return HttpResponse(USER_VALID)
 | 
			
		||||
							
								
								
									
										28
									
								
								django/trancendence/accounts/views/register.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								django/trancendence/accounts/views/register.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
from django.shortcuts import render
 | 
			
		||||
from django.views import View
 | 
			
		||||
from django.http import HttpResponse
 | 
			
		||||
from django.contrib.auth.models import User
 | 
			
		||||
from django.db.models.query import QuerySet
 | 
			
		||||
 | 
			
		||||
from ..status_code import *
 | 
			
		||||
from ..settings import *
 | 
			
		||||
 | 
			
		||||
class Register(View):
 | 
			
		||||
    def get(self, request):
 | 
			
		||||
        return render(request, "register.html") 
 | 
			
		||||
 | 
			
		||||
    def post(self, request):
 | 
			
		||||
        password = request.POST.get("password")
 | 
			
		||||
        if (password == None or not PASSWORD_MAX_SIZE >= len(password) >= PASSWORD_MIN_SIZE):
 | 
			
		||||
            return HttpResponse(INVALID_PASSWORD)
 | 
			
		||||
        username = request.POST.get("username")
 | 
			
		||||
        if (username == None or not USERNAME_MAX_SIZE >= len(username) >= USERNAME_MIN_SIZE):
 | 
			
		||||
            return HttpResponse(INVALID_USERNAME)
 | 
			
		||||
        
 | 
			
		||||
        if User.objects.filter(username=username).exists():
 | 
			
		||||
            return HttpResponse(USERNAME_ALREADY_USED)
 | 
			
		||||
        
 | 
			
		||||
        user = User.objects.create_user(username, password=password)
 | 
			
		||||
        user.save()
 | 
			
		||||
        
 | 
			
		||||
        return HttpResponse(USER_ADDED)
 | 
			
		||||
		Reference in New Issue
	
	Block a user