From 0a9927942b02fafc5e12358509de389777e0cefb Mon Sep 17 00:00:00 2001
From: Nathan Baker <nathan2.baker@live.uwe.ac.uk>
Date: Mon, 17 Feb 2025 15:41:18 +0000
Subject: [PATCH] adhiwau

---
 main.py                                   |  10 ++++-----
 src/__pycache__/staffUser.cpython-312.pyc | Bin 5252 -> 5434 bytes
 src/staffUser.py                          |  24 ++++++++++++++--------
 3 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/main.py b/main.py
index d1e027e..85cca51 100644
--- a/main.py
+++ b/main.py
@@ -34,7 +34,7 @@ def loginAttempt(username: str, password: str) -> StaffUser | ManagerUser | Admi
         StaffUser | ManagerUser | AdminUser | None: returns user object or NoneType if login unsucssesfull.
     """
     # get permissionLevel and user_id where username and password are match.
-    conditon = json.loads(select_from_tbl_where("tblUsers", f"userName='{username}' AND userPass='{password}'", "permissionLevel")) # condition is a 2 item dict.
+    conditon = json.loads(select_from_tbl_where("tblUsers", f"userName='{username}' AND userPass='{password}'", "permissionLevel")) # returns a dict with args to be used in condition switch.
     
     # based on permissonLevel create the relevant user class object.
     match conditon['permissionLevel']:
@@ -139,15 +139,15 @@ def encrypt(string:str) -> str:
 def main_cli() -> None:
     print("\n\nSTARTING CINEMA MANAGEMENT SYSTEM.\n\n")
     # test db is connected....
-#    if not getConnection():
-#        logging.critical("Database cannot connect, or dose not exist. \nClosing application.")
-#        exit()
+    #if not getConnection():
+    #    logging.critical("Database cannot connect, or dose not exist. \nClosing application.")
+    #    exit()
     print("To login please enter your credentials.\n")
     while True:
         username = encrypt(sanitize(input("Username: ")))
         password = encrypt(sanitize(input("Password: ")))
         #user = loginAttempt(username=username, password=password)
-        user = ManagerUser() # dev remove later
+        user = ManagerUser(impBool=1) # dev remove later
         if user is None:
             print("Login attempt failed please try again.")
         else:
diff --git a/src/__pycache__/staffUser.cpython-312.pyc b/src/__pycache__/staffUser.cpython-312.pyc
index 7646ac2ece181c549112fca4ccf3c14f045548b3..4988db65302ceac12f65b8e5218373debd4dc439 100644
GIT binary patch
delta 1315
zcmZqC+@-~LnwOW0fq{X+*M4)l8vjJTqxHNXE&~I@=NbkEhUpBc3{i|J3{gxe!YPcY
z%qdK%EGf*XEGaCh%qgs?tSM}%Y-v0x>@BQO>?s^A3{e~@A}QQ0EK!^(A}KsAEKyu3
zA}PErEK%GkoT;p7OeuUVEKxiuA}RbWEK$5rF@YAAD83Yt6u}mjDE|5skrbg8mMDQr
zE=|!}oWUiDX=$OwsYSP#GE;7`<R#{&-eN6CEG{m;#a@tFl<QNLbBjGWGcPqavG^8y
zW^RE~etu3eJJb&#iiv@Nff?kV0I+{**oqh{8EP177~(;)U|hpg!w}C1W-=HuFw`*D
zFvNqjfkkRqY8c`{20(bMH4O1AU?u|tLnVVIqu=D+jQVCppkUKvzr|9Vnv+(<$-ux+
z1Pa$8ZV-zHM1T|&@i8zk6oXu+00xtoT1*TW7#JED9&!tPU}NAF{J_Q_uh`+z<9$Ox
zrNgDi_lANhh<c!|*Wq%7N8y3AQin^g&*pVZvW!XsAY%nVgb;`jW?*1g$yg);vI688
zg(A_(ubJf;B`0&UR5FThZe`(MVg);G@<cXoA+USc7#J8d*}!^=1Sh{^Q`6N1X$J{|
z9jH(w%D}*Ii!~=dJu|P0A08WeU;&xQj_ey4#V7L$NN(olFl7{0U|?YI(_}Bw0J%pA
zL?}-V=G0;onOw&y!6-U;I;SC{=H`=}>5MKAS&-o@nR#jXMPSdEfV9YfTmba|NS-Yx
zKRv&+q)GtA_WaTkqsb-Qwh-$l2XGlo{>{CG8*Xe7@8n%PGK?aVuk*+;icbE<W65YS
z*?`xJQG9YWZyg&%-Q@qgk|OB#@g^6gPQK4C#+O`_npl$Rl%JoSnV0S`Ie<?QtT}P=
zWj-lEdvvEx{>P`u=rUP@AEGLA@@9TvEUK>aYjb;m^g4kE@y)yfrx{_cxhJTt<p>fs
z2Sp1rBw9cba*MM#H77N>Br`v+7?czh6hM({EM&{*Gr3TxN?aVIp0Nm&W;L0L<iN2Y
zSR_69w~$=D4=4<oi%W`bvE*bHm)v4W%FoX!5(8Ny3nFwu1UTS9wielfxL`-PfLLxI
z!XK2f7>Yo)fYU<}2S^k|fN*g>0|P?~!$&4QR^=JW9~k&pl@~aJsTIW^7^L}Fm3Kh6
zCq%%a7s8`IgA{#Im|P)jBLg-SWX>&)`1st!%)Iz`O`alf{HRX8AZ%GJ4e|hMX>n?i
zVUah;;!qF))&@$Pzc_4i^HWN5QtgUj7#J8p38xqoIUkrA85!?0h}>n6y~7}SmqGRm
xM<64kE8_&VFAQMDhcYGx7M_l(OU#lFc|^Ot8(eR)aCWG+`g~w#V37j*761ctBWwTw

delta 1063
zcmdm`)uPFFnwOW0fq{WxpU~#?H@p-1j@C1QxC{&opA#4u7^X9%GDI<^Fhnt>Ft#v6
zF{d!KFhsGW@TRb~utc$@@TRb}utc$?@TRc0utc$^FsE{)F{N;{utagD@TPFKutae|
z#kg8nqPSCdQ@C4LqIgnxQ+QffqIfG=H2H3E2A3qJrG*x!79}$>Ffi0Zt!DtagBj!w
zFR(jO7;6~fVR8&9Of?MgAmv~YFb||2!UL%U=>+rA8EP2fS-?yN28K!oO=iC$kkVTW
znyk0jN{dsAJY8;afM~zO+|*kflO>oW#cr`DXXd5mCKj(`yv0(Snv+%xvTJfWQ;U`w
z0|P??!viVl4wfG78!~boEIqtX>VdLK2g?->nFr#M9W1>(o8_5h85Ou07#NCpKm;#{
z-~$l?3=9ll6BUYtCdaYJGYU_xW2s~m+5CfrgNfx9Q)bF!R(5Y8evn!=1_lOAwjx0g
zn`d$oyP6=#1;rp?1u!TQnmm(Tno(@>R`v~yB9j{hBsbS{m@*2>FfcIqX|flof^^D*
z2!+YVIklufCf#BOdCDcT=oVvYF({}M6hKbl<}zed-fYX2&Zq{_z`($8izPEJEx!ot
z4MUJAD2_kHEz77g`31Kv#OBHNJWsgcT8sE6>+#Ak3QqRsm17i|oW*O&Xf$~VuNR}p
z<oCRF+HiHZg#GeMJaY?jQgc)DN>Wo?i;D7#icsvC!Kck=HTejiB3N(YWOsfkK^qL$
z6!B{^+D)Fr4^fplSzSOFiz;scZEh!!UV9KBvbj;<G$R|tF_VLYw1w<I!X}_#XNCm3
z+T?yAaW)}PV2DjVCnPrckdP9i+vKN0RRSU)WlTj<;IQT^l9*g3EEg{fGC&eUXn_cD
zsDaG8#gda*TvB8O5(Hb~2x2*d2p<LphLsFOAmfTa78P-TL_q`y7rQVpFtjjyV&Y(x
z`Xn-0PsBzBtP&)5iz7ZhH!(9WK3<cj2<!``$!#K*+7ck=vVzjJVUY*OumBJN)&{cR
q7l%!5eoARhs$Eg|<X0l{0^W>_u8b4dzA%6pAF?J(ipsKplmh^>8QWg~

diff --git a/src/staffUser.py b/src/staffUser.py
index 4cf93e0..27e217a 100644
--- a/src/staffUser.py
+++ b/src/staffUser.py
@@ -6,15 +6,21 @@ from .cinemaObj import Cinema
 
 # trying to make this a base implementation for all user classes.
 class StaffUser(object):  
-    def __init__(self):
-        # staff id number assigned by manager during onboarding.
-        self.userID:int = 0
-        self.userName:str = ""
-        self.userPass:str = ""
-        # staff software level.
-        self.permissionLevel:int = 0
-        # list of branches active at.
-        self.cinemas = []
+    def __init__(self, id:int, name:str, passw:str, permLvl:int, cinemas:list, impBool:bool=0):
+        # impbool used to switch case on a newly created user or imported from database.
+        if impBool:
+            # import user from db
+            select_from_tbl_where(table="tblUsers", condition="")
+            pass
+        else:
+            # staff id number assigned by manager during onboarding.
+            self.userID:int = id
+            self.userName:str = name
+            self.userPass:str = passw
+            # staff software level.
+            self.permissionLevel:int = permLvl
+            # list of branches active at.
+            self.cinemas = cinemas
         
     def __str__(self):
         return f"{self.__class__.__name__} user object(userID={self.userID}, userName={self.userName}, userPass={self.userPass}, permissionLevel={self.permissionLevel})"
-- 
GitLab