From 8c4fa097647c4fdfa9b2c805320108e88ba45b2d Mon Sep 17 00:00:00 2001 From: Faheed Date: Tue, 14 Oct 2025 19:24:16 +0300 Subject: [PATCH] authentication allauth --- .../__pycache__/settings.cpython-312.pyc | Bin 7669 -> 7903 bytes NorahUniversity/settings.py | 18 +- recruitment/__pycache__/forms.cpython-312.pyc | Bin 22386 -> 23172 bytes .../__pycache__/models.cpython-312.pyc | Bin 46990 -> 45244 bytes .../__pycache__/signals.cpython-312.pyc | Bin 6634 -> 6657 bytes recruitment/__pycache__/urls.cpython-312.pyc | Bin 8309 -> 9416 bytes recruitment/__pycache__/utils.cpython-312.pyc | Bin 17828 -> 18688 bytes recruitment/__pycache__/views.cpython-312.pyc | Bin 52201 -> 71210 bytes recruitment/urls.py | 4 + recruitment/views.py | 8 +- templates/account/login.html | 186 ++++++++++++++++ templates/account/password_change.html | 46 ++++ templates/account/password_reset.html | 198 ++++++++++++++++++ templates/account/signup.html | 0 templates/base.html | 16 +- templates/includes/search_form.html | 5 +- templates/jobs/job_detail.html | 167 +-------------- templates/jobs/job_list.html | 19 +- templates/meetings/list_meetings.html | 4 +- templates/recruitment/candidate_list.html | 4 +- templates/user/profile.html | 195 +++++++++++++++++ 21 files changed, 688 insertions(+), 182 deletions(-) create mode 100644 templates/account/login.html create mode 100644 templates/account/password_change.html create mode 100644 templates/account/password_reset.html create mode 100644 templates/account/signup.html create mode 100644 templates/user/profile.html diff --git a/NorahUniversity/__pycache__/settings.cpython-312.pyc b/NorahUniversity/__pycache__/settings.cpython-312.pyc index e8aace0ecd08cb95de3b2419d5ad282e86c86524..668c15d2b936102999b6f63e271daa78eaf137e0 100644 GIT binary patch delta 1446 zcmb7CO;cM{7``W;O#%c$2oz`uA1#EhP(E5H&_YQ-Yy?U{>uD*y@LVnzA)(0y3autp zv~^{fyK*LO(2Y9dCV#=5E*MvuamGc*g$o_V8TY>DQgB$f=)H5^=lyuj^PczI`%nLG zgGE0S7P=*RzT5n3+1s>NRKcF?HGZDvUU+yh+`I$@+=oIGsTN+UO7QM8?nf~%gM$Z9 z!pq@9Df}o?nZ^*vS~SKhP_D3*P9b~xS?M_)i%4;y;#q)6uD3N*tTKEMT<|3^|wDKmj@lcuw?XL*UuQf~fcoyFBTKhUq_O;>?Pq(3yuAyt6 zk?r1R=rJd5$7LSI72bhfehGcN6IXc`t!_Gd5Bm9K4Dc%$q^WvwjrY;IitD@|Lwo?k zd=NMIHH;vFC`Rd4#t2<_1LJrT3^%h@#PAj-FqyTcF-4_YSqr9V-OhUWbh1gZ``1ep(Gf#1L)K!YgaqtfS*uw)LV(qPNbh$~^m%)CdL zRf^LR*7lh)qzoaRwHzZ7bjEc&L=q|JC^glov89WufYNNm6 z!>k=2Q7iH8X04R@IBVr2_=HEcEum*}Hse^W?sE zzGO|EClc*z8nCKt$w{UCzhsm;3{!_(#`TOE8)rOQtS*=F{AhJlP|M_5W7->YM1(tP zeC2Ip5#uNCLv||{DV}7bb0RMbvmlHaE|M1tChr|5^3KGD4kfPV9a>!A5$(RH&kOUw z_@!iw%^9`6mWC6p{24ugL`+M)q6^g|Oig3mr?I<6-q%f=yrrD%N@*|S#+Rip{LcmD zQ!>TlrBQ+Aq1p~iY zJ-<_X@mr*vHp5vt89nc_WQqsaUHrPd&keV ezC*jU%5or;|Lra)vSi$c)w#!&n^xOPlKmH&UW6V1 delta 1184 zcmb7COKenC7@l+QJnT$69p=%;w1omK(`hLbXrZN39xV^0)lpF_e`%rRyIgK9opNVr zZBb`LBP$&K^zi!P=7Y=G)U9xnSh$t?tcZ}QQN8IwZCOwRb+ie7iXu!g)FXmTh?>F@ zh&h@iD2})x=DSs!XV-l1v$2Yd8YI5b9_38|KN@&SV_9`;a=fOXMl@5giN_=v+Oih% zc+l#OX+|41Gpr3;T;1;Kt(Gvol*Be_VQJ-ter$I%YC{J)nZ#!7pe@`fr8;r@c68BJ zCbNxYJJQsFZtCQE&*SgIolm$>>VMrq@6&x<*hOjV=3D413)Xwe0>!;9 z<8JJu9`w^r3{Wrj(=HsK-7I~4_B|M+y%?f>ILNH}F-!w2`;nmo7@G)flqb?i^yRKSJ}6bM*-Kc?0B()x3G#e*T0Up@ebZqzUk$^qUiWg;!)~* z&(S$^!_nz5-lrq0TKa>^m--zcnk!?zdM$8Y@LR8?<#)Alc_%O~f|Wl4zl+Mln(IO| z$<@$`Xs`Sg`cd~cFwSn2-`7w0N0oa_CL+CJRE|ZiifrZUNLHMfQu*^rT~NvmXW2`) z+w>$+4dkvBU@R7@err+LN3e6MKCRS@JQY1DrsVBtPsh_<)#nO1$|Z*F)8EmPvajd$W2x}cBx?H7W4K+`As|{AUERO4IinBciA#l z?2i@l6Qv9}kmwSZ&mQYRDFfnxdp>zQVlNIxh2CcSVlgr+c)I5iB=Jp z)kIPpl^coAD-Rm(>Y;nQS>0~_PhI|;%yza$wNiLJ;|bN40_(LNU*9j@p>?0$qW$D) V{5u#5Yo*|NvSPF>>)u~^+dqkCFvb7? diff --git a/NorahUniversity/settings.py b/NorahUniversity/settings.py index e0fbf71..8b79fea 100644 --- a/NorahUniversity/settings.py +++ b/NorahUniversity/settings.py @@ -57,12 +57,27 @@ INSTALLED_APPS = [ 'django_countries', 'django_celery_results', 'django_q', + 'easyaudit' + ] + + SITE_ID = 1 -# CKEDITOR_BASEPATH = BASE_DIR/'static' +LOGIN_REDIRECT_URL = '/dashboard/' + + +ACCOUNT_LOGOUT_REDIRECT_URL = '/' + + +ACCOUNT_SIGNUP_REDIRECT_URL = '/dashboard/' + + +LOGIN_URL = '/accounts/login/' + + AUTHENTICATION_BACKENDS = [ 'django.contrib.auth.backends.ModelBackend', @@ -80,6 +95,7 @@ MIDDLEWARE = [ 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'allauth.account.middleware.AccountMiddleware', + 'easyaudit.middleware.easyaudit.EasyAuditMiddleware', ] ROOT_URLCONF = 'NorahUniversity.urls' diff --git a/recruitment/__pycache__/forms.cpython-312.pyc b/recruitment/__pycache__/forms.cpython-312.pyc index 4c340290a228f0fb5abe347ffae9b0bf85f610ec..1ae9473efbc85c1d6e403685c07b92190d708ee8 100644 GIT binary patch delta 504 zcmeygjb8I2ZUXqs?z3p9B*V^G1yuOk7M1?hGmFEet6dlLHv#S@kM4 zHMKUgFt2fATse88rvl^3&6hmcSQvRG-}Lon6xyunH<^)9YVuBhYc>f+28JSu$-n&N z7$qj}3v`$q8Ss)(ezJ357@I6eN_O)6KsiQPpwv@FmB~wjtW=di!XV-?5Et_Rozueb zor#H6{u2X`D6#?y6e)p?at{8%s4>|lBwA7pqz6R205KFm1X!IKNS%~IaB@a!N@-52 zXI@EaQCVhcxm$jbb7Edf=Hzk~+0B35g&D&c=deX_RdQ%@{!+!MIt|fCvpB;a9}LIJwYOTt*kD^b-&lcLGIQ7;XqCcCg+O%<5o! zAf-9k-m7KuT~{$}ZIF2&;v+~U%-dY7T%Q<#1jIWaX+KT<&D%nf8AZV%3l2kYh=GGZ ud$MMjESDuv84xiPYi$k)lVFtk!obGJ^+kxAk!wNe^7@7KUm1W*u!#WQCW9>i delta 267 zcmZqK%J^v=Bj0IWUM>b8h*f!)QSUvGPlD+N(?*ROOe~e^ni`w+nAf;5YEHiGslceY z`Hv?X3nSNLW6+H-Na92WVIe!*?boR^?9&K%&SB zC;*h6?C4@YxjEn^qwM6|z%VvxkS6KLCj;e}q#<$|K}#8xCZ7wkVp9OgDNN=ImSa+Y z$mItAU{sr&77{J50+Is}FF*`A5COITB;=>5w|R4TGNS<4MPM7iMyX8Jj+Esx2C4ue UhGMDBL6H)STwfX37`ecj0p}t<00000 diff --git a/recruitment/__pycache__/models.cpython-312.pyc b/recruitment/__pycache__/models.cpython-312.pyc index fa7751ddb3c9c11d7c6ac218325ee65f3068a635..053cd403fdd426bc6944d87001cd647005b99e46 100644 GIT binary patch delta 4377 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 delta 5584 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 diff --git a/recruitment/__pycache__/signals.cpython-312.pyc b/recruitment/__pycache__/signals.cpython-312.pyc index 14eddf8f41fe13561d0b95ec2852b6c7c900cf2f..ece9632b40c5cadc3842a2b30da7fa7209682665 100644 GIT binary patch delta 358 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 diff --git a/recruitment/__pycache__/utils.cpython-312.pyc b/recruitment/__pycache__/utils.cpython-312.pyc index 52a180d0b29a51e789f4de4c961b75deb7928ebe..9bbe4cd3ddcbdf9a23cf0d7a182c6a45ee7ef4b7 100644 GIT binary patch delta 2078 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 delta 11668 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 SvQA-b?6V%04kY@~-2VY~>iRzb diff --git a/recruitment/urls.py b/recruitment/urls.py index 2ed3d74..30dcb9c 100644 --- a/recruitment/urls.py +++ b/recruitment/urls.py @@ -101,4 +101,8 @@ urlpatterns = [ path('api/jobs//candidates//reschedule-meeting//', views.api_reschedule_candidate_meeting, name='api_reschedule_candidate_meeting'), # New URL for simple page-based meeting scheduling path('jobs//candidates//schedule-meeting-page/', views.schedule_meeting_for_candidate, name='schedule_meeting_for_candidate'), + + + # users urls + path('user/',views.user_detail,name='user_detail') ] diff --git a/recruitment/views.py b/recruitment/views.py index 5748009..5c89c40 100644 --- a/recruitment/views.py +++ b/recruitment/views.py @@ -1,7 +1,7 @@ import json import requests +from django.contrib.auth.models import User from rich import print - from django.template.loader import render_to_string from django.views.decorators.csrf import csrf_exempt from django.views.decorators.http import require_http_methods @@ -2327,3 +2327,9 @@ def schedule_meeting_for_candidate(request, job_slug, candidate_pk): 'job': job, 'candidate': candidate }) + + + +def user_detail(requests,pk): + user=get_object_or_404(User,pk=pk) + return render(requests,'user/profile.html') diff --git a/templates/account/login.html b/templates/account/login.html new file mode 100644 index 0000000..b7e66c7 --- /dev/null +++ b/templates/account/login.html @@ -0,0 +1,186 @@ +{% load static %} + + + + + + KAAUH ATS - Sign In (Bootstrap) + + + + + + + + +
+ +
+
+

+ +
+
جامعة الأميرة نورة بنت عبدالرحمن الأكاديمية
+
ومستشفى الملك عبدالله بن عبدالعزيز التخصصي
+
Princess Nourah bint Abdulrahman University
+
King Abdullah bin Abdulaziz University Hospital
+
+
+

+ Powered By TENHAL | تنحل +
+
+ +
+ +
+ +

Sign In

+ +
+
+ {% csrf_token %} + +
+ + +
+ +
+ + + + +
+ +
+ + +
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/templates/account/password_change.html b/templates/account/password_change.html new file mode 100644 index 0000000..b05d6df --- /dev/null +++ b/templates/account/password_change.html @@ -0,0 +1,46 @@ +{% extends "base.html" %} +{% load static %} +{% load i18n %} +{% load crispy_forms_tags %} {% block title %}{% trans "Change Password" %} - KAAUH ATS{% endblock %} + +{% block styles %} +{% endblock %} + +{% block content %} +
+ +
+ +

+ {% trans "Change Password" %} +

+ +

+ {% trans "Please enter your current password and a new password to secure your account." %} +

+ +
+ {% csrf_token %} + + {{ form|crispy }} + + {% if form.non_field_errors %} + + {% endif %} + + +
+ + +
+
+{% endblock %} \ No newline at end of file diff --git a/templates/account/password_reset.html b/templates/account/password_reset.html new file mode 100644 index 0000000..98ae130 --- /dev/null +++ b/templates/account/password_reset.html @@ -0,0 +1,198 @@ +{% load static i18n %} + + + + + + KAAUH ATS - Sign In (Bootstrap) + + + + + + + + +
+ +
+
+

+ +
+
جامعة الأميرة نورة بنت عبدالرحمن الأكاديمية
+
ومستشفى الملك عبدالله بن عبدالعزيز التخصصي
+
Princess Nourah bint Abdulrahman University
+
King Abdullah bin Abdulaziz University Hospital
+
+
+

+ Powered By TENHAL | تنحل +
+
+ +
+ +
+ +

+ {% trans "Forgot Password?" %} +

+ +

+ {% trans "Enter your e-mail address to reset your password." %} +

+ + {% url 'account_reset_password' as password_reset_url %} +
+ {% csrf_token %} + +
+ + + {% if form.email.errors %} + + {% endif %} + + + {% if form.non_field_errors %} + + {% endif %} +
+ + +
+ +
+

+ {% trans "Remember your password?" %} + {% trans "Log In" %} +

+
+
+ +
+
+ + + + + + diff --git a/templates/account/signup.html b/templates/account/signup.html new file mode 100644 index 0000000..e69de29 diff --git a/templates/base.html b/templates/base.html index bd2fa28..de49a92 100644 --- a/templates/base.html +++ b/templates/base.html @@ -242,6 +242,18 @@ html[dir="rtl"] .ms-2 { margin-left: 0 !important; margin-right: 0.5rem !important; } html[dir="rtl"] .ms-auto { margin-left: 0 !important; margin-right: auto !important; } html[dir="rtl"] .me-auto { margin-right: 0 !important; margin-left: auto !important; } + + + .form-control-sm, + .btn-sm { + /* Reduce vertical padding even more than default Bootstrap 'sm' */ + padding-top: 0.2rem !important; + padding-bottom: 0.2rem !important; + /* Ensure a consistent, small height for both */ + height: 35px !important; + font-size: 2 rem !important; /* Slightly smaller font */ + } + {% block customCSS %}{% endblock %} @@ -462,7 +474,7 @@
  • -
  • {% trans "My Profile" %}
  • +
  • {% trans "My Profile" %}
  • {% trans "Settings" %}
  • {% trans "Activity Log" %}
  • {% trans "Help & Support" %}
  • @@ -485,7 +497,7 @@
  • -
    + {% csrf_token %}
    + + + + + + +
    + +
    +
    {% trans "Security" %}
    + + +
    + +
    +
    {% trans "Account Status" %}
    + +
    +
    {% trans "Username" %}
    +
    {{ user.username }}
    +
    + +
    +
    {% trans "Last Login" %}
    +
    + {% if user.last_login %}{{ user.last_login|date:"F d, Y P" }}{% else %}N/A{% endif %} +
    +
    + +
    +
    {% trans "Date Joined" %}
    +
    {{ user.date_joined|date:"F d, Y" }}
    +
    +
    + +
    + + + + +{% endblock %} \ No newline at end of file -- 2.39.5