diff --git a/Diagrams/Class_Diagram.asta.lock b/Diagrams/Class_Diagram.asta.lock deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/dbfunc.py b/src/dbfunc.py index b337a0bcc1dfa9abbfaea97a792a6bbdd54dec5e..ac61c2b4bb0dde40d7480f83f59de678f7920f9d 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 43e122f55ff0baf68931169e8df8aff8013783c2..f74edda220127eaa6dd473011f64f4d446113948 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 a242233455ac571a810e6430cc9b8e5baa7eee61..94df517da6ea633f9eccb5b089dbb557a69c86ff 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()