Files
xvatayka/core/apps/accounts/views.py
NORBOYEVSAMARIDDIN 493cb58222 first commit
2026-02-07 11:18:38 +05:00

43 lines
1.2 KiB
Python

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")