working on project

This commit is contained in:
Nick Leeman 2022-10-07 20:10:08 +02:00
parent e1411e5890
commit b56b687f73
6 changed files with 81 additions and 21 deletions

View File

@ -2,7 +2,7 @@ from venv import create
from models.utils import DatabaseUtils
from models.database import Database
from services.search import Search
from ui.input_menu import InputMenu, EMAIL_VALIDATOR
from ui.input_menu import InputMenu
from views.login_menu import LoginMenu
from services.log import LogService

View File

@ -1,7 +1,7 @@
import sqlite3
class City:
def __init__(self, connection : sqlite3.Connection, id, name):
def __init__(self, connection : sqlite3.Connection, id = None, name = None):
self.connection = connection
self.id = id
self.name = name
@ -55,7 +55,7 @@ class City:
def delete(self):
cur = self.connection.cursor()
cur.execute("""DELETE FROM logs WHERE id = ?""", (self.id))
cur.execute("""DELETE FROM cities WHERE id = ?""", (self.id))
self.connection.commit()
cur.close()
return True
@ -63,3 +63,4 @@ class City:
def _set_row_values(self, row):
self.id = row[0]
self.name = row[1]
return self

View File

@ -1,5 +1,6 @@
from models.database import Database
from models.user import User
from models.city import City
class Search:
@staticmethod
@ -67,3 +68,17 @@ class Search:
payload.append(user)
return payload
@staticmethod
def get_all_cites():
cur = Database.connection.cursor()
cur.execute("SELECT * FROM cities")
rows = cur.fetchall()
payload = []
for row in rows:
print(row)
city = City(Database.connection)._set_row_values(row)
payload.append(city)
return payload

View File

@ -43,6 +43,16 @@ class AdvisorMenu:
return users[select_form.get_value("INDEX")]
@staticmethod
def select_city():
menu = SelectionMenu("Select City")
cities = Search.get_all_cites()
for city in cities:
menu.add_option(city.name, city.id)
option = menu.display().input_option()
return option
@staticmethod
def add_advisor():
@ -52,12 +62,13 @@ class AdvisorMenu:
form.add_option("LASTNAME", "Lastname", "STR", None, 1, 250, None)
form.add_option("ADDRESS", "Address", "STR", None, 1, 250, None)
form.add_option("ZIPCODE", "Zipcode", "STR", None, 6, 6, None)
form.add_option("CITY_ID", "City", "STR", None, 1, 250, None)
form.add_option("EMAIL", "Email", "STR", None, 1, 250, Validator.check_email)
form.add_option("PHONE", "Phone (+31-6)", "STR", None, 8, 8, None)
form.add_option("PASSWORD", "Password", "STR", None, 1, 255, Validator.check_password)
form.do_input()
city_id = AdvisorMenu.select_city()
new_user = User(Database.connection,
None,
form.get_value("USERNAME"),
@ -65,7 +76,7 @@ class AdvisorMenu:
form.get_value("LASTNAME"),
form.get_value("ADDRESS"),
form.get_value("ZIPCODE"),
form.get_value("CITY_ID"),
city_id,
form.get_value("EMAIL"),
"+31-6" + form.get_value("PHONE"),
form.get_value("PASSWORD"),
@ -85,21 +96,23 @@ class AdvisorMenu:
edit_form.add_option("LASTNAME", "Lastname", "STR", user.lastname, 1, 250, None)
edit_form.add_option("ADDRESS", "Address", "STR", user.address, 1, 250, None)
edit_form.add_option("ZIPCODE", "Zipcode", "STR", user.zipcode, 6, 6, None)
edit_form.add_option("CITY_ID", "City", "STR", user.city_id, 1, 250, None)
edit_form.add_option("EMAIL", "Email", "STR", user.email, 1, 250, Validator.check_email)
edit_form.add_option("PHONE", "Phone (+31-6)", "STR", user.phone, 8, 8, None)
edit_form.add_option("PASSWORD", "Password", "STR", user.phone, 1, 255, Validator.check_password)
edit_form.do_input()
select_menu = SelectionMenu("Do want to change the city?")
select_menu.add_option("No", False).add_option("Yes", True).display()
change_city = select_menu.input_option()
if change_city:
user.city_id = AdvisorMenu.select_city()
user.username = edit_form.get_value("USERNAME")
user.firstname = edit_form.get_value("FIRSTNAME")
user.lastname = edit_form.get_value("LASTNAME")
user.address = edit_form.get_value("ADDRESS")
user.zipcode = edit_form.get_value("ZIPCODE")
user.city_id = edit_form.get_value("CITY_ID")
user.email = edit_form.get_value("EMAIL")
user.phone = edit_form.get_value("PHONE")
user.password = edit_form.get_value("PASSWORD")
user.update()
input("Updated Advisor! Press any key to return.")

View File

@ -3,7 +3,7 @@ from click import edit
from models.database import Database
from models.user import User
from services.search import Search
from ui.input_menu import InputMenu, EMAIL_VALIDATOR
from ui.input_menu import InputMenu, Validator
from ui.selection_menu import SelectionMenu
@ -44,6 +44,17 @@ class MemberMenu:
return users[select_form.get_value("INDEX")]
@staticmethod
def select_city():
menu = SelectionMenu("Select City")
cities = Search.get_all_cites()
for city in cities:
menu.add_option(city.name, city.id)
option = menu.display().input_option()
return option
@staticmethod
def add_member():
form = InputMenu("Add new Member")
@ -51,11 +62,12 @@ class MemberMenu:
form.add_option("LASTNAME", "Lastname", "STR", None, 1, 250, None)
form.add_option("ADDRESS", "Address", "STR", None, 1, 250, None)
form.add_option("ZIPCODE", "Zipcode", "STR", None, 6, 6, None)
form.add_option("CITY_ID", "City", "STR", None, 1, 250, None)
form.add_option("EMAIL", "Email", "STR", None, 1, 250, EMAIL_VALIDATOR)
form.add_option("EMAIL", "Email", "STR", None, 1, 250, Validator.check_email)
form.add_option("PHONE", "Phone (+31-6)", "STR", None, 8, 8, None)
form.do_input()
city_id = MemberMenu.select_city()
new_user = User(Database.connection,
None,
"",
@ -63,7 +75,7 @@ class MemberMenu:
form.get_value("LASTNAME"),
form.get_value("ADDRESS"),
form.get_value("ZIPCODE"),
form.get_value("CITY_ID"),
city_id,
form.get_value("EMAIL"),
"+31-6" + form.get_value("PHONE"),
"",
@ -82,11 +94,16 @@ class MemberMenu:
edit_form.add_option("LASTNAME", "Lastname", "STR", user.lastname, 1, 250, None)
edit_form.add_option("ADDRESS", "Address", "STR", user.address, 1, 250, None)
edit_form.add_option("ZIPCODE", "Zipcode", "STR", user.zipcode, 6, 6, None)
edit_form.add_option("CITY_ID", "City", "STR", user.city_id, 1, 250, None)
edit_form.add_option("EMAIL", "Email", "STR", user.email, 1, 250, EMAIL_VALIDATOR)
edit_form.add_option("EMAIL", "Email", "STR", user.email, 1, 250, Validator.check_email)
edit_form.add_option("PHONE", "Phone (+31-6)", "STR", user.phone, 8, 8, None)
edit_form.do_input()
select_menu = SelectionMenu("Do want to change the city?")
select_menu.add_option("No", False).add_option("Yes", True).display()
change_city = select_menu.input_option()
if change_city:
user.city_id = MemberMenu.select_city()
user.firstname = edit_form.get_value("FIRSTNAME")
user.lastname = edit_form.get_value("LASTNAME")
user.address = edit_form.get_value("ADDRESS")

View File

@ -43,6 +43,16 @@ class SystemAdminMenu:
return users[select_form.get_value("INDEX")]
@staticmethod
def select_city():
menu = SelectionMenu("Select City")
cities = Search.get_all_cites()
for city in cities:
menu.add_option(city.name, city.id)
option = menu.display().input_option()
return option
@staticmethod
def add_admin():
@ -52,12 +62,13 @@ class SystemAdminMenu:
form.add_option("LASTNAME", "Lastname", "STR", None, 1, 250, None)
form.add_option("ADDRESS", "Address", "STR", None, 1, 250, None)
form.add_option("ZIPCODE", "Zipcode", "STR", None, 6, 6, None)
form.add_option("CITY_ID", "City", "STR", None, 1, 250, None)
form.add_option("EMAIL", "Email", "STR", None, 1, 250, Validator.check_email)
form.add_option("PHONE", "Phone (+31-6)", "STR", None, 8, 8, None)
form.add_option("PASSWORD", "Password", "STR", None, 1, 255, Validator.check_password)
form.do_input()
city_id = SystemAdminMenu.select_city()
new_user = User(Database.connection,
None,
"",
@ -65,7 +76,7 @@ class SystemAdminMenu:
form.get_value("LASTNAME"),
form.get_value("ADDRESS"),
form.get_value("ZIPCODE"),
form.get_value("CITY_ID"),
city_id,
form.get_value("EMAIL"),
"+31-6" + form.get_value("PHONE"),
form.get_value("PASSWORD"),
@ -88,18 +99,21 @@ class SystemAdminMenu:
edit_form.add_option("CITY_ID", "City", "STR", user.city_id, 1, 250, None)
edit_form.add_option("EMAIL", "Email", "STR", user.email, 1, 250, Validator.check_email)
edit_form.add_option("PHONE", "Phone (+31-6)", "STR", user.phone, 8, 8, None)
edit_form.add_option("PASSWORD", "Password", "STR", user.phone, 1, 255, Validator.check_password)
edit_form.do_input()
select_menu = SelectionMenu("Do want to change the city?")
select_menu.add_option("No", False).add_option("Yes", True).display()
change_city = select_menu.input_option()
if change_city:
user.city_id = SystemAdminMenu.select_city()
user.username = edit_form.get_value("USERNAME")
user.firstname = edit_form.get_value("FIRSTNAME")
user.lastname = edit_form.get_value("LASTNAME")
user.address = edit_form.get_value("ADDRESS")
user.zipcode = edit_form.get_value("ZIPCODE")
user.city_id = edit_form.get_value("CITY_ID")
user.email = edit_form.get_value("EMAIL")
user.phone = edit_form.get_value("PHONE")
user.password = edit_form.get_value("PASSWORD")
user.update()
input("Updated System Admin! Press any key to return.")