Added highlighting for selected category

This commit is contained in:
2024-01-06 01:14:20 +00:00
parent a86edf01ad
commit 20f28739a2
14 changed files with 278 additions and 183 deletions

View File

@ -0,0 +1,64 @@
from .database import DatabaseController
from models.category import Category
class CategoryController(DatabaseController):
FIELDS = ['id', 'name']
def __init__(self):
super().__init__()
def create(self, category: Category):
params = [
category.name,
]
self._conn.execute(
"INSERT INTO Categories (name) VALUES (?)",
params
)
self._conn.commit()
def read(self, id: int = 0) -> Category | None:
params = [
id
]
cursor = self._conn.execute(
"SELECT * FROM Categories WHERE id = ?",
params
)
row = cursor.fetchone()
if row == None:
return None
params = dict(zip(self.FIELDS, row))
obj = self.new_instance(Category, params)
return obj
def read_all(self) -> list[Category] | None:
cursor = self._conn.execute(
"SELECT * FROM Categories",
)
rows = cursor.fetchall()
if rows == None:
return None
categories = list()
for category in rows:
params = dict(zip(self.FIELDS, category))
obj = self.new_instance(Category, params)
categories.append(obj)
return categories
def update(self):
print("Doing work")
def delete(self):
print("Doing work")

View File

@ -46,15 +46,21 @@ class ProductController(DatabaseController):
for product in rows:
params = dict(zip(self.FIELDS, product))
obj = self.new_instance(Product, params)
print(obj.__dict__)
products.push(obj)
return products
def read_all(self) -> list[Product] | None:
def read_all(self, category: str = "") -> list[Product] | None:
params = [
"%" + category + "%"
]
cursor = self._conn.execute(
"SELECT * FROM Products",
"""SELECT * FROM Products
INNER JOIN Categories ON Products.categoryID = Categories.id
WHERE Categories.name LIKE ? """,
params
)
rows = cursor.fetchall()
@ -67,7 +73,6 @@ class ProductController(DatabaseController):
for product in rows:
params = dict(zip(self.FIELDS, product))
obj = self.new_instance(Product, params)
print(obj.__dict__)
products.append(obj)
return products

View File

@ -39,7 +39,6 @@ class UserController(DatabaseController):
if row != None:
params = dict(zip(self.FIELDS, row))
obj = self.new_instance(Customer, params)
print(obj.__dict__)
return obj
return None