diff --git a/classes/data/data_initializer.py b/classes/data/data_initializer.py
index deb52ad..b659e04 100644
--- a/classes/data/data_initializer.py
+++ b/classes/data/data_initializer.py
@@ -64,6 +64,10 @@ for person in root.findall('person'):
favorite_meal_element = person.find('favoriteMeal')
favorite_meal = favorite_meal_element.text if favorite_meal_element is not None else None
+
+ restriction_element = person.find('restrictions')
+ restrictions = restriction_element.text if restriction_element is not None else None
+
if favorite_meal in [meal.nazwa for meal in meals]:
favorite_meal = next((meal for meal in meals if meal.nazwa == favorite_meal), None)
@@ -71,7 +75,8 @@ for person in root.findall('person'):
'imie': name,
'nazwisko': surname,
'wiek': age,
- 'ulubiony_posilek': favorite_meal
+ 'ulubiony_posilek': favorite_meal,
+ 'restrykcje_dietowe': restrictions
}
clients.append(Klient(**person_data))
@@ -135,10 +140,13 @@ for klient in [k for k in clients if k.stolik is not None]:
print(f"Klient {klient.imie} {klient.nazwisko} ma następujące Zamowienia:")
print(f"\t{klient.rachunek} i sumą {klient.rachunek.suma()}")
+print("----------------\n\n")
+import logic_test as logic
-
-
+for klient in [k for k in clients if k.stolik is not None]:
+ for zamownienie in klient.rachunek.zamowienia:
+ print(logic.diet_restriction(zamowienie, klient))
# for meal in meals:
# print(meal)
diff --git a/classes/data/klient.py b/classes/data/klient.py
index ff43d49..37361c8 100644
--- a/classes/data/klient.py
+++ b/classes/data/klient.py
@@ -3,14 +3,14 @@ from rachunek import Rachunek
import random
class Klient:
- def __init__(self,imie,nazwisko,wiek,ulubiony_posilek=None):
+ def __init__(self,imie,nazwisko,wiek,ulubiony_posilek=None, restrykcje_dietowe=None):
self.imie = imie
self.nazwisko = nazwisko
self.wiek = wiek
self.stolik = None
self.rachunek = Rachunek(random.randint(1,1000))
self.ulubiony_posilek = ulubiony_posilek
-
+ self.restrykcje_dietowe = restrykcje_dietowe
def zloz_zamowienie(self,zamowienie,stolik):
if self.stolik is None:
self.stolik = stolik
@@ -21,5 +21,5 @@ class Klient:
print("Klient ma juz przypisany stolik.")
def __str__(self):
- return f"Klient: {self.imie} {self.nazwisko} {self.wiek}, ulubione Danie: {self.ulubiony_posilek}"
+ return f"Klient: {self.imie} {self.nazwisko} {self.wiek}, ulubione Danie: {self.ulubiony_posilek}, restrykcje diet: {self.restrykcje_dietowe}"
diff --git a/classes/data/logic_test.py b/classes/data/logic_test.py
new file mode 100644
index 0000000..f98518b
--- /dev/null
+++ b/classes/data/logic_test.py
@@ -0,0 +1,14 @@
+def diet_restriction(meals,client):
+ for meal in meals:
+ vegan,vegetarian,meat = meal.vegan_vegetarian_meat
+ print(meal)
+ print(client.restrykcje_dietowe)
+ if vegan and client.restrykcje_dietowe == 'Vegan':
+ return True
+ elif vegetarian and (client.restrykcje_dietowe == 'Vegetarian' or meat and client.restrykcje_dietowe == 'Vegan'):
+ return True
+ elif client.restrykcje_dietowe == 'Meat':
+ return True
+ else:
+ return False
+
diff --git a/classes/data/zamowenie.py b/classes/data/zamowenie.py
index f413d22..0c25676 100644
--- a/classes/data/zamowenie.py
+++ b/classes/data/zamowenie.py
@@ -5,7 +5,6 @@ from posilek import Posilek
class Zamowienie:
def __init__(self,numer_zamowienia,posilek):
self.numer_zamowienia = numer_zamowienia
- print(type(posilek))
assert all(isinstance(p, Posilek) for p in posilek), "Zamowienie: posilek nie jest listą tylko typu Posilek"
self.posilek = posilek
def __str__(self):
diff --git a/database/clients.xml b/database/clients.xml
index d51e8c8..9ddb023 100644
--- a/database/clients.xml
+++ b/database/clients.xml
@@ -4,23 +4,28 @@
Bowie
21
Tatar
+ Meat
Kamil
Stop
17
Pomidorowa z Makaronem
+ Vegetarian
Jon
Snow
23
Grochówka
+ Vegan
+
Andrzej
Kowalski
44
Spaghetti Bolognese
+ Meat
diff --git a/database/meals.xml b/database/meals.xml
index cc48d8e..6f3d55b 100644
--- a/database/meals.xml
+++ b/database/meals.xml
@@ -66,7 +66,7 @@
false
true
- true
+ false
Pomidorowa z Makaronem
Soup