Add profile drop down and clean up sidebar

This commit is contained in:
aminhashemi92 2025-09-07 11:43:46 +03:30
parent 525a2a9378
commit 7a153c46e6
6 changed files with 50 additions and 111 deletions

View file

@ -1,11 +1,11 @@
from django.contrib import messages
from django.contrib.auth import login, authenticate
from django.contrib.auth import login, authenticate, logout
from django.shortcuts import render, redirect, get_object_or_404
from django.http import JsonResponse
from django.views.decorators.http import require_POST, require_GET
from django.views.decorators.csrf import csrf_exempt
from django import forms
from django.contrib.auth.decorators import login_required
from accounts.models import Profile
from accounts.forms import CustomerForm
from common.consts import UserRoles
@ -21,15 +21,12 @@ def login_view(request):
username = request.POST.get("username")
password = request.POST.get("password")
user = authenticate(request, username=username, password=password)
# if user is not None:
# login(request, user)
# if user.profile.has_none_of([UserRoles.MANAGER]):
# return redirect("dashboard:dashboard")
# else:
# return redirect("dashboard:admin_dashboard")
# else:
# messages.error(request, "کاربری با این مشخصات یافت نشد!")
# return redirect("accounts:login")
if user is not None:
login(request, user)
return redirect("processes:request_list")
else:
messages.error(request, "کاربری با این مشخصات یافت نشد!")
return redirect("accounts:login")
return render(request, "accounts/login.html")
@ -37,7 +34,7 @@ def dashboard(request):
return render(request, "accounts/dashboard.html")
@login_required
def customer_list(request):
# Get all profiles that have customer role
customers = Profile.objects.filter(roles__slug=UserRoles.CUSTOMER.value, is_deleted=False).select_related('user')
@ -163,3 +160,9 @@ def get_customer_data(request, customer_id):
},
'form_html': form_html
})
def logout_view(request):
"""Log out current user and redirect to login page."""
logout(request)
return redirect("accounts:login")