added log viewer
This commit is contained in:
parent
155a86ab06
commit
6398dcdf1b
@ -65,4 +65,5 @@ class Log:
|
|||||||
self.time = row[3]
|
self.time = row[3]
|
||||||
self.description = row[4]
|
self.description = row[4]
|
||||||
self.additional_information = row[5]
|
self.additional_information = row[5]
|
||||||
self.suspicious = row[6]
|
self.suspicious = row[6]
|
||||||
|
return self
|
@ -5,10 +5,21 @@ from models.database import Database
|
|||||||
|
|
||||||
class LogService:
|
class LogService:
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def createlog(username, description, additional_information, suspicious):
|
def create_log(username, description, additional_information, suspicious):
|
||||||
now = datetime.now()
|
now = datetime.now()
|
||||||
date_string = now.strftime("%d-%m-%Y")
|
date_string = now.strftime("%d-%m-%Y")
|
||||||
time_string = now.strftime("%H:%M:%S")
|
time_string = now.strftime("%H:%M:%S")
|
||||||
new_log = Log(Database.connection, None, username, date_string, time_string, description, additional_information, suspicious)
|
new_log = Log(Database.connection, None, username, date_string, time_string, description, additional_information, suspicious)
|
||||||
|
|
||||||
new_log.save()
|
new_log.save()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_latest_logs():
|
||||||
|
cur = Database.connection.cursor()
|
||||||
|
cur.execute("SELECT * FROM logs ORDER BY id DESC LIMIT 100;")
|
||||||
|
rows = cur.fetchall()
|
||||||
|
logs = []
|
||||||
|
for row in rows:
|
||||||
|
log = Log(Database.connection)._set_row_values(row)
|
||||||
|
logs.append(log)
|
||||||
|
return logs
|
@ -115,10 +115,28 @@ class AdvisorMenu:
|
|||||||
|
|
||||||
user.update()
|
user.update()
|
||||||
input("Updated Advisor! Press any key to return.")
|
input("Updated Advisor! Press any key to return.")
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def update_password_advisor():
|
||||||
|
user = AdvisorMenu.search_advisor(False)
|
||||||
|
if user == None:
|
||||||
|
input("Advisor not found. Press any key to continue.")
|
||||||
|
return
|
||||||
|
|
||||||
|
form = InputMenu("Update password")
|
||||||
|
form.add_option("PASSWORD", "Password", "STR", None, 1, 255, Validator.check_password)
|
||||||
|
form.do_input()
|
||||||
|
user.password = form.get_value("PASSWORD")
|
||||||
|
user.update()
|
||||||
|
|
||||||
|
input("Updated Advisor Password! Press any key to return.")
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def remove_advisor():
|
def remove_advisor():
|
||||||
user = AdvisorMenu.search_advisor(False)
|
user = AdvisorMenu.search_advisor(False)
|
||||||
|
if user == None:
|
||||||
|
input("Advisor not found. Press any key to continue.")
|
||||||
|
return
|
||||||
|
|
||||||
confirm = SelectionMenu("Do you want to delete selected Advisor?")
|
confirm = SelectionMenu("Do you want to delete selected Advisor?")
|
||||||
confirm.add_option("Yes", True).add_option("No", False).display()
|
confirm.add_option("Yes", True).add_option("No", False).display()
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
import os
|
import os
|
||||||
from services.state import State
|
from services.state import State
|
||||||
from services.utils import Utils
|
from services.utils import Utils
|
||||||
|
from ui.input_menu import InputMenu, Validator
|
||||||
from ui.selection_menu import SelectionMenu
|
from ui.selection_menu import SelectionMenu
|
||||||
from views.advisor_menu import AdvisorMenu
|
from views.advisor_menu import AdvisorMenu
|
||||||
from views.backup_menu import BackupMenu
|
from views.backup_menu import BackupMenu
|
||||||
from views.member_menu import MemberMenu
|
from views.member_menu import MemberMenu
|
||||||
from views.system_admin_menu import SystemAdminMenu
|
from views.system_admin_menu import SystemAdminMenu
|
||||||
|
from services.log import LogService
|
||||||
class MainMenu:
|
class MainMenu:
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def display():
|
def display():
|
||||||
@ -15,7 +16,7 @@ class MainMenu:
|
|||||||
main_menu = SelectionMenu(f"Welcome {State.CURRENT_USER.username}!")
|
main_menu = SelectionMenu(f"Welcome {State.CURRENT_USER.username}!")
|
||||||
|
|
||||||
if State.CURRENT_USER.role == "ADVISOR" or State.CURRENT_USER.role == "SYSTEM_ADMIN":
|
if State.CURRENT_USER.role == "ADVISOR" or State.CURRENT_USER.role == "SYSTEM_ADMIN":
|
||||||
main_menu.add_option("Update My Password", None)
|
main_menu.add_option("Update My Password", MainMenu.update_password)
|
||||||
main_menu.add_option("Manage Members", MainMenu.manage_members)
|
main_menu.add_option("Manage Members", MainMenu.manage_members)
|
||||||
else:
|
else:
|
||||||
main_menu.add_option("Manage Members", MainMenu.manage_members)
|
main_menu.add_option("Manage Members", MainMenu.manage_members)
|
||||||
@ -35,6 +36,26 @@ class MainMenu:
|
|||||||
|
|
||||||
selected_option()
|
selected_option()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def update_password():
|
||||||
|
Utils.clear_screen()
|
||||||
|
|
||||||
|
menu = SelectionMenu(f"Do you want to update your own password?")
|
||||||
|
menu.add_option("Yes", True)
|
||||||
|
menu.add_option("No", False)
|
||||||
|
|
||||||
|
selected_option = menu.display().input_option()
|
||||||
|
if selected_option == False:
|
||||||
|
return
|
||||||
|
|
||||||
|
form = InputMenu("Set new password")
|
||||||
|
form.add_option("PASSWORD", "Password", "STR", None, 1, 255, Validator.check_password)
|
||||||
|
form.do_input()
|
||||||
|
State.CURRENT_USER.password = form.get_value("PASSWORD")
|
||||||
|
State.CURRENT_USER.update()
|
||||||
|
|
||||||
|
input("Current password updated! Press any key to continue.")
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def manage_members():
|
def manage_members():
|
||||||
Utils.clear_screen()
|
Utils.clear_screen()
|
||||||
@ -59,6 +80,7 @@ class MainMenu:
|
|||||||
menu = SelectionMenu(f"Manage Advisors")
|
menu = SelectionMenu(f"Manage Advisors")
|
||||||
menu.add_option("Add Advisor", AdvisorMenu.add_advisor)
|
menu.add_option("Add Advisor", AdvisorMenu.add_advisor)
|
||||||
menu.add_option("Edit Advisor", AdvisorMenu.edit_advisor)
|
menu.add_option("Edit Advisor", AdvisorMenu.edit_advisor)
|
||||||
|
menu.add_option("Reset Password Advisor", AdvisorMenu.update_password_advisor)
|
||||||
menu.add_option("Remove Advisor", AdvisorMenu.remove_advisor)
|
menu.add_option("Remove Advisor", AdvisorMenu.remove_advisor)
|
||||||
menu.add_option("Browse Advisor", AdvisorMenu.browse_advisor)
|
menu.add_option("Browse Advisor", AdvisorMenu.browse_advisor)
|
||||||
menu.add_option("Back to main menu", None)
|
menu.add_option("Back to main menu", None)
|
||||||
@ -76,6 +98,7 @@ class MainMenu:
|
|||||||
menu = SelectionMenu(f"Manage System Admins")
|
menu = SelectionMenu(f"Manage System Admins")
|
||||||
menu.add_option("Add System Admin", SystemAdminMenu.add_admin)
|
menu.add_option("Add System Admin", SystemAdminMenu.add_admin)
|
||||||
menu.add_option("Edit System Admin", SystemAdminMenu.edit_admin)
|
menu.add_option("Edit System Admin", SystemAdminMenu.edit_admin)
|
||||||
|
menu.add_option("Reset Password System Admin", SystemAdminMenu.update_password_admin)
|
||||||
menu.add_option("Remove System Admin", SystemAdminMenu.remove_admin)
|
menu.add_option("Remove System Admin", SystemAdminMenu.remove_admin)
|
||||||
menu.add_option("Browse System Admin", SystemAdminMenu.browse_admins)
|
menu.add_option("Browse System Admin", SystemAdminMenu.browse_admins)
|
||||||
menu.add_option("Back to main menu", None)
|
menu.add_option("Back to main menu", None)
|
||||||
@ -100,5 +123,24 @@ class MainMenu:
|
|||||||
return
|
return
|
||||||
|
|
||||||
selected_option()
|
selected_option()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
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("==================================================================")
|
||||||
|
|
||||||
|
input("Press any key to continue.")
|
||||||
|
@ -88,6 +88,9 @@ class SystemAdminMenu:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def edit_admin():
|
def edit_admin():
|
||||||
user = SystemAdminMenu.search_admins(False)
|
user = SystemAdminMenu.search_admins(False)
|
||||||
|
if user == None:
|
||||||
|
input("Admin not found. Press any key to continue.")
|
||||||
|
return
|
||||||
|
|
||||||
edit_form = InputMenu("Edit System Admin (Leave fields empty to not change)")
|
edit_form = InputMenu("Edit System Admin (Leave fields empty to not change)")
|
||||||
edit_form.add_option("Username", "Username", "STR", user.username, 1, 250, Validator.check_username)
|
edit_form.add_option("Username", "Username", "STR", user.username, 1, 250, Validator.check_username)
|
||||||
@ -116,6 +119,21 @@ class SystemAdminMenu:
|
|||||||
|
|
||||||
user.update()
|
user.update()
|
||||||
input("Updated System Admin! Press any key to return.")
|
input("Updated System Admin! Press any key to return.")
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def update_password_admin():
|
||||||
|
user = SystemAdminMenu.search_admins(False)
|
||||||
|
if user == None:
|
||||||
|
input("Admin not found. Press any key to continue.")
|
||||||
|
return
|
||||||
|
|
||||||
|
form = InputMenu("Update password")
|
||||||
|
form.add_option("PASSWORD", "Password", "STR", None, 1, 255, Validator.check_password)
|
||||||
|
form.do_input()
|
||||||
|
user.password = form.get_value("PASSWORD")
|
||||||
|
user.update()
|
||||||
|
|
||||||
|
input("Updated System Admin password! Press any key to return.")
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def remove_admin():
|
def remove_admin():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user