diff --git a/accounts/templates/accounts/login.html b/accounts/templates/accounts/login.html
index 67f300d..e5791f3 100644
--- a/accounts/templates/accounts/login.html
+++ b/accounts/templates/accounts/login.html
@@ -64,21 +64,18 @@ layout-wide customizer-hide
سامانه شفافیت
-
-
Welcome to Sneat! 👋
- Please sign-in to your account and start the adventure
-
- New on our platform?
-
- Create an account
-
-
-
-
-
-
diff --git a/accounts/urls.py b/accounts/urls.py
index 8352a63..ac5119d 100644
--- a/accounts/urls.py
+++ b/accounts/urls.py
@@ -1,10 +1,11 @@
from django.urls import path
-from accounts.views import login_view, dashboard, customer_list, add_customer_ajax, edit_customer_ajax, get_customer_data
+from accounts.views import login_view, dashboard, customer_list, add_customer_ajax, edit_customer_ajax, get_customer_data, logout_view
app_name = "accounts"
urlpatterns = [
path('login/', login_view, name='login'),
+ path('logout/', logout_view, name='logout'),
path('dashboard/', dashboard, name='dashboard'),
path('customers/', customer_list, name='customer_list'),
path('customers/add/', add_customer_ajax, name='add_customer_ajax'),
diff --git a/accounts/views.py b/accounts/views.py
index b238b5e..6a4f23c 100644
--- a/accounts/views.py
+++ b/accounts/views.py
@@ -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")
diff --git a/db.sqlite3 b/db.sqlite3
index 0ac3e47..7df1dd8 100644
Binary files a/db.sqlite3 and b/db.sqlite3 differ
diff --git a/templates/navbars/admin.html b/templates/navbars/admin.html
index 1c63f3f..303ee3e 100644
--- a/templates/navbars/admin.html
+++ b/templates/navbars/admin.html
@@ -35,7 +35,7 @@ id="layout-navbar">
-
+
@@ -127,17 +127,17 @@ id="layout-navbar">
@@ -146,7 +146,7 @@ id="layout-navbar">
-
+
@@ -306,24 +306,6 @@ id="layout-navbar">
-
-
-
-
-
CPU is running high
-
CPU Utilization Percent is currently at 88.63%,
-
5 days ago
-
-
-
-
+
-

+ {% if request.user.is_authenticated and request.user.profile and request.user.profile.pic %}
+

+ {% else %}
+

+ {% endif %}
diff --git a/templates/sidebars/admin.html b/templates/sidebars/admin.html
index 053c6ca..aacdf24 100644
--- a/templates/sidebars/admin.html
+++ b/templates/sidebars/admin.html
@@ -63,7 +63,7 @@