From 2f02f10c16d6f2cb663cf9249998704a8c673811 Mon Sep 17 00:00:00 2001 From: Faheed Date: Mon, 20 Oct 2025 00:41:04 +0300 Subject: [PATCH] message on exceeding the applications --- .../__pycache__/settings.cpython-312.pyc | Bin 8243 -> 8301 bytes .../__pycache__/urls.cpython-312.pyc | Bin 2216 -> 2313 bytes NorahUniversity/settings.py | 22 +- recruitment/__pycache__/admin.cpython-312.pyc | Bin 11329 -> 11915 bytes recruitment/__pycache__/forms.cpython-312.pyc | Bin 26293 -> 26374 bytes .../__pycache__/models.cpython-312.pyc | Bin 47574 -> 58633 bytes recruitment/__pycache__/urls.cpython-312.pyc | Bin 10425 -> 11571 bytes recruitment/__pycache__/utils.cpython-312.pyc | Bin 20475 -> 20410 bytes recruitment/__pycache__/views.cpython-312.pyc | Bin 78367 -> 86075 bytes .../views_frontend.cpython-312.pyc | Bin 18647 -> 20692 bytes recruitment/migrations/0001_initial.py | 187 +++++++++----- ..._formtemplate_max_applications_and_more.py | 33 --- ...5_remove_formtemplate_close_at_and_more.py | 27 -- ..._formtemplate_max_applications_and_more.py | 22 -- ...emove_interviewschedule_breaks_and_more.py | 27 -- ...terviewschedule_break_end_time_and_more.py | 23 -- ...0019_alter_interviewschedule_candidates.py | 18 -- ...0020_alter_interviewschedule_created_at.py | 18 -- recruitment/migrations/0021_meetingcomment.py | 35 --- .../0022_candidate_resume_parsed_category.py | 18 -- .../0023_alter_jobposting_max_applications.py | 18 -- .../0024_alter_zoommeeting_status.py | 18 -- .../0025_candidate_recommendation.py | 18 -- ...ndidate_resume_parsed_category_and_more.py | 22 -- .../0027_alter_candidate_email_and_more.py | 159 ------------ .../0028_alter_candidate_interview_status.py | 18 -- ..._recruitment_job_id_766dbe_idx_and_more.py | 62 ----- .../0030_alter_candidate_options.py | 17 -- .../0031_alter_candidate_options.py | 17 -- .../__pycache__/form_filters.cpython-312.pyc | Bin 3043 -> 3433 bytes recruitment/views.py | 29 ++- templates/account/password_reset_done.html | 187 ++++++++++++++ .../account/password_reset_from_key.html | 237 ++++++++++++++++++ templates/base.html | 12 +- templates/forms/job_detail_candidate.html | 24 ++ .../forms/partials/candidate_facing_base.html | 83 ++++-- templates/includes/easy_logs.html | 2 +- templates/jobs/create_job.html | 75 +++--- templates/jobs/edit_job.html | 124 +++++---- templates/jobs/job_list.html | 86 ++++--- templates/recruitment/candidate_list.html | 100 ++++---- templates/user/admin_settings.html | 2 +- templates/user/create_staff.html | 4 +- templates/user/profile.html | 2 +- templates/user/staff_password_create.html | 2 +- 45 files changed, 882 insertions(+), 866 deletions(-) delete mode 100644 recruitment/migrations/0014_formtemplate_close_at_formtemplate_max_applications_and_more.py delete mode 100644 recruitment/migrations/0015_remove_formtemplate_close_at_and_more.py delete mode 100644 recruitment/migrations/0016_remove_formtemplate_max_applications_and_more.py delete mode 100644 recruitment/migrations/0017_remove_interviewschedule_breaks_and_more.py delete mode 100644 recruitment/migrations/0018_rename_break_end_interviewschedule_break_end_time_and_more.py delete mode 100644 recruitment/migrations/0019_alter_interviewschedule_candidates.py delete mode 100644 recruitment/migrations/0020_alter_interviewschedule_created_at.py delete mode 100644 recruitment/migrations/0021_meetingcomment.py delete mode 100644 recruitment/migrations/0022_candidate_resume_parsed_category.py delete mode 100644 recruitment/migrations/0023_alter_jobposting_max_applications.py delete mode 100644 recruitment/migrations/0024_alter_zoommeeting_status.py delete mode 100644 recruitment/migrations/0025_candidate_recommendation.py delete mode 100644 recruitment/migrations/0026_remove_candidate_resume_parsed_category_and_more.py delete mode 100644 recruitment/migrations/0027_alter_candidate_email_and_more.py delete mode 100644 recruitment/migrations/0028_alter_candidate_interview_status.py delete mode 100644 recruitment/migrations/0029_remove_candidate_recruitment_job_id_766dbe_idx_and_more.py delete mode 100644 recruitment/migrations/0030_alter_candidate_options.py delete mode 100644 recruitment/migrations/0031_alter_candidate_options.py create mode 100644 templates/account/password_reset_done.html create mode 100644 templates/account/password_reset_from_key.html diff --git a/NorahUniversity/__pycache__/settings.cpython-312.pyc b/NorahUniversity/__pycache__/settings.cpython-312.pyc index 8d89095cd5131ddbf3675cdb3562e6feb0d3316d..ddf3afbc8f013b532a4807c1ff6aa286fef33ff7 100644 GIT binary patch delta 1224 zcmX|9Nl+A581C0I%)qcS3kb-t=`bLo2m;D7tiv)2ngx9(fq}1Wnq_9}86lWNFd@;H zRJP7?>4P=qmO~D6@{~hz%Y~!qQ>t=GRji_t@|H^Fe~s8(@B9DvZ{Pd+buRKO68g2c z*dx*NyZiY{VVflVAvQ-(=?mwd@4pP010G%m4=+a{uRsxsRhfHL2_;#^eJJIAxOf0% zyb|T8fEPZMX$*c-))=os;49X?Q~85@I8bG9p^BQ1Wkpf7=~Nl7K@G2^=31oy$L|zM z66);c;|QXjs)A^+vC+mRjj2vvhi2*w(xek~jCwjk15WZr$h?XCW`xi}^d}JJC(#<= zA++)qqIRLplzAAZ&`v5^ahkUgX@?-Cai?&Gw^RFRS{*pc&!Cf^rTjVLFVsqEiBk}5pmltVcE8TV%wWgg;iaA3M=@Ji1DcO3ClNlSxElVVcac?^-a@HsK*GxvgKS)CR8gg zy^_>3;UdeKh;JyCdn>80DSFy+>&o)>^17lQwiy4F-D2~(RCyDdSQbN60V@LRttMvH z>q|!g%bmQPfs)8rE-fMKVHreT5pdJ^ts=^njRtR9^UGOQekO@zOiRBg7gP0Bd!~`{ zYAkM8-Y#k?^>M;gUoTrU9{axVeI`miCm`BXMoT8r`kE2-_p^0l&)*vOMr53unzE&T zD=NPeuwne-Z(#}JnZGx*C<^kljku~99k8Xv6|NESB2~ z{OIue`0VVZh57N3$=TVNh2goWg_-f|xz6e*%=0(3(gjKBA>(K+?H-)5xjtx zYFl(h-8$;bj-82*J~&QZ^r8L(eX!3NXMFJ0j?7qJ^u_ONrJkMh`+eVczUw*rAXQAo z?^RU=6kh+_d$@2np(wveWp7pgC;a*Kr*UUANHqvhEh;I5Dpcz#)#(cM6$FJ*LlO8W zidx!_5b6*{L>GoY)KLvV2eAJ$(YJNrTlG;wUBHKW4nA0rP7RJ%7u0}8YUJQ1tpd%P zK}A8#4Q@gUTG^`wZ7#OE*kK6WOU*dMkulEH$!)Z73$2J#8&qm%xdUBDaQQ>%rcU&v zD2^WL;?h3!Iw~d5hr>KYH~OiEiyo0hIbAP~QXhvO=G~7c=m?I{Q9d8Ae;0$n!M!2q zn4D?ou{wZZ8pH_qa=aiIPZR`Bx)Tf`Ny8YW5uBpq7^4$N(MjG(E-;F5I)&3ThBI6` zg$WwxeHv%!3?^v;Q*;(-n#43_a1Q6W^(UDt@D!fL1&A#?<9P5ap2PFF$kGdZ^rEBU zCEhPPL7D>L5?*2LRm{448FMaYkac+;a9P6@$-0ly(6PV+81ixWniVX%11<4D%UEF_ z1*@*bENls^xrVC+p{2DnEJxjAT#yhV3F5biY zxGrVg%dh)^Q-%+@l>BZu9=65b}|D(Q34Z-nN{5^{^GgosoD(oBa>Um zni&iI-+bjSx4+-_qwv~GHF5ikn(2Ww|8~|4LqaWim(5kZRF+#Xt$ZR_@~&o9w32__ zw3ak0SMpoh{KovUW~J@=+N@7HiHm*guCNHLf`;^?3=f zABLtx#!lAtbUcnNmFG>E=Z#$c|18$RqZ~VRhPZ71RX4yv-C<(99v%_1_D|tY!XHVO zj~PmSb1iR}t2xWCvyr4&wC_Z^qqaQpUNf|H>$dd#T*8w5Yotpo+vU-b_^fm&GgdOX zRw~P9vOM9OGzHcyb4|1IhL%fstQ)o-9Tw+`ccR~Uia7X#2>iiLeA`NH$nI>s&=w1+ z+ts_1LJ3xG`*(dxwEeykVve=lR~jVu+Fv%_7L~=mCPUax^CkQ5=CSgo`YLt1VmDbF Lk97&}15WoZGMPu| diff --git a/NorahUniversity/__pycache__/urls.cpython-312.pyc b/NorahUniversity/__pycache__/urls.cpython-312.pyc index e44eaccaa56ac471fd4ad2dc0ae8f291207afcbf..df79ce761314b4191b32d5bc38616df503fb4f47 100644 GIT binary patch delta 354 zcmZ1>*eRrbnwOW00SJoNzGhglGcY^`abQ3I%J`hNQN5ihiHRYVIYmB|FUt(3070iH ztPxqw4B@BqM9HMe09A8=btnQ!mK3Gcj1bw?Oi&uiui|B3fU0Mk{EtaYCzT`124OIa zwMH4H5k-RovzQi8g9A(%f=1U+siLX6Ig9x{qhb|LVnL>Ud1_Kdetx$8Ey1e%{M>jb zH@+-0wS00Ut2(3N=0;XgMy4W>$&=aIxO9OAgB)BuVY4#36r;>d7LE?N8LZbO^e;;2 cUoiE!!s7WsS%{yhf%}8TWH*jD7Hyzn05MuYhyVZp delta 251 zcmeAaS|O-@nwOW00SJCx`jYX1je+4Yhyw%sP{wDwjq2@8V(Hvb(y7u+45?f|%$y<* zBw11vCcj~lm4%42rE+9hz%(Q1$pXw`VQUmuGeLx^co`U=27xr#AQZw_Kv6pw8$qL+ zP^qM;ym=Dyd&bF&Sk)O7HlJb@Wt{wkt(i*)sD}}Vi)%L*vP&^?eoz$TXKLX7pf-6q KM;wb5PzC^HYAOr> diff --git a/NorahUniversity/settings.py b/NorahUniversity/settings.py index 605ed40..c87beef 100644 --- a/NorahUniversity/settings.py +++ b/NorahUniversity/settings.py @@ -132,16 +132,24 @@ WSGI_APPLICATION = 'NorahUniversity.wsgi.application' # Database # https://docs.djangoproject.com/en/5.2/ref/settings/#databases +# DATABASES = { +# 'default': { +# 'ENGINE': 'django.db.backends.postgresql_psycopg2', +# 'NAME': 'norahuniversity', +# 'USER': 'norahuniversity', +# 'PASSWORD': 'norahuniversity', +# 'HOST': '127.0.0.1', +# 'PORT': '5432', +# } +# } + DATABASES = { 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'norahuniversity', - 'USER': 'norahuniversity', - 'PASSWORD': 'norahuniversity', - 'HOST': '127.0.0.1', - 'PORT': '5432', + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', } -} +} + # Password validation # https://docs.djangoproject.com/en/5.2/ref/settings/#auth-password-validators diff --git a/recruitment/__pycache__/admin.cpython-312.pyc b/recruitment/__pycache__/admin.cpython-312.pyc index 07aeb8c3655b4d2949ec099d391a612fdf888099..0b0a860ce53c120f77f595c875d38c38198f10a5 100644 GIT binary patch delta 3310 zcmaJ^du&_f75B9r$M4vAICh?PUe2{iNJgfqX}5w%%d)mfNy7@E;M~}^&29bSyVqNj zZAz+Dq^KZ>&M2j*+V)Q?9u*Z~gFiN@Oh~+;6@O5!Kq_d`Ht~uC<&O!$&iSrgCuu!P z{`tG-ea?5z_g%ko_woC@Z+SdU6MmTO>g=)DvNtG9FGqhXQLsU$xeiiAipZZ{F7YjqqK4aC z)Ub3EDbpnid}TIlyvQkGi($iVDQR>Y8bLYqtUx)KjDSNJTNB2{1F`fJ&F-_*IGT~u za*Y!$a?T^C6*+AsPN)}G6NbgLcyKdVt&xTsbA~H&@)bE}Dsn!uMt*WbKWpPL)^f0v zyvc+2lMgV7q!YiAnMzvR;*Usa0RH1RE%d{Z^L`r-XcK(qyi4eU+gy)g z>t1p-hkimmG#F_g<8|&)wx(QwDh0JuPg4FWiky!=$+(;TX|k(B?U7 zBpl-j|I_o-U>|WPP0`Bkr1c(x-PfoV-L2*dEGZ`vSt%p42{`Xwv#k(tDjvvV7(Gfv{; zuv&B2sLnXA&XO-H#Nk_Ce3D$SBmu3&D&7%nng|lX41!*j&1tf#I}3SomP$w(yM>rM z;p(Rt?CEt4PFXZj78|2Z5G?_9wZ*6tE6cT;1zvg#F-P1y zg6{owjvdOUCEP-7E-$a$Tb3cIEI}GUwD6yDEbB5T%W~U{w73KN&Rmjju4vIcu%mvf zFbK!%Pshom?o2Y7*JEa`Y*%-UmgfV5-3@yh_6iTcvkm{Yk;(ZEc(*awl`qVs6?Ill z^|MOj@E{C^8sYQ6tvC{WjZX>3;f=%6w%{I=oC=<_9Vb8S0#ZHoqCkcv9 zPP9a7tqiW&=blc$t1U+w1l=bo2?;IDsfwDwhL+eYEVee=C@LnypIc80kHgls%B4O7 zzilhltrL9V7P#7WSa=$;?Y$LCeHNZ?zZZAM6&_f3v|(-g%e6g25%AicrPYSAE)#7T zmcv_x5x5k-2`Bjb@IIr&%Q)5#ZQ^bGI}+o$a3Gpqoy=iVW;I4rxTf>X#+00cj*fV| ztZ2+CQ%HD25YG|qIXK)g@8s7DJtvp_4dCzm({Aq2MiPAWBCY;HKnCY)ig#srMAjrF zt(MNqve;iq_9X&tBoE(pp6cPI{!c_JB))IsjgKxWxjX?rkdrQ6mT&NvfuqwiS z^M1=zb;>nmpL2^Iy>9)*eOoG{WJRl9oiXln-6j>Z*&Hi(ARZt*l7Eo9R}heJ4u5oS zQ6-Vka(N|*?Zq_{iGnIKx>rQYLfH&Eg*x*k@7Fi8ncHUMWxl5PRuR74*ga7&JUS

puC)ghS=&x<2LgQQ zclAZ-sh8jv1bomo^z&=PAovCz=}8;I^cp6y;(CWTZxOr=e~<;-zbX&WBR?PbeDaaFKs25ndBX!$K_lz4*X>&}{#>e% zmVd@RL?Hpc>hIxGu~)dd;)-cPhxdJ<{Tnm>>p0o{K~wBfQ|xOKK74I4nZv6@UhRQG J{BRBk7*QlfO_V_b8ZwcX_<@lRjfp1yAU84LCy77&z>rAH^t|VGbn75lX(&ID|rzMC8KMn zZ`YJm3#yP))(mB?$a03sxD$)(-9y~eB^%=$70?wP^cI9Uy zHDtICGu*L!jC4P%=xovzxPZk!YClhOMkMXxNmozLRf+_gGhy!;yahGf;m$Z*KE9T~ z;yCy;+5>xx-fhczma1vV{LBPvv+O9iVf3zA-ZQtN=i!2t#*7wt47E}nyjt)GDTV6= zx8btsN0W=^#$524xz5z6o1d72fog6Bq(bIKsurOR!H(cTs7LT3U;xb=PbK0hs;~y6 zM4%?Ld;*}~;?tx1;E?5BOFOci2&)nN2yGlRTZAfM79UgN=@j$BJB9vcww=2*ON}@w7P5}ViykbL!b2wXMeK}n?y3*&~MvK8ezuv zI#~xjMK!MVsN2XvF>Y@#w;v^h%xl6_%0;IE>+YrDBZb11Pi zQ$q_=@8NuIDJ0}1n6!VSmqOyDaKZNC(|sN2!6NXb>_mGPLhl3CpcN_UaTcbbP)bfx z*2g`XoidhYp(IrlIZCA>T`z|BL3fE{6G4I)qyrKqUgC#iC9d>CoRCZl#i-aVWC%kX zG~*^&m8E<(fXpB==3P`7PpDYzY}{wijd^bo7?7+B3xv+i;3#$bwBm@Y(oif;naskm z1G$yK7H0t%Dt$q(OaR_(_Cu=C0(Qqv(gwqh_MqsIk@*Rw0?{ulgv4G1nS)l4N~=`S ztm9)iVI(B0Y%My)qL&VVUmRXC0{=Q%8p9|Pb40im49qNPeOyZIs+{&7#$m&7uq>1L z@TI@Y))6}f;wh%kn})|LDt7duDQE*rpq)h6$3ZfPzwG3TQqF2cu>CkH4ewX%Bx~Sq z#hG@DpjpF=iuH~h$cE8uTT?2HG8xYjPo@_>Uo}X^puF-9Ny9&ttt&SFVR*D^kROvb zs!o$5(B*7eQ8@`IXFpe7b)GUE;h9W$fK)lX;Y3=Yk=1Oa(>28>sDh7OkMW^@xSC6I zE}6~Xt!|JG<5IUHOd?DnI(iW88oAk7>{PE20yr~t1`XvCdyAC=xUgAd+i2x0vQnspsV(!Jx0xzl+|!7q=eIq zYK4l*Xez44coRNP<$e4{RCq&{@jFeWEG~z_F&f^Nh;vz#N8wCT{YKISPHzVpfX&`L`c@nlm)lp~u^!REFQOE8 zLkHwEb2!Z#G^H{;aSNJ0Uq2uhA>Pp5o*k&4OBO?MP9hhOy8vG{Oz4wefQ^k;wu$LX z=n~eaXkA9YNE0PHC{^RB==@t`{*K7XK11yl1QR^f^tMk#`JXIiQ928j<{r`yPc#qe zxy(Ye<>f=-C6--_c=ZVoL4_CJZn>o}>bIP5iP1PlvjpQwif>zfLoY~5vMsrNG2|8w z;3~CsidS(9Qd<$8M#w4TRpbzE!+Wg>eF0aYT)Jetfu3s!*Wo9rvrL>4gU;MU`UaG? z)wW+p^E(c~z_L5_E&37u%!8q}ks|S-fX@M`6|S|NtJLg4d1O2xv#sKLLVR2>9~^D3 z9uV(O@v0EF?kI*5Ehx5MRA1ze;rOw}1Gjj2nq_@59T`v14eV#G!4E%W@I*%|xqC_K NPzl`Z{KAL{{Rg^kQIY@v diff --git a/recruitment/__pycache__/forms.cpython-312.pyc b/recruitment/__pycache__/forms.cpython-312.pyc index bba0bac7017df0f4be1b5d51a2d9669c0ab20e98..3f269ca58dc20bc4ef1ad547e6d056f84ab7ab89 100644 GIT binary patch delta 8055 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 Z$w70nSjU&m$OO$vEB#JSxekxz{{W|gTqFPh delta 7806 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 diff --git a/recruitment/__pycache__/models.cpython-312.pyc b/recruitment/__pycache__/models.cpython-312.pyc index fa577345e98644ac5a4d29ffbec3c1e1fbc58621..3cb77d19c95163fb8a5b3a8519edb788cf9b4a19 100644 GIT binary patch delta 24014 zcma)k33yZ2m9U;R%eHLEw!Cl88%EfcH;gwnChc|!w@#HKn^muteP$TF(`Vm8) zVZ_*H9Et0T<1~Us(0fcH@qO_uZtx_GB=#kanET8uZS*9KB=;q=c$~*FV(qiCxXF_; zlG>Nb;_;re5nG>)#S=W~BN=@eES~7e9Leg-VsW!4dnBi&FNYxzefcb&>?s&2 z>??%0MX-AKk)pn$k>b8$PNUVV)d(pkG(xJ#9q6LB?@gmu941RCgQo%9riPc5F?c$_ zGsM#KI-I;l)3=C0GXa{VE*&gq@N9tRs7fzp&|HA#si1ZS%?D_K3c7?r3jxZjpcM>S z1khp?w30zf09q=)zKBIXW&`@*Qp9GWzc$nE}gS(4Gi7@@MWsf%NVo~piL@h<3zK)<@Y#K zJ0}@Oyn^WQK`f4lhehHO?K(-n$?fw?`VRMiU(&UWPC%~7?;a5Y-cix6l@hu~wkDg3Isrj&>5_CG>!fr`fs^ zI<2jF;>iqp)bJNBhmIR7A^h;cZ2G3LjQaGY36jax@ADJafS*eG=B1K;v*>q`Vi@a6)rEE%TI#EQUB)0ztPuk(6Mf6oWFlJg(lJ22n}x^NbI%BBUI%SPeVIvLZn$ zJrlRr$TG6%>B=_xj_$lg-5M06Pw8u_%n*^{+S_{C+d4WW{kTsgv5nSZqZs7T0z)g$ z8pY%Q{8N7M;nUSKN|s<0vZr#CoE&=Gl$~t=Xzo;+ z0?i!)3i$@tmxsA&M!_WJ3Heh6=k;)DO0RCA;hOSME&Q?1J4HQ;q3gr=`qSOa0pNzEW9w4X5bwF(`OUM_S(xI*ZH zaHX&o!d2pGVciMMdAYKtuMN`cRp~X5-k?giLwaK*4GgQV0|1*M07!R2db29s1?g^8 zdM%{4sM6~oy;YT759w{H^ae<8SEV!? z%@iF&j!M3CSxse4O$}egmo~B3Ik^W?PycLb-qfd5!s^f`^XcYQ; z%^kZm86V+C z$4B}_!g~jK*VvfHJ-~RWk9T=I-Xo%5*AuzrXk+vrQ$1ETD%L{|=Je5BX|0LMP)QDb zF0D0oJ~{MIV>aiZFHhv^0sD=#ZOUdF0&(OU+>{|g2$75o!3c~*0S{^WOcQZ-6D_he z2jL_!`ur~cxQ|pp?~=jq_It#0aOe!;dEq0~0PQ{(AH!cIla~l0agPoW9JG`M$5Ox7 zCpt%6BcgN6GfrF{f`Wu(SdY6Z#j(v5eK8EUS7!A-DETt{^R++#hlQ=^^s1Al>zSn| z&DRSmL#EuD=B$%lk8L`&=@Ca1&lmbL+X(|X3{BB{ z(wA~}`lWQ9yG*~E-pDPcf8CxIo#tkH@h{Lomo#q zseomJw|}eG=ZD2|_*{p@zoUn;--V7==e)w%PGCERF&FXse8`)49F8%sh5IFK%R2(& zU7eFnf06gYJnWF1#?pE?qeU`j{IBFM;@+pf%Et+&6#QW|ZW`eDGx#T-jAPYkee>9O zzsKzx76qrvPw?E4k_NqG#OW7D#yr?|HEk@?PjQu=YC617Iw4KcR)+8T(Z$y zg+EVE!A1-q1h~f}eZSZ1u^Y$WDk#ZN7Aa39jPqD?S1>u@o>P;{i^@34HLAo>QN z1_~T=`oYXhI$E4bUB#swM_(?_}%;*3zc zRH<3N=p5G#oQKsl^^2q8pxf`8Qwuw{(Xmn+9Vjj0%=F<>K3ct={2$1VG?1mDa$sIC z{qX^u%-ja4qpXj!(o@+4OKnOVG{*)@&F3<7Cvw`-eq-V4M(f)UVDCb4XNrnL?(5W#4XOk0d+!-D2wo#vx6%LfC zkaK>yNU<~^6kjGZc1&~2sIl4}3!VyIvy@I-O0QZLg-nYGn;F+j-(HoQAaDmkjw0NI zmR?+*L5o*s1P=nUgtJH&Sld1<4jlCH?!h_Jj*e`UXXD~WMA7f#y@VH!4v3;4uhNL? zDDQEPxcv@-w9*Unw*pKxFy_U#NC-ReRzep?t0r#dQ?V80gZE;*Ey;iq&8veJe4Vl)G#mFKDpsMmi$qKpS zoddbu4-7kf170G6TyOS{`^U!pPR7t7o$T`xzpLLP$|VAps<{B5-JikOK&&4f z^}^90l0--nyc3hJU=T(ykZXWhVaa4T;ha%K3}ma8b8Z&gRW-ilQ0JHiR!c^s@@Y%? ztNzgPJu_}{)$N~Y91mH_uUZaYvjnFt!CM+ln|8bQjz(kc(Ly4=N6Xm!07pA>Y+Ort z0W*TIMBybyOzW27+VBh(1vtxqGr5Mub6Rp8hfh^=P^Mr5RwRm}z@ya@DO62lp#pH# z*7)++bn@8l7f)M?uUYKV7W;+xki~x0(h@SY0CfNtzspedokv|GbGlvwveiSzTuv()2!z8H zEs+gzdC0WCHGB^kqx=&v5;Wsh(76w)fu3+#32qd%5gX8oIi+CeD#M9};MINq#7L;dk7inYpNZv^-F%5xa+3Xsf==EYK zH&#jCEMFg7f(0JN;86_Np?(fyFJbU12J&e*M!aJp@lTMq5%xn2-ofA}7%-;#3yd)m z`ZdPh$KW>@{1yT!$>|*Mz)>|I0yA))++ZQo}~NuMk}J9=e^mM(cE{(|jt$2}il-Ce3<5jLEk!cFP2@+ggKR9Tx^-^p=@HIYW;&4808xBahVLBMUPjf(T}Th;<8y9 z6d#aw)a0b(vUHwOFQ4wNDM=|{&_V^u(=RE|A{F%Qni9@N|6fggxQ3$i0Huh%7V|dN zR>X(T&AvkFs?MTM)#mD8y!5r&diM9arN@Z|mygBXg^vw`R8U{`ka({u|iln)u3o2D(U-`Y(C_5sq$7THP))2s~B{(SR+DP;acld`E8IN zT!opSAc@XvO}Haf#c<^fs#5Jrmm5{k4h6bN1?^Ozn^n**ga%pn-74@}0MAvY)W@h( z>gTFcm_}$jXoNNjJ)r;D1oeAW>Xprq-l0l&3p=6I7J%*oDBj)i*S8e__o#|(gY<4y zdOOq7^nkq5M{66tvY1Fvi`>NEUoiMr2)ga2Sc7`7_L!Ct&KK5ri}!YL!ceh24q7+D`-b!x!h0zYv>;u7ij3O zjahjy4H?6Y@X$ybt!oN5QU;A2%>p9`%*r@_Rv$Lyl*BZY#Dq8yE&aU{a5|Mk)lOR3 zTpnZ-uYe@zhi>9ZC<_*ifx=~h1(k(c9f$&;o{DOBP)7g#ClCY@y4=L)=et3Z0V3m8 zY#cKK@tZ(#&cMAAZ|EFxxjm2%Hyb&h^gv89Y#jy#JlR6;G#3RK+s3+Gfu!xCZ+t}L zx4J-mFF?H=k$Qo&tzJLe{oF1O-yXU21(M~0e9!m@YQ3NWVig;RJgIGv1WBEB&&J3a z>{SXa<}~!NmW=%j!tz+Ds1i$_6YeL(i6OUcPk^dFfDVZ93bZ z=(uDp8Pk2;PuD$BrRcs=1s$lk^pV2@4j85q3kn7`m}$O@_PCFem4$XNV+Eq5l%N28 z%W zmp*vX{Hub(N%J#awU%o#b25I$ydjN7T`0#HnC_{*Q050DCVXwgZ zy}VEK^B_#}KG-IY$U{$6tRsHRJCj3^H{hDqmK^ z8ZbE&HvI&y)(Qly#FfEigz?C?%6J%nd}$4&DO=-EfZxFii=YDNButt`6({xAO!?EM z{4)d7rsC@+^JDR+;zLFCA%5w}`2TBaNMgKFG7_eBp?`NNLvWXs%;{U0sbPj0_qNXkMKu8+Lcuq5z^&Rr6gmz*CRTlMAdDasV#t(aS0^d zkm#51(%p~@-=#?>!~^Nk`KoHahBMBWXN+1HSp##;vUu9E_-y`VPPuLV+^fEA#!PPW zQU~7)DkneO?L8`m6RI&m<1)y@MPN|$`9P5c`QlMvyKZrGKm;`u@51tkCXmB$!6Buw zdQR`4Gg@>A#>jr8i_`2^6b8y1*W(=XqjOxKiSOfF3!ss(#z{TbkbUJ9-Bn9R$kYM1 z#Jf&*S#3jfD;L*P!5-RqP-7&B7TX&t!^2@HPmenEC>d%_Z=GtWo&jwY9MD&PPG*E1pN5vs8oU)+!;z!)0%wR*rL*s5DjsQUeaudi9{SMG6x<^4Zc*qGUCu+01 z*uDoNimwPBOSW)9r46hRP%Xtm`9D=HMJyGE?5&q~T(z`^OzkmC0hB=B^TvPrYHX;j zXSm^qU3U?|9RS=WV1R-(SS*|8irc_4x6VB@?3v)V$!c>^D6Zs-*8n^UusfuTsIJS0 zQY9!Wu%VB2-PLUo64(dy2{VbXtsaO6qVkJl;TERvI`_6K4OcDeL#Flf=wL__xkmwi z)&_cOYjCb$#PCOu-9HTKI}j!SB6wlhL1JV_RG2FKd@PNlZkfTn9`BG_1e#Cwd&ivh zXkR=6#w}lDqA<_xs)_EziDpHyeQu>+-gSb_m+P)tR)$O~=S?t%N4GV}JbFMy!fb9t z96&Pxj6Gs8n8U5%?$0v=ojYO{DT@$t3}1H7-N6kF{30Hi*(mSrKOheHBe)vNxY+T>I5w*4dEb~gfaV?^3`d}! zgfq$^rH11!C+PAA4kA{}o8eYwj_bo2=0#^Xzv4gNb$Tlj+ zfjq#-aL!IKWjxzQI5391z?tz>!r3G9I_wsJKpm0^Ovo(vQ}zwEO-hG$_b3N8s5|8v z>YY^gtQ7byPW98IiJS|-hFU|W)_F6HA;s3(IyEVJK&v^93M@u^FddK-2SGR;9hl(Z zcmgjbV6h-Q!5v8eMjI*a440X=Z*1F~xNSM|wynVPHMZJ++;!JlFK_?f9j{GnD*Yht z4DxVU!+RI9mm|XybI(&A%x^9pu*?h06?WGl#X~|I9r6$Rqy?x8iOYp^P>Zopp^DYG zbGLoSz0iNv(i}2@wlIdEVmL+*q8ei)`|dp1Kd!utiBn=MLK(OUm?x4GqA0BQ=`NA4=bHPy=U zIE=|7R)T?WbinNs;eGbWetYcFJyO+E#DaiO>hrlg?;2DNq3UlY7n#Leb z1I4&D+3@O^SNVT%I-e?(F24+W)fO_feb!#BXm;>hi5G|*glb*@Z#lOIPU}H9wLBok z4R}X@MnI4RDp9z?K;$HVb82ppyUb`9XOz{xTB$p?rWTB-k?G7A%G8IIb+~~B{c-fv zQ1&{zwwt^Tn~%olLDZBmpARV>bpLWRR!kzNpmacWhLIqp;IG{4zCc?%;A9*OYUHV>!U0bcC37v)E ziMMwKR`_uedh#%q{tAxtL7a{`;PsAxP%YvC8d*$Jq@UUNss=rl2JSg5`!;-DyQi$)-{0JifMg=wpmM8tv@HC zuF>8bs{zts6N$azQGdJaKSwfg@C6u@VNij=Q4CP6C|kc!9YfH8fZ+bhR>K1rJ4iQg zDA4LSIpY`o6odv47IFbCkYVe0FzKfTR}hAkeBskC@fi(6^~?oNQ*bx zgYl?>W9C3`8v<8hS^1*DDrvs)esHA#uM%hfgcHteIHQ?2mZXEzjKtv}*Wf_F(OpBH z#3bq_04LG2nBX0r;LVqy_JX{D`P(ptHvxi18M2cLLWp7|F=86UFR~8`6t#`5XR z^6Tm4U}LaBO7;N6hNvCU;<7XTlKhj_%+%iUQ zC5LL+_%h{pn}lu@rzDnrjc%v;X|m0ai< z?WH)Wc5brcY}(m@vso{6W3l#VAMMdTmdkA{S6W!Ev=8$xo%Ek=zmRrz-3t#+7cawB z<}O0GFSnuP3|pcWrI{9`nbtGySaG3sUlU&0HPNB1i409=STzZ21AoG8LhM!oJ-wyX zXx14PeUw0_w;Yr$B362#H~Z3_tsA+O4!|$T(2Jgvq#EMA;C1dr;lxjN0pbI5jwAaU7>Pcs&m~ML-DZvIxF^Jlw6EMm69c$i-$u}|h00JoiMIbNuV!<*zjcceM z1W8C{mw4U~WK`rf#-eTvG4nc~fMw1@uuV%Xz0VXe%Mhjqpq}!J56A9kb@V5_p9dFq zuo1-3zZkM;=NB{6SV~C1YWSN<1Os>Qi#&a8hb1v70_{tp+>Y$HWUMJzXwi-|s@++T zXpQ7gCDDqVC2?|FDa;5yyfY^~4jtxMoiwGSjXnh>(-|~_m7Lj`6HaHcv}so)Et}WD zoDQ!A&p?~O-^6#M1j4KzP77`Zf{7Z zf7sPP|MqEH?L@pi;p6N+IC(eA2QS!2*a0k?f~2@3E;pXXQrs>%LU-N62c>urQPKB9 z6v!ZSv5?&oz)-1eeee42wNf02O51xoJ0wGAcSmOj5g}JGoXAKkCC%xXT!!rtQ5b1~ zvfw71n)~#&GZWA34W-(HC*#yfNLe$VPC3)~OisvJa?)_!R`>!pS@B|W$mTc|FPlw& z0IiWQ>3YZ912X9{GhQGe+%dnt0|bM;I5cMZD#RGl*vAR58gPN?1rdVOavB@B@pORK zGYah>$}%$CNB8coC~AOiB-2*#j6t;$w8k1@q#h>ev%9ybJnC6h6d-`YqaCxN3V#6a zb)ej!Ou68*&4#}q?WU>sF-*3P!xEBLaP~+m-S)f%N%t#QfUQxKh*5VbC5*`E;B0aW zqyk!y5k9TV4t3;n zJ%+en$6O2q-1SL_oY2f_^@i#*#%ozirn8pJY9MjTOyAs7TEU!$df(=*RQ|vMzCfwQ zV;jKnCUw#2jB6=n(aWr>P9LRvu3Pi3 zS<9xaWwVJ!^fbDY${BKGWO*IAJ@?P_{cqdpv3)r?K)EJC7oj(>JmQ@Ketq%u_#@d| z0=4eX3>sJ|;{v4;A;-*e<083&X(~RVWmigew&1+Q_Ie0C(a5}m0x+(2?YSvSZ#~s(x3z1$X=-%0QgT;7kEeL9$#8$q!d8x^By#HR!PVpFpxIxeYQ`$(;nwu$_|$?m7}2-Lo~B zKJds=lb{uJNMzLc9iINdWTCso98O1nx34W;C%}JjU>j-8{+F^|f#LU_Q#*Dr9=e78 zZhuh*t8|X$ybV zQXDcBLu+usr_Z?FDV19zN3j)b3N%t$M-5ZNL{$Ti_OIfu(I59WXWYiQ%vVQb57fb9 zn@t0v|~2~4>Vm!bkj$KlIEyyD`&|5$jAZdK(H=MI#_uC z`c!_#aO}?SBIlQJJ~ z6niRtS6p9;OWaG)vOu;#pMex~qKcU4Ku7=wwcpW}K|2tSFi7{Eo96_^_u@Bl`El5u{4} zbfjX)!Zw|8aUD!e)(f#=qBuoZ$B0Ez5^w|XK!JyvZm^)J@Cio{MJ0K;J_cAK!B9d} zdW8DifJ$3?=~uxj&aO$Aw=kwO(cA+Yje;JY4eIHE14Ra-5I1F_rw^3G#fy3&VJeY+ z|3HZjO3<4JUf}ffp@Zd^x-@k#j_Y_5M^gg<=)uOGSKH z`YPlG61(8;$L|;e?UDenDf%bRjv&&u8lloQx%$H*4r=n^_aD75pq+#Aoe=?E?xO#2mp+x3F z#{}>`DvW*=oR2>qJ+%pU1{?-q<9ViKgIOqXUpM(Hj%*<$PK6Cw3Ot2;f+g5qEV=Y^ zZ=%+mi2D!XpN1rB>AxPT;a;VgJ^7Vwhy`;F8WmX;ibx^uQ(-p@%*lwT-U|-}&pI|p%);md{x9_v9{3;f)D68)j(Lq?n zp<{3m(ScyFAJ=V)w%;!w^Wy#G1^Ct_Db8j*w&|8tV_STB*|oIt>9q0-wksVoY3u1X z@3*gn$1%O3&EibP;IS=#(nmDWcdQ&ZyvqCp+a6FB6e5ZguyP(+m(lSD(jzj#mmer% zsA~Wm*U=C5@xb~KyXmhV_+i3vXjMjCI`v>NcaZ-4!SuwX(0bT=m?$G(LLYLp*n$KKoEP)I%%gjfZw{MrQr~25maAwS-B}965{4X~}=W zABj7x$j#WsAL;oM_1qiuy%YAO(e9X7vJ(3Q^<|h3e;bQqOLN9SS3X<~&(uaA9t)or zcM+|b6vSv^Ikv@?m$7NKQ3Zb1m06d(kJNB_cyQlHUp!gIdte5=lGO)a-2vlTMC|mzD$D#FzMiv`+D~;g z0Ix5>*+!M-Q3O}Ut`dD$!_a?9zkDhqqP|B9?9@xk=_jWWGSHeoXZf+^hiT!XgrVP)RmH;jb#U>g9aX3mCibfEk)mb>=CY??mXRKWn!LEm+Yg@oL;T^_(r&^e?Q%o z9@Pg#i}%p3$Gh!oVY-3Do{7-`9U6eRK4wDgChuX9g>Yya46X=-_9sf)Ww8?~ciXdK5fKO^d=06@ z7?TteeXI+oAD`mLw_UoHmK#wAOsc4#E;7njT{=mZmN3DK5oydY*tTOZ^WvYVRz`^t z4GLVBGM=o|$8AKE*`%fGzqV#)40*7z+>81B7_gG48YY7n3}G<0GbyQ!eUc$!qIW`( zNW6x5^H|f_Wi-LX}5+b0K z1Wx>30v;khA1W7mF=Gc-O+f7}^J?&ucvuL@0#1gN4}Ex$&u$Jf;XEIW&)vRM7Xnnbvv;2WOFM@T>|rM}HPm`5X-1ucuYt zDz9W@g=F7tpC@R?G8KC4Tef>qZYE4&z%&KSRup$c?DwIAFWY1TvssX2XcRtHC4aPz zoWW|*J&f5owig(PdOG{9pUIf*g}2t(^yas}XZ#1O{3H6@*?U(p+S8JE0mAT2Mvi$j zhpUpZ2GkV?(c%|b#AAB8{9I|DjQaClW-F*K#bYIQkCq7%dm~>&>{{r0dI~cz2u{Ha7>OF6u(-&)!lE4ZDBgP+S2sfWE&oxKWkyxJ%TGt;arH6K;7bOXb)tn6_ zS$Q-KLSv*9HBXr>cx{g6X3*Q`^Hmo01p3?a^7~?Qy^@{?Lf~4Fym?h$jtE#qZlyn@{)r< zH;|g}ksslfF}!&ccgD(a0nhia5g3|gY*rBq0?Bd_Y_C@b`%k-GT9L}i;OP&<%kKGm znH$~IOS^KJI{7eUEx_>$zFWY3ov!#UUIGA#xrgWrx^lc-DG&PSTVKdd!bgyEAVIW8 zD3BptpJBpaH-4P4KH{L)6ZY9-)`y587kp1e+4_JS7(Xf_GB1qo`3hS`()Z(_(Qp*Y zK$ip&NMXTVKn~grsS_IITV9jV+n0R#%9%9Jn5&|;iSVn(IQ?8rLASl&(@z<8wyeT# z@oWjoes)Z1MNcsH_?LW$+3eK$3Ji^W6$89tNM17vdLk*o*>$~3R2<_T4 zlfL&@H_f@QwFy4Xk+SXBhL7}|q2*6T1AI>d{M!;_6$1`<4o^yind0wGZwybmeT3Hv z25P+s-%F4Ud6gHN<0A0`7n>8AiUIOWV91-g$ji*iD#S-fAMFwJ*B7hdlU&KKlXNy;nTOkXL1!jlQWTL&!;zES+V6|K%=n28j%ppcM(dH z5|pTq{2St869$awBrEhNJCrbHgHix(yC;*9OX&{s78V|4O@di|%p-z#7<}0^5+!cP zB3-Z{AVlQig`dt`dTcdHlQIb`%vc~hkQ3nnf-;K8`Sug~;;VJJc)ZQoX65KP32bO_ zl6FWtrMN;MAF}A--E|BsXoLsIDj4HM@D;+3GZ*N7Gk!sq@xyVP04jwDieFN)vW7Cn zeH$j+O`e2s9_zt6=OE)hT38&ZtN)`QQ?#n&=*q5b{zo!5ZZY~M+L z`&wCPXq139#A-aY4m>F{7Dadiy3T|;dath8F_XTNR=mE*fW9*~>AkO)(1Wj=>E~W= z3?hfv#Kp1*97VUiNs1Q^z|$bFL+EFkR`~dzoCbd&pZpC%BU~$i^~$cph+)hHSu#fo z`rS~{1aQf!wB?Y$jEoX~sk~59PHd)QaD0^ArhFuk{^fNZ7)bv2^0*}W-1qXiWO@wZ z7W%XA6=Ykn?G$x)j$!|ZhosP!?-dwRaYU7L|M!Z5X&BvuK{^H*5J(2*dn13OxE7)8 z2uj4AWN3g)gn2SCPYY(>WtKT+hG2SNrkG-?68ZXx_YT73SSAlLL}42noGa@}rsc2- z;C8=~d>^VnKN{Z-2yf{)j=Q1ByP+w3Ps2}Z_#2v{_cXOPG!^Xs>KmGx8=ATsn)(}> z#Wys|ZfF|c)2x~`nz*c!%N|>PYWb`NqO&$FcMo@R@G;LR&#VUHvnFwio@+jBo7Ldo z*?yCj+r^z8e9H4UE3u24O}IzTHJ#SaYVhyuVUv~1Iqjd-z@OPg4v3e|YT(aoKbOaC z=T7&|YVhyu$`WoJcY5ip2LH}(qAhRmxrN*iD}aAzJGfS^r}%RQa(i-lI@NC-u=Uskg;H^;!YHQgQi$nZ;kw$r|Hx0zC!CmpD02i= zUcgbAh_ZMKj;d$~3Pn#L$7UfmJ3=^G#8Ekj%1t0F=2$CYZ3$RA$L1k6KLK09u?2`N zOu&|MY!PCM6R-}BwIjAf#*XrSm2q?_q8$mu{yUojjUf8R$gYdf?Xj(W63Uo)|W=$FVPFHQwV}p{ewPjsvOIy37 z9!BPHOjB=SnOMMq8EW*4wGN(zB`?|_PyKgc7UXK?AY5|H23Kp!H?lk`&nHlTK+=0Q z1w+i!8)Bt|+oNnR{*V0`BB^gzP28g|R>JjZCV0VEt;-d)qIKK`UmKm- zdE=Itxaaqyq&_V46u{R8n?dg_5DUhQM^&)KRIV%Z7WE6`MR0@3DHOwFCa20iUIK5L z9I4jv(xZahQjddbYKXrB3RAkMMZp=vmBIcLS891ei!Rt}EL2sDJK?Johh~=O8ovZ` zQyrSwUd?qIK`>ZsbC8!-oI755R2yldN~yroYpJxR3d^c7KTn(&?E}xvkLJc}j%p(H z=JR@euy}xF!93i;Wg+;C0Bb;S zM8yaz>3TN@e7)YFq!Yb;o?(B8wZWl`Y%Qi&Li5yy^CBVeSnEx<{RwC z`Zwj+8fR(*c{>jv;Y;{GNR6RF$SN6IvRi*9w`_OHnW8z9`uvD?0CVmxoumo*LVhni zkXtL1!JD~u;Ut{TT_`wU&22Vlv0j(5gILifw6ijJ-dZ8N1|J}FVD+pCn{A&Ugy7jc z$DD0Q^4WjmAER9%sj3%4BXbJm#y&mEcoWTa3DDMz5v36O!X2}tu)1_p*u6~nu5Z5o1RBKN~gJ6Y| z74}%Iruo0XE=8+ZJwrqONP}+QAP#)E_acoCID3Qw__eb%lT4DUJ#lZq539;jB}40G z598*V4Z{;vm$d9dLiPZG0|e3u94GLv2&9yt$4|_tN9(G!pvkbz@IAhX(O zI!MW164(Z9)pqUUl+?m?)&9I1OiG!4-{2On=o@qop^VCc@C2N%9>~3ciqltn21mLB z1ZCE>Ffwn&C^x-fVnvP@mviXzqy(s|!4#DLzwT0eqt;D`^A`!)tP|Z+`ODzZnya;z z?0q*L+YW}>XLX0WPh?G5n&D*aU54pYU7B`h$N5b7VcmYCN;CIs1%hvkP`qF;ZCWX4 zmI<;xsaL?Er>y7{-8D+hNhX>MH>%%$Z;<68CafV$6|Q+`Y)E$-}z0L(%ZUiH{duE5O)W zn(VBYmCcT(dMxmAy-k;cRybA6g^%kkFxHT#v+}$Ro@tnC&g1F)XpQj#_^QESMpqtd z6veQ`;8^U)m$CLZHfFE$VQ+&?D1qx2*F@@;#i`(>#STrmSmxEhyv8i*YpOC5Yq3C1MGzZmcojm$!Wh>}|5ZgN^ff$z(!FB`>iz<-xx-S$XODrW*devuP#&z8lG> zH`k;iKlEy%e#LC+XKKlK%%AC*Ll{dUW-hj`LVs%VDNA}4)~<`yu7;O}ZJGsGx{3U$ zQRFQyM4$^4W3ZSUp`J#>COSY(m``+onlT@9fRM`)?*A<1{?FvnAJs{^7Sdl{ zQBt?>@C-@e9Q(_%fz-k67$&MfYoAF(ss41Ti4zuX**h0tZHvd+8L6Ox`n*SaQzkO z=fde_PMPm_5x$Gz%2roKGH=-1YEAB>Hp1w?klrDRnte%#ndOoZ*@<+>Lx)s_9tHZ8RwAu_Si87<3YgE| z3!PssJ@PbcMdBohk$v9+9REG|KS&F(OYv^5bzeT*xI5+DqT+)o2LcJsFS?HKj|u~P z*|V^19En{@$=F8=?;ga3mkelB<>U+xh}yjoK{%oNM1P+EzN^a7zgctJA}jeeI4MLo zqcVJWl_U4Z)VmZc+Nt;`-E!~9o{>{}E0f*r)kjL;9Ig~W8qBK`;m>al@ADT zY9l#cf7tq=6<6jm&QV}xG_W05EqbmY4&;i3&2bKH z92RrC-$B~QdY!@bx^d5qr}TxmUQci8u9TfvDJ$5E?*FhKJwIPm^#@r)aw9OW*QGoo zz{cKUJ}<>^pf{8`h|S^xHWBq6>c;{o5wmjn+dD zNtj7^fAgh(9YQ|WXbM?ew4B_%mP`Yl zQ151Uus6VPALAl=2m3>tgOYK(*Ry5N8zdPrT(<7=PMKUS`g%iBCZ3znYWqBHT+7}q zc%loj_pslRB{;lkz!xI7e$$8>Wq+`DMAkLuXjrt#uapJKMdP7u#^zIs#FmRCmn_yy z*<}P)68JsQeS#p-S0^3F2vi_RFjozSuludx$h^Z>9Br6NSpYX}c};1_fmQxjG&w&> z+nWYC13z4QUaPQFj8&Y@ET7CQKU{k(G?m%7bLE)~`ElP+gy`2*Riq_;*_oRlsf05yxA}@P-#?ZD!*1BIIoA- z0*keaRGNx!3P3-!MfMv$=h4eIZ%&&yIMgIGr(u63O*cgn7{=5U-53T9;F@6gbS(}C zO?BLatwTiExWOlS1NK#TaAG--&q^w|#f(vfjjha!)=0E(8o}BzLlQ9`TZ>r{&EiZ4 zN?w*NSfGJf!BV-W^J(LcMmGL1P4GoGzO|cqe1jNYSWQQEw8)i_{ck|E_N}b1Y5#}! zgiq;h{KV7gvRrJp$l}hWpEs9|ZT7HdsO8@vkc``C=x#bQvNbes>OLP%8{a*8q9Uz5GSJi3iTc>d!2tUwN;5gq7(<$l z3h?2C9ZcKO1ry|NbLdhzMH;kkn`cUo)4@&K9A+Ia%ZOpk@Z2^B92{0hN-|?57We|` zvp9Y1cr|W@lI>A!PK?$J>top51nkcn92T7@w`q;xZSc}|XSs~ci(&I)fl`}@mmfWO zBZaOaaO`jh%b|K%7F@NXPCcS?>EZB>f^0)nsfv<6)ox0lVr685;burr8X(&IzImm`0am9zs2Nyq5bSkTA zx8Y1?{{A)lMhd zNK^I|ZRoOb?`$r~%q#@|WyB7!ki8oEofy6qO>w6OsiKiQ>DSAO!!kYQr0h=9)$w=sOv-9{rY4#*4PUgQ&54Gr0d z=7fdZWDMCELg>Zll#rt&?@j%6I2-O^=105q^7U)4_7Jb^Fm}(~k9uLd2ZKcsKZNlp z5IGIWT4*bEiU4jVMQ|@Bb}6QnDoxow?P=>Jlh#Y7F@jQd-U!1#EOTPiMSRA5tZ|}v zTBXd??z{~3d1eJ^>hei*`7`s5ZJby#Wp14~`NM3%VaYy|YCe;e`EGX3*bcaA+MuD( z%(oeWCQlZatpb=|w<;?ID7kSN+_2CD+Nbk0YEd(;g(bH*G^i2A4RGh3rLgCgd>wAD zann%^G{0qsH*UFm!C@KKxB{-fy$GE;3K~z`{%dEnS|42<2HAtyAv|9wE2|kfIdO09r@NO3SHXw7 z>vIlJpD%P7EBDOD8w<}K`P|#-%1PP=lFscG1HEo{LfkCwg8hMJgYOJ}7Wsg(Jp36q zHr&okVu57v1>Jbb=)*hCxZU{|>eizOij&voJ}M#5NNe*H6x>k?Eq8RozB?Rtm8OcK zgjL@d1&!?+t)Ovyi(q*qP>5$G3=|5Vg8jzUe7&#ypi1chM38#}t%Zz&cUeDk*`1+oxv}7hp3ww-sam~pkfUlvQSRbQ; zxTKJRWV~T68mTB6cr$}{c)mfem>?e1gJi)tj5re`cnwL$F8K7}65&dC?cP4wO*t$t z{{mP&wo*N=#yjAL#!6t!kOpsz<>~ZZwP+YO!k1$Xl}0o{*4{(tnjGKjq};?udv!u) zCpDUZ03!~UQ#up=c3)w30Fz-;2l`U>^+W!EN5tYoFdNpJ4ib?p4{#UQv_SdQa1?9~ zZa4YqgX^+zMwj2y>)nipS}#L&wQ8E4KW>Y-Au^#sQ=zc*1mG|!vj>3ui zi{^f>{(1>pJApI7#;IAdW^6t`a2Nde8zJQcAzvWya{==9RSN-Fx$kBpzd}=VuxAC3 z_RSGeK)1hP4quQ&-9xHl~_Yb<-*Cogq2?MiJZ+Qo}oc#yk z{v82c6vXG8ae31-@77@-3LLl8vLH?nJ=){d3ic``PZIbQf!7H9n!s-eaOK4Xlg5!O zozD>of$K>)`(eX_u8Er-Tqek}`J8M&OB3wpqeUP}7Ne-fe`rS0Tn;@{qEV0Q(0AVV zkV8^T8$olEpQ7&-ZQU)1LH$OuLgLI*Wt6-&m$@Y;_HUtgBB^ORB|H0hyfw|?Py?l8?`Dz>#*C1S~QsO6O zPe{_^LAsB7UCENm#Vm)bFFIoL>4_@Czbip_cyUD5vMwfT3F4Kc#$tykyx>bXyK^^? z{f^e31W-zgO&*WvSy7fIBjuGTAatarz{Q7^@ywVuz0F@!&J@{J1_r>TBVssW^&%QXeRq3 z#<7lTM`c5z1lDjXx%`$qLsSS=aQB@h=*?js?tS#6k)mI+z`@mzl?q7l2? z_@?H8kBcsLHrFQ@59g7*=vrIhnI|eySJ8umzdcbuGwRuV*in#A?VGWE44InJPn!zg zG8N)8r!(nUk+|uP57!sUE*JZRX5#k*5_=k0k_1=S2;r}J~ z25ug&66V6Q<3o`>lk6xan|?06cH+gCi!>tpn1F}C9|^1>z^5|q51ykMyo;YwDGzyl zL8+MRWXnT(pO6F;H0u%^f3g(bd$Jh5d$Jj0OVt!xs{Td~?N6uSg;(vJeCuU`0xPoJB{Fe#+dUo)k>5F z;uwa}XNrYY@Y81;k@?C<-WG9JiC;!1=@@RN$YbWOKYH2w#FZ3}WD4RN1Pm5#_k}ip zzw-EsdPQI{v^+Z?Pr+Bh#Bre9r+YCJQBK15 zFnKU+4Qx8@ke?aJNEka_oyVtnm4Y|bN@2CARGUAP)fJYSc={hoNu zE8)B6mnJ-2iZrzPL`Qbqs>R7y!{HO1uD@Y(*!Pja-sqi_M(#Urm%CtcGZZzbr#B|_8a_`!9-{3$a?#LE!fnzJwHTA)1nE-YPW=}Z zl)g~b>L3~txlWfgSzfRU5f8eSQhf88g1igv5M5z@KhLUw~{DlfF2@-o8 z&b?6U;O+_+=%j9NfgsTJNd3>1vXJ*rEP1hAt^1A!{SN`|e0kZ1JYqHTW| ^DLVH zr_804jR3x6NFJ_~+QOgRL<9X8EmRy!bqC4Kv#ID|o#P&8=8m!AkeGa?9^mUnk|+3`kjb3hEItVKW2 z8w}m|idNVKx>u@9In>Ty37DbfmD$Q%0e&f3;kH+{R7G4|dU7MrzLrk2_z994_U?>TB5pLQop7{jPE9^DW;g4-o{k1#Rv z>%D?JSs4=`jst-T8$W8?DT`*@UT z5($z&whGk$S-wEzl)|hZ9pkqibQ-8 zS=n6R0AEbmr1i@4;znIV^FsbC<7ef|DfJr~wQjq2Q;_bt_>yY|@%cfJk!Oc5b>+wI ztc!?oDN7B!RmlaN*t4ZHm0a|adfG$<1pcf7 z)nqen@~5B82K(yL>3AwMzwI=o z#qwGhdfN$AZyQrH#?7&ymks9KXoJ_@&dnUpj3H4QAmc^!(kj=4ui&E%7K->2lb)iH zY*!8#r>?k$pAuXGKXis8*97$JgI^PbNjvjbAmNlN0&EM)Ip#)!j4y37&L!?jzFz!l zA&5JQ+ibpjNH@aor<%-MNpk#o>;-#EfMc7iu=1TN^8bJ&Y?#0Wq5vRk6!&ta6ujb~F}g(>V++X(id1$) zrpVitw3|pegX|3a`E>b0J#pm`Q`v%3_F|&fN~{Pd)Trj_VD*_|2%NELr_3Ah+7&V; zXTvLJR^+7??%r@ZwQw@E@Su3C?BzATyy5Nk^;4-Ec6Pv}?{<|L;ogS;bKmGrz(sEy0>qc$ZT2|s?s%8!iKNb^%QoJ<~o@9rr_cYM^R&{EIh&O`RYy86y+>-YkYf?nI5zG){GTEmT(>W$~4~Q5u$Heac z5QBaP)`~r{>{Iru#nka^4E8Pf{exC zJed3d??BJ$gl72D+4&KP&ih{^noF;p*l!^D;hTk@J+{)ImJ;BC)k3M5fU^$DlJH7t znOz!%lt^lT{-S0aYM^(7+-Y0I;F&q>>@v&Ncu+nY1=5i zJ8EVkP9$XgD2!dTx= z{CjzoE9$Y%8kMkUOg*ij@APJEhLATFnpWUvx?&Ed%cd3hnZ8CS7M2TRwbKgvPPf6p zC-%I2ptIzx)FbPG1fM%z|ZtHIQ&U_VZP9?4;kZUy0Ju9CG5-klY+i{7XAkW CqnL#N diff --git a/recruitment/__pycache__/urls.cpython-312.pyc b/recruitment/__pycache__/urls.cpython-312.pyc index b4efb3c48cebf0c4433a225f3f3038e92c4ac648..66d82628c22c4fc8b78543fca2e095804a892c05 100644 GIT binary patch delta 3047 zcmb7_TTC0-8Gt?GA($j4E5ME^*yd(q5@2F;OGqH*;tkn=AvOk<0LI_}%mQX@gBP-i zccoRuLsdb}Ug+K*Divw_;0meAzN}E6Dz#nBQKlNz>Pq|4r%K%uX{&u`EA`CzA&`bv zDuUzxKi_x$ne)#X^X1+B@xtF3jc0ZACvoQQ3mcA|LJR+s!e6=W^M%5qOPfFZL4V+* zTs>ON6H!F}4NOm}0Cvnlxe>2fnhQDxn^z(u`PQU+k z!B_eW^S7zLeM;q>7b-uZ=A%=HQznOeD66kquuWNRDJ&x^@HbB&D^Et?kVQa zUNAqT=7*=4A3bk2(xM+z_2X02Pfn`igBzdLeTE(xyZM}M|6Air{MClV_)Jo~kz87v zZ`X!SaW=j(7fUQRBxe_-=-QIh5L-z}iS?M2PKvpTLmEc^EVt}`ccF)OY!)m_QYyAG zPqA?+mQ00@@=eQ8BqCo?#aYL3I#<+qw&pl}uc-b+y8oM^IL|pzwxp~&J~t;N!rIlv zT*+)?B^rxHQd0PMdUFPSYpEP(8#v~$m950Rx^h_vw0g5H?)ZkZRn&!?xneSVmX|SZAKDNb`la^jdf{5H~N>Y8F}sX6$!tV z4{F1ZHr&;QfHnlRVHm~ifop3tW!p8WrFFQpE_+_%=hDbsQO2dwK!v58Sw+;6 z3(9vT)z*k@joArB=qAN!^fuEzsVHk>nnf%2qivsB;>0D+J-;GcC#8(oSb>JUHC6Os z(I@v$DMFao)95=^;ap{zk9kh!UCBCB&k*(u$)ih(uuN(hb1`=Hu|sX2#_iKYr(57& z;lJ1E^6v1Yjw$u1uhN>|z~V-S$qZU(Adpl5BfEYn^@dT=S$D8D#Gieg-x_- z6D~FZTe`|F>f9?-UAM67mh7Kagb2CDU`NBc>toM#yCLtj_fGq-{JIeLw)vTaE>7}VqlzGr7_3+XTqW1Es5Sk# zre6-erU*;qHNXk9Q)9{`AxVLIc`u|k+{6tx4^|W*MAiVVvzxSRx2VPSxVTQjW< zBn|KlSXudbi(1`*t2^Z0aYeXCHh{hfv?aTywuNw8NS;_%gfw{o^dXmFkA(I54))xU z1M`ZoKr(>6Jfr`)xQmAa0@R)DRGUU{6K#7^5mKZFXfM!ZIsV`WooJ@b?N zIy>`eo)~36f1DJI#js zki3ch<}?>PfTUZGjJ4Lr9zA;qy?XYDf^ukF4Q=4i25nClA7Sm8;fW8dm(f_Q({Kxt zKJ?>SXX9;1`eFT$92ivt>o~AZ*FWT@*!nO}2Eg*8T&*)R2+6RvWXrC7-(JF{m$F7h z=p-RvBT&whrOzRNn*#C}>+~qlF}AXNTlyfr6W_b82yNt5AmfabZHH7-9X8b+zJ~Vz zPB3W8XfLUVEu!4Q&i^FPDY#_qUY_dmVwYEbnVtVI&?r#$t=)&kK6#M6p%TzJpf?Xp zYS%s7bx)poLlHK}JkSN8T?Z{{PZ;+!h2^=2ijW~Oz)OHzALpr8gZL^vRj(^Tf-E!o L_PIoo{#W}qy4R_| delta 2074 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 xn~R4m@>pi~$8qD);Y|3_}#bIc^7nwFi%J)54 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 H1vUTxhh%-v delta 96 zcmaDU^;n$mG%qg~0}w23f1NRvb0VJv8&5r~T$CZFV~ + + + + + {% trans "Password Reset Sent" %} - KAAUH ATS + + + + {% get_current_language as LANGUAGE_CODE %} + + + + + +

+ +
+
+

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

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

{% trans "Password Reset Sent" %}

+ +
+ +
+ +
+ +

+ {% blocktrans %} + We've **sent an email** to the address you provided with instructions on how to reset your password. + {% endblocktrans %} +

+ + + + {# Button to return to the login page #} + +
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/templates/account/password_reset_from_key.html b/templates/account/password_reset_from_key.html new file mode 100644 index 0000000..2a208a9 --- /dev/null +++ b/templates/account/password_reset_from_key.html @@ -0,0 +1,237 @@ +{% load static i18n %} + + + + + + {% trans "Set New Password" %} - KAAUH ATS + + + + {% get_current_language as LANGUAGE_CODE %} + + + + + +
+ +
+
+

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

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

{% trans "Set New Password" %}

+ +
+ + {% if form %} +

+ {% trans 'Please enter your new password below. You can then log in.' %} +

+ +
+ {% csrf_token %} + + {# Display any general form errors #} + {% if form.non_field_errors %} + + {% endif %} + + {# Password 1 Field #} +
+ + + {% if form.password.errors %} +
+ {{ form.password.errors }} +
+ {% endif %} + + +
+ + {# Password 2 Field #} +
+ + + {% if form.password2.errors %} +
+ {{ form.password2.errors }} +
+ {% endif %} + + +
+ + {# Hidden fields, if any (like uidb64, token/key) #} + {{ form.uid }} + {{ form.token }} + + {# Submit Button #} + +
+ + {% else %} + {# Message when the reset key is invalid or expired #} +

{% trans "Password Reset Failed" %}

+

+ {% trans "The password reset link is invalid or has expired." %} +

+ + {% endif %} + + +
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index a3a4293..fb30362 100644 --- a/templates/base.html +++ b/templates/base.html @@ -56,7 +56,7 @@ {% trans 'kaauh logo green bg' %} - + {% trans 'kaauh logo green bg' %} @@ -179,7 +179,7 @@ class="dropdown-item py-2 px-4 text-danger d-flex align-items-center border-0 bg-transparent text-start" aria-label="{% trans 'Sign out' %}" > - + {% trans "Sign Out" %} @@ -221,7 +221,7 @@ - - {% endcomment %} + {% comment %}
  • {% trans "All Candidates" %}
  • {% trans "New Candidates" %}
  • - + {% endcomment %} diff --git a/templates/forms/job_detail_candidate.html b/templates/forms/job_detail_candidate.html index 7bb8472..0ecccf1 100644 --- a/templates/forms/job_detail_candidate.html +++ b/templates/forms/job_detail_candidate.html @@ -8,6 +8,28 @@ + + {# ================================================= #} + {# DJANGO MESSAGE BLOCK - Placed directly below the main navbar #} + {# ================================================= #} + {% if messages %} +
    +
    + {# Using responsive columns to center the message content, similar to your form structure #} +
    + {% for message in messages %} + {# Use 'alert-{{ message.tags }}' to apply Bootstrap styling based on Django's tag (success, error/danger, info, warning) #} + + {% endfor %} +
    +
    +
    + {% endif %} + {# ================================================= #} +
    @@ -85,4 +107,6 @@ {% endif %}
    + + {% endblock content%} \ No newline at end of file diff --git a/templates/forms/partials/candidate_facing_base.html b/templates/forms/partials/candidate_facing_base.html index c171571..65b328b 100644 --- a/templates/forms/partials/candidate_facing_base.html +++ b/templates/forms/partials/candidate_facing_base.html @@ -9,7 +9,7 @@ {% translate "Application Form" %} - + {% comment %} Load the correct Bootstrap CSS file for RTL/LTR {% endcomment %} {% if LANGUAGE_CODE == 'ar' %} @@ -27,13 +27,13 @@ --kaauh-teal-dark: #004a53; --success: #198754; --danger: #dc3545; - --light-bg: #f8f9fa; + --light-bg: #f8f9fa; --gray-text: #6c757d; --kaauh-border: #eaeff3; /* Added for dropdown styling */ - + /* CALCULATED STICKY HEIGHTS */ - --navbar-height: 56px; - --navbar-gap: 16px; + --navbar-height: 56px; + --navbar-gap: 16px; --sticky-navbar-total-height: 128px; } @@ -42,7 +42,7 @@ background-color: #f0f0f5; /* Light gray background for contrast */ padding-top: 0; } - + .btn-main-action { background-color: var(--kaauh-teal); color: white; @@ -60,7 +60,38 @@ .bg-kaauh-teal-dark { background-color: var(--kaauh-teal-dark) !important; } - + + /* ---------------------------------------------------------------------- */ + /* NEW: MESSAGES STYLING */ + /* ---------------------------------------------------------------------- */ + .message-container { + /* Position right below the sticky navbar (56px) with a small top margin */ + margin-top: calc(var(--navbar-height) + 10px); + } + .alert { + padding: 0.75rem 1.25rem; + border-radius: 0.5rem; + font-weight: 500; + box-shadow: 0 4px 8px rgba(0,0,0,0.08); + margin-bottom: 0; /* Handled by container margin */ + border-left: 5px solid; /* Feature highlight */ + } + .alert-success { + color: var(--success); + background-color: #d1e7dd; + border-color: var(--success); + } + .alert-error, .alert-danger { + color: var(--danger); + background-color: #f8d7da; + border-color: var(--danger); + } + .alert-info { + color: var(--kaauh-teal-dark); + background-color: #cff4fc; + border-color: var(--kaauh-teal); + } + /* ---------------------------------------------------------------------- */ /* LANGUAGE TOGGLE STYLES (COPIED FROM MAIN LAYOUT) */ /* ---------------------------------------------------------------------- */ @@ -111,18 +142,18 @@ #topNavbar { z-index: 1040; /* Higher than the bottom bar */ } - + /* 1. Position the dark navbar below the white navbar + gap */ #bottomNavbar { /* 56px (white nav) + 16px (mb-3) = 72px */ - top: calc(var(--navbar-height) + var(--navbar-gap)); + top: calc(var(--navbar-height) + var(--navbar-gap)); z-index: 1030; } /* 2. Pushes the main content down so it's not hidden under the navbars */ .main-content-area { /* Total Sticky Height (128px) + Extra Margin (12px) = 140px */ - margin-top: calc(var(--sticky-navbar-total-height) + 12px); + margin-top: calc(var(--sticky-navbar-total-height) + 12px); } /* 3. Positions the sticky sidebar correctly */ @@ -137,23 +168,29 @@ html[dir="rtl"] { text-align: right; } - + /* Flip Margin Utilities (m-end and m-start) */ html[dir="rtl"] .ms-auto { margin-right: auto !important; margin-left: 0 !important; } html[dir="rtl"] .me-auto { margin-left: auto !important; margin-right: 0 !important; } html[dir="rtl"] .ms-2 { margin-right: 0.5rem !important; margin-left: 0 !important; } html[dir="rtl"] .me-2 { margin-left: 0.5rem !important; margin-right: 0 !important; } html[dir="rtl"] .me-1 { margin-left: 0.25rem !important; margin-right: 0 !important; } /* For the globe icon */ - + /* Flip alignment for text-end/text-start */ html[dir="rtl"] .text-end { text-align: left !important; } html[dir="rtl"] .text-start { text-align: right !important; } + /* Flip border-left for RTL alerts */ + html[dir="rtl"] .alert { + border-right: 5px solid; + border-left: none; + } + /* ---------------------------------------------------------------------- */ /* MOBILE RESPONSIVE STYLES (Below 992px) */ /* ---------------------------------------------------------------------- */ @media (max-width: 991.98px) { - + /* Ensures dropdown items in mobile menu align correctly */ html[dir="rtl"] .navbar-collapse .dropdown-menu { text-align: right; @@ -165,12 +202,12 @@ #bottomNavbar { top: calc(var(--navbar-height) + var(--navbar-gap)); } - + .main-content-area { /* Reduced margin-top for smaller screens */ - margin-top: calc(var(--sticky-navbar-total-height) / 2); + margin-top: calc(var(--sticky-navbar-total-height) / 2); } - + /* Mobile Fixed Footer Bar for Application */ .mobile-fixed-apply-bar { position: fixed; @@ -199,7 +236,7 @@ - + + + {% block content %} {% endblock content %} diff --git a/templates/includes/easy_logs.html b/templates/includes/easy_logs.html index 284b600..babac0b 100644 --- a/templates/includes/easy_logs.html +++ b/templates/includes/easy_logs.html @@ -225,7 +225,7 @@ {% if active_tab == 'crud' %} {{ log.datetime|date:"Y-m-d H:i:s" }} - {{ log.user.get_full_name|default:log.user.username|default:"N/A" }} + {{ log.user.email|default:"N/A" }}
    @@ -193,14 +194,7 @@ {% if form.salary_range.errors %}
    {{ form.salary_range.errors }}
    {% endif %}
    - {% comment %}
    -
    - - {{ form.application_url }} - {% if form.application_url.errors %}
    {{ form.application_url.errors }}
    {% endif %} -
    {% trans "Full URL where candidates will apply" %}
    -
    -
    {% endcomment %} + {% comment %} (application_url comment removed for brevity) {% endcomment %}
    @@ -261,16 +255,16 @@
    - - {{ form.start_date }} - {% if form.start_date.errors %}
    {{ form.start_date.errors }}
    {% endif %} + + {{ form.application_start_date }} + {% if form.application_start_date.errors %}
    {{ form.application_start_date.errors }}
    {% endif %}
    - - {{ form.status }} - {% if form.status.errors %}
    {{ form.status.errors }}
    {% endif %} + + {{ form.joining_date }} + {% if form.joining_date.errors %}
    {{ form.joining_date.errors }}
    {% endif %}
    @@ -300,14 +294,21 @@ {% if form.reporting_to.errors %}
    {{ form.reporting_to.errors }}
    {% endif %} -
    +
    {{ form.open_positions }} {% if form.open_positions.errors %}
    {{ form.open_positions.errors }}
    {% endif %}
    -
    +
    +
    + + {{ form.max_applications }} + {% if form.max_applications.errors %}
    {{ form.max_applications.errors }}
    {% endif %} +
    +
    +
    {{ form.created_by }} @@ -340,7 +341,11 @@
    -{# 💡 2. Add Summernote JS Media at the end of the body #} -{{ form.media.js }} -{% endblock %} \ No newline at end of file + +{% endblock %} + +{% block customJS %} + +{{ form.media.js }} +{% endblock%} \ No newline at end of file diff --git a/templates/jobs/edit_job.html b/templates/jobs/edit_job.html index cfade4d..5e3fa74 100644 --- a/templates/jobs/edit_job.html +++ b/templates/jobs/edit_job.html @@ -1,11 +1,9 @@ {% extends "base.html" %} {% load static i18n %} -{% block title %}Edit {{ job.title }} - University ATS{% endblock %} +{% block title %}Create New Job Post - {{ block.super }}{% endblock %} {% block customCSS %} -{# 💡 1. Add Summernote CSS Media in the head #} -{{ form.media.css }} +{{form.media.css}} {% endblock %} {% block content %} -
    +

    - {# UPDATED TITLE FOR EDIT CONTEXT #} - {% trans "Edit Job Posting" %} - {% if job.title %} - {{ job.title }} {% endif %} + {% if form.instance.pk %} {% trans "Edit Job Posting" %} {% else %} {% trans "Create New Job Posting" %} {% endif %}

    @@ -151,26 +146,12 @@ {% if form.workplace_type.errors %}
    {{ form.workplace_type.errors }}
    {% endif %}
    -
    -
    - - {{ form.application_deadline }} - {% if form.application_deadline.errors %}
    {{ form.application_deadline.errors }}
    {% endif %} -
    -
    -
    -
    - - {{ form.max_applications }} - {% if form.max_applications.errors %}
    {{ form.max_applications.errors }}
    {% endif %} -
    -
    {# ================================================= #} - {# SECTION 2: JOB CONTENT (All Summernote Fields) #} + {# SECTION 2: JOB CONTENT (CKEDITOR 5 Fields) #} {# ================================================= #}
    @@ -181,7 +162,7 @@
    - {{ form.description }} + {{ form.description}} {% if form.description.errors %}
    {{ form.description.errors }}
    {% endif %}
    @@ -189,7 +170,7 @@
    - {{ form.qualifications }} + {{ form.qualifications}} {% if form.qualifications.errors %}
    {{ form.qualifications.errors }}
    {% endif %}
    @@ -213,14 +194,7 @@ {% if form.salary_range.errors %}
    {{ form.salary_range.errors }}
    {% endif %}
    - {% comment %}
    -
    - - {{ form.application_url }} - {% if form.application_url.errors %}
    {{ form.application_url.errors }}
    {% endif %} -
    {% trans "Full URL where candidates will apply" %}
    -
    -
    {% endcomment %} + {% comment %} (application_url comment removed for brevity) {% endcomment %}
    @@ -271,11 +245,26 @@ {% if form.location_country.errors %}
    {{ form.location_country.errors }}
    {% endif %}
    +
    - - {{ form.start_date }} - {% if form.start_date.errors %}
    {{ form.start_date.errors }}
    {% endif %} + + {{ form.application_deadline }} + {% if form.application_deadline.errors %}
    {{ form.application_deadline.errors }}
    {% endif %} +
    +
    +
    +
    + + {{ form.application_start_date }} + {% if form.application_start_date.errors %}
    {{ form.application_start_date.errors }}
    {% endif %} +
    +
    +
    +
    + + {{ form.joining_date }} + {% if form.joining_date.errors %}
    {{ form.joining_date.errors }}
    {% endif %}
    @@ -305,14 +294,21 @@ {% if form.reporting_to.errors %}
    {{ form.reporting_to.errors }}
    {% endif %} -
    +
    {{ form.open_positions }} {% if form.open_positions.errors %}
    {{ form.open_positions.errors }}
    {% endif %}
    -
    +
    +
    + + {{ form.max_applications }} + {% if form.max_applications.errors %}
    {{ form.max_applications.errors }}
    {% endif %} +
    +
    +
    {{ form.created_by }} @@ -335,19 +331,21 @@ {# ACTION BUTTONS #} {# ================================================= #}
    - {# UPDATED CANCEL URL for Job Detail #} - + {% trans "Cancel" %}
    -{# 💡 2. Add Summernote JS Media at the end of the body #} -{{ form.media.js }} -{% endblock %} \ No newline at end of file + +{% endblock %} + +{% block customJS %} + +{{ form.media.js }} +{% endblock%} \ No newline at end of file diff --git a/templates/jobs/job_list.html b/templates/jobs/job_list.html index 115565c..fbd0d64 100644 --- a/templates/jobs/job_list.html +++ b/templates/jobs/job_list.html @@ -81,7 +81,7 @@ /* --- TABLE ALIGNMENT AND SIZING FIXES --- */ .table { - table-layout: fixed; + table-layout: fixed; /* Ensures width calculations are respected */ width: 100%; border-collapse: collapse; } @@ -97,14 +97,28 @@ background-color: #f3f7f9; } - /* Optimized Main Table Column Widths (Total must be 100%) */ - .table th:nth-child(1) { width: 22%; } - .table th:nth-child(2) { width: 12%; } - .table th:nth-child(3) { width: 8%; } - .table th:nth-child(4) { width: 8%; } - .table th:nth-child(5) { width: 50%; } + /* + * OPTIMIZED MAIN TABLE COLUMN WIDTHS (Total must be 100%) + * -------------------------------------------------------- + * 1. Job Title/ID: 25% (Needs the most space) + * 2. Source: 10% + * 3. Max Apps: 7% + * 4. Deadline: 10% + * 5. Actions: 8% + * 6. Manage Forms: 10% + * 7. Applicants Metrics: 30% (Colspan 5) + * TOTAL: 25 + 10 + 7 + 10 + 8 + 10 + 30 = 100% + */ + .table th:nth-child(1) { width: 20%; } /* Job Title */ + .table th:nth-child(2) { width: 10%; } /* Source */ + .table th:nth-child(3) { width: 7%; } /* Max Apps */ + .table th:nth-child(4) { width: 10%; } /* Deadline */ + .table th:nth-child(5) { width: 8%; } /* Actions */ + .table th:nth-child(6) { width: 10%; } /* Manage Forms */ + /* The 7th column (Metrics) is 30% and is handled by its colspan */ - /* Candidate Management Header Row (The one with P/F) */ + + /* Candidate Management Header Row (The one with the stage names) */ .nested-metrics-row th { font-weight: 500; color: #6c757d; @@ -114,23 +128,13 @@ text-align: center; border-left: 1px solid var(--kaauh-border); } - + + /* Metrics Sub-Column Widths (7 total sub-columns, total 30%) */ + /* We have 5 main metrics: Applied, Screened, Exam, Interview, Offer. + * Let's allocate the 30% evenly: 30% / 5 = 6% per metric column. + */ .nested-metrics-row th { - width: calc(50% / 7); - } - .nested-metrics-row th[colspan="2"] { - width: calc(50% / 7 * 2); - position: relative; - } - - /* Inner P/F Headers */ - .nested-stage-metrics { - display: flex; - justify-content: space-around; - padding-top: 5px; - font-weight: 600; - color: var(--kaauh-teal-dark); - font-size: 0.7rem; + width: 6%; /* 30% / 5 metrics = 6% per metric column */ } /* Main TH for Candidate Management Header Title */ @@ -143,7 +147,7 @@ color: var(--kaauh-teal-dark); } - /* Candidate Management Data Cells (7 columns total) */ + /* Candidate Management Data Cells (5 columns total for metrics) */ .candidate-data-cell { text-align: center; vertical-align: middle; @@ -154,7 +158,8 @@ .table tbody td.candidate-data-cell:not(:first-child) { border-left: 1px solid var(--kaauh-border); } - .table tbody tr td:nth-child(5) { + /* Adds a distinctive vertical line before the metrics group (7th column) */ + .table tbody tr td:nth-child(7) { border-left: 2px solid var(--kaauh-teal); } @@ -170,7 +175,7 @@ font-size: 0.75rem; } - /* Additional CSS for Card View layout */ + /* Additional CSS for Card View layout (rest of your styles...) */ .card-view .card { height: 100%; } @@ -193,6 +198,7 @@ {% block content %}
    + {# ... (Rest of the header and filter content) ... #}

    {% trans "Job Postings" %} @@ -202,6 +208,7 @@

    + {# ... (Filter card) ... #}
    @@ -248,7 +255,6 @@ {# --- START OF JOB LIST CONTAINER --- #}
    - {# View Switcher (Contains the Card/Table buttons and JS/CSS logic) #} {% include "includes/_list_view_switcher.html" with list_id="job-list" %} {# 1. TABLE VIEW (Default Active) #} @@ -260,12 +266,12 @@ {# --- Corrected Multi-Row Header Structure --- #} - {% trans "Job Title / ID" %} - {% trans "Source" %} - {% trans "Number Of Applicants" %} - {% trans "Application Deadline" %} - {% trans "Actions" %} - {% trans "Manage Forms" %} + {% trans "Job Title / ID" %} + {% trans "Source" %} + {% trans "Max Apps" %} + {% trans "Deadline" %} + {% trans "Actions" %} + {% trans "Manage Forms" %} {% trans "Applicants Metrics" %} @@ -273,11 +279,11 @@ - {% trans "Applied" %} - {% trans "Screened" %} - {% trans "Exam" %} - {% trans "Interview" %} - {% trans "Offer" %} + {% trans "Applied" %} + {% trans "Screened" %} + {% trans "Exam" %} + {% trans "Interview" %} + {% trans "Offer" %} @@ -333,7 +339,7 @@
    - {# 2. CARD VIEW (Previously Missing) - Added Bootstrap row/col structure for layout #} + {# ... (Card View and Paginator content) ... #}
    {% for job in jobs %}
    diff --git a/templates/recruitment/candidate_list.html b/templates/recruitment/candidate_list.html index 7790d9d..b1ebf7c 100644 --- a/templates/recruitment/candidate_list.html +++ b/templates/recruitment/candidate_list.html @@ -149,59 +149,63 @@
    -
    -
    -
    - -
    -
    - {% include 'includes/search_form.html' %} -
    -
    -
    -
    - {% url 'candidate_list' as candidate_list_url %} - -
    - {% if search_query %}{% endif %} - -
    -
    - -
    - - -
    -
    - -
    -
    - - {% if job_filter or search_query %} - - {% trans "Clear" %} - - {% endif %} -
    -
    +
    +
    +
    + +
    + + {% include 'includes/search_form.html' %}
    + +
    + {% url 'candidate_list' as candidate_list_url %} + +
    + {% if search_query %}{% endif %} + + {# Filter Group #} +
    + + +
    + +
    + + +
    + + {# Buttons Group (pushed to the right/bottom) #} +
    +
    + + {% if job_filter or stage_filter or search_query %} + + {% trans "Clear" %} + + {% endif %} +
    +
    +
    +
    +
    {% if candidates %}
    {# View Switcher - list_id must match the container ID #} diff --git a/templates/user/admin_settings.html b/templates/user/admin_settings.html index dd5098c..11036ee 100644 --- a/templates/user/admin_settings.html +++ b/templates/user/admin_settings.html @@ -108,7 +108,7 @@ {% block content %} -
    +

    diff --git a/templates/user/create_staff.html b/templates/user/create_staff.html index b1ba2c9..9078193 100644 --- a/templates/user/create_staff.html +++ b/templates/user/create_staff.html @@ -29,7 +29,7 @@ {% endblock %} {% block content %} -
    +
    @@ -70,7 +70,7 @@ -
    +

    {% trans "Back to Settings" %} diff --git a/templates/user/profile.html b/templates/user/profile.html index eb057e3..b6ed26c 100644 --- a/templates/user/profile.html +++ b/templates/user/profile.html @@ -122,7 +122,7 @@

    {% trans "Personal Information" %}
    -
    + {% csrf_token %}
    diff --git a/templates/user/staff_password_create.html b/templates/user/staff_password_create.html index 11eedae..351e604 100644 --- a/templates/user/staff_password_create.html +++ b/templates/user/staff_password_create.html @@ -8,7 +8,7 @@ {% block content %} -
    +