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

{% csrf_token %}
- +
@@ -86,43 +83,12 @@ layout-wide customizer-hide
+
-
- - -
-
-
- +
-

- New on our platform? - - Create an account - -

- -
-
or
-
- -
- - - - - - - - - - - -
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"> - +