From ce3c295615ca486549be280dc25d797f0dc4e63f Mon Sep 17 00:00:00 2001 From: Adam Drake <drakeadam02@gmail.com> Date: Thu, 2 May 2024 01:49:55 +0100 Subject: [PATCH] Allow un approved AI engineers to log in, but not access the AI dashboard --- .../__pycache__/views.cpython-310.pyc | Bin 7247 -> 7025 bytes prediction_service/views.py | 52 ++++++++---------- 2 files changed, 22 insertions(+), 30 deletions(-) diff --git a/prediction_service/__pycache__/views.cpython-310.pyc b/prediction_service/__pycache__/views.cpython-310.pyc index 3be609cd08366637ea0675e461f00e21595e7ef4..be1d08de5a1c486bcfddb4c9560e6468db467560 100644 GIT binary patch delta 1491 zcmX?a@zIPgpO=@5fq{X6|FKcpC;5$hYE1Pk3=9k)?99NxP~5@5z)-`G#gN5V<WR$q z#gxLB%~a%&!j!_C$ym!+!kopjfOR254Py$E4Om?*Qw>uVTNZl?OEy!HRS8EHOBN?c zB!#t?v6i`pIg6{<q=b6`PYpu~+d?Krh7#Tyh7|T1#%AVV2%EzRi35}1OW|y03}(>e z^1H?C?iv!sT998{QhbZy7q_FQf@@xSW?pJ)(MrZ!ETzS%MOAT=<v3M&96c3W5{omE z@)L_vCVOz|GF8b;{>UcGosplLs+Uocn^PqZ;!obe%sZK##nPC+NPvNX;g&#VaeQKF zNk(d3NoI0lNovY1w%pW`jQo@$PLMQveo|Iya!K(m=ER(w$%!n&S+}?xJz-9`#hjj6 za*G#gM1E0bRccBRD@Y$}YEe;sQ4tdZ149uga5Y(Ou@|KlmZlb$++t78&nro-C;>Yl ziaRkgJ{9IAh9X%828Le>`iTVv`e5fiU=o&-U|?VnV&Y)pV`5|CVHRLwW8?urCLR_J z<|6sY7g$7G7#SECz!3<tEQKMML6gxBY}QJ~B59B#K<0u4isV4<V*>??qo+0~&Owf3 zVJ=dfe1RpyqeuaZYSzT0{L&I5m|_9OB4q{!22JK$+@Zy(MFB<mX_+~xx7c0tQb7D7 zaRvs4$(^j<48=gIn85xl0<o(&T=P;Cz-stG*6=YfFt}+#6-a_~?O}`K76M6efC#n8 zs_csOMIiqdselB8!ER43N=+<DEm8%Efb4<<IeT$wa&l^MaS<~}9ONlYHi+M~KmwrH zE>Z`vKrV^m0VSRI0*KQg0Rs*qaOiLprKV>Vm!uY1f!uVIU4zkJ@;i1}9gt<opr8h2 zArJ<IHYmQqL7xH5JK#K{KiQl^H$k<8rG}w~xfzu5SyNa+iMoVs0XsZ5u%@ts#W-ph zQaGBKf*CY9{fg8;js&^%7Dqv1adCNmQHmxL#OcPM)WPNJ<LDTy3yQ(X3pnLji!?#5 z+|Q{{&shWxJFo%ZKr;jx1&TLFpn#lOBn1)!2M-G*ctBPaflP)(6gU{b1UM|X!M4Tc z<fmumMS)U)2m=EH7byKP@-cESaWQf*@-TBSaxoQ|PM*PaR1jpjn<nEew&eWW+{}_9 zzR7vqdW<HM=W<8XgCasx0OCk9kTXDvi$IC6NC(6P#nCM`P<G5ODiQ^Wfa2;FPiAp^ zacMzn5h%{UkzJ$@k_1Pz1&D?46Enn5Ae(NnfQk*IxD|qU2$Fo_L6W(f+jx#MGOBI% z<6FbUC^Y%EL=vOU<Tyz^c~D9NC%jwC#U(|z*m4ppQ;Ukh8CsLCNP6;W$vhEoAb|;x z!9`OT7#KP?>q-eT%FBZsr3fNG83mGd5y{nHa=f%88zgQf*GVS}fXzS<a+5zwYqLsm dF><g?R+JHy6yRZG0tK`%2Pm+in2Cvx5df5pLlpo3 delta 1729 zcmexpcHV+7pO=@5fq{X6>Aq3gOvR0SYD|ty3=9k`3=9m;3=9m#N(>APDU2yhnT)lJ zB@9`N3z!x%)G($n+Ax$b*D$0o*Dy9S2Qz50_}yYH$S*D_zQs@_Gx?#ouxmzsZmM2J zNp6lNOA#jn1H&!${G_bZ<dWiB%!xTUMIcKwnQpNcr52W^7MI*&PtMOPNv$YZ$xtN3 zz`*cJK|iseKp$k%<bD?6dJd4ASXln^vG6bzi7+rQBr}3s4aLkLS(uBH7#J987_u0$ z7>jgk7_yjB7_*tcEQVUf8pbT<ES40eY^EaR6y_9`OvYNK64orX1?&qMYM4@(Z5T>8 zY8X;jYnVX3D&b6FgXl1v&5*)Am${iSn4yF-g#$!ua{Aq3c6SZ=#qH>+;F_17nU|Vc zRK&x;z)-}?z`!uMkXgym(k8>uP9ZYCR3Wh_RUs!oJv}u=Au~@QF)u|SFTX?~F;BtK zQy~?qSy7=9sxncbiq%Fx!_aQ>Bxb96u3Idn#i>QN1Tu@`6H7}nQu9hOlM_o)Q*N>4 zrj}&nr`+NO$rlvmr)B1(-eM`r&q)Obc@ZDTHT)m~6x>CiNY!L65&#K^g9t$o0Saz# zm=_6yqKOR@agLtSpvVWQ6cS`&W8`7tVB}-sVG?2DU@elFe1Jt{vJPuVpe7^4Ff=1r z6O-~wOAJ6Jfb11uERthjV9;c~#T{ClS`+|vC%bE23W$G;%h3}Sev?nIezOHxt;tjb zb|Hve#o?Nlq5x95k`W>*#=yYf232y47aA=2MVVEpDU;u`#c@l5`~^xfMM{$+*cIh& zF{h`N6v=}`K|ykhEx9N)u_U!f0VJY0c{;nC1IVjI8X!K{US$vqWO)=1C~V`QfeQ&I zuy?_M#Zi=+o>^RyT4XW#E4wzM{$xcCSsg|6<jKmwz`zbmo`;~x6Pzq#CTDTz)(2Io z)i7tVWU;2OW-}F8mat{9XEA|9QrLPKYguYovN(z@OE?#B)i9*6FJxk5DB%XB!ElCP zh7z6{h8pH(h!|%xBS?&q0R*Ayxe)5v7$QMBAm(r*#I1uFN_cA+Qh1t~f*CY<{fa<& zz6cZow>SzCi;K(ii&8Y1zyd`^pl|^Ne~}6U14C8#<WpQyllhssS$%yH6N4wKG3#m< zse|$_m#>ebW3VnLF;z)`f>0qNu~;E5Ujf91hNj-+?;P@z?~990HsIv0=PLq78`yFk zkTswLR3rsrfg+*^6s(XGtqKwY1?nx<)S{yNq9RcKFERv)g3_BND<oBdd;oDUC`zNa z6EovsSq(iNxqW>M9UX(?bMn(O^CCbASB-&zfs2uck%y6wk%Nhek%v)$k&Tguk&BUw zi3`l)nY@wnoFK@#Zkmj@*pl;eb2Ced#3oPR(qlB9yq_zg9+aFk1t8us1Gx^QxJVPk z(gG16XWe20W$FAPghy}jWERI4mlmWJfr6?C<j*2KkaDmuEkG<25CQfoG&h56y2S!2 zfRTJA1WuydkhC5Tk}Tc4g8MilqtfOA-Zfl|l9Od6k{GonH%REogR(^tDAaE;7nc;> zV#`UaOf4#gl+t`f0+Y{5<cWZjJ(vI)Tr`D&fnnlie@S6Rc~F5|Bm;63D5FC%8YFLl z#PlaON=dSTW7BZ*0;yyHuo(zKc(SmxwlNnMBZmkN3lF0RBL|a!BoC7SqW~ihBL@?Y X6b~a46Bi?gFb5+CNCb?TnD`h0yP0;Y diff --git a/prediction_service/views.py b/prediction_service/views.py index caf7599..7f5d93a 100644 --- a/prediction_service/views.py +++ b/prediction_service/views.py @@ -15,34 +15,36 @@ from django.contrib.auth.models import User @login_required def home(request): + if request.user.is_authenticated and request.method == "GET": - context = { - 'posts':'', - } - - context['posts'] = Post.objects.all()#loads all posts from Post table into the context + context = {'posts':'',} - return render(request, 'prediction_service/home.html',context) + context['posts'] = Post.objects.all() #loads all posts from Post table into the context -@login_required -def homeAI(request): - if request.user.is_authenticated and request.method == "GET": user = request.user - #try: - if user.userprofile.role == 'AI Engineer': - context = {'posts':'',} - - context['posts'] = Post.objects.all()#loads all posts from Post table into the context - return render(request, 'prediction_service/home-AI.html',context) + # if account is an AI Engineer + if user.userprofile.role == 'AI Engineer': + # if the ai engineer is approved, then send them to the AI dashboard + ai_engineer = AIEngineer.objects.get(user=user.userprofile) + if not ai_engineer.is_authorized: + messages.error(request, 'You are not authorized to access the AI Dashboard system. Please wait for admin authorization.') + return render(request, 'prediction_service/home.html',context) + else: + return render(request, 'prediction_service/home-AI.html',context) + else: - return HttpResponse(f"<h1> You are logged in and not an AI engineer! you are a {user.userprofile.role}</h1>") - # except: - # return HttpResponse("<h1> youre in the except for some reason </h1>") + # if the account is not an AI Engineer + return render(request, 'prediction_service/home.html',context) else: return HttpResponse("<h1> you are not authenticated but are logged in? </h1>") +@login_required +def homeAI(request): + + pass + def about(request): @@ -92,18 +94,8 @@ def MLAAS_login(request): user = authenticate(request, username=username, password=password) if user is not None: - try: - if user.userprofile.role == 'AI Engineer': - ai_engineer = AIEngineer.objects.get(user=user.userprofile) - if not ai_engineer.is_authorized: - messages.error(request, 'You are not authorized to access the MLaaS system. Please wait for admin authorization.') - return redirect('MLAAS-login') # Redirect to login page - - login(request, user) - return redirect('MLAAS-home') - except: - messages.error(request, 'user has no userprofile.') - return redirect('MLAAS-login') # Redirect to login + login(request, user) + return redirect('MLAAS-home') else: messages.error(request, 'Invalid username or password.') -- GitLab