added logging system
This commit is contained in:
parent
6398dcdf1b
commit
8a09d27bf4
@ -1,13 +1,28 @@
|
||||
from models.database import Database
|
||||
from models.user import User
|
||||
from services.log import LogService
|
||||
|
||||
class Auth:
|
||||
failed_attempts = 0
|
||||
|
||||
@staticmethod
|
||||
def check_auth(username, password):
|
||||
if username == "superadmin" and password == "Admin321!":
|
||||
su_user = User(None, -1, "superadmin", "", "", "", "", "", "", "", "", "SUPER_ADMIN")
|
||||
LogService.create_log(username, "Logged in", "", False)
|
||||
Auth.failed_attempts = 0
|
||||
return su_user
|
||||
|
||||
user = User(Database.connection, None, username)
|
||||
if user.load_by_username() and user.password == password:
|
||||
LogService.create_log(username, "Logged in", "", False)
|
||||
Auth.failed_attempts = 0
|
||||
return user
|
||||
|
||||
if Auth.failed_attempts >= 3:
|
||||
LogService.create_log(username, "Multiple unsuccessful logins", "", True)
|
||||
else:
|
||||
LogService.create_log(username, "Unsuccessful login", f"Attempts: {Auth.failed_attempts}", False)
|
||||
|
||||
Auth.failed_attempts += 1
|
||||
return None
|
@ -1,4 +1,3 @@
|
||||
from ast import Import
|
||||
from models.user import User
|
||||
|
||||
class State:
|
||||
|
@ -1,6 +1,8 @@
|
||||
|
||||
from models.database import Database
|
||||
from models.user import User
|
||||
from services.state import State
|
||||
from services.log import LogService
|
||||
from services.search import Search
|
||||
from ui.input_menu import InputMenu, Validator
|
||||
from ui.selection_menu import SelectionMenu
|
||||
@ -83,6 +85,7 @@ class AdvisorMenu:
|
||||
)
|
||||
|
||||
new_user.save()
|
||||
LogService.create_log(State.CURRENT_USER.username, "Created advisor", f"Advisor: {new_user.username}", True)
|
||||
input("Added new Advisor! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
@ -114,6 +117,7 @@ class AdvisorMenu:
|
||||
user.phone = edit_form.get_value("PHONE")
|
||||
|
||||
user.update()
|
||||
LogService.create_log(State.CURRENT_USER.username, "Updated advisor", f"Advisor: {user.username}", True)
|
||||
input("Updated Advisor! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
@ -129,6 +133,7 @@ class AdvisorMenu:
|
||||
user.password = form.get_value("PASSWORD")
|
||||
user.update()
|
||||
|
||||
LogService.create_log(State.CURRENT_USER.username, "Updated password of advisor", f"Advisor: {user.username}", True)
|
||||
input("Updated Advisor Password! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
@ -144,6 +149,7 @@ class AdvisorMenu:
|
||||
|
||||
if option == True:
|
||||
user.delete()
|
||||
LogService.create_log(State.CURRENT_USER.username, "Deleted advisor", f"Advisor: {user.username}", True)
|
||||
input("Deleted Advisor! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
|
@ -23,11 +23,12 @@ class MainMenu:
|
||||
|
||||
if State.CURRENT_USER.role == "SYSTEM_ADMIN" or State.CURRENT_USER.role == "SUPER_ADMIN":
|
||||
main_menu.add_option("Manage Advisors", MainMenu.manage_advisors)
|
||||
main_menu.add_option("View logs", MainMenu.check_logs)
|
||||
|
||||
if State.CURRENT_USER.role == "SUPER_ADMIN":
|
||||
main_menu.add_option("Manage Admins", MainMenu.manage_admins)
|
||||
main_menu.add_option("Manage Backups", MainMenu.manage_backups)
|
||||
|
||||
|
||||
main_menu.add_option("Exit...", None)
|
||||
|
||||
selected_option = main_menu.display().input_option()
|
||||
@ -128,19 +129,14 @@ class MainMenu:
|
||||
def check_logs():
|
||||
Utils.clear_screen()
|
||||
|
||||
menu = SelectionMenu(f"Do you want to view the latest logs?")
|
||||
menu.add_option("Yes", True)
|
||||
menu.add_option("No", False)
|
||||
|
||||
selected_option = menu.display().input_option()
|
||||
if selected_option == False:
|
||||
return
|
||||
|
||||
logs = LogService.get_latest_logs()
|
||||
print("==================================================================")
|
||||
print("| id | Date | Time | Description Activity | Addition Information | Suspicious |")
|
||||
for log in logs:
|
||||
print(f"{log.id} | {log.date} | {log.time} | {log.description} | {log.additional_information} | {log.suspicious}")
|
||||
print("==================================================================")
|
||||
print(f"/--[ {log.id} ]---------")
|
||||
print(f"| Username: {log.username}")
|
||||
print(f"| Description: {log.description}")
|
||||
print(f"| Additional Information: {log.additional_information}")
|
||||
print(f"| Suspicious: {log.suspicious}")
|
||||
print(f"| Date: {log.date} {log.time}")
|
||||
print(f"\-------------\n")
|
||||
|
||||
input("Press any key to continue.")
|
||||
|
@ -1,6 +1,8 @@
|
||||
|
||||
from models.database import Database
|
||||
from models.user import User
|
||||
from services.state import State
|
||||
from services.log import LogService
|
||||
from services.search import Search
|
||||
from ui.input_menu import InputMenu, Validator
|
||||
from ui.selection_menu import SelectionMenu
|
||||
@ -82,6 +84,7 @@ class MemberMenu:
|
||||
)
|
||||
|
||||
new_user.save()
|
||||
LogService.create_log(State.CURRENT_USER.username, "Added member", f"Member: {new_user.firstname} {new_user.lastname}", False)
|
||||
input("Added new Member! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
@ -112,6 +115,7 @@ class MemberMenu:
|
||||
user.phone = edit_form.get_value("PHONE")
|
||||
|
||||
user.update()
|
||||
LogService.create_log(State.CURRENT_USER.username, "Updated member", f"Member: {user.firstname} {user.lastname}", False)
|
||||
input("Updated Member! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
@ -124,6 +128,7 @@ class MemberMenu:
|
||||
|
||||
if option == True:
|
||||
user.delete()
|
||||
LogService.create_log(State.CURRENT_USER.username, "Removed member", f"Member: {user.firstname} {user.lastname}", False)
|
||||
input("Deleted Member! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
|
@ -1,6 +1,8 @@
|
||||
|
||||
from models.database import Database
|
||||
from models.user import User
|
||||
from services.state import State
|
||||
from services.log import LogService
|
||||
from services.search import Search
|
||||
from ui.input_menu import InputMenu, Validator
|
||||
from ui.selection_menu import SelectionMenu
|
||||
@ -83,6 +85,7 @@ class SystemAdminMenu:
|
||||
)
|
||||
|
||||
new_user.save()
|
||||
LogService.create_log(State.CURRENT_USER.username, "Added system admin", f"System Admin: {new_user.username}", False)
|
||||
input("Added new system admin! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
@ -118,6 +121,7 @@ class SystemAdminMenu:
|
||||
user.phone = edit_form.get_value("PHONE")
|
||||
|
||||
user.update()
|
||||
LogService.create_log(State.CURRENT_USER.username, "Updated system admin", f"System Admin: {user.username}", False)
|
||||
input("Updated System Admin! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
@ -133,6 +137,7 @@ class SystemAdminMenu:
|
||||
user.password = form.get_value("PASSWORD")
|
||||
user.update()
|
||||
|
||||
LogService.create_log(State.CURRENT_USER.username, "Updated password system admin", f"System Admin: {user.username}", False)
|
||||
input("Updated System Admin password! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
@ -145,6 +150,7 @@ class SystemAdminMenu:
|
||||
|
||||
if option == True:
|
||||
user.delete()
|
||||
LogService.create_log(State.CURRENT_USER.username, "Removed system admin", f"System Admin: {user.username}", False)
|
||||
input("Deleted advisor! Press any key to return.")
|
||||
|
||||
@staticmethod
|
||||
|
Loading…
x
Reference in New Issue
Block a user