first commit
This commit is contained in:
43
core/apps/accounts/views.py
Normal file
43
core/apps/accounts/views.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from django.shortcuts import render, redirect
|
||||
from django.contrib.auth import login, logout
|
||||
from .forms import PhoneLoginForm
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
|
||||
def login_view(request):
|
||||
if request.user.is_authenticated:
|
||||
return redirect('dashboard')
|
||||
|
||||
if request.method == "POST":
|
||||
form = PhoneLoginForm(request.POST)
|
||||
if form.is_valid():
|
||||
user = form.get_user()
|
||||
login(request, user)
|
||||
return redirect('dashboard')
|
||||
else:
|
||||
messages.error(request, "Invalid phone number or password")
|
||||
else:
|
||||
form = PhoneLoginForm()
|
||||
|
||||
return render(request, "auth/login.html", {"form": form})
|
||||
|
||||
|
||||
def logout_view(request):
|
||||
logout(request)
|
||||
return redirect('login')
|
||||
|
||||
@login_required
|
||||
def dashboard(request):
|
||||
if request.user.role == "businessman":
|
||||
return redirect("businessman_dashboard")
|
||||
elif request.user.role == "manager":
|
||||
return redirect("manager_dashboard")
|
||||
elif request.user.role == "employee":
|
||||
return redirect("employee_dashboard")
|
||||
else:
|
||||
return redirect("login")
|
||||
|
||||
|
||||
def csrf_failure(request, reason=""):
|
||||
logout(request)
|
||||
return redirect("login")
|
||||
Reference in New Issue
Block a user