From 7eb474305166d0ba1fdcd17d7daa51da457a87fd Mon Sep 17 00:00:00 2001 From: nathan <nathan9.baker@live.uwe.ac.uk> Date: Thu, 21 Nov 2024 16:52:25 +0000 Subject: [PATCH] restructureing staffUser to be more readable. --- Diagrams/Class_Diagram.asta.lock | 0 src/dbfunc.py | 2 +- src/managerUser.py | 2 +- src/staffUser.py | 84 +++++++++++++++++--------------- 4 files changed, 46 insertions(+), 42 deletions(-) delete mode 100644 Diagrams/Class_Diagram.asta.lock diff --git a/Diagrams/Class_Diagram.asta.lock b/Diagrams/Class_Diagram.asta.lock deleted file mode 100644 index e69de29..0000000 diff --git a/src/dbfunc.py b/src/dbfunc.py index b337a0b..ac61c2b 100644 --- a/src/dbfunc.py +++ b/src/dbfunc.py @@ -1,4 +1,4 @@ -import logging, json, mysql.connector +import logging, json, mysql from mysql.connector import errorcode # Vars diff --git a/src/managerUser.py b/src/managerUser.py index 43e122f..f74edda 100644 --- a/src/managerUser.py +++ b/src/managerUser.py @@ -10,7 +10,7 @@ class ManagerUser(AdminUser): super().__init__() self.permissionLevel = 2 - def expandBuisness(self): + def expand_buisness(self): # creates new cinemaObj and adds it to db. raise NotImplementedError() diff --git a/src/staffUser.py b/src/staffUser.py index a242233..94df517 100644 --- a/src/staffUser.py +++ b/src/staffUser.py @@ -1,5 +1,5 @@ import logging, json - +from .constants import DBNAME from .dbfunc import * from .cinemaObj import Cinema @@ -14,32 +14,53 @@ class StaffUser(object): self.cinemas = [0] def __str__(self): - if self.permissionLevel == 1: - userType = "Admin" - elif self.permissionLevel == 2: - userType = "Manager" - else: - userType = "BookingStaff" - return f"{userType} user object(userID={self.userID}, userName={self.userName}, userPass={self.userPass})" - - - def save(self) -> None: - """save self to db.""" - raise NotImplementedError() + return f"{self.__class__.__name__} user object(userID={self.userID}, userName={self.userName}, userPass={self.userPass}, permissionLevel={self.permissionLevel})" - def login(self) -> None: - logging.debug(f"user {self.userID} logging in.") + def login(self, userID) -> None: + """get values for self from db""" + logging.debug("called login func") + jsonData = selectFromTblWhere("tblUsers", "", f"user_id={userID}", "*") + dictData = json.loads(jsonData) + logging.debug(f"loaded data: {dictData}") + + # update self data with new values. raise NotImplementedError() + + def _save_self_to_db(self) -> None: + """save self.__dict__ to db.""" + logging.debug("called _save_self_to_db func") + try: + saveToTbl("tblUsers", DBNAME, self.__dict__) + except Exception as e: + logging.error(e.message, e.args) def logout(self) -> None: - logging.debug(f"user {self.userID} logging out.") - self.save() + """save to database then """ + logging.debug("called logout func") + logging.info(f"user {self.userID} logging out.") + self._save_self_to_db() + self.close() + + def return_film_listings(self) -> list: + logging.debug("called returnFilmListings func") + listings = [] + for i in self.cinemas: + cinema = Cinema(id=i) + listings.append(cinema.get_listings()) + return listings + + def createBooking(self) -> None: + logging.debug("called createBooking func") + raise NotImplementedError() + + def manageBooking(self) -> None: + logging.debug("called manageBooking func") + raise NotImplementedError() - def cli_ViewFilmListings(self) -> None: - logging.debug("this is the viewFilmListing func") - cinema = Cinema(id=1) - for i in cinema.get_listings(): - # will need formating + def cli_view_film_listings(self) -> None: + logging.debug("called cli_viewFilmListing func") + for i in self.returnFilmListings(): + # will need formating, from json? print(f"listing:{i}") case = input("Options: 1-exit, 2-move to create booking, 3-logout\n: ") @@ -48,25 +69,8 @@ class StaffUser(object): elif case == "3": self.logout() - def createBooking(self) -> None: - logging.debug("called createBooking func") - raise NotImplementedError() - - def manageBooking(self) -> None: - logging.debug("called manageBooking func") - raise NotImplementedError() + - def updateFromDataBase(self, userID) -> None: - """ - get values for self from db - args: - userID: id for user to load into object""" - jsonData = selectFromTblWhere("tblUsers", "", f"user_id={userID}", "*") - dictData = json.loads(jsonData) - logging.debug(f"loaded data: {dictData}") - - # update self data with new values. - raise NotImplementedError() -- GitLab